CAN總線基礎(chǔ)知識簡介
CAN總線(CONTROLLER AREA NETWORK,控制器局部網(wǎng)絡(luò))由德國BOSCH公司首先提出來的胀瞪,CAN總線是目前工業(yè)界廣泛應(yīng)用的總線针余。其特點簡要歸納如下:
1)CAN控制器工作于多主站方式,網(wǎng)絡(luò)中的各節(jié)點都可根據(jù)總線訪問優(yōu)先權(quán)(取決于報文標(biāo)識符)采用無損結(jié)構(gòu)的逐位仲裁的方式競爭向總線發(fā)送數(shù)據(jù)领明。而利用RS-485只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng)标宪,通信方式也只能以主站輪詢的方式進(jìn)行,系統(tǒng)的實時性袋凶、可靠性較差励普。
2)CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)進(jìn)行編碼弦捶,其優(yōu)點是可使網(wǎng)絡(luò)內(nèi)的節(jié)點個數(shù)在理論上不受限制铜氛,加入或減少設(shè)備都不影響系統(tǒng)的工作。同時可使不同的節(jié)點同時接收到相同的數(shù)據(jù)党砸,這些特點使得CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點之間的數(shù)據(jù)通信實時性強(qiáng)蟀委,并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性涧馋。
3)CAN總線通過CAN控制器接口芯片的兩個輸出端CANH和CANL與物理總線相連锡胡,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài)庭四,CANL端只能是低電平或懸浮狀態(tài)蚜懦。這樣就保證不會出現(xiàn)類似在RS-485網(wǎng)絡(luò)中系統(tǒng)有錯誤時會導(dǎo)致出現(xiàn)多節(jié)點同時向總線發(fā)送數(shù)據(jù)而導(dǎo)致總線呈現(xiàn)短路從而損壞某些節(jié)點的現(xiàn)象。而且CAN節(jié)點在錯誤嚴(yán)重的情況下具有自動關(guān)閉輸出功能橡疼,以使總線上其他節(jié)點的操作不受影響援所,從而保證不會出現(xiàn)象在網(wǎng)絡(luò)中,因個別節(jié)點出現(xiàn)問題欣除,使得總線處于“死鎖”狀態(tài)住拭。
4)CAN具有的完善的通信協(xié)議可由CAN控制器芯片及其接口芯片來實現(xiàn),從而大大降低了用戶系統(tǒng)開發(fā)的難度历帚,縮短了開發(fā)周期滔岳,這些是僅僅有電氣協(xié)議的RS-485所無法比擬的。
5)與其它現(xiàn)場總線比較而言挽牢,CAN總線通信最高速率可達(dá)1MBPS谱煤,傳輸速率為5KBPS時摊求,采用雙絞線,傳輸距離可達(dá)10KM刘离,并且數(shù)據(jù)傳輸可靠性高室叉;CAN總線是具有通信速率高、容易實現(xiàn)硫惕、且性價比高等諸多特點的一種已形成國際標(biāo)準(zhǔn)的現(xiàn)場總線茧痕。這些也是目前 CAN總線應(yīng)用于眾多領(lǐng)域,具有強(qiáng)勁的市場競爭力的重要原因察贵。
CAN總線與RS485方式的區(qū)別:
特性 |
RS-485方式 |
CAN總線 |
拓?fù)浣Y(jié)構(gòu) |
直線拓?fù)? |
直線拓?fù)? |
傳輸介質(zhì) |
雙絞線 |
雙絞線 |
硬件成本 |
很低 |
每個節(jié)點成本有所增加 |
總線利用率 |
低 |
高 |
網(wǎng)絡(luò)特性 |
單主結(jié)構(gòu) |
多主結(jié)構(gòu) |
數(shù)據(jù)傳輸率 |
低 |
最高可達(dá)1Mbps |
容錯機(jī)制 |
無 |
由硬件完成錯誤處理和檢錯機(jī)制 |
通訊失敗率 |
很高 |
極低 |
節(jié)點錯誤的影響 |
故障節(jié)點有可能導(dǎo)致整個網(wǎng)絡(luò)癱瘓 |
故障節(jié)點對整個網(wǎng)絡(luò)無影響 |
通訊距離 |
<1.2Km |
可達(dá)10Km(5Kbps) |
后期維護(hù)成本 |
較高 |
很低 |
CAN總線系統(tǒng)結(jié)構(gòu):CAN總線每個節(jié)點需要帶有CAN協(xié)議控制芯片及適當(dāng)?shù)慕涌陔娐仿觯?jié)點之間通過雙絞屏蔽線進(jìn)行總線式連接,首尾節(jié)點需要接120R的匹配電阻旋喊,通信最高速率可達(dá)1MBPS青先,傳輸速率越低,傳輸距離越遠(yuǎn)九站。系統(tǒng)結(jié)構(gòu)如下:
CAN協(xié)議的報文格式:CAN協(xié)議支持兩種報文格式CAN2.0A和CAN2.0B; CAN2.0A為標(biāo)準(zhǔn)格式,CAN2.0B為擴(kuò)展格式;格式分別如下:
CAN2.0A協(xié)議報文結(jié)構(gòu)圖如下
CAN2.0B協(xié)議報文結(jié)構(gòu)圖如下
標(biāo)準(zhǔn)格式和擴(kuò)展格式唯一的不同是標(biāo)識符(ID)長度不同,標(biāo)準(zhǔn)格式為11位(ID10-ID0),擴(kuò)展格式為29位(ID10-ID0,EID17-EID0)委鸯。
在標(biāo)準(zhǔn)格式和擴(kuò)展格式中,報文的起始位稱為幀起始(SOF),幀起始標(biāo)志數(shù)據(jù)幀或遠(yuǎn)程幀的起始,由一個單獨的“顯性”位(0)組成屋骇。由控制芯片自動完成菲国,不需要用戶在程序中體現(xiàn)。
然后是由11位標(biāo)識符(ID10-ID0)(擴(kuò)展格式為29位(ID10-ID0,EID17-EID0))和遠(yuǎn)程發(fā)送請求位 (RTR)組成的仲裁場殷彰。RTR位標(biāo)明是數(shù)據(jù)幀還是請求幀,在請求幀中沒有數(shù)據(jù)字節(jié)射屿。
控制場包括標(biāo)識符擴(kuò)展位(IDE),指出是標(biāo)準(zhǔn)格式還是擴(kuò)展格式。它還包括一個保留位 (RBO),為將來擴(kuò)展使用哺肘。它的最后四個位用來指明數(shù)據(jù)場中數(shù)據(jù)的長度(大小就是由DLC3-DLC0組成的2進(jìn)制數(shù)據(jù))殴胧。數(shù)據(jù)場范圍為0~8個字節(jié)(DATA FIELD),其后有一個檢測數(shù)據(jù)錯誤的循環(huán)冗余檢查(CRC)。
應(yīng)答場(ACK)包括應(yīng)答位和應(yīng)答分隔符佩迟。發(fā)送站發(fā)送的這兩位均為隱性電平(邏輯1),這時正確接收報文的接收站發(fā)送主控電平(邏輯0)覆蓋它团滥。用這種方法,發(fā)送站可以保證網(wǎng)絡(luò)中至少有一個站能正確接收到報文.
報文的尾部由幀結(jié)束標(biāo)出。在相鄰的兩條報文間有一很短的間隔位,如果這時沒有站進(jìn)行總線存取,總線將處于空閑狀態(tài)报强。
艾默生CT PLC集成CAN總線功能介紹
ECCT的CAN通信功能支持CAN2.0A協(xié)議和CAN2.0B協(xié)議灸姊,通信波特率設(shè)置范圍為5-100KBPS,可以通過艾默生CT PLC編程軟件CONTROLSTAR FOR ECCT進(jìn)行設(shè)置秉溉。具體使用步驟如下:
1)基本設(shè)置:在工程管理器里雙擊“系統(tǒng)塊”力惯,在彈出的窗口選擇“CAN口設(shè)置”,在“CAN口參數(shù)設(shè)置”里選擇“自由協(xié)議”召嘶,然后單擊后面的“自由口設(shè)置”按扭父晶。在彈出的窗口選擇協(xié)議類型“2.0A”或“2.0B”,然后再下拉選擇“波特率”最后單擊“確定”,把系統(tǒng)塊下載到PLC里甲喝。
2)數(shù)據(jù)發(fā)送:使用指令CANXMT蝴蜓,并以CAN2。0A協(xié)議為例描繪了它們之間的對應(yīng)關(guān)系武骆。
3)數(shù)據(jù)接收:使用CANRCV指令(參數(shù)含義如下)或使用CAN接收中斷功能榛舍。我推薦對初使用者采用中斷更方便,具體用法參考下面的例子程序硝锨。
筆者根據(jù)ECCT集成的CAN總線功能耽慌,在紡織機(jī)械上的得到了成功的應(yīng)用,現(xiàn)介紹如下:其CAN系統(tǒng)總體結(jié)構(gòu)圖如下:
此系統(tǒng)的具體工藝不做介紹,這里只介紹CAN通信部分的應(yīng)用。
程序使用說明如下:
1.首先根據(jù)要求在“系統(tǒng)塊”里對CAN通信口進(jìn)行設(shè)置储佣。
2.?dāng)?shù)據(jù)發(fā)送部分:對ID為5的地址發(fā)送4個字?jǐn)?shù)據(jù)“16#1122辅任,16#3344,16#6789位蓉,16#1234”需要編寫的程序為如下:
其中要注意的是:1)CANXMT為上升沿執(zhí)行指令,M1000為指令執(zhí)行條件立漏,當(dāng)其出現(xiàn)OFF—>ON的變化時,執(zhí)行CANXMT指令;2)使用CANXMT指令前先把該賦值的地址寫好;3) 發(fā)送數(shù)據(jù)只取D元件的低8位; 4)網(wǎng)絡(luò)上沒有CANID冶媚、數(shù)據(jù)完全相同的CAN幀同時出現(xiàn);5)ID保留0聪戳。6)CAN程序的校驗部分全部由硬件自動完成,用戶程序不需要參與彭旬。
3.?dāng)?shù)據(jù)接收部分:此部分以使用中斷方式接收數(shù)據(jù)為例,分2部分步驟:
1)先在主程序中設(shè)置CAN中斷使能.
2)設(shè)置中斷程序?qū)傩?把其中斷事件選為48(即CAN接收中斷),然后編寫程序把接收到的數(shù)據(jù)傳遞到需要的地址.注意ID地址為雙字結(jié)構(gòu),SD282-290依次為數(shù)據(jù)的高低字節(jié),把他們傳遞到相應(yīng)的數(shù)據(jù)寄存器然后合并就可以得到完整的數(shù)據(jù)了缰俊。
總結(jié):由于CAN協(xié)議格式比較簡單,并且相當(dāng)部分工作由CAN控制芯片硬件完成娩梨,所以編寫程序比較簡單沿腰,實現(xiàn)起來很容易,此紡織系統(tǒng)采用CAN通信方式后狈定,速度大大提高并且系統(tǒng)更加穩(wěn)定颂龙,受到用戶的肯定。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)纽什,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享措嵌,并不代表本站贊同其觀點和對其真實性負(fù)責(zé),也不構(gòu)成任何其他建議稿湿。本站部分作品是由網(wǎng)友自主投稿和發(fā)布铅匹、編輯整理上傳,對此類作品本站僅提供交流平臺饺藤,不為其版權(quán)負(fù)責(zé)。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻流礁、圖片涕俗、文字如涉及作品版權(quán)問題,請第一時間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容山堵,以保證您的權(quán)益腊囤!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力蚌铜,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床嫩海,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題