<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何實(shí)現可靠的CAN長(cháng)字節通訊?

如何實(shí)現可靠的CAN長(cháng)字節通訊?

作者: 時(shí)間:2018-07-25 來(lái)源:網(wǎng)絡(luò ) 收藏

總線(xiàn)從上個(gè)世紀80年代開(kāi)始,逐漸在汽車(chē)電子、軌道交通、醫療電子、工程機械等廣泛的工業(yè)場(chǎng)合應用。這個(gè)“古老”的總線(xiàn),最讓人“不爽”的地方,就是一幀只能傳輸八字節數據,如果要一次傳輸更,需要分幀,而選擇一種的分幀方法就是使用者一定要注意的。

本文引用地址:http://dyxdggzs.com/article/201807/383769.htm

總線(xiàn)作為汽車(chē)電子而生的總線(xiàn),提出了“優(yōu)先級自動(dòng)仲裁”和“短幀快速傳輸”的控制概念,為了達到“高實(shí)時(shí)性”的快速控制目標。使用一幀八字節的單元具有了一系列的優(yōu)點(diǎn)缺點(diǎn):

一、的優(yōu)缺點(diǎn):

優(yōu)點(diǎn)

(1)8個(gè)字節正好是8個(gè)字節、4個(gè)16位、2個(gè)32位、1個(gè)64位的變量的存放“容器”。那么用戶(hù)只要在ID中存放“寄存器地址”,然后通過(guò)1幀來(lái)“讀取”或者“修改”,對應的“數值”,這樣比較方便;

(2)短幀提高總線(xiàn)共享速度。任何一個(gè)CAN節點(diǎn)發(fā)送報文,在發(fā)送一幀后,需要重新和其他節點(diǎn)競爭總線(xiàn),這樣只要用戶(hù)設計適當的發(fā)送間隔,就可以保證所有的點(diǎn)“共享”總線(xiàn),提高總線(xiàn)利用率,也保證每個(gè)節點(diǎn)的發(fā)送周期大致保證一致。

缺點(diǎn)

(1)長(cháng)數據傳輸時(shí)數據負載偏低。在多幀發(fā)送時(shí),由于每幀發(fā)送都要發(fā)送CANID,所以實(shí)際的CAN數據所占的比例就很低了,以CAN擴展幀為例,其29位ID和64位的數據,導致數據承載只能達到60%。所以在長(cháng)數據傳輸時(shí),CAN甚至比不上同樣波特率下的RS485/Modbus;

(2)長(cháng)數據傳輸分幀丟幀,會(huì )導致整包傳輸失敗。當需要一次傳輸超過(guò)8字節數據時(shí),需要分多幀傳輸,如果其中一幀“丟失”,則會(huì )導致整個(gè)發(fā)送包的無(wú)效。這就要求接收節點(diǎn)對每一個(gè)分幀進(jìn)行確認,以保證每一個(gè)分幀的到達,而這么做就會(huì )大大降低效率;

(3)長(cháng)數據傳輸時(shí)同步性差。比如要同時(shí)輸出動(dòng)作超過(guò)8字節的控制命令時(shí),由于每個(gè)幀到達有先后,先到的先動(dòng)作,后到的后動(dòng)作,就會(huì )引起輸出的不同步性。

可見(jiàn)CAN總線(xiàn)在當前的主流應用中,主要矛盾集中在其8字節短幀的長(cháng)數據傳輸上。因此世界廣大科技工作者制定出一系列的改進(jìn)和改革方法來(lái)解決這些缺點(diǎn)。

二、CAN長(cháng)數據

升級為CANFD協(xié)議提高數據負載率

幾年前,梅賽德斯奔馳的工程師們對CAN總線(xiàn)的制定單位CiA(CAN in Automatic)協(xié)會(huì )提出,奔馳已經(jīng)將CAN用盡了。因為奔馳的工程師們通過(guò)不斷優(yōu)化通訊機制,已經(jīng)將奔馳的CAN總線(xiàn)利用率提高到90%以上,已經(jīng)無(wú)帶寬可用,只能通過(guò)網(wǎng)關(guān)不斷增加新的CAN網(wǎng)絡(luò )來(lái)擴展數據通道。這樣導致整車(chē)的總線(xiàn)區域越來(lái)越多。

車(chē)載以太網(wǎng)雖然可以解決數據量的問(wèn)題,但其布線(xiàn)改變過(guò)大,成本上升過(guò)多,只適合于網(wǎng)關(guān)之間的通訊。所以CiA協(xié)議就聯(lián)合各大車(chē)廠(chǎng),制定出新一代的CANFD協(xié)議,以快速升級現有的CAN2.0B。其主要的內容就是將一幀的數據段由8字節提升到64字節,同時(shí)可以提升數據段的波特率,以縮短通訊時(shí)間。如圖1所示。

圖 1 CANFD報文提升數據負載率

這樣,不需要每8字節就要發(fā)一次CANID,即使不提升波特率,也提升了8倍的數據負載率。如果提升了8倍波特率,則可以達到64倍的數據負載率,相當于擴充了64倍帶寬。其提升效果非常明顯。

采用的分幀協(xié)議

成熟的應用層協(xié)議都有可靠的分幀協(xié)議,比如CANopen,DeviceNET,J1939協(xié)議等,總的方針都是“握手”“傳輸”“確認”“結束”這四個(gè)過(guò)程循環(huán)。這里只介紹CANopen協(xié)議中的SDO多幀傳輸。

發(fā)送方(客戶(hù)端)發(fā)送的報文CAN-ID為600h+Node-ID,接收方(服務(wù)器)成功接收后,回應CAN-ID為580h+Node-ID的報文。下載協(xié)議download protoco如圖2所示。

圖2 普通SDO下載協(xié)議

上傳協(xié)議upload protoco如圖3所示。

圖 3普通SDO上傳協(xié)議

采用同步傳輸協(xié)議

同步傳輸,解決的就是實(shí)現整個(gè)網(wǎng)絡(luò )的同步傳輸,如圖4所示,就像閱兵分列式上的方陣,所有士兵邁著(zhù)整齊的步伐行進(jìn)。這里以CANopen的同步報文為例講解。

圖4同步協(xié)議與閱兵分列式

每個(gè)節點(diǎn)都以同步報文作為PDO(過(guò)程數據的)觸發(fā)參數,為了保證時(shí)間準確性,該同步報文的COB-ID 具有比較高的優(yōu)先級以及最短的傳輸時(shí)間。 CANopen選用80h作為同步報文的CAN-ID,如圖5所示。

圖5 同步報文

一般同步報文由NMT(網(wǎng)絡(luò )管理)主機發(fā)出,CAN報文的數據為0字節。但如果一個(gè)網(wǎng)絡(luò )內有2個(gè)同步機制,就需要設置不同的同步節拍,比如某些節點(diǎn)按1個(gè)同步幀發(fā)送1次PDO,其他的節點(diǎn)收到2個(gè)同步幀才發(fā)送1此PDO,

在同步協(xié)議中,有2個(gè)約束條件:

同步窗口時(shí)間:索引1007h約束了同步幀發(fā)送后,從節點(diǎn)發(fā)送PDO的時(shí)效,即在這個(gè)時(shí)間內發(fā)送的PDO才有效,超過(guò)時(shí)間的PDO將被丟棄,當同步窗口結束后,開(kāi)始同時(shí)執行動(dòng)作。

通訊循環(huán)周期:索引1006h規定了同步幀的循環(huán)周期,就是同步包發(fā)送的周期。

CAN總線(xiàn)在諸多愛(ài)好者的推動(dòng)下,不斷改進(jìn)和改革自身,讓這個(gè)古老的總線(xiàn)煥發(fā)出勃勃生機。廣州致遠電子有限公司,作為CAN總線(xiàn)在國內的重要推廣者,CANScope總線(xiàn)綜合分析儀已免費標配CANPRO軟件,可以解析主流的CANOpen,DeviceNet,J1939協(xié)議。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 可靠 CAN 長(cháng)字節 通訊

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>