0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

什么是CAN的BUS-OFF,如何恢復BUS-OFF?

聚沃科技 ? 2024-02-21 09:42 ? 次閱讀

CAN作為一款強大的工業(yè)總線,其高性能和高可靠性讓其應用特別廣泛。一個小知識:汽車里面各個模塊之間的通訊就是使用CAN來實現(xiàn)的哦。

既然是總線,那當然會有多個設備掛載在CAN上,當一個設備在發(fā)送數(shù)據(jù)的時候,其他設備也沒有在閑著,它們會對接收到的數(shù)據(jù)格式進行解析,一旦發(fā)現(xiàn)有錯誤就會發(fā)送錯誤信號到總線上。

wKgaomXVVKaAI0QuAACgknMbIOM644.png

那么,如果一個設備確實出現(xiàn)了問題,老是發(fā)出錯誤格式的幀(比如波特率有偏差等等)怎么辦呢?嘿嘿,不等大家把它踢出局,它自己就會老老實實的退出總線,不再往總線上發(fā)數(shù)據(jù)了,這個就叫做BUS-OFF,也就是設備離線。

那么MCU如何觸發(fā)這個BUS-OFF呢?我們以GD32F303為例來說明。GD32F303的CAN在發(fā)送一次錯誤的幀后,會將發(fā)送錯誤計數(shù)器的值+1,當這個計數(shù)值達到255時,就會觸發(fā)BUS-OFF機制,退出總線。

wKgZomXVVK2AEBVDAADIYhPoyT4535.png

這個時候有的小伙伴就會問了,一個設備運行很長時間,總會有發(fā)送錯誤的時候吧,如果就這么退出總線了,豈不是太冤了?其實不是的,當設備在發(fā)送錯誤計數(shù)器的值不等于0的情況下,發(fā)送一次正確的幀,這個計數(shù)值會-1的。

當一個設備BUS-OFF了,但它自恢復了錯誤狀態(tài),想繼續(xù)回到總線上怎么操作呢?有兩種方式:

1、打開GD32F303的離線自動恢復功能,當出現(xiàn)BUS-OFF,MCU在檢測到離線恢復序列(在CAN_RX檢測到128次連續(xù)11個位的隱性位 )后就會自動恢復。

wKgZomXVVMCAWfRFAADQLBUH5yo438.png

2、如果沒打開自動恢復功能,則需要讓CAN進入到初始化模式,再進入正常工作模式即可。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6062

    文章

    44915

    瀏覽量

    646721
  • 嵌入式
    +關注

    關注

    5141

    文章

    19524

    瀏覽量

    314774
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2884

    瀏覽量

    466701
  • 汽車業(yè)
    +關注

    關注

    0

    文章

    19

    瀏覽量

    3382
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    將TC397的MCMCAN模塊的canh和canl短接到GND,MCMCAN模塊進入到bus off狀態(tài)后無法繼續(xù)正常發(fā)送的原因?

    將TC397的MCMCAN模塊的canh和canl短接到GND。按照網(wǎng)絡上的資料:此時CAN總線會進入到bus off狀態(tài),但當故障移除后即通信線正常連接后,CAN模塊會
    發(fā)表于 02-01 07:21

    CYT2B75CAD CANbus off狀態(tài)如何檢測的?

    使用芯片為:CYT2B75CAD,CANbus off狀態(tài)如何檢測的,CAN的錯誤以及發(fā)送完成等?是否有相關例程可以參考?
    發(fā)表于 02-02 08:36

    STM32F03進入CANBUS OFF時間能不能縮短?

    開啟BUS OFF中斷后,該中斷更新時間怎么這么長,能不能縮短?
    發(fā)表于 03-22 07:54

    STM32G4 CAN為什么無法檢測到bus-off狀態(tài)?

    ,最開始是在總線的末端,沒有進入bus-off。當我在對板子的CAN收發(fā)器接口處進行短接時進入了bus-off。我意識到好像與短路的距離有關,我開始用一節(jié)金屬絲重新再總線的末端短接,并將CAN
    發(fā)表于 03-11 07:46

    什么是CANBUS-OFF,如何恢復BUS-OFF?#CAN #汽車電子 #單片機

    單片機mcu
    聚沃科技
    發(fā)布于 :2024年02月22日 10:56:31

    off-page connector怎么不能和bus相連

    請問如何才能使busoff-page connector相連?
    發(fā)表于 03-29 15:09

    在總線關閉狀態(tài)下手動重啟CAN

    controllers in a PSoC 4200L.The datasheet for the component says that when the Bus-off restart option
    發(fā)表于 10-24 16:47

    CAN卡報告CAN bus off是什么原因

    `通過LAbVIEW發(fā)送CAN消息,周期變化,一段時間后,CAN卡會報bus off`
    發(fā)表于 10-26 16:06

    STM32 CAN配置使用工具

    2使用共同的篩選器,總計28組。CAN2作為CAN1的從站,CAN1復位是否會影響CAN2?CAN總線關閉之后一定要自主
    發(fā)表于 08-19 09:29

    請問NUC240 CAN bus遇到bus-off如何自動恢復?

    各位大大安安,我在BSP中CAN范例遇到CAN bus中斷進到bus-off狀態(tài)問題,導至message無法傳送,想問除了重新上電復位之外,如何初始化讓
    發(fā)表于 08-21 06:04

    CAN-BUS,CAN-BUS是什么意思

    CAN-BUS,CAN-BUS是什么意思 CAN-BUS  1,CAN-BUS的起源  控制器局域網(wǎng)(controllerareanetwork 簡稱
    發(fā)表于 03-11 15:31 ?1.8w次閱讀

    CAN-BUS,CAN-BUS原理是什么?

    CAN-BUS,CAN-BUS原理是什么?  1,CAN-BUS的起源  控制器局域網(wǎng)(controllerareanetwork 簡稱CAN)最初是德國Bosch公司于1983年為汽
    發(fā)表于 03-22 15:51 ?2763次閱讀

    CAN總線Bus Off原理及恢復解決方案

    除了物理層線路因素,還有可能因為CAN控制器或收發(fā)器等元器件故障導致。同時,也有可能是由于CAN總線信號干擾導致的CAN信號收發(fā)不正確,嚴重時會導致不能正常發(fā)送報文,從而更容易導致CAN
    的頭像 發(fā)表于 12-16 09:26 ?1.4w次閱讀

    CAN總線Bus Off原理及CAN總線Bus Off恢復的解決方案

    汽車內(nèi)部掛有很多的ECU節(jié)點,當其中一個節(jié)點發(fā)生故障進入總線關閉狀態(tài)時,會很大程度上影響整車CAN網(wǎng)絡的通訊。
    發(fā)表于 01-04 11:34 ?9807次閱讀

    T113核心板CAN通訊bus-off自動恢復

    ,通信中斷。本文將深入探討CAN總線自動恢復機制的原理、調優(yōu)方法及實戰(zhàn)應用,旨在幫助工程師優(yōu)化系統(tǒng)配置,提升通信可靠性。軟硬件環(huán)境說明本次實戰(zhàn)應用基于眺望T113-I
    的頭像 發(fā)表于 04-10 08:30 ?292次閱讀
    T113核心板<b class='flag-5'>CAN</b>通訊<b class='flag-5'>bus-off</b>自動<b class='flag-5'>恢復</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品