<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 快速讀懂CAN-bus節點(diǎn)的錯誤處理規則

快速讀懂CAN-bus節點(diǎn)的錯誤處理規則

作者:ZLG致遠電子 時(shí)間:2016-10-27 來(lái)源:電子產(chǎn)品世界 收藏

  的可靠性很高但某些情況仍會(huì )發(fā)生錯誤。在CAN控制器中可自動(dòng)完成幀格式處理、校驗等工作,若錯誤被檢測,正傳送的數據幀會(huì )立即停止,待總線(xiàn)空閑時(shí)再重發(fā)直至成功,該過(guò)程不需要CPU的干涉除非錯誤累計該發(fā)送器退隱。

本文引用地址:http://dyxdggzs.com/article/201610/311910.htm

  

 

  的可靠性很高,但是在某些情況下還是發(fā)生錯誤,為了使數據能夠在總線(xiàn)上可靠傳輸,規范對各類(lèi)幀的格式、用途及發(fā)送時(shí)機都進(jìn)行了詳細的規定。下面我們來(lái)總結下在CAN通訊中會(huì )出現哪些錯誤。

  

 

  位錯誤:發(fā)送節點(diǎn)在發(fā)送數據的同時(shí)也會(huì )對發(fā)出的比特流采樣回收,如果監測到總線(xiàn)電平與正在發(fā)送的電平不符,將會(huì )發(fā)生位錯誤(Bit Check Error);

  位填充錯誤:為解決異步串行通訊中共有的缺點(diǎn)——各節點(diǎn)通訊時(shí)鐘不同步,CAN-bus采用了一種同步的方式,規定每隔5個(gè)位的時(shí)間長(cháng)度進(jìn)行一次同步,當傳輸信號連續5個(gè)位是相同的,就要插入一個(gè)點(diǎn)評相反的位(稱(chēng)為“填充位”),如果電纜上傳輸的信號不滿(mǎn)足這一規則,則會(huì )出現填充位錯誤(Bit Stuff Error);

  CRC錯誤:發(fā)送端發(fā)送的CRC值由發(fā)送器計算得出,接收器采用同樣的CRC算法,計算出接收端CRC值,若接收器計算的CRC值與接收到的CRC值不符,將會(huì )產(chǎn)生該類(lèi)錯誤(CRCError);

  格式錯誤:當傳輸的數據幀格式與任何一種合法的幀格式不符時(shí)會(huì )發(fā)生該類(lèi)格式錯誤(Frame Check Error);

  應答錯誤:如果在A(yíng)CK段發(fā)送節點(diǎn)沒(méi)有接收到接收節點(diǎn)發(fā)出的應答(顯性位),將發(fā)生應答錯誤(Acknowledgment Error),所以當單個(gè)節點(diǎn)發(fā)送數據幀時(shí)會(huì )發(fā)生該類(lèi)錯誤。

  錯誤幀在總線(xiàn)信號傳輸中起著(zhù)信號燈的作用,接收和發(fā)送過(guò)程中如果檢測到通信出錯,便會(huì )發(fā)送錯誤幀,錯誤幀由錯誤標識符以及錯誤界定符構成。其中錯誤標識符分為兩種:“主動(dòng)錯誤”和“被動(dòng)錯誤”。

  主動(dòng)錯誤狀態(tài)下,只要檢查到錯誤,它立即“主動(dòng)地”發(fā)出錯標識。所謂“出錯標識“,它本身就是一個(gè)“錯誤的位序列”(連續的6個(gè)顯性位,不滿(mǎn)足CAN協(xié)議的“最多5個(gè)連續的同性位”要求),目的是“主動(dòng)地”告訴大家:即使你們沒(méi)有發(fā)現“剛才我已發(fā)現”的錯誤,現在我“以身作則”出錯啦!你們該看到這個(gè)錯誤了吧!

  如果處于被動(dòng)狀態(tài)下,檢查到錯誤,它只能干瞪眼“被動(dòng)地”等別人(主動(dòng)報錯站點(diǎn))報錯,等待的時(shí)候它可不能去動(dòng)總線(xiàn),直到識別出由主動(dòng)報錯站點(diǎn)發(fā)出的“錯誤的位序列”,它才松了一口氣:有人正式報錯了!然后他就可以去競爭總線(xiàn),該干啥干啥。

  為了避免某個(gè)設備因為自身原因(例如硬件損壞)導致無(wú)法正常收發(fā)數據而不斷地破壞數據幀,從而影響其他正常節點(diǎn)通訊,CAN-bus規范中規定每個(gè)CAN控制器都有一個(gè)發(fā)送錯誤計數器和一個(gè)接收計數器。根據計數值不同CAN節點(diǎn)會(huì )處于不同的設備狀態(tài),狀態(tài)之間的轉換關(guān)系見(jiàn)下圖:

  

 

  廣州致遠電子總線(xiàn)綜合分析儀是一款綜合性的CAN總線(xiàn)開(kāi)發(fā)與測試的專(zhuān)業(yè)工具,集海量存儲示波器、網(wǎng)絡(luò )分析儀、誤碼率分析儀、協(xié)議分析儀及可靠性測試工具于一身,并把各種儀器有機的整合和關(guān)聯(lián);重新定義CAN總線(xiàn)的開(kāi)發(fā)測試方法,可對CAN網(wǎng)絡(luò )通信正確性、可靠性、合理性進(jìn)行多角度全方位的評估;幫助用戶(hù)快速定位故障節點(diǎn),解決CAN總線(xiàn)應用的各種問(wèn)題,是CAN總線(xiàn)開(kāi)發(fā)測試的終極工具。



關(guān)鍵詞: CAN-bus CANScope

評論


相關(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>