色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

MM32F0140 FlexCAN一致性測(cè)試 (2)

jf_pJlTbmA9 ? 來(lái)源:靈動(dòng)MM32MCU ? 作者:靈動(dòng)MM32MCU ? 2023-11-10 18:23 ? 次閱讀

前面一個(gè)章節(jié)中我們和大家一起學(xué)習(xí)了CAN的物理層和鏈路層的一致性測(cè)試項(xiàng),本章節(jié)我們將和大家一起了解CAN的應(yīng)用層一致性測(cè)試。

應(yīng)用層一致性測(cè)試

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

1.1 發(fā)送報(bào)文測(cè)試

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

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

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

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

1.2 CAN_H/L 對(duì)電源/對(duì)地短路容錯(cuò)性測(cè)試

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

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

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

wKgZomUD4YmAUze5AADDyqwew7w593.png

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

1.3 BusOff快恢復(fù)/慢恢復(fù)策略測(cè)試

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

為了避免某個(gè)設(shè)備因?yàn)樽陨碓颍ɡ?a target="_blank">硬件損壞)導(dǎo)致無(wú)法正常收發(fā)數(shù)據(jù)而不斷地破壞數(shù)據(jù)幀,從而影響其他正常節(jié)點(diǎn)通訊,CAN-bus規(guī)范中規(guī)定每個(gè)CAN控制器都有一個(gè)發(fā)送錯(cuò)誤計(jì)數(shù)器和一個(gè)接收錯(cuò)誤計(jì)數(shù)器。根據(jù)計(jì)數(shù)值不同CAN節(jié)點(diǎn)會(huì)處于不同的設(shè)備狀態(tài)。根據(jù)計(jì)數(shù)值的變化進(jìn)行狀態(tài)轉(zhuǎn)換,狀態(tài)轉(zhuǎn)換如下圖所示:

wKgZomUD4YqACzP6AABqRIYeoTQ915.jpg

接收、發(fā)送錯(cuò)誤計(jì)數(shù)器對(duì)應(yīng)的變動(dòng)條件及數(shù)值變動(dòng)情況:

1、接收單元檢測(cè)出錯(cuò)誤時(shí),檢測(cè)到錯(cuò)誤標(biāo)識(shí)符或過(guò)載標(biāo)志的“位錯(cuò)誤”除外,此時(shí)REC+1、TEC不變;

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

3、發(fā)送單元輸出錯(cuò)誤標(biāo)志,此時(shí)REC不變、TEC+8;

4、發(fā)送單元發(fā)送主動(dòng)錯(cuò)誤標(biāo)志或過(guò)載標(biāo)志,檢測(cè)出位錯(cuò)誤,REC不變、TEC+8;

5、接收單元發(fā)送主動(dòng)錯(cuò)誤標(biāo)志或過(guò)載標(biāo)志,檢測(cè)出位錯(cuò)誤,REC+8、TEC不變;

6、各單元從主動(dòng)錯(cuò)誤標(biāo)志、過(guò)載標(biāo)志的開始檢測(cè)出連續(xù)14個(gè)顯性位,之后每檢測(cè)出連續(xù)8個(gè)顯性位,發(fā)送時(shí)REC+8、接收時(shí)TEC+8;

7、檢測(cè)出被動(dòng)錯(cuò)誤標(biāo)志后追加連續(xù)8個(gè)位的顯性位,發(fā)送時(shí)REC+8、接收時(shí)TEC+8;

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

9、接收單元正常接收數(shù)據(jù)結(jié)束時(shí)(到CRC未檢測(cè)出錯(cuò)誤且正常返回ACK),REC<127時(shí),rec-1,rec>127時(shí),REC=127;TEC不變;

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

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

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

wKgaomUD4YuAQ1t8AABC0opaonI688.jpg

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

大致流程圖如下:

wKgaomUD4YyAdsLHAABdVYFHzmg447.jpg

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

wKgZomUD4Y6AbXoAAADGY-1gP6M758.png

在BusOff 恢復(fù)策略制定時(shí),是需要通過(guò)軟件流程去實(shí)施實(shí)現(xiàn)控制時(shí)長(zhǎng),IP 層面不能設(shè)置恢復(fù)的時(shí)長(zhǎng)。至于如何判斷是主動(dòng)錯(cuò)誤還是被動(dòng)錯(cuò)誤,可以根據(jù) CAN_ESR1.FLTCONF 寄存器以及結(jié)合CAN_ECR 寄存器來(lái)分析。

我們通過(guò)CANScope總線綜合分析儀對(duì)上述的測(cè)試項(xiàng)一一進(jìn)行測(cè)試,MM32F0140的FlexCAN 能夠滿足相關(guān)的測(cè)試標(biāo)準(zhǔn),能夠滿足汽車領(lǐng)域?qū)νㄐ趴偩€的要求,保障整車CAN總線安全穩(wěn)定。

來(lái)源:靈動(dòng)MM32MCU



審核編輯:湯梓紅0

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

    關(guān)注

    57

    文章

    2744

    瀏覽量

    463615
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2878

    瀏覽量

    88051
  • 一致性測(cè)試
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    12008
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于MM32F0140系列MCU實(shí)現(xiàn)UDS Bootloader的設(shè)計(jì)

    。  MM32F0140 系列 MCU 內(nèi)嵌的 FlexCAN,符合 ISO 11898-1 標(biāo)準(zhǔn),支持 CAN 2.0B 版本協(xié)議,位速率高達(dá) 1Mbps,具有非常靈活的用于傳輸和接收的郵箱系統(tǒng),可以接收和發(fā)送 11
    發(fā)表于 09-15 16:35

    AN0052從MM32F0130移植到MM32F0140(英文版)

    AN0052 從MM32F0130移植到MM32F0140(英文版)
    發(fā)表于 02-22 18:43 ?0次下載
    AN0052從<b class='flag-5'>MM32F</b>0130移植到<b class='flag-5'>MM32F0140</b>(英文版)

    MM32F0140 產(chǎn)品手冊(cè)(中文版)

    MM32F0140 產(chǎn)品手冊(cè)(中文版)
    發(fā)表于 02-22 18:45 ?0次下載
    <b class='flag-5'>MM32F0140</b> 產(chǎn)品手冊(cè)(中文版)

    MM32F0140 用戶手冊(cè)(中文版)

    MM32F0140 用戶手冊(cè)(中文版)
    發(fā)表于 02-22 18:46 ?0次下載
    <b class='flag-5'>MM32F0140</b> 用戶手冊(cè)(中文版)

    MM32F0140 用戶手冊(cè)(英文版)

    MM32F0140 用戶手冊(cè)(英文版)
    發(fā)表于 02-22 18:46 ?0次下載
    <b class='flag-5'>MM32F0140</b> 用戶手冊(cè)(英文版)

    MM32F0140 勘誤表(中文版)

    MM32F0140 勘誤表(中文版)
    發(fā)表于 02-22 18:47 ?0次下載
    <b class='flag-5'>MM32F0140</b> 勘誤表(中文版)

    MM32F0140 勘誤表(英文版)

    MM32F0140 勘誤表(英文版)
    發(fā)表于 02-22 18:48 ?0次下載
    <b class='flag-5'>MM32F0140</b> 勘誤表(英文版)

    基于MM32F0140的UDS Bootloader學(xué)習(xí)筆記

    基于MM32F0140的UDS Bootloader學(xué)習(xí)筆記
    的頭像 發(fā)表于 10-30 17:11 ?766次閱讀
    基于<b class='flag-5'>MM32F0140</b>的UDS Bootloader學(xué)習(xí)筆記

    MM32F0140學(xué)習(xí)筆記——CRC

    MM32F0140學(xué)習(xí)筆記——CRC
    的頭像 發(fā)表于 11-10 18:27 ?607次閱讀
    <b class='flag-5'>MM32F0140</b>學(xué)習(xí)筆記——CRC

    MM32F0140 FlexCAN一致性測(cè)試(1)

    MM32F0140 FlexCAN一致性測(cè)試 (1)
    的頭像 發(fā)表于 11-10 17:50 ?621次閱讀
    <b class='flag-5'>MM32F0140</b> <b class='flag-5'>FlexCAN</b><b class='flag-5'>一致性</b><b class='flag-5'>測(cè)試</b>(1)

    MM32F0140學(xué)習(xí)筆記——FlexCAN 控制器局域網(wǎng)

    MM32F0140學(xué)習(xí)筆記——FlexCAN 控制器局域網(wǎng)
    的頭像 發(fā)表于 10-27 09:25 ?1458次閱讀
    <b class='flag-5'>MM32F0140</b>學(xué)習(xí)筆記——<b class='flag-5'>FlexCAN</b> 控制器局域網(wǎng)

    MM32F0140 SPI學(xué)習(xí)筆記

    MM32F0140 SPI學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:51 ?592次閱讀
    <b class='flag-5'>MM32F0140</b> SPI學(xué)習(xí)筆記

    MM32F0140 DMA學(xué)習(xí)筆記

    MM32F0140 DMA 學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-18 16:57 ?703次閱讀
    <b class='flag-5'>MM32F0140</b> DMA學(xué)習(xí)筆記

    MM32F0140 UART學(xué)習(xí)筆記

    MM32F0140 UART學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:45 ?755次閱讀
    <b class='flag-5'>MM32F0140</b> UART學(xué)習(xí)筆記

    MM32F0140 GPIO學(xué)習(xí)筆記

    MM32F0140 GPIO學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:42 ?551次閱讀
    <b class='flag-5'>MM32F0140</b> GPIO學(xué)習(xí)筆記
    主站蜘蛛池模板: 99久久久无码国产精品不卡按摩| 好大好爽好深舒服死了| 欧美gay69| 中国bdsmchinesehd| 黄片长版看嘛| 午夜福利免费院| 国产ts在线| 日韩精品无码免费专区| CHESENGAY痞帅警察GV| 免费一区二区三区久久| 4480YY无码午夜私人影院| 久久精品亚洲精品国产欧美| 亚洲人成在线播放网站岛国| 国产午夜精品一区理论片飘花| 色色色999| 国产ts在线| 无码中文字幕热热久久| 国产精品久久久久久久久免费下载| 色欲av蜜臀av高清| 国产传媒18精品A片在线观看| 少女10声大哥喊退色狼| 高清欧美性猛交xxxx黑人猛交| 色哟哟网站入口在线观看视频| 插我一区二区在线观看| 日本一本道高清码v| 俄罗斯6一12呦女精品| 视频一区亚洲视频无码| 国产XXXXXX农村野外| 跳蛋按摩棒玉势PLAY高H| 国产欧美另类久久久精品免费| 乡村教师电影版| 黄色天堂网| 在线视频a| 女人高潮被爽到呻吟在线观看| black大战chinese周晓琳| 人善交XUANWEN200喷水| 放射源分类办法| 无码区国产区在线播放| 国自产拍 高清精品| 一区二区三区福利视频| 老板吻我下身好爽到高潮|