一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

一文讀懂CAN通訊錯誤幀

ZLG致遠(yuǎn)電子 ? 2024-06-12 08:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線通信技術(shù)廣泛應(yīng)用于多個行業(yè),是每個總線設(shè)計(jì)工程師必學(xué)的一個通訊網(wǎng)絡(luò)。然而,對于CAN通信中的錯誤幀,許多人僅停留在表面了解,缺乏深入理解,這導(dǎo)致許多工程師在面對總線通信故障時(shí)感到無從下手。

32ee0cda-2852-11ef-bd4a-92fbcf53809c.jpg ?錯誤標(biāo)定

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

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

33012c98-2852-11ef-bd4a-92fbcf53809c.jpg

圖1 CRC錯誤幀


32ee0cda-2852-11ef-bd4a-92fbcf53809c.jpg ?故障界定

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

“錯誤主動”的單元可以正常地參與總線通訊并在錯誤被檢測到時(shí)發(fā)出主動錯誤標(biāo)志。

  1. “錯誤被動”的單元不允許發(fā)送主動錯誤標(biāo)志?!板e誤被動”的單元參與總線通訊,在錯誤被檢測到時(shí)只發(fā)出被動錯誤標(biāo)志。而且,發(fā)送以后,“錯誤被動”單元將在初始化下一個發(fā)送之前處于等待狀態(tài)。(見“掛起發(fā)送”)
  2. “總線關(guān)閉”的單元不允許在總線上有任何的影響(比如,關(guān)閉輸出驅(qū)動器)。

三個轉(zhuǎn)態(tài)的轉(zhuǎn)換方式如圖2所示:331c121a-2852-11ef-bd4a-92fbcf53809c.png

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

在每一總線單元里使用兩種計(jì)數(shù)以便故障界定:發(fā)送錯誤計(jì)數(shù)、接收錯誤計(jì)數(shù)。

這些計(jì)數(shù)按以下規(guī)則改變(注意,在給定的報(bào)文發(fā)送期間,可能要用到的規(guī)則不只一個):

1、當(dāng)接收器檢測到一個錯誤,接收錯誤計(jì)數(shù)就加1。在發(fā)送主動錯誤標(biāo)志或過載標(biāo)志期間所檢測到的錯誤為位錯誤時(shí),接收錯誤計(jì)數(shù)器值不加1。

2、當(dāng)錯誤標(biāo)志發(fā)送以后,接收器檢測到的第一個位為“顯性”時(shí),接收錯誤計(jì)數(shù)值加8。

3、當(dāng)發(fā)送器發(fā)送一錯誤標(biāo)志時(shí),發(fā)送錯誤計(jì)數(shù)器值加8。

例外情況1:發(fā)送器為“錯誤被動”,并檢測到一應(yīng)答錯誤(注:此應(yīng)答錯誤由檢測不到一“顯性”ACK 以及當(dāng)發(fā)送被動錯誤標(biāo)志時(shí)檢測不到一“顯性”位而引起)。

例外情況2:發(fā)送器因?yàn)樘畛溴e誤而發(fā)送錯誤標(biāo)志(注:此填充錯誤發(fā)生于仲裁期間。引起填充錯誤是由于:填充位〈填充位〉位于RTR位之前,并已作為“隱性”發(fā)送,但是卻被監(jiān)視為“顯性”)。

例外情況1和例外情況2時(shí),發(fā)送錯誤計(jì)數(shù)器值不改變。

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

5、當(dāng)發(fā)送主動錯誤標(biāo)志或過載標(biāo)志時(shí),如果接受器檢測到位錯誤(位錯誤),則接收錯誤計(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、報(bào)文成功傳送后(得到ACK及直到幀末尾結(jié)束沒有錯誤),發(fā)送錯誤計(jì)數(shù)器值減1,除非已經(jīng)是0。

8、如果接收錯誤計(jì)數(shù)值介于1和127之間,在成功地接收到報(bào)文后(直到應(yīng)答間隙接收沒有錯誤,及成功地發(fā)送了ACK位),接收錯誤計(jì)數(shù)器值減1。如果接收錯誤計(jì)數(shù)器值是0,則它保持0,如果大于127,則它會設(shè)置一個介于119到127之間值。

9、當(dāng)發(fā)送錯誤計(jì)數(shù)器值等于或超過128時(shí),或當(dāng)接收錯誤計(jì)數(shù)器值等于或超過128時(shí),節(jié)點(diǎn)為“錯誤被動”。讓節(jié)點(diǎn)成為“錯誤被動”的錯誤條件致使節(jié)點(diǎn)發(fā)出主動錯誤標(biāo)志。

10、當(dāng)發(fā)送錯誤計(jì)數(shù)器值大于或等于256時(shí),節(jié)點(diǎn)為“總線關(guān)閉”。

11、當(dāng)發(fā)送錯誤計(jì)數(shù)器值和接收錯誤計(jì)數(shù)器值都小于或等于127時(shí),“錯誤被動”的節(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ā)送一些報(bào)文,則將不會有應(yīng)答,并檢測到錯誤和重復(fù)報(bào)文。由此,節(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)系本站處理。 舉報(bào)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1984

    瀏覽量

    132735
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6205

    瀏覽量

    137748
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2291

    瀏覽量

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

    關(guān)注

    5

    文章

    4639

    瀏覽量

    92781
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    淺談CAN FD總線協(xié)議格式

    假期更新了搞懂CAN總線協(xié)議格式,CAN FD總線協(xié)議怎能錯過?本篇博將講解
    發(fā)表于 10-14 12:49 ?4038次閱讀
    淺談<b class='flag-5'>CAN</b> FD總線協(xié)議<b class='flag-5'>幀</b>格式

    讀懂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次閱讀

    讀懂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 ?8135次閱讀
    <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>處理

    示波器破解CAN錯誤/BusOff的經(jīng)驗(yàn)分享

    MCU內(nèi)置了CAN控制器用來將MCU的數(shù)據(jù)封裝為CAN格式,同時(shí)它也負(fù)責(zé)CAN的校驗(yàn)和錯誤
    發(fā)表于 09-08 09:19 ?2060次閱讀

    分享種用CAN波形的幅度和脈寬信息來精確定位錯誤來源的方法

    我們先從基礎(chǔ)的講起。CAN節(jié)點(diǎn)的電路般如下圖所示,MCU內(nèi)置了CAN控制器用來將MCU的數(shù)據(jù)封裝為CAN格式,同時(shí)它也負(fù)責(zé)
    的頭像 發(fā)表于 10-08 15:52 ?2522次閱讀
    分享<b class='flag-5'>一</b>種用<b class='flag-5'>CAN</b>波形的幅度和脈寬信息來精確定位<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>來源的方法

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

    CAN通訊錯誤到底是如何被界定的?本文帶你輕松了解!錯誤標(biāo)定檢測到錯誤條件的站通過發(fā)送
    的頭像 發(fā)表于 04-26 08:25 ?2161次閱讀
    <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>處理的原理

    CAN錯誤定義

    .h,錯誤標(biāo)記為CAN_ID的error,錯誤類型存放在CAN_ID中,根據(jù)不同類型的錯誤,詳
    發(fā)表于 01-03 15:57

    解析CAN總線遠(yuǎn)程錯誤

    本文主要介紹了CAN總線遠(yuǎn)程錯誤,首先我們先來了解了解通訊時(shí)使用的
    的頭像 發(fā)表于 05-07 11:30 ?2.7w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>解析<b class='flag-5'>CAN</b>總線遠(yuǎn)程<b class='flag-5'>幀</b>和<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>

    英創(chuàng)信息技術(shù)關(guān)于新CAN驅(qū)動的錯誤定義

    CAN總線產(chǎn)生的錯誤錯誤的形式上報(bào)給應(yīng)用層。設(shè)置注冊表[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CAN1]
    的頭像 發(fā)表于 02-05 10:27 ?2291次閱讀
    英創(chuàng)信息技術(shù)關(guān)于新<b class='flag-5'>CAN</b>驅(qū)動的<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>定義

    CAN總線錯誤的類型介紹

    在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括CAN總線錯誤的基礎(chǔ)概念、CAN總線錯誤
    的頭像 發(fā)表于 06-13 16:08 ?8715次閱讀

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

    AsimpleintrotoCANerrorsCAN總線錯誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括CAN總線錯誤
    的頭像 發(fā)表于 05-27 10:39 ?5198次閱讀
    虹科干貨 | 帶你全面認(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><b class='flag-5'>幀</b>

    科普系列:CAN總線錯誤及排查方法簡介

    作者|蒹葭小編|吃不飽CAN有多種格式,錯誤作為CAN中獨(dú)特的
    的頭像 發(fā)表于 02-23 15:11 ?4120次閱讀
    科普系列:<b class='flag-5'>CAN</b>總線<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>及排查方法簡介

    如何用示波器排查CAN的各種錯誤呢?

    如何用示波器排查CAN的各種錯誤呢? 導(dǎo)言: 控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)是種常用的現(xiàn)場總線
    的頭像 發(fā)表于 12-07 11:09 ?1645次閱讀

    CAN通信協(xié)議中有哪幾種類型?CAN通信中格式的作用

    CAN通信協(xié)議中有四種類型,分別是數(shù)據(jù)、遠(yuǎn)程、錯誤和過載
    的頭像 發(fā)表于 01-30 09:18 ?6948次閱讀

    基于Vector工具進(jìn)行CAN協(xié)議錯誤的分析實(shí)踐

    廣播發(fā)送的短結(jié)構(gòu),還體現(xiàn)在其錯誤檢測機(jī)制上。通過總線數(shù)據(jù)以及總線波形來分析總線故障時(shí),CAN協(xié)議錯誤檢測機(jī)制中豐富的錯誤
    的頭像 發(fā)表于 01-15 10:03 ?561次閱讀
    基于Vector工具進(jìn)行<b class='flag-5'>CAN</b>協(xié)議<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>的分析實(shí)踐