CAN總線是一項非常經典的工業(yè)通訊標準,也是一項可靠性非常高的技術, 而錯誤處理對CAN總線的可靠性來說十分重要。在本系列文章中,我們將為您詳細介紹CAN總線錯誤的相關知識,包括CAN總線錯誤的基礎概念、CAN總線錯誤的類型、CAN錯誤幀和CAN節(jié)點錯誤狀態(tài),并通過實際的應用測試生成并記錄CAN錯誤。
在之前的文章中,我們介紹了CAN總線錯誤的基礎概念和類型,而本篇文章我們將介紹CAN錯誤幀和CAN節(jié)點錯誤狀態(tài),從而為技術人員進行CAN錯誤處理提供幫助。
CAN節(jié)點狀態(tài)和錯誤計數器
顯然,CAN錯誤處理有助于銷毀錯誤消息-并使CAN節(jié)點能夠重試錯誤消息的傳輸。這確保了短暫的局部干擾(例如來自噪聲)不會導致無效/丟失數據。相反,發(fā)送器嘗試重新發(fā)送消息。如果它贏得仲裁(并且沒有錯誤),則消息發(fā)送成功。
但是,如果錯誤是由于傳輸節(jié)點中的系統(tǒng)故障引起的怎么辦?這可能會觸發(fā)發(fā)送/銷毀相同消息的無限循環(huán),從而干擾CAN總線。這就是CAN節(jié)點狀態(tài)和錯誤計數器發(fā)揮作用的地方。
簡而言之,CAN錯誤跟蹤的目的是通過優(yōu)雅地降低有問題的CAN節(jié)點的權限來限制錯誤。具體來說,讓我們看看三種可能的狀態(tài):
● 錯誤活動:這是每個CAN節(jié)點的默認狀態(tài),在該狀態(tài)下它能夠傳輸數據并在檢測到錯誤時引發(fā)“活動錯誤標志”
● 被動錯誤:在這種狀態(tài)下,CAN節(jié)點仍然能夠傳輸數據,但現在在檢測到錯誤時會引發(fā)“被動錯誤標志”。此外,CAN節(jié)點現在除了等待3位中斷時間外,還必須等待額外的8位(也稱為暫停傳輸時間)才能恢復數據傳輸(以允許其他CAN節(jié)點控制總線)
● 總線關閉:在此狀態(tài)下,CAN節(jié)點將自身與CAN總線斷開連接,無法再傳輸數據或引發(fā)錯誤標志
每個CAN控制器都會跟蹤自己的狀態(tài)并采取相應的行動。CAN節(jié)點根據其錯誤計數器的值轉換狀態(tài)。具體來說,每個CAN節(jié)點都會跟蹤發(fā)送錯誤計數器(TEC)和接收錯誤計數器(REC):
● 如果REC或TEC超過127,則CAN節(jié)點進入ErrorPassive狀態(tài)
● 如果TEC超過255,則CAN節(jié)點進入總線關閉狀態(tài)
那么錯誤計數器如何變化呢?在我們了解如何增加/減少錯誤計數器的邏輯之前,讓我們重新審視CAN錯誤幀以及主要/次要錯誤標志。
從CAN錯誤幀圖示中可以明顯看出,在CAN錯誤幀的6個顯性位序列之后觀察到顯性位的CAN節(jié)點將知道它引發(fā)了主要錯誤標志。在這種情況下,我們可以將此CAN節(jié)點稱為錯誤的“發(fā)現者”。
起初,讓一個CAN節(jié)點反復發(fā)現錯誤并通過在其他節(jié)點之前發(fā)出錯誤標志來迅速做出反應,這聽起來可能是積極的。然而,在實踐中,發(fā)現者通常也是導致錯誤的罪魁禍首。
虹科CAN/LIN數據與錯誤記錄器
CANedge1讓您可以輕松地將數據從2xCAN/LIN總線記錄到8-32GBSD卡中,并支持記錄CAN/LIN錯誤。只需將其連接到汽車或卡車即可開始記錄-并通過免費軟件/API解碼數據。此外,CANedge2添加了WiFi,讓您可以將數據自動傳輸到您自己的服務器-并通過無線方式更新設備。
除此之外,虹科還為客戶提供CAN卡、數據采集模塊、CAN網關和轉換器等硬件設備,和PCAN-Explore 6等軟件。若想了解更多關于CAN技術服務和CAN產品,歡迎隨時通過info@hkaco.com聯系虹科。