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

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

3天內不再提示

CAN的應用層一致性測試

靈動MM32MCU ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2022-07-29 10:06 ? 次閱讀

前面一個章節(jié)中我們和大家一起學習了CAN的物理層和鏈路層的一致性測試項,本章節(jié)我們將和大家一起了解CAN的應用層一致性測試。

應用層一致性測試

該測試項主要為了驗證 ECU 在網絡通信的完整性,一般還包括上層應用層協(xié)議的測試,網絡管理功能的測試以及故障診斷等方面。

1.1 發(fā)送報文測試

報文的發(fā)送一般分為周期性的、緊急事件觸發(fā)型的以及軟件使能型,周期性的報文需要測驗周期時長的偏差是否滿足規(guī)約,另外 2 種類型的報文需要在干擾條件下進行看是否會造成發(fā)送失敗情況。一般以固定 ID 發(fā)送至 CAN 工具(一個 CAN 網絡至少需要有 2 個節(jié)點),通過上位機的時間戳功能查驗。

報文發(fā)送周期測試主要是測試 DUT 期性報文的間隔時間是否小于允許誤差。在DS301通訊規(guī)范中,要求由測試設備觸發(fā) DUT 進入周期性發(fā)送狀態(tài),測試設備接收 1 分鐘報文后,進行統(tǒng)計,查看是否有間隔超過 20% 的誤差的報文。

另外,一般需要 CAN 具備自動重發(fā)功能,可以通過 CAN_MCR.AEN 位實現(xiàn),官方庫例程中默認不使能 CAN_MCR.AEN位。

在發(fā)送時還有一點需要注意,F(xiàn)lexCAN具有接收自己發(fā)出的報文功能,且?guī)炖讨惺悄J開啟該功能的,具體可參見 CAN_CTRL1.SRXDIS 寄存器描述,視情況決定是否禁止啟用該功能。

1.2 CAN_H/L 對電源/對地短路容錯性測試

測試 ECU 在不同錯誤狀態(tài)下的容錯性能,看錯誤條件解除后是否能夠自動恢復通訊。一般測試時需要使 ECU 處于周期性發(fā)送報文的狀態(tài),且 CAN_H 或者 CAN_L 對電源/對地短路和自己與總線斷路的維持時間要超過 1 min 鐘保證錯誤的積累數(shù)致使 ECU 處于被動錯誤狀態(tài)。

依據 GMW3122 定義,可分為7 種物理錯誤類型,包括地線漂移、地線丟失、電源丟失、CAN 線中斷、CAN 線各短接到地、CAN 線各短接到電源、CAN 線短路等錯誤狀態(tài)。如果恢復后,都可以恢復通訊,則通過測試。

實際測試發(fā)現(xiàn),這幾種短路和斷路條件只會使 FlexCAN 的 Tx error 計數(shù)器增加到超過 127 ,進入被動錯誤狀態(tài)而不會發(fā)生 Busoff ,期間會一直嘗試重發(fā),在恢復總線正常后,計數(shù)器的值會逐一遞減同時由于能夠收到正確的 ACK 響應而恢復正常通訊了,恢復的時長也符合標準。下圖展示的是 2s 周期發(fā)送報文直到恢復正常通訊的實測圖:

255b6546-0e4f-11ed-ba43-dac502259ad0.png

CAN_H 與 CAN_L 短接會導致 FlexCAN 進入 Busoff 狀態(tài),由于官方庫例程中默認設置開啟了自動從總線關閉狀態(tài)中恢復的功能,所以在解除總線短路后的一段時間內,ECU 重新恢復正常通訊,自動恢復時長 = 128 x 11 x 位時間(即檢測到 128次11個連續(xù)空閑狀態(tài)位電平則恢復,符合 CAN2.0B 標準)。

1.3 BusOff快恢復/慢恢復策略測試

當 CAN 通信出現(xiàn)故障時,CAN 控制器會讓故障節(jié)點從主動錯誤狀態(tài)進入被動錯誤狀態(tài),甚至進入總線關閉(BusOff)狀態(tài),使故障節(jié)點脫離總線的通信,使其不影響正常節(jié)點的通信,但該控制方案將導致在系統(tǒng)重新上電之前,進入總線關閉狀態(tài)的節(jié)點會持續(xù)無法與其他節(jié)點做數(shù)據的交互,如若節(jié)點只是暫時的故障,那讓節(jié)點實現(xiàn)自恢復的功能,則是更為上乘的控制方法。所以 CAN 總線設計規(guī)范對于 CAN 節(jié)點的 BusOff 自恢復方式做了嚴格的規(guī)定,充分考慮了偶發(fā)故障與持續(xù)故障的處理。

為了避免某個設備因為自身原因(例如硬件損壞)導致無法正常收發(fā)數(shù)據而不斷地破壞數(shù)據幀,從而影響其他正常節(jié)點通訊,CAN-bus規(guī)范中規(guī)定每個CAN控制器都有一個發(fā)送錯誤計數(shù)器和一個接收錯誤計數(shù)器。根據計數(shù)值不同CAN節(jié)點會處于不同的設備狀態(tài)。根據計數(shù)值的變化進行狀態(tài)轉換,狀態(tài)轉換如下圖所示:

256c6dbe-0e4f-11ed-ba43-dac502259ad0.jpg

接收、發(fā)送錯誤計數(shù)器對應的變動條件及數(shù)值變動情況:

1

接收單元檢測出錯誤時,檢測到錯誤標識符或過載標志的“位錯誤”除外,此時REC+1、TEC不變;

2

接收單元在發(fā)送完錯誤標志后檢測到第一位為顯性電平,此時REC+8、TEC不變;

3

發(fā)送單元輸出錯誤標志,此時REC不變、TEC+8;

4

發(fā)送單元發(fā)送主動錯誤標志或過載標志,檢測出位錯誤,REC不變、TEC+8;

5

接收單元發(fā)送主動錯誤標志或過載標志,檢測出位錯誤,REC+8、TEC不變;

6

各單元從主動錯誤標志、過載標志的開始檢測出連續(xù)14個顯性位,之后每檢測出連續(xù)8個顯性位,發(fā)送時REC+8、接收時TEC+8;

7

檢測出被動錯誤標志后追加連續(xù)8個位的顯性位,發(fā)送時REC+8、接收時TEC+8;

8

發(fā)送單元正常接收數(shù)據結束時(返回ACK且到幀結束位檢測到錯誤),REC不變、TEC-1;

9

接收單元正常接收數(shù)據結束時(到CRC未檢測出錯誤且正常返回ACK),REC《127時,rec-1,rec》127時,REC=127;TEC不變;

10

處于總線關閉的單元,檢測到128次連續(xù)11個位的隱形位,錯誤計數(shù)器歸零,REC、TEC=0;CAN總線錯誤處理功能屬于是鏈路層功能,此功能由CAN控制器決定。

汽車內部掛有很多的 ECU 節(jié)點,當其中一個節(jié)點發(fā)生故障進入總線關閉狀態(tài)時,會很大程度上影響整車 CAN 網絡的通訊。所以一方面需要迅速找到引發(fā)節(jié)點總線關閉的物理故障,另一方面需要遵循一定準則合理設計恢復策略,主要為了控制節(jié)點從總線關閉狀態(tài)恢復到錯誤主動狀態(tài)的等待時間,太快或者太慢地恢復都將可能影響到網絡其它節(jié)點的正常通訊,快恢復和慢恢復兩種策略一般同時應用。

整車廠對其系統(tǒng)供應商的設備也都提出了相應的 BusOff 后恢復時間的控制策略要求,對總線關閉狀態(tài)的節(jié)點需要實現(xiàn)“快恢復”和“慢恢復”策略。

2587ae1c-0e4f-11ed-ba43-dac502259ad0.jpg

制定策略大致思路是:將默認配置的自動從總線關閉狀態(tài)中恢復的功能關閉(CAN_CTRL1.BOFFREC = 1),再實時檢查 CAN_ESR1.BOFFINT 寄存器的值來判斷是否進入 BusOff狀態(tài),當檢測到總線關閉后,開啟快恢復計時,時間到達后進行一次 CAN 控制器的時鐘、驅動及相關寄存器進行初始化操作,初始化完成后如果物理條件恢復正常那么即可完成快恢復,反之循環(huán) 10 次前面操作,如果仍舊無法消除 d BusOff 狀態(tài),那進入慢恢復策略,同樣在開啟慢恢復計時并且到達后進行復位 FlexCAN操作, 此時 CAN 總線關閉故障如果解除了,為了避免該節(jié)點在 CAN 網絡中頻繁發(fā)生總線關閉問題,此時不立即對外發(fā)送 CAN 報文。

大致流程圖如下:

259d80b6-0e4f-11ed-ba43-dac502259ad0.jpg

至于自定義的 BusOff后的恢復時間策略,可以根據 CAN_CTRL1.BOFFREC 的寄存器描述來控制關閉自動恢復機制,然后根據自己需要的時間間隔完成后開啟自動恢復,官方例程默認為開啟了BusOff 自動恢復功能,自動恢復時長 = 128 x 11 x 位時間(即檢測到 128次11個連續(xù)空閑狀態(tài)位電平則恢復,符合 CAN2.0B 標準)。

25a78020-0e4f-11ed-ba43-dac502259ad0.png

在BusOff 恢復策略制定時,是需要通過軟件流程去實施實現(xiàn)控制時長,IP 層面不能設置恢復的時長。至于如何判斷是主動錯誤還是被動錯誤,可以根據 CAN_ESR1.FLTCONF 寄存器以及結合CAN_ECR 寄存器來分析。

我們通過CANScope總線綜合分析儀對上述的測試項一一進行測試,MM32F0140的FlexCAN 能夠滿足相關的測試標準,能夠滿足汽車領域對通信總線的要求,保障整車CAN總線安全穩(wěn)定。

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

    關注

    31

    文章

    5253

    瀏覽量

    119212
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2663

    瀏覽量

    462469
  • 網絡管理
    +關注

    關注

    0

    文章

    116

    瀏覽量

    27617

原文標題:靈動微課堂 (第224講) | MM32F0140 FlexCAN一致性測試 (2)

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CAN一致性測試內容及解決方案

    新能源汽車行業(yè)的迅速發(fā)展,CAN總線問題日益突出,總線故障潛在問題極其嚴重。那么,如何保證CAN總線穩(wěn)定,為何主機廠愈來愈重視CAN一致性測試
    的頭像 發(fā)表于 05-29 09:14 ?2.1w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>一致性</b><b class='flag-5'>測試</b>內容及解決方案

    CANDT一致性測試系統(tǒng)發(fā)布 保障CAN總線安全

    CAN總線已經成為新能源汽車、軍工、航空等行業(yè)的主控系統(tǒng)應用總線,ZLG致遠電子致力于構建CAN總線安全保障體系,震撼發(fā)布CANDT一致性測試系統(tǒng)!
    的頭像 發(fā)表于 08-29 09:54 ?6400次閱讀

    一致性測試

    誰有聚星公司射頻一致性測試的程序啊,求個做參考,!
    發(fā)表于 07-14 18:11

    CAN一致性測試—容錯測試

    的CANDT一致性測試系統(tǒng),該設備可自動化完成CAN節(jié)點物理、鏈路層及應用層一致性
    發(fā)表于 11-22 16:36

    高速串行總線的物理一致性測試是什么?由來呢?

    物理一致性測試作為近 10 多年來示波器最主要的用途之,直是產業(yè)界最常提到的名詞之。本
    發(fā)表于 08-12 07:17

    MIPI一致性測試

    MIPI一致性測試測試項目:> TX測試;> RX測試;> S參數(shù)和阻抗測試;> DigRF,U
    發(fā)表于 09-26 13:31

    CAN一致性測試系統(tǒng)之地偏移測試

    測試用于檢驗組件的可靠運轉情況,比如個組件的電源由蓄電池和發(fā)動機雙路提供,電源電壓可能不一致,導致地偏移發(fā)生,為了檢測CAN信號能否正常通信,可以使用ZLG致遠電子的CANDT
    的頭像 發(fā)表于 12-05 17:16 ?1w次閱讀

    CAN節(jié)點一致性測試究竟有多重要

    的良莠不齊將給CAN總線網絡帶來較大的安全隱患,某個節(jié)點的錯誤將影響整體總線的正常運行,嚴重時可能導致整體總線的癱瘓。所以,CAN一致性測試是保障C
    的頭像 發(fā)表于 08-23 11:03 ?4733次閱讀

    AMAZINGIC晶焱科技CAN 總線收發(fā)器一致性測試

    AMAZINGIC晶焱科技CAN 總線收發(fā)器一致性測試
    的頭像 發(fā)表于 05-26 15:49 ?734次閱讀
    AMAZINGIC晶焱科技<b class='flag-5'>CAN</b> 總線收發(fā)器<b class='flag-5'>一致性</b><b class='flag-5'>測試</b>

    虹科干貨 | 如何進行CANopen的一致性測試

    分享。01CANopen的一致性測試概念可從CiA協(xié)會組織官方鏈接https://www.can-cia.org/services/test-center/了解相關信
    的頭像 發(fā)表于 07-02 11:32 ?853次閱讀
    虹科干貨 | 如何進行CANopen的<b class='flag-5'>一致性</b><b class='flag-5'>測試</b>

    AMAZINGIC晶焱科技CAN 總線收發(fā)器一致性測試

    AMAZINGIC晶焱科技CAN 總線收發(fā)器一致性測試
    的頭像 發(fā)表于 08-29 15:36 ?622次閱讀
    AMAZINGIC晶焱科技<b class='flag-5'>CAN</b> 總線收發(fā)器<b class='flag-5'>一致性</b><b class='flag-5'>測試</b>

    技術分享丨CAN/CANFD一致性測試

    在汽車領域CAN/CANFD網絡通信中,各節(jié)點(控制器)的質量不一致可能會引發(fā)錯誤、網絡故障或網絡癱瘓等問題,所以,為保證CAN/CANFD網絡的正常安全運行,必須要執(zhí)行CAN/CAN
    的頭像 發(fā)表于 04-24 09:28 ?3339次閱讀
    技術分享丨<b class='flag-5'>CAN</b>/CANFD<b class='flag-5'>一致性</b><b class='flag-5'>測試</b>

    DDR一致性測試的操作步驟

    DDR一致性測試的操作步驟? DDR(雙數(shù)據率)一致性測試是對DDR內存模塊進行測試以確保其性能和可靠
    的頭像 發(fā)表于 02-01 16:24 ?1078次閱讀

    為什么主機廠愈來愈重視CAN一致性測試?

    新能源汽車迅猛發(fā)展下整車CAN網絡架構日益復雜,總線故障等潛在問題時刻影響著運行安全。整車零部件通過CAN一致性測試必將是安全保障的第道門
    的頭像 發(fā)表于 05-29 08:24 ?907次閱讀
    為什么主機廠愈來愈重視<b class='flag-5'>CAN</b><b class='flag-5'>一致性</b><b class='flag-5'>測試</b>?

    新品發(fā)布 | 同星智能正式推出CAN總線一致性測試系統(tǒng)

    CAN總線一致性測試系統(tǒng)CANFD/CAN總線一致性測試系統(tǒng),在硬件系統(tǒng)上基于同星自主研發(fā)的總線
    的頭像 發(fā)表于 07-06 08:21 ?321次閱讀
    新品發(fā)布 | 同星智能正式推出<b class='flag-5'>CAN</b>總線<b class='flag-5'>一致性</b><b class='flag-5'>測試</b>系統(tǒng)