新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于CAN總線通信協(xié)議的設(shè)計與實現(xiàn)

基于CAN總線通信協(xié)議的設(shè)計與實現(xiàn)

作者: 時間:2009-06-18 來源:網(wǎng)絡(luò) 收藏

1 前言
控制器局域網(wǎng)(-Controller Area Network)屬于現(xiàn)場(Fieldbus)的范疇,是眾多的屬于現(xiàn)場標(biāo)準(zhǔn)之一,它適用于工業(yè)控制系統(tǒng),具有速率高、可靠性強(qiáng)、連接方便、性能價格比高等諸多特點。它是一種有效支持分布式控制或?qū)崟r控制的串行網(wǎng)絡(luò),以其短報文幀及CSMA/CD-AMP(帶有信息優(yōu)先權(quán)及沖突檢測的載波監(jiān)聽多路訪問)的MAC(媒介訪問控制)方式而倍受工業(yè)自動化領(lǐng)域中設(shè)備互連的厚愛。的應(yīng)用范圍遍及從高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò),它可以應(yīng)用于汽車系統(tǒng)、機(jī)械、技術(shù)設(shè)備和工業(yè)自動化里幾乎任何類型的數(shù)據(jù)。具有如一下優(yōu)點:
1)使用簡單方便。許多CAN控制器了CAN物理層及數(shù)據(jù)鏈路層的大部分功能,用戶只須對CAN控制器進(jìn)行初始化和對CAN上的數(shù)據(jù)進(jìn)行收發(fā)操作即可通信;
2)高可靠性。CAN上的最大通信速率可達(dá)1Mbps,CAN總線是多主節(jié)點,各節(jié)點通過總線仲裁獲得總線控制權(quán)。完善的錯誤處理機(jī)制保證了高噪聲干擾環(huán)境下數(shù)據(jù)傳送的安全可靠;
3)系統(tǒng)可擴(kuò)展性能好。CAN總線是發(fā)送報文的編碼,而不是對CAN控制節(jié)點進(jìn)行編碼,故增添或刪除CAN節(jié)點不會對系統(tǒng)造成太大的影響。
CAN總線以報文為單位進(jìn)行信息傳送,它支持4種不同類型的報文幀:數(shù)據(jù)幀、遠(yuǎn)程幀、超載幀和錯誤幀。報文中包含信息標(biāo)識符ID,它標(biāo)志了報文的優(yōu)先權(quán)。CAN總線上各個節(jié)點都可主動發(fā)送,總線上的報文采用標(biāo)識符ID進(jìn)行仲裁,ID值越小,優(yōu)先級越高。具有最高優(yōu)先權(quán)報文的節(jié)點贏得總線使用權(quán),而其它節(jié)點自動停比發(fā)送。在總線再次空閑后,這些節(jié)點將自動重發(fā)原報文。網(wǎng)絡(luò)中的所有節(jié)點都可由ID來自動決定是否接收該報文。每個節(jié)點都有ID寄存器和屏蔽寄存器接收到的報文只有與該屏蔽的功能相同時,該節(jié)點才開始正式接收報文,否則它將不理睬ID后面的報文。這使CAN系統(tǒng)非常靈活,可任意擴(kuò)展或改變網(wǎng)絡(luò)組成。
C8051F系列是集成的混合信號片上系統(tǒng)SOC(System on chip),具有與MCS-51內(nèi)核及指令集完全兼容的微控制器,除具有標(biāo)準(zhǔn)8051的數(shù)字外設(shè)部件之外,片內(nèi)還集成數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。正是由于其體積小、集成度高、功能多、配置容易、使用方便等特點,已被廣泛應(yīng)用于智能儀表、數(shù)據(jù)采集、自動化控制等領(lǐng)域。因此本文采用CAN總線通信,充分發(fā)揮其體積小、可靠性高的特點。是完全集成的混合信號片上系統(tǒng)MCU芯片,具有64個數(shù)字I/O引腳(100腳TQFP封裝)。
2 數(shù)據(jù)傳輸格式的制定
在CAN2.0規(guī)范中規(guī)定,每次收發(fā)最多只能傳送8字節(jié).這可以滿足大多數(shù)工業(yè)領(lǐng)域中控制命令、工控狀態(tài)和測試數(shù)據(jù)的一般要求;但實際應(yīng)用中,往往出現(xiàn)傳送多于8字節(jié)的要求,此時應(yīng)通過報文的拆卸和拼接技術(shù)予以實現(xiàn)。本文在CAN2.0A的基礎(chǔ)上,定義了簡單的傳輸格式,完成了單幀數(shù)據(jù)和多幀數(shù)據(jù)準(zhǔn)確快捷的傳輸。
信息傳遞格式如表一所示:

本文引用地址:http://butianyuan.cn/article/158038.htm

其中,各位的含義如下:
FF:0表示為標(biāo)準(zhǔn)格式,1表示為擴(kuò)展格式;
RTR:0表示為數(shù)據(jù)幀,1表示為遠(yuǎn)程幀;
DLC.X:數(shù)據(jù)長度代碼位(0~8);
ID.X:信息標(biāo)識符位:
ID.28~I(xiàn)D.26為信息功能標(biāo)識
ID.25~I(xiàn)D.21為接收任務(wù)標(biāo)識
ID.20~I(xiàn)D.18為接收節(jié)點地址標(biāo)識
X :保留位,默認(rèn)為0,不能對保留位進(jìn)行寫操作;
DATAO:數(shù)據(jù)場的第一個字節(jié),本中用來表明數(shù)據(jù)的屬性;
DATA0.7~DATAO.5為發(fā)送節(jié)點地址標(biāo)識;
DATA0.4~DATAO.1為數(shù)據(jù)功能標(biāo)識
DATA0.0 0為擴(kuò)展位,‘0’ 表明數(shù)據(jù)長度小于8不用擴(kuò)展,‘1’ 表示數(shù)據(jù)長度大于8需要擴(kuò)展DATA1作傳遞次數(shù)索引。
DATA1: DATAO.0為0時,傳遞數(shù)據(jù);DATAO.0為1時,為數(shù)據(jù)傳遞次數(shù)的索引。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉