CAN總線的原理及使用教程_第1頁
CAN總線的原理及使用教程_第2頁
CAN總線的原理及使用教程_第3頁
CAN總線的原理及使用教程_第4頁
CAN總線的原理及使用教程_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、CAN總線及應(yīng)用MSCAN08/MSCAN122一、目標(biāo)定位一、目標(biāo)定位目標(biāo):以MSCAN08和MSCAN12為示例,講述CAN現(xiàn)場總線,初步掌握CAN總線技術(shù)的應(yīng)用?;疽螅毫私釩AN通信協(xié)議基本概念,掌握CAN通信接口硬件設(shè)計(jì)和MSCAN08和MSCAN12編程方法MSCAN08/MSCAN123二、主要內(nèi)容二、主要內(nèi)容CANCAN技術(shù)規(guī)范技術(shù)規(guī)范MSCAN08MSCAN08模塊模塊MSCAN08MSCAN08通信接口硬件電路通信接口硬件電路MSCAN08MSCAN08模塊的編程結(jié)構(gòu)模塊的編程結(jié)構(gòu)MSCAN08MSCAN08通信子函數(shù)與測試實(shí)例通信子函數(shù)與測試實(shí)例MSCAN12MSCAN

2、12模塊模塊MSCAN12MSCAN12模塊的編程結(jié)構(gòu)模塊的編程結(jié)構(gòu)MSCAN12MSCAN12的自環(huán)測試實(shí)例的自環(huán)測試實(shí)例MSCAN08/MSCAN124uCANCAN通信協(xié)議主要描述設(shè)備之間的信息傳遞方式。通信協(xié)議主要描述設(shè)備之間的信息傳遞方式。uCANCAN各層的定義與開放系統(tǒng)互連模型各層的定義與開放系統(tǒng)互連模型OSIOSI一致。一致。CANCAN技技術(shù)規(guī)范定義了模型的最下面兩層:數(shù)據(jù)鏈路層和物理術(shù)規(guī)范定義了模型的最下面兩層:數(shù)據(jù)鏈路層和物理層,是設(shè)計(jì)層,是設(shè)計(jì)CANCAN應(yīng)用系統(tǒng)的基本依據(jù)。應(yīng)用系統(tǒng)的基本依據(jù)。u19911991年年9 9月月BoschBosch公司發(fā)布了公司發(fā)布了CA

3、NCAN技術(shù)規(guī)范技術(shù)規(guī)范Version2.0Version2.0。該 技 術(shù) 規(guī) 范 包 括該 技 術(shù) 規(guī) 范 包 括 A A 和和 B B 兩 部 分 ,兩 部 分 , 2 . 0 A2 . 0 A 給 出 了 在給 出 了 在Version1.2Version1.2中定義的中定義的CANCAN報(bào)文格式,而報(bào)文格式,而2.0B2.0B給出了標(biāo)給出了標(biāo)準(zhǔn)的和擴(kuò)展的兩種報(bào)文格式。準(zhǔn)的和擴(kuò)展的兩種報(bào)文格式。u規(guī)范主要是針對規(guī)范主要是針對CANCAN控制器的設(shè)計(jì)者,對大多數(shù)應(yīng)用控制器的設(shè)計(jì)者,對大多數(shù)應(yīng)用系統(tǒng)設(shè)計(jì)人員來說,只需對系統(tǒng)設(shè)計(jì)人員來說,只需對Version2.0Version2.0版技術(shù)規(guī)

4、范的版技術(shù)規(guī)范的基本結(jié)構(gòu)、概念、規(guī)則作一般了解,知道一些基本參基本結(jié)構(gòu)、概念、規(guī)則作一般了解,知道一些基本參數(shù)和可訪問的硬件即可。數(shù)和可訪問的硬件即可。CAN技術(shù)規(guī)范技術(shù)規(guī)范MSCAN08/MSCAN125CAN的基本概念的基本概念MSCAN08/MSCAN126報(bào)文和信息路由報(bào)文和信息路由報(bào)文報(bào)文(Messages)(Messages) 在總線上傳輸?shù)男畔?。在總線上傳輸?shù)男畔?。信息路由信息路?Information Routing)(Information Routing) CAN CAN不對通信單元分配地址,報(bào)文的尋不對通信單元分配地址,報(bào)文的尋址內(nèi)容由報(bào)文的址內(nèi)容由報(bào)文的標(biāo)識符標(biāo)識符指

5、定。所有指定。所有CANCAN節(jié)節(jié)點(diǎn)通過點(diǎn)通過報(bào)文濾波報(bào)文濾波來判斷是否接收報(bào)文。來判斷是否接收報(bào)文。 MSCAN08/MSCAN127位速率位速率位速率位速率(Bit Rate)(Bit Rate) 指總線的傳輸速率,下表列出了距離與指總線的傳輸速率,下表列出了距離與位速率的相關(guān)數(shù)據(jù)。這里的最大距離是指位速率的相關(guān)數(shù)據(jù)。這里的最大距離是指不接中繼器的兩個(gè)單元之間的距離。不接中繼器的兩個(gè)單元之間的距離。MSCAN08/MSCAN128位定位與同步位定位與同步u標(biāo)稱位速率標(biāo)稱位速率(Nominal Bit RateNominal Bit Rate):理想的發(fā)送):理想的發(fā)送器在沒有重新同步的情況

6、下每秒發(fā)送的位數(shù)量。器在沒有重新同步的情況下每秒發(fā)送的位數(shù)量。u標(biāo)稱位時(shí)間標(biāo)稱位時(shí)間(Nominal Bit TimeNominal Bit Time):是標(biāo)稱位速):是標(biāo)稱位速率的倒數(shù)。分成幾個(gè)不重疊的片段:率的倒數(shù)。分成幾個(gè)不重疊的片段:同步段同步段(SYNC_SEG(SYNC_SEG)、)、傳播段傳播段(PROG_SEG)(PROG_SEG)、相位段相位段1 1(PHASE_SEG1)(PHASE_SEG1)、相位段相位段2 2(PHASE_SEG2)(PHASE_SEG2)。 同步段 相位段1 相位段2 傳播段 采樣點(diǎn) 標(biāo)稱位時(shí)間 MSCAN08/MSCAN129優(yōu)先權(quán)優(yōu)先權(quán)優(yōu)先權(quán)優(yōu)先

7、權(quán)(Priorities)(Priorities) 在在CANCAN總線上發(fā)送的每一個(gè)報(bào)文都具有總線上發(fā)送的每一個(gè)報(bào)文都具有唯一的一個(gè)唯一的一個(gè)1111位或位或2929位的標(biāo)識符,位的標(biāo)識符,標(biāo)識標(biāo)識符越小符越小,則報(bào)文,則報(bào)文優(yōu)先權(quán)越高優(yōu)先權(quán)越高,因此一個(gè),因此一個(gè)為全為全0 0標(biāo)識符的報(bào)文具有最高級優(yōu)先權(quán)。標(biāo)識符的報(bào)文具有最高級優(yōu)先權(quán)。MSCAN08/MSCAN1210單通道單通道單通道單通道(Single Channel)(Single Channel) CAN CAN總線由單一通道組成,借助數(shù)據(jù)的總線由單一通道組成,借助數(shù)據(jù)的同步實(shí)現(xiàn)信息傳輸,可以是單線同步實(shí)現(xiàn)信息傳輸,可以是單線(

8、(加地加地線線) )、兩條差分線、光纖等,通常使用雙、兩條差分線、光纖等,通常使用雙絞線。絞線。MSCAN08/MSCAN1211總線表示總線表示總線數(shù)據(jù)表示總線數(shù)據(jù)表示(Bus Values)(Bus Values) C A N C A N 總 線 上 用總 線 上 用 顯 性顯 性 ( D o m i n a n t )( D o m i n a n t ) 和和 隱 性隱 性(Recessive)(Recessive)表示表示0 0和和1 1。當(dāng)在總線上出現(xiàn)同時(shí)發(fā)。當(dāng)在總線上出現(xiàn)同時(shí)發(fā)送顯性位和隱性位時(shí),總線上數(shù)值將出現(xiàn)顯性。送顯性位和隱性位時(shí),總線上數(shù)值將出現(xiàn)顯性??偩€上的信號使用差分

9、電壓傳送,兩條信號線被總線上的信號使用差分電壓傳送,兩條信號線被稱為稱為CAN_H CAN_H 和和CAN_LCAN_L。MSCAN08/MSCAN1212標(biāo)識符檢驗(yàn)濾波標(biāo)識符檢驗(yàn)濾波u 當(dāng)總線上有報(bào)文到達(dá)時(shí),當(dāng)總線上有報(bào)文到達(dá)時(shí),MSCAN08MSCAN08會將該報(bào)文的會將該報(bào)文的標(biāo)標(biāo)識符識符與與本地的標(biāo)識符校驗(yàn)寄存器中本地的標(biāo)識符校驗(yàn)寄存器中進(jìn)行比較進(jìn)行比較,本地,本地標(biāo)識符屏蔽寄存器標(biāo)識符屏蔽寄存器則是用于指定比較結(jié)果是否有影則是用于指定比較結(jié)果是否有影響,響,1 1表示相應(yīng)位的比較結(jié)果表示相應(yīng)位的比較結(jié)果不影響不影響報(bào)文的接收。報(bào)文的接收。MSCAN08/MSCAN1213報(bào)文傳輸類型

10、報(bào)文傳輸類型報(bào)文傳輸由報(bào)文傳輸由4 4種不同的幀類型表示和控制:種不同的幀類型表示和控制:u數(shù)據(jù)幀:數(shù)據(jù)幀:數(shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌?。?shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳌遠(yuǎn)程幀:遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一標(biāo)識符的數(shù)據(jù)幀。同一標(biāo)識符的數(shù)據(jù)幀。u錯(cuò)誤幀:錯(cuò)誤幀:任何單元檢測到總線錯(cuò)誤就發(fā)出錯(cuò)誤任何單元檢測到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。幀。u過載幀:過載幀:過載幀用于在先行和后續(xù)數(shù)據(jù)幀(或過載幀用于在先行和后續(xù)數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。遠(yuǎn)程幀)之間提供一附加的延時(shí)。MSCAN08/MSCAN1214數(shù)據(jù)幀結(jié)構(gòu)數(shù)據(jù)幀結(jié)構(gòu) 幀間空間 仲裁

11、場 控制場 數(shù)據(jù)場 CRC場 幀結(jié)束 數(shù)據(jù)幀 幀起始 應(yīng)答場 幀間空間 或過載幀 數(shù)據(jù)幀組成數(shù)據(jù)幀組成MSCAN08/MSCAN1215遠(yuǎn)程幀結(jié)構(gòu)遠(yuǎn)程幀結(jié)構(gòu)遠(yuǎn)程幀的組成遠(yuǎn)程幀的組成幀間空間幀間空間仲裁場仲裁場控制場控制場CRC場場幀結(jié)束幀結(jié)束遠(yuǎn)程幀遠(yuǎn)程幀幀起始幀起始應(yīng)答場應(yīng)答場幀間空間幀間空間或過載幀或過載幀MSCAN08/MSCAN1216錯(cuò)誤幀結(jié)構(gòu)錯(cuò)誤幀結(jié)構(gòu)錯(cuò)誤幀的組成錯(cuò)誤幀的組成 數(shù)據(jù)幀 錯(cuò)誤標(biāo)志 錯(cuò)誤標(biāo)志的重疊 錯(cuò)誤界定符 錯(cuò)誤幀 幀間空間 或過載幀 MSCAN08/MSCAN1217過載幀結(jié)構(gòu)過載幀結(jié)構(gòu)過載幀的組成過載幀的組成 數(shù)據(jù)幀 過載標(biāo)志 過載標(biāo)志的重疊 過載界定符 過載幀 幀

12、間空間 或過載幀 MSCAN08/MSCAN1218MSCAN08特性特性MSCAN08-Freescale可升級控制器局域網(wǎng)(可升級控制器局域網(wǎng)(Motorola scalable controller area network,MSCAN):):u 符合符合CAN2.0A/B協(xié)議標(biāo)準(zhǔn),支持協(xié)議標(biāo)準(zhǔn),支持標(biāo)準(zhǔn)標(biāo)準(zhǔn)和和擴(kuò)展擴(kuò)展數(shù)據(jù)幀數(shù)據(jù)幀u 位速率可編程,最大位速率可編程,最大1Mbpsu 數(shù)據(jù)幀長度為數(shù)據(jù)幀長度為08字節(jié)字節(jié)u 支持遠(yuǎn)程請求幀支持遠(yuǎn)程請求幀u 1個(gè)個(gè)FIFO接收接收緩沖區(qū),緩沖區(qū),3個(gè)個(gè)具有局部優(yōu)先級的具有局部優(yōu)先級的FIFO發(fā)發(fā)送送緩沖區(qū)緩沖區(qū)u 標(biāo)識符驗(yàn)收標(biāo)識符驗(yàn)收模式可

13、配置成模式可配置成1個(gè)個(gè)32位過濾碼、位過濾碼、2個(gè)個(gè)16位過位過濾碼、濾碼、4個(gè)個(gè)8位過濾碼,或者關(guān)閉濾波器位過濾碼,或者關(guān)閉濾波器u 內(nèi)置低通濾波的遠(yuǎn)程喚醒功能內(nèi)置低通濾波的遠(yuǎn)程喚醒功能u 自環(huán)自環(huán)工作模式工作模式MSCAN08/MSCAN1219MSCAN08外部引腳外部引腳u MSCAN08MSCAN08有有2 2根外部引腳:根外部引腳:CANRXCANRX( (輸入輸入) )和和CANTXCANTX( (輸出輸出) )u CANTXCANTX代表代表CANCAN上的邏輯電平:上的邏輯電平:0 0為高電平為高電平( (顯性顯性) ),1 1為為低電平低電平( (隱性隱性) )。MSCA

14、N08MSCAN08模塊構(gòu)建的典型的模塊構(gòu)建的典型的CANCAN系統(tǒng)如系統(tǒng)如圖所示:圖所示:MSCAN08/MSCAN1220MSCAN08通信接口電路通信接口電路MSCAN08/MSCAN1221MSCAN08的編程結(jié)構(gòu)的編程結(jié)構(gòu)內(nèi)存映射內(nèi)存映射MSCAN08/MSCAN1222MSCAN08的編程結(jié)構(gòu)的編程結(jié)構(gòu)報(bào)文收發(fā)緩沖區(qū)報(bào)文收發(fā)緩沖區(qū)MSCAN08/MSCAN1223MSCAN08的編程結(jié)構(gòu)的編程結(jié)構(gòu)寄存器寄存器MSCAN08/MSCAN1224MSCAN08通信實(shí)現(xiàn)通信實(shí)現(xiàn)u 初始化初始化MSCAN08/MSCAN1225MSCAN08通信實(shí)現(xiàn)通信實(shí)現(xiàn)u 發(fā)送和接收函數(shù)發(fā)送和接收函數(shù)

15、MSCAN08/MSCAN1226MSCAN08自環(huán)通信測試實(shí)例自環(huán)通信測試實(shí)例(1)(1)回環(huán)工作方式測試工程文件列表回環(huán)工作方式測試工程文件列表MSCAN08/MSCAN1227MSCAN08自環(huán)通信測試實(shí)例自環(huán)通信測試實(shí)例(2)(2)回環(huán)工作方式回環(huán)工作方式C C語言主程序語言主程序MSCAN08/MSCAN1228MSCAN08正常通信測試實(shí)例正常通信測試實(shí)例(1)(1)查詢方式服務(wù)器節(jié)點(diǎn)查詢方式服務(wù)器節(jié)點(diǎn)C C語言主程序語言主程序MSCAN08/MSCAN1229MSCAN08正常通信測試實(shí)例正常通信測試實(shí)例(2)(2)查詢方式客戶節(jié)點(diǎn)查詢方式客戶節(jié)點(diǎn)C C語言主程序語言主程序MSC

16、AN08/MSCAN1230MSCAN12模塊簡介模塊簡介MSCAN12特性(與特性(與MSCAN08幾乎相同):幾乎相同):符合符合CAN2.0A/B協(xié)議標(biāo)準(zhǔn)協(xié)議標(biāo)準(zhǔn)支持支持標(biāo)準(zhǔn)標(biāo)準(zhǔn)和和擴(kuò)展擴(kuò)展數(shù)據(jù)幀格式數(shù)據(jù)幀格式數(shù)據(jù)長度為數(shù)據(jù)長度為08字節(jié)字節(jié)位速率可編程,最大位速率可編程,最大1Mbps支持支持遠(yuǎn)程幀遠(yuǎn)程幀擁有擁有5個(gè)個(gè)FIFO機(jī)制的機(jī)制的接收接收緩沖區(qū),緩沖區(qū),3個(gè)個(gè)具有局具有局部優(yōu)先級的部優(yōu)先級的發(fā)送發(fā)送緩沖區(qū)緩沖區(qū)具有靈活的具有靈活的標(biāo)識符驗(yàn)收標(biāo)識符驗(yàn)收模式模式MSCAN08/MSCAN1231MSCAN12模塊框圖模塊框圖 晶振時(shí)鐘 總線時(shí)鐘 發(fā)送中斷請求 接收中斷請求 錯(cuò)誤中斷

17、請求 喚醒中斷請求 配置 寄存器 控制和 狀態(tài) 喚醒 低通濾波 消息過濾和緩沖 接收/發(fā)送驅(qū)動器 CAN 時(shí)鐘 Tq 時(shí)鐘 預(yù) 分頻 MSCAN12 模塊 CAN 接收 CAN 發(fā)送 時(shí)鐘 選擇 MSCAN08/MSCAN1232MSCAN12外部引腳外部引腳 120 MCU CAN 控制器 ( MSCAN12) 收發(fā)器 CANH CANL CANRX CAN 節(jié)點(diǎn) 1 CAN 節(jié)點(diǎn) 2 CAN 節(jié)點(diǎn) 3 120 CANH CANL CANH CANL CANTX MSCAN08/MSCAN1233MSCAN12報(bào)文緩沖區(qū)結(jié)構(gòu)報(bào)文緩沖區(qū)結(jié)構(gòu) 接 收 發(fā) 送 報(bào)文緩沖區(qū)組織圖報(bào)文緩沖區(qū)組織圖MS

18、CAN08/MSCAN1234MSCAN12編程結(jié)構(gòu)編程結(jié)構(gòu)內(nèi)存映射內(nèi)存映射控制寄存器 12個(gè)字節(jié) 錯(cuò)誤計(jì)數(shù)器 2個(gè)字節(jié) 標(biāo)識符過濾器 16個(gè)字節(jié) 接收緩沖區(qū) 16個(gè)字節(jié)(窗口機(jī)制) 發(fā)送緩沖區(qū) 16個(gè)字節(jié)(窗口機(jī)制) 保留 2個(gè)字節(jié) 地址偏移量 MSCAN08/MSCAN1235MSCAN12編程結(jié)構(gòu)編程結(jié)構(gòu)寄存器寄存器1) MSCAN控制寄存器控制寄存器0(CANCTL0)2) MSCAN控制寄存器控制寄存器1(CANCTL1)3) MSCAN總線時(shí)鐘寄存器總線時(shí)鐘寄存器0(CANBTR0)4) MSCAN總線時(shí)鐘寄存器總線時(shí)鐘寄存器1(CANBTR1)5) MSCAN接收器標(biāo)志寄存器接收

19、器標(biāo)志寄存器(CANRFLG)6) MSCAN接收器中斷使能寄存器接收器中斷使能寄存器(CANRIER)7) MSCAN發(fā)送器標(biāo)志寄存器發(fā)送器標(biāo)志寄存器(CANTFLG)8) MSCAN發(fā)送器中斷使能寄存器發(fā)送器中斷使能寄存器(CANTIER)9) MSCAN發(fā)送器消息中止控制寄存器發(fā)送器消息中止控制寄存器(CANTARQ)10) MSCAN發(fā)送器消息中止控制寄存器發(fā)送器消息中止控制寄存器(CANTAAK)11) MSCAN發(fā)送緩沖區(qū)選擇寄存器發(fā)送緩沖區(qū)選擇寄存器(CANTBSEL)12) MSCAN標(biāo)識符驗(yàn)收控制寄存器標(biāo)識符驗(yàn)收控制寄存器(CANTIDAC)13) MSCAN接收錯(cuò)誤計(jì)數(shù)寄存

20、器接收錯(cuò)誤計(jì)數(shù)寄存器(CANRXERR)14) MSCAN發(fā)送錯(cuò)誤計(jì)數(shù)寄存器發(fā)送錯(cuò)誤計(jì)數(shù)寄存器(CANTXERR)15) MSCAN標(biāo)識符驗(yàn)收碼寄存器標(biāo)識符驗(yàn)收碼寄存器(CANIDAR07)16) MSCAN標(biāo)識符屏蔽寄存器標(biāo)識符屏蔽寄存器(CANIDMR07)MSCAN08/MSCAN1236MSCAN12模塊的自環(huán)通信實(shí)例模塊的自環(huán)通信實(shí)例MSCAN12通信頭文件(通信頭文件(MSCAN12.h)(1)CAN通信寄存器及標(biāo)志位定義通信寄存器及標(biāo)志位定義(2)CAN通信用到的設(shè)置量定義通信用到的設(shè)置量定義(3)CAN通信相關(guān)函數(shù)聲明通信相關(guān)函數(shù)聲明(4)CAN通信初始化通信初始化MSCAN1

21、2通信函數(shù)文件(通信函數(shù)文件(MSCAN12.c )(1)CAN通信初始化:通信初始化:void CANInit(void)( 2 ) C A N 發(fā) 送發(fā) 送 1 幀 數(shù) 據(jù) :幀 數(shù) 據(jù) : I N T 8 U CANSND1DFRM(INT16U ID,INT8U * DataBUF, INT8U LEN)(3)查找空閑發(fā)送緩沖區(qū):)查找空閑發(fā)送緩沖區(qū):INT8U GetSNDBUF(void)(4)CAN接收接收1幀數(shù)據(jù):幀數(shù)據(jù):INT8U CANRCV1FRM(INT8U * CANRCVBUF)MSCAN08/MSCAN1237MSCAN12模塊的自環(huán)通信實(shí)例模塊的自環(huán)通信實(shí)例1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論