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

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

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

虹科干貨 | 帶你全面了解“CAN總線錯誤”(四)——在實踐中生成和記錄CAN錯誤

虹科智能自動化 ? 2022-06-09 10:21 ? 次閱讀

A simple intro to CAN errors

CAN總線錯誤

在本系列文章中,我們將為您詳細介紹CAN總線錯誤的相關知識,包括CAN總線錯誤的基礎概念、CAN總線錯誤的類型、CAN錯誤幀和CAN節(jié)點錯誤狀態(tài),并通過實際的應用測試生成并記錄CAN錯誤。

在之前發(fā)布的文章中,我們介紹了CAN錯誤和錯誤處理的理論基礎,而在本篇文章中,我們將在實踐中生成和記錄錯誤。測試過程中將使用到虹科的CANedge數(shù)據(jù)記錄儀和PCAN-USB設備。

測試1

沒有CAN總線錯誤

為了便于對照,我們設置了沒有CAN總線錯誤的測試:一個 CANedge2 的“發(fā)送器”將數(shù)據(jù)發(fā)送到另一個 CANedge2 的“接收器”,并且兩者都能夠記錄CAN總線錯誤。


55185928-e6f0-11ec-aa96-dac502259ad0.png

測試2

移除CAN總線終端電阻

在這個測試中,我們在日志會話過程中移除了 CAN 終端電阻。這可以有效地將位電平設置為顯性。同時,CANedge2發(fā)送器立即開始記錄位錯誤(當它嘗試發(fā)送隱性位但讀取顯性位時會發(fā)生這種情況)。CANedge2 接收器在檢測到 6 個連續(xù)顯性位時記錄位填充錯誤。記錄這些錯誤,直到再次添加終止。

在記錄來自車輛、機器等的數(shù)據(jù)時,缺少終端電阻似乎并沒有影響,但是,在使用“測試臺”設置時,這個問題非常常見,并可能導致混淆,因為它難以與非活動CAN總線區(qū)分開來。因此,在CANedge數(shù)據(jù)記錄儀上啟用錯誤幀記錄幀對于故障排除而言是十分有效的。


5552c0ae-e6f0-11ec-aa96-dac502259ad0.png

發(fā)送器位填充錯誤


559d10f0-e6f0-11ec-aa96-dac502259ad0.png

接收器位填充錯誤

測試3

設置錯誤的波特率

在這個測試中,我們將CANedge接收器節(jié)點配置為具有492.872K波特率,而發(fā)送器的波特率為500K,這是一個相當大的差異,并導致發(fā)送器的ACK錯誤和接收器的位填充錯誤。在更現(xiàn)實的場景中,各個節(jié)點的波特率配置的較小差異可能會導致間歇性錯誤幀,從而導致消息丟失。

這個例子比較極端,然而,在實踐中,我們有時會看到使用標準比特率(250K、500K、……)的CAN總線,但其特定的位時序設置與通常推薦的設置不同。這不會導致通信完全關閉,但會導致幾個百分比的周期性幀丟失。為了解決這個問題,可以在CANedge配置中構建一個“預定義比特率”,本質(zhì)上是設置位時序以更好地匹配正在記錄的CAN總線。


55c0fa6a-e6f0-11ec-aa96-dac502259ad0.png

發(fā)送器ACK錯誤


55f6d842-e6f0-11ec-aa96-dac502259ad0.png

接收器位填充錯誤

測試4

移除應答CAN節(jié)點

在本次測試中,我們使用了三個配置如下的 CANedge 單元:

CANedge1:配置為應答數(shù)據(jù)

CANedge2 A:配置為“靜默模式”(無確認)

CANedge2 B:配置為每 500ms 傳輸一個 CAN 幀


在默認設置中,數(shù)據(jù)由 CANedge2 B 傳輸?shù)?CAN 總線上并無錯誤記錄。但是,如果我們從總線上移除 CANedge1,則不再有任何 CAN 節(jié)點來確認發(fā)送器發(fā)送的幀。結果,發(fā)送器檢測到ACK 錯誤。作為響應,它增加其發(fā)送錯誤計數(shù)器并在 CAN 總線上產(chǎn)生活動錯誤標志。這些又由 CANedge2 A(它靜默監(jiān)控總線)記錄為格式錯誤。


56792324-e6f0-11ec-aa96-dac502259ad0.png

CANedge之所以會記錄格式錯誤,是因為發(fā)送器在識別出ACK時隙中缺少顯性位時將其提高,一旦接收器在隨后的EOF字段中觀察到顯性位(本該是隱性的),就會檢測到格式錯誤。

很明顯,當TEC從0增加到16x8=128時,發(fā)送器會廣播16個主動錯誤標志。發(fā)送器現(xiàn)在已超過TEC的閾值127并進入被動錯誤模式。因此,發(fā)送器仍然會遇到ACK錯誤,但現(xiàn)在只會引發(fā)被動錯誤標志(接收器不可見)。在這一點上,發(fā)送器不斷嘗試發(fā)送相同的幀,并且接收器不斷記錄這個重傳序列。

這種類型的錯誤是我們在技術支持中經(jīng)常遇到的錯誤。具體來說,用戶會嘗試使用我們的CAN記錄器來記錄來自單個CAN節(jié)點的數(shù)據(jù)(例如從CANmod傳感器到CAN模塊),如果他們決定在這樣的安裝中啟用CANedge上的“靜默模式”,則沒有CAN節(jié)點將確認單個CAN節(jié)點廣播數(shù)據(jù),這樣得到的結果大概率將是空日志文件,或充滿相同CAN幀重傳的日志文件。


56a4f09e-e6f0-11ec-aa96-dac502259ad0.png

發(fā)送器ACK錯誤

56d09a14-e6f0-11ec-aa96-dac502259ad0.png

接收器格式錯誤

測試5

CAN幀沖突(無重傳)

設置CAN總線時,避免CAN ID重復是關鍵,否則可能會導致幀沖突,因為兩個CAN節(jié)點可能都認為他們已經(jīng)贏得了仲裁,并同時開始傳輸它們的幀。

為了模擬這一點,我們使用與測試4相同的設置。此外,我們連接了一個PCAN-USB設備作為輔助發(fā)送器。CANedge2發(fā)送器現(xiàn)在配置為每10ms輸出一個CAN ID為1且有效負載為8個0xFF字節(jié)的CAN幀。此外,我們將CANedge2配置為禁用因錯誤中斷的幀的重新傳輸。PCAN-USB每2ms輸出一個相同的CAN幀,有效載荷的第一個字節(jié)更改為0xFE。PCAN設備已啟用重傳。


56f715ae-e6f0-11ec-aa96-dac502259ad0.png

這種設置會迅速產(chǎn)生幀沖突,從而導致CANedge和PCAN發(fā)送器檢測到位錯誤。作為對此的響應,兩者都會引發(fā)一個活動錯誤標志,CANedge接收器將其檢測為位填充錯誤。PCAN設備立即嘗試重新傳輸并成功,而CANedge等待進一步傳輸,直到要發(fā)送下一個消息。

這種類型的錯誤當然不應該發(fā)生在例如汽車中,因為設計和測試過程將確保所有 CAN 節(jié)點通過全球唯一的 CAN 標識符進行通信。但是,如果您安裝第 3 方設備(例如傳感器到 CAN 模塊)以將數(shù)據(jù)注入現(xiàn)有 CAN 總線,則很容易出現(xiàn)此問題。如果您不確保外部 CAN 節(jié)點的 CAN ID 的全局唯一性,您可能會導致幀沖突,從而導致 CAN 總線上的錯誤。如果您的外部 CAN 節(jié)點廣播具有高優(yōu)先級 CAN ID 的數(shù)據(jù),這一點尤其重要,因為您可能會影響安全關鍵 CAN 節(jié)點。


57166eb8-e6f0-11ec-aa96-dac502259ad0.png

PCAN發(fā)送器錯誤


57400016-e6f0-11ec-aa96-dac502259ad0.png

CANedge發(fā)送器位錯誤


576a50b4-e6f0-11ec-aa96-dac502259ad0.png

CANedge接收器位填充錯誤

測試6

CAN幀沖突(包括重傳)

在這個測試中,我們使用與之前相同的設置,但在CANedge2發(fā)送器上啟用重傳。在這種情況下,幀沖突會導致一系列后續(xù)幀沖突,因為CANedge2和PCAN-USB設備都試圖重新傳輸其中斷的消息。

由于產(chǎn)生的位錯誤,兩者都會引發(fā)總共16個活動錯誤標志,它們被靜默CANedge2接收器檢測為位填充錯誤。然后兩個發(fā)送器進入錯誤被動模式并停止產(chǎn)生主動錯誤標志,這意味著它們都不能破壞總線上的CAN幀。結果,其中一個發(fā)送器將成功傳輸完整的消息,從而結束重傳,并使兩個設備都能恢復傳輸。但是,這僅持續(xù)幾秒鐘,然后發(fā)生另一次碰撞。

沖突處理是一個很好的例子,說明CAN錯誤處理在“關閉”潛在有問題的序列和使CAN節(jié)點能夠恢復通信方面很有效。如果發(fā)生幀沖突,很可能兩個CAN節(jié)點都將設置為嘗試重傳,如果不是錯誤處理和限制,則將導致阻塞。

CAN/LIN數(shù)據(jù)與錯誤記錄器

虹科CANedge1讓您可以輕松地將數(shù)據(jù)從2xCAN/LIN總線記錄到8-32GB的SD卡中,并支持記錄CAN/LIN錯誤。只需將其連接到汽車或卡車即可開始記錄-并通過免費軟件/API解碼數(shù)據(jù)。此外,升級版CANedge2添加了WiFi功能,讓您可以將數(shù)據(jù)自動傳輸?shù)侥约旱姆掌鳎⑼ㄟ^無線方式更新設備。


CAN錯誤幀記錄示例

1. OEM原型車中的CAN總線診斷

汽車OEM可能需要在后期原型測試期間在現(xiàn)場記錄CAN錯誤幀。通過部署CANedge,OEM工程團隊將能夠根據(jù)實際CAN信號(速度、RPM、溫度)以及與原型系統(tǒng)中較低層CAN通信相關的問題進行故障排除。如果感興趣的問題是間歇性的,例如每月只發(fā)生一次或兩次,這一點尤其重要。在這種情況下,CAN總線接口不太適合,因為擁有成本效益高的設備以實現(xiàn)可擴展部署以更快地進行故障排除變得越來越重要。

57924fce-e6f0-11ec-aa96-dac502259ad0.png

虹科車輛網(wǎng)絡團隊在車用CAN總線方面有著十分豐富的技術積累,歡迎通過hongchesys@hkaco.com聯(lián)系虹科車輛網(wǎng)絡團隊。

2. 遠程排除機器中的CAN錯誤

OEM或售后市場用戶可能需要在他們的機器中捕獲罕見的CAN錯誤事件。為此,他們部署了一個CANedge2來記錄CAN數(shù)據(jù)和相關的錯誤幀,并通過WiFi自動將數(shù)據(jù)上傳到他們自己的云服務器。在這里,錯誤會被自動識別,并向工程團隊發(fā)送警報,以便立即診斷和解決問題。

57b52648-e6f0-11ec-aa96-dac502259ad0.png

虹科工業(yè)控制團隊在CAN總線等工業(yè)通訊協(xié)議方面有著十分豐富的技術積累,歡迎通過hongconsys@hkaco.com聯(lián)系虹科工業(yè)控制團隊。

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

    關注

    57

    文章

    2754

    瀏覽量

    463702
收藏 人收藏

    評論

    相關推薦

    CAN總線與LIN總線的區(qū)別

    隨著汽車電子系統(tǒng)的復雜性增加,車輛內(nèi)部通信的需求也在不斷增長。CAN總線和LIN總線作為兩種主要的車載通信協(xié)議,各自扮演著重要的角色。 1. 設計原理 CAN
    的頭像 發(fā)表于 11-12 10:13 ?1434次閱讀

    CAN總線的主要優(yōu)勢與不足

    隨著汽車電子系統(tǒng)的日益復雜化,對通信網(wǎng)絡的需求也在不斷增長。CAN總線作為一種成熟的通信協(xié)議,已經(jīng)在汽車行業(yè)中得到了廣泛的應用。 一、CAN總線的主要優(yōu)勢 高可靠性:
    的頭像 發(fā)表于 11-12 10:10 ?900次閱讀

    CAN總線常見錯誤碼及其解決方法

    CAN總線(Controller Area Network)是一種常用于車輛和工業(yè)自動化系統(tǒng)中的串行通信協(xié)議。它允許多個設備共享同一通信介質(zhì),以實現(xiàn)數(shù)據(jù)的實時交換。在使用CAN總線時,
    的頭像 發(fā)表于 11-12 10:05 ?2097次閱讀

    什么是CAN時鐘?#CAN #汽車CAN總線? #CANoe

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年10月29日 12:23:36

    CAN總線知識】全面了解CAN總線協(xié)議

    提及總線,總是讓人聯(lián)想到那些交錯在一起的計算機電線。那么這些電線如何發(fā)揮功效呢?這還得配合總線協(xié)議的管理來使用。那么今天我們介紹的就是CAN總線協(xié)議。看看這個協(xié)議的含義和應用吧。
    的頭像 發(fā)表于 10-15 08:05 ?1471次閱讀
    【<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>知識】<b class='flag-5'>全面</b><b class='flag-5'>了解</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協(xié)議

    CAN總線錯誤狀態(tài)的種類

    CAN總線錯誤狀態(tài)的種類主要包括以下幾種,每種狀態(tài)都反映了CAN總線網(wǎng)絡中節(jié)點或總線的不同
    的頭像 發(fā)表于 09-03 14:17 ?1396次閱讀

    一文讀懂CAN通訊錯誤

    CAN總線通信技術廣泛應用于多個行業(yè),是每個總線設計工程師必學的一個通訊網(wǎng)絡。然而,對于CAN通信中的錯誤幀,許多人僅停留在表面
    的頭像 發(fā)表于 06-12 08:24 ?2714次閱讀
    一文讀懂<b class='flag-5'>CAN</b>通訊<b class='flag-5'>錯誤</b>幀

    CAN總線數(shù)據(jù)記錄儀選型指南

    CAN總線數(shù)據(jù)記錄儀擁有多種型號和強大的功能,滿足了不同行業(yè)、不同場景下的數(shù)據(jù)記錄需求。今天,我們將針對Influx以及Kvaser兩個品牌的記錄
    的頭像 發(fā)表于 05-24 17:08 ?549次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>數(shù)據(jù)<b class='flag-5'>記錄</b>儀選型指南

    培訓 | CiA協(xié)會CAN總線實訓開班,新一代CAN網(wǎng)絡CAN XL

    暌違5年之久,國際CiA協(xié)會培訓再次落地國內(nèi)!你是否渴望與國際CAN領域的權威專家面對面交流,深入探討CAN技術的最新發(fā)展與應用?你是否想站在行業(yè)前沿,領略CAN技術的最新動態(tài)?機會就在眼前!
    的頭像 發(fā)表于 05-16 08:04 ?401次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>培訓 | CiA協(xié)會<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>實訓開班,新一代<b class='flag-5'>CAN</b>網(wǎng)絡<b class='flag-5'>CAN</b> XL

    常見的CAN中繼器應用錯誤及原因有哪些?

    CAN中繼器在應用中可能會遇到一些常見的錯誤,這些錯誤可能源于多個方面。
    的頭像 發(fā)表于 05-08 10:16 ?618次閱讀

    一文讀懂CAN控制器錯誤處理的原理

    CAN通訊的錯誤幀到底是如何被界定的?本文帶你輕松了解!錯誤標定檢測到錯誤條件的站通過發(fā)送
    的頭像 發(fā)表于 04-26 08:25 ?1621次閱讀
    一文讀懂<b class='flag-5'>CAN</b>控制器<b class='flag-5'>錯誤</b>處理的原理

    CAN 會收到錯誤的數(shù)據(jù)嗎?

    CAN-bus總線協(xié)議以高穩(wěn)定性,高容錯率而著稱于世,然而仍有很多用戶在使用的時候擔心CAN會接受到錯誤的信息,在數(shù)據(jù)里增加了CRC校驗的部分,這種做法是否有必要?
    的頭像 發(fā)表于 04-04 08:24 ?425次閱讀
    <b class='flag-5'>CAN</b> 會收到<b class='flag-5'>錯誤</b>的數(shù)據(jù)嗎?

    科技術 | PCAN View功能細講:從實時監(jiān)測到錯誤幀分析

    相信使用過PCAN工具的朋友都知道PCAN-View這款免費軟件,它具有直觀的用戶界面,可以實時監(jiān)測和分析CAN總線上的數(shù)據(jù)幀,并提供過濾、發(fā)送和報文
    的頭像 發(fā)表于 03-18 13:48 ?1296次閱讀
    <b class='flag-5'>虹</b>科技術 | PCAN View功能細講:從實時監(jiān)測到<b class='flag-5'>錯誤</b>幀分析

    CAN總線錯誤幀及其排查方法簡單介紹#汽車CAN總線?

    CAN總線汽車電子
    北匯信息POLELINK
    發(fā)布于 :2024年03月15日 14:14:40

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2772次閱讀