在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

ZLG致遠(yuǎn)電子 ? 2024-04-26 08:25 ? 次閱讀

CAN通訊的錯誤幀到底是如何被界定的?本文帶你輕松了解!

6b533a28-0363-11ef-9118-92fbcf53809c.jpg ?錯誤標(biāo)定

檢測到錯誤條件的站通過發(fā)送錯誤標(biāo)志指示錯誤。對于“錯誤主動”的節(jié)點(diǎn),錯誤信息為“主動錯誤標(biāo)志”,對于“錯誤被動”的節(jié)點(diǎn),錯誤信息為“被動錯誤標(biāo)志”。站檢測到無論是位錯誤、填充錯誤、形式錯誤,還是應(yīng)答錯誤,這個站會在下一位時發(fā)出錯誤標(biāo)志信息。

只要檢測到的錯誤的條件是CRC錯誤,錯誤標(biāo)志的發(fā)送開始于ACK界定符之后的位(其他的錯誤條件除外)。如圖1所示:

6b657936-0363-11ef-9118-92fbcf53809c.jpg

圖1 CRC錯誤幀

6b778162-0363-11ef-9118-92fbcf53809c.jpg ?故障界定

至于故障界定,單元的狀態(tài)可能為以下三種之一:“錯誤主動”、“錯誤被動”、“總線關(guān)閉”。

1. “錯誤主動”的單元可以正常地參與總線通訊并在錯誤被檢測到時發(fā)出主動錯誤標(biāo)志。
2. “錯誤被動”的單元不允許發(fā)送主動錯誤標(biāo)志。“錯誤被動”的單元參與總線通訊,在錯誤被檢測到時只發(fā)出被動錯誤標(biāo)志。而且,發(fā)送以后,“錯誤被動”單元將在初始化下一個發(fā)送之前處于等待狀態(tài)(見“掛起發(fā)送”)
3. “總線關(guān)閉”的單元不允許在總線上有任何的影響(比如,關(guān)閉輸出驅(qū)動器)。
三個狀態(tài)的轉(zhuǎn)換方式如圖2所示:

6b91c02c-0363-11ef-9118-92fbcf53809c.jpg

圖2 CAN狀態(tài)轉(zhuǎn)換圖

在每一總線單元里使用兩種計(jì)數(shù)以便故障界定:發(fā)送錯誤計(jì)數(shù)、接收錯誤計(jì)數(shù)。
這些計(jì)數(shù)按以下規(guī)則改變(注意,在給定的報文發(fā)送期間,可能要用到的規(guī)則不只一個):1. 當(dāng)接收器檢測到一個錯誤,接收錯誤計(jì)數(shù)就加1。在發(fā)送主動錯誤標(biāo)志或過載標(biāo)志期間所檢測到的錯誤為位錯誤時,接收錯誤計(jì)數(shù)器值不加1。2. 當(dāng)錯誤標(biāo)志發(fā)送以后,接收器檢測到的第一個位為“顯性”時,接收錯誤計(jì)數(shù)值加8。3. 當(dāng)發(fā)送器發(fā)送一錯誤標(biāo)志時,發(fā)送錯誤計(jì)數(shù)器值加8。

  • 例外情況1:發(fā)送器為“錯誤被動”,并檢測到一應(yīng)答錯誤(注:此應(yīng)答錯誤由檢測不到一“顯性”ACK 以及當(dāng)發(fā)送被動錯誤標(biāo)志時檢測不到一“顯性”位而引起)。
  • 例外情況2:發(fā)送器因?yàn)樘畛溴e誤而發(fā)送錯誤標(biāo)志(注:此填充錯誤發(fā)生于仲裁期間。引起填充錯誤是由于:填充位〈填充位〉位于RTR位之前,并已作為“隱性”發(fā)送,但是卻被監(jiān)視為“顯性”)。
    例外情況1和例外情況2時,發(fā)送錯誤計(jì)數(shù)器值不改變。

4. 發(fā)送主動錯誤標(biāo)志或過載標(biāo)志時,如果發(fā)送器檢測到位錯誤,則發(fā)送錯誤計(jì)數(shù)器值加8。

5.當(dāng)發(fā)送主動錯誤標(biāo)志或過載標(biāo)志時,如果接受器檢測到位錯誤(位錯誤),則接收錯誤計(jì)數(shù)器值加8。6. 在發(fā)送主動錯誤標(biāo)志、被動錯誤標(biāo)志或過載標(biāo)志以后,任何節(jié)點(diǎn)最多容許7個連續(xù)的 “顯性”位。以下的情況,每一發(fā)送器將它們的發(fā)送錯誤計(jì)數(shù)值加8,及每一接收器的接收錯誤計(jì)數(shù)值加8:

  • 當(dāng)檢測到第14個連續(xù)的“顯性”位后;
  • 在檢測到第8個跟隨著被動錯誤標(biāo)志的連續(xù)的“顯性”位以后;
  • 在每一附加的8個連續(xù)“顯性”位順序之后。

7. 報文成功傳送后(得到ACK及直到幀末尾結(jié)束沒有錯誤),發(fā)送錯誤計(jì)數(shù)器值減1,除非已經(jīng)是0。

8. 如果接收錯誤計(jì)數(shù)值介于1和127之間,在成功地接收到報文后(直到應(yīng)答間隙接收沒有錯誤,成功地發(fā)送了ACK位),接收錯誤計(jì)數(shù)器值減1。如果接收錯誤計(jì)數(shù)器值是0,則它保持0,如果大于127,則它會設(shè)置一個介于119到127之間值。9. 當(dāng)發(fā)送錯誤計(jì)數(shù)器值等于或超過128時,或當(dāng)接收錯誤計(jì)數(shù)器值等于或超過128時,節(jié)點(diǎn)為“錯誤被動”。讓節(jié)點(diǎn)成為“錯誤被動”的錯誤條件致使節(jié)點(diǎn)發(fā)出主動錯誤標(biāo)志。10. 當(dāng)發(fā)送錯誤計(jì)數(shù)器值大于或等于256時,節(jié)點(diǎn)為“總線關(guān)閉”。11. 當(dāng)發(fā)送錯誤計(jì)數(shù)器值和接收錯誤計(jì)數(shù)器值都小于或等于127時,“錯誤被動”的節(jié)點(diǎn)重新變?yōu)椤板e誤主動”。12. 在總線監(jiān)視到128次出現(xiàn)11個連續(xù)“隱性”位之后,“總線關(guān)閉”的節(jié)點(diǎn)可以變成“錯誤主動”(不再是“總線關(guān)閉”),它的錯誤計(jì)數(shù)值也被設(shè)置為0。

備注1:

一個大約大于96的錯誤計(jì)數(shù)值顯示總線被嚴(yán)重干擾。最好能夠預(yù)先采取措施測試這個條件。

備注2:

起動/睡眠:如果起動期間內(nèi)只有1個節(jié)點(diǎn)在線,以及如果這個節(jié)點(diǎn)發(fā)送一些報文,則將不會有應(yīng)答,并檢測到錯誤和重復(fù)報文。由此,節(jié)點(diǎn)會變?yōu)椤板e誤被動”,而不是“總線關(guān)閉”。

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

    關(guān)注

    114

    文章

    16998

    瀏覽量

    183157
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2895

    瀏覽量

    466903
  • 檢測
    +關(guān)注

    關(guān)注

    5

    文章

    4613

    瀏覽量

    92573
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CAN控制器總線錯誤分析之CAN節(jié)點(diǎn)BusOff恢復(fù)過程分析與測試

    “ 總線關(guān)閉(bus off)是CAN節(jié)點(diǎn)比較重要的錯誤處理機(jī)制。那么,在總線關(guān)閉狀態(tài)下,CAN節(jié)點(diǎn)的恢復(fù)流程是怎樣的?又該如何理解節(jié)點(diǎn)恢復(fù)流程的“快恢復(fù)”和“慢恢復(fù)”機(jī)制?本文將為大家詳細(xì)分析總線
    發(fā)表于 08-04 11:16 ?1.6w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>總線<b class='flag-5'>錯誤</b>分析之<b class='flag-5'>CAN</b>節(jié)點(diǎn)BusOff恢復(fù)過程分析與測試

    讀懂Can總線錯誤處理

    為了防止故障節(jié)點(diǎn)干擾甚至阻塞整個CAN網(wǎng)絡(luò)系統(tǒng),CAN協(xié)議實(shí)現(xiàn)了復(fù)雜的故障限制機(jī)制。為了保證通信的正常,CAN 2.0 總線協(xié)議總線中各節(jié)點(diǎn)需要采取以下措施進(jìn)行錯誤檢測。
    發(fā)表于 11-08 17:12 ?1.1w次閱讀

    嵌入式編程錯誤處理機(jī)制設(shè)計(jì)

    本文主要總結(jié)嵌入式系統(tǒng)C語言編程中,主要的錯誤處理方式。文中涉及的代碼運(yùn)行環(huán)境如下。
    發(fā)表于 04-28 09:59 ?945次閱讀
    嵌入式編程<b class='flag-5'>錯誤處理</b>機(jī)制設(shè)計(jì)

    讀懂CAN總線錯誤處理

    為了防止故障節(jié)點(diǎn)干擾甚至阻塞整個CAN網(wǎng)絡(luò)系統(tǒng),CAN協(xié)議實(shí)現(xiàn)了復(fù)雜的故障限制機(jī)制。為了保證通信的正常,CAN 2.0 總線協(xié)議總線中各節(jié)點(diǎn)需要采取以下措施進(jìn)行錯誤檢測:
    發(fā)表于 06-21 17:14 ?7928次閱讀
    <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>

    Rust語言中錯誤處理的機(jī)制

    在Rust語言中,錯誤處理項(xiàng)非常重要的任務(wù)。由于Rust語言采用靜態(tài)類型檢查,在編譯時就能發(fā)現(xiàn)很多潛在的錯誤,這使得程序員能夠更加自信和高效地開發(fā)程序。然而,即使我們在編譯時盡可能地考慮了所有
    的頭像 發(fā)表于 09-19 14:54 ?1810次閱讀

    讀懂CAN通訊錯誤

    CAN總線通信技術(shù)廣泛應(yīng)用于多個行業(yè),是每個總線設(shè)計(jì)工程師必學(xué)的個通訊網(wǎng)絡(luò)。然而,對于CAN通信中的錯誤幀,許多人僅停留在表面了解,缺乏深入理解,這導(dǎo)致許多工程師在面對總線通信故障時
    的頭像 發(fā)表于 06-12 08:24 ?3296次閱讀
    <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>幀

    款獨(dú)立CAN總線控制器的說明

    時序邏輯和錯誤管理邏輯等七部分組成,其中:· 接口管理邏輯負(fù)責(zé)解釋來自CPU 的命令,控制CAN 寄存的尋址,向主控制器提供中斷信息和狀態(tài)
    發(fā)表于 12-21 15:57

    CAN總線錯誤分析方法 精選資料推薦

    我們先簡單總結(jié)CAN錯誤處理與故障界定:1.CAN控制器記錄發(fā)生在發(fā)送/接收過程中,總線數(shù)據(jù)出現(xiàn)
    發(fā)表于 08-20 06:18

    AF錯誤處理

    想問下關(guān)于AF的錯誤處理,例如我進(jìn)行串口通訊,打開串口錯誤,但是我不想停止AF,想繼續(xù)嘗試連接要怎么做?
    發(fā)表于 02-03 15:44

    LabVIEW中的錯誤處理

    如何合理使用 LabVIEW 中的自定義錯誤處理功能;對于可預(yù)見的錯誤,是否可以選擇直 接忽略,或者前幾次嘗試忽略直到該特定錯誤出現(xiàn)很多次后才通知用戶需要糾正該錯誤 了;是否可以對
    發(fā)表于 05-24 11:07 ?6次下載

    虹科干貨 | 帶你全面認(rèn)識“CAN總線錯誤”()——CAN總線錯誤錯誤

    節(jié)點(diǎn)錯誤狀態(tài),并通過實(shí)際的應(yīng)用測試生成并記錄CAN錯誤。什么是CAN總線錯誤控制器局域網(wǎng)絡(luò)(C
    的頭像 發(fā)表于 05-27 10:39 ?5079次閱讀
    虹科干貨 | 帶你全面認(rèn)識“<b class='flag-5'>CAN</b>總線<b class='flag-5'>錯誤</b>”(<b class='flag-5'>一</b>)——<b class='flag-5'>CAN</b>總線<b class='flag-5'>錯誤</b>與<b class='flag-5'>錯誤</b>幀

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

    節(jié)點(diǎn)錯誤狀態(tài),并通過實(shí)際的應(yīng)用測試生成并記錄CAN錯誤。在之前發(fā)布的文章中,我們介紹了CAN錯誤錯誤處
    的頭像 發(fā)表于 06-09 10:21 ?2050次閱讀
    虹科干貨 | 帶你全面了解“<b class='flag-5'>CAN</b>總線<b class='flag-5'>錯誤</b>”(四)——在實(shí)踐中生成和記錄<b class='flag-5'>CAN</b><b class='flag-5'>錯誤</b>

    socket編程中的錯誤處理技巧

    Socket編程是網(wǎng)絡(luò)編程的基礎(chǔ),它允許程序之間通過TCP/IP協(xié)議進(jìn)行通信。然而,網(wǎng)絡(luò)通信是不穩(wěn)定的,可能會遇到各種問題,如網(wǎng)絡(luò)延遲、連接中斷、數(shù)據(jù)丟失等。 錯誤處理的重要性 提高程序的健壯性
    的頭像 發(fā)表于 11-01 17:47 ?1447次閱讀

    讀懂單燈控制器工作原理

    讀懂單燈控制器工作原理
    的頭像 發(fā)表于 11-11 13:13 ?1135次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>單燈<b class='flag-5'>控制器</b>工作原理

    如何驗(yàn)證CAN控制器錯誤響應(yīng)機(jī)制?

    CAN節(jié)點(diǎn)的穩(wěn)定性、可靠性和安全性得益于其強(qiáng)大的錯誤管理機(jī)制。上篇文章我們介紹了CAN控制器錯誤
    的頭像 發(fā)表于 04-30 18:24 ?148次閱讀
    如何驗(yàn)證<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>的<b class='flag-5'>錯誤</b>響應(yīng)機(jī)制?
    主站蜘蛛池模板: 男啪女色黄无遮挡免费观看 | 国模网站| 国产高清在线 | 国内精品视频免费观看 | 天天干夜夜怕 | 黄色特级毛片 | 好大好硬好深好爽想要免费视频 | 天天干天天操天天做 | 69色视频 | 成人最新午夜免费视频 | 一区二区高清在线 | 国产小片| 99久久99久久久99精品齐 | 欧美特黄三级在线观看 | 日本黄黄| 国产黄mmd在线观看免费 | 国产a三级三级三级 | 黄色www网站 | 特黄aaaaa日本大片免费看 | 999精品国产| 一区二区三区高清在线 | 亚洲一区二区三 | 欧美三级不卡在线观线看高清 | 日本免费黄色网 | 人人莫| 啪啪网站视频 | 精品香港经典三级在线看 | 天天爽天天爱 | 亚洲丰满熟妇毛片在线播放 | 日日干干夜夜 | 亚洲精品九色在线网站 | 欧美淫 | 失禁h啪肉尿出来高h健身房 | 成人的天堂视频一区二区三区 | 看黄免费在线 | 免费在线观看的视频 | 四虎.com | 亚洲va久久久噜噜噜久久天堂 | 三级黄色网 | 日本三浦理惠子中文字幕 | 黄色在线播放网站 |