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

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

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

3天內不再提示

英創信息技術關于新CAN驅動的錯誤幀定義

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-05 10:27 ? 次閱讀

CAN總線產生的錯誤以錯誤幀的形式上報給應用層。設置注冊表[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CAN1] BusErrorReport項為1可以讓驅動上報CAN總線錯誤幀,為0,驅動不會上報錯誤幀。

幀格式

CAN幀結構體定義如下,當CAN_FRAME中CAN_ID的error為1時,表示該幀為錯誤幀。

typedefstruct{

unsignedintid:29;

unsignedinterror:1;

unsignedintremote:1;

unsignedintextended:1;

}CAN_ID;

typedefstruct_can_frame

{

CAN_ID can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */

BYTE can_dlc; /* frame payload length in byte*/

BYTE data[CAN_MAX_DLEN];

} CAN_FRAME, *PCAN_FRAME;

錯誤幀定義

可以參考例程中庫頭文件sdk_can.h,錯誤幀標記為CAN_ID的error,錯誤類型存放在CAN_ID中,根據不同類型的錯誤,詳細信息存放在幀結構體CAN_FRAME的data中。

一個錯誤幀中,可以包含多種錯誤類型的錯誤信息。

CAN_ERR_TX_TIMEOUT錯誤

WINCE中暫時保留。

lost arbitration仲裁丟失錯誤

#defineCAN_ERR_LOSTARB0x00000002U

當錯誤幀結構體中CAN_ID& CAN_ERR_LOSTARB為真時,表明該錯誤產生。

controller problems控制器出錯

#defineCAN_ERR_CRTL0x00000004U

當錯誤幀結構體中CAN_ID& CAN_ERR_CRTL為真時,表明該錯誤產生。

詳細信息存放在錯誤幀結構體data[1]中。

接收buffer溢出

data[0] &0x01為真,表明該錯誤產生。

需要及時處理接收到的數據包。

發送buffer溢出

data[0] &0x02為真,表明該錯誤產生。

可能由于瞬間發送的數據包過多導致。

接收錯誤達到警告級別

data[0] &0x04為真,表明該錯誤產生。

當該錯誤提示,表明短期內接收產生的錯誤較多。

發送錯誤達到警告級別

data[0] &0x08為真,表明該錯誤產生。

當該錯誤提示,表明短期內發送產生的錯誤較多。

接收錯誤達到嚴重錯誤級別

data[0] &0x10為真,表明該錯誤產生。

當該錯誤提示,表明短期內接收產生的錯誤過多。應當暫停CAN通信,檢查錯誤原因。

發送錯誤達到嚴重錯誤級別

data[0] &0x20為真,表明該錯誤產生。

當該錯誤提示,表明短期內發送產生的錯誤過多。應當暫停CAN通信,檢查錯誤原因。

恢復到錯誤激活狀態

data[0] &0x40為真,表明恢復到錯誤激活狀態。

CAN通信協議出錯

#defineCAN_ERR_PROT0x00000008U

當錯誤幀結構體中CAN_ID& CAN_ERR_PROT為真時,表明該錯誤產生。

詳細信息存放在錯誤幀結構體data[2]和data[3]中,其中data[2]表明協議錯誤類型,data[3]表明協議出錯的位置

(類型)單bit出錯

data[2] &0x01為真,表明協議單bit出錯。

(類型)幀格式出錯

data[2] &0x02為真,表明幀格式出錯。

(類型)位填充出錯

data[2] &0x04為真,表明位填充出錯。

(類型)dominant bit發送失敗

data[2] &0x08為真,表明dominant bit發送失敗。

(類型)recessive bit發送失敗

data[2] &0x10為真,表明recessive bi發送失敗。

(類型)總線過載

data[2] &0x20為真,表明總線過載。

(類型)active error announcement

data[2] &0x40為真,active error announcement。

(類型)傳輸出錯

data[2] &0x80為真,傳輸出錯。

位置

data[3]為0x03表明協議SOF幀頭位置

data[3]為0x02表明協議ID第28-21bits(SFF:10-3)

data[3]為0x06表明協議ID第20-18bits(SFF:2-0)

data[3]為0x04表明協議substitute RTR位(SFF:RTR)

data[3]為0x05表明協議identifier extension標準擴展位

data[3]為0x07表明協議ID第17-13bits

data[3]為0x0F表明協議ID第12-5bits

data[3]為0x0E表明協議ID第4-0bits

data[3]為0x0C表明協議RTR位

data[3]為0x0D表明接收bit 1

data[3]為0x09表明接收bit 0

data[3]為0x0B表明DLC位

data[3]為0x0A表明DATA位

data[3]為0x08表明CRC序列

data[3]為0x18表明CRC分隔符

data[3]為0x19表明ACK應答位

data[3]為0x1B表明ACK分隔符

data[3]為0x1A表明幀尾

data[3]為0x12表明間歇

收發狀態錯誤

#defineCAN_ERR_TRX0x00000010U

當錯誤幀結構體中CAN_ID& CAN_ERR_TRX為真時,表明在收發時CAN狀態有誤。

詳細信息存放在錯誤幀結構體data[4]中,data[4]中1個字節8bit中,高4位表示CANL值,分別代表如下CANH錯誤

高4位表示CANH值,分別代表如下CANL錯誤

高低位值以排列組合方式存在。

無ACK錯誤

#defineCAN_ERR_ACK0x00000020U

當錯誤幀結構體中CAN_ID& CAN_ERR_ACK為真時,表明該錯誤產生。

總線關閉

#defineCAN_ERR_BUSOFF0x00000040U

當錯誤幀結構體中CAN_ID& CAN_ERR_BUSOFF為真時,表明總線關閉。

總線錯誤

#defineCAN_ERR_BUSERROR0x00000080U

當錯誤幀結構體中CAN_ID& CAN_ERR_BUSERROR為真時,表明該錯誤產生。

該錯誤通常與其它錯誤一起發出。

控制器重啟

#defineCAN_ERR_RESTARTED0x00000100U

當錯誤幀結構體中CAN_ID& CAN_ERR_RESTARTED為真時,表明控制器重啟。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6094

    瀏覽量

    36060
收藏 人收藏

    評論

    相關推薦

    CAN錯誤的表現形式#汽車總線 #CAN #CANoe

    CAN
    北匯信息POLELINK
    發布于 :2025年01月22日 16:23:53

    基于Vector工具進行CAN協議錯誤的分析實踐

    廣播發送的短結構,還體現在其錯誤檢測機制上。通過總線數據以及總線波形來分析總線故障時,CAN協議錯誤檢測機制中豐富的錯誤
    的頭像 發表于 01-15 10:03 ?348次閱讀
    基于Vector工具進行<b class='flag-5'>CAN</b>協議<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>的分析實踐

    飛騰助力首屆教育信息技術應用創新大賽圓滿落幕

    近日,由中國教育技術協會主辦,教育部教育管理信息中心教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信工委會支持,北京航空航天
    的頭像 發表于 12-24 09:57 ?386次閱讀

    CAN總線通信中的數據結構解析

    CAN總線由Bosch公司在1980年代開發,旨在為汽車電子系統提供一個可靠的通信網絡。隨著技術的發展,CAN總線已經被廣泛應用于各種工業和自動化領域。 2. CAN總線數據
    的頭像 發表于 11-12 10:12 ?2295次閱讀

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

    錯誤碼,這些錯誤碼可以幫助我們診斷和解決問題。 1. 錯誤(Error Frame) 錯誤碼 :當CA
    的頭像 發表于 11-12 10:05 ?7197次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?736次閱讀

    CAN總線錯誤狀態的種類

    CAN總線錯誤狀態的種類主要包括以下幾種,每種狀態都反映了CAN總線網絡中節點或總線的不同錯誤情況,以及相應的通信能力和限制。
    的頭像 發表于 09-03 14:17 ?2823次閱讀

    can標準和擴展能否共存

    CAN(Controller Area Network)是一種用于汽車和工業自動化領域的現場總線通信協議。CAN協議具有多種格式,包括標準和擴展
    的頭像 發表于 07-24 15:24 ?2501次閱讀

    can標準和擴展的區別

    CAN(Controller Area Network)是一種用于汽車和工業領域的通信協議,它允許多個設備在同一總線上進行通信。CAN協議有兩種類型:標準和擴展
    的頭像 發表于 07-24 15:20 ?2864次閱讀

    can網絡數據的特點

    特點,在分布式系統中得到了廣泛應用。 數據的重要性 :數據CAN網絡中用于數據傳輸的基本單元,其結構設計和特性直接關系到整個網絡的通信效率和可靠性。 二、數據的結構 基本構成
    的頭像 發表于 07-24 15:18 ?590次閱讀

    can數據有哪幾個域組成

    CAN(控制器局域網絡)是一種基于消息傳遞的通信協議,廣泛應用于汽車、工業自動化和嵌入式系統等領域。CAN協議的數據是用于傳輸信息的基本單位。 1.
    的頭像 發表于 07-24 15:14 ?1545次閱讀

    CAN數據的各個域及其作用

    CAN(Controller Area Network)是一種用于汽車電子系統中的通信協議,它具有高可靠性、實時性和靈活性等特點。在CAN通信中,數據是最基本的通信單元,用于傳輸信息
    的頭像 發表于 07-24 15:10 ?2298次閱讀

    一文讀懂CAN通訊錯誤

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

    關于CAN FD RX接收和接受過濾過程中遇到的疑問求解

    1. 在接收 CAN FD RX 期間,高速緩存的 CAN FD RX 處理程序是否對接收到的數據執行接受過濾? 2.CAN FD RX
    發表于 05-22 06:38

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

    CAN通訊的錯誤到底是如何被界定的?本文帶你輕松了解!錯誤標定檢測到錯誤條件的站通過發送錯誤
    的頭像 發表于 04-26 08:25 ?1907次閱讀
    一文讀懂<b class='flag-5'>CAN</b>控制器<b class='flag-5'>錯誤</b>處理的原理
    主站蜘蛛池模板: 亚洲人xx视频 | 天天在线综合网 | 国产乱淫a∨片免费视频 | 国产爱搞 | 一级毛片看真人在线视频 | 日本国产高清色www视频在线 | 1024手机看片欧美日韩 | 日本s色大片在线观看 | 成人影院在线观看 | 伊人久久影院大香线蕉 | 欧美视频精品一区二区三区 | 美女很黄很黄是免费的·无遮挡网站 | 欧美一区二区三区视频 | 在线综合网 | 欧美xxxx极品流血 | 在线色国产 | 日本三级特黄 | 久久午夜精品视频 | 国产高清精品自在久久 | 日韩毛片大全免费高清 | 色婷婷综合缴情综六月 | 日产精品卡二卡三卡四卡乱码视频 | 日日夜夜天天久久 | 久久在线精品 | 天天看天天射天天碰 | 巨骚综合网| 欧美日韩一区不卡 | 99久久99久久久99精品齐 | 久久国产精品免费专区 | 久久久久久久成人午夜精品福利 | 牛牛精品 | 男女交性视频免费视频 | 淫操| 免费高清在线视频色yeye | 国产精品香蕉成人网在线观看 | 四虎网址在线观看 | 久久精品免费在线观看 | 手机看片自拍 | 久久综合九色欧美综合狠狠 | www深夜视频在线观看高清 | 午夜黄色影片 |