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

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

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

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

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

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-05 10:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線產(chǎn)生的錯(cuò)誤以錯(cuò)誤幀的形式上報(bào)給應(yīng)用層。設(shè)置注冊(cè)表[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CAN1] BusErrorReport項(xiàng)為1可以讓驅(qū)動(dòng)上報(bào)CAN總線錯(cuò)誤幀,為0,驅(qū)動(dòng)不會(huì)上報(bào)錯(cuò)誤幀。

幀格式

CAN幀結(jié)構(gòu)體定義如下,當(dāng)CAN_FRAME中CAN_ID的error為1時(shí),表示該幀為錯(cuò)誤幀。

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;

錯(cuò)誤幀定義

可以參考例程中庫(kù)頭文件sdk_can.h,錯(cuò)誤幀標(biāo)記為CAN_ID的error,錯(cuò)誤類型存放在CAN_ID中,根據(jù)不同類型的錯(cuò)誤,詳細(xì)信息存放在幀結(jié)構(gòu)體CAN_FRAME的data中。

一個(gè)錯(cuò)誤幀中,可以包含多種錯(cuò)誤類型的錯(cuò)誤信息。

CAN_ERR_TX_TIMEOUT錯(cuò)誤

WINCE中暫時(shí)保留。

lost arbitration仲裁丟失錯(cuò)誤

#defineCAN_ERR_LOSTARB0x00000002U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_LOSTARB為真時(shí),表明該錯(cuò)誤產(chǎn)生。

controller problems控制器出錯(cuò)

#defineCAN_ERR_CRTL0x00000004U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_CRTL為真時(shí),表明該錯(cuò)誤產(chǎn)生。

詳細(xì)信息存放在錯(cuò)誤幀結(jié)構(gòu)體data[1]中。

接收buffer溢出

data[0] &0x01為真,表明該錯(cuò)誤產(chǎn)生。

需要及時(shí)處理接收到的數(shù)據(jù)包。

發(fā)送buffer溢出

data[0] &0x02為真,表明該錯(cuò)誤產(chǎn)生。

可能由于瞬間發(fā)送的數(shù)據(jù)包過(guò)多導(dǎo)致。

接收錯(cuò)誤達(dá)到警告級(jí)別

data[0] &0x04為真,表明該錯(cuò)誤產(chǎn)生。

當(dāng)該錯(cuò)誤提示,表明短期內(nèi)接收產(chǎn)生的錯(cuò)誤較多。

發(fā)送錯(cuò)誤達(dá)到警告級(jí)別

data[0] &0x08為真,表明該錯(cuò)誤產(chǎn)生。

當(dāng)該錯(cuò)誤提示,表明短期內(nèi)發(fā)送產(chǎn)生的錯(cuò)誤較多。

接收錯(cuò)誤達(dá)到嚴(yán)重錯(cuò)誤級(jí)別

data[0] &0x10為真,表明該錯(cuò)誤產(chǎn)生。

當(dāng)該錯(cuò)誤提示,表明短期內(nèi)接收產(chǎn)生的錯(cuò)誤過(guò)多。應(yīng)當(dāng)暫停CAN通信,檢查錯(cuò)誤原因。

發(fā)送錯(cuò)誤達(dá)到嚴(yán)重錯(cuò)誤級(jí)別

data[0] &0x20為真,表明該錯(cuò)誤產(chǎn)生。

當(dāng)該錯(cuò)誤提示,表明短期內(nèi)發(fā)送產(chǎn)生的錯(cuò)誤過(guò)多。應(yīng)當(dāng)暫停CAN通信,檢查錯(cuò)誤原因。

恢復(fù)到錯(cuò)誤激活狀態(tài)

data[0] &0x40為真,表明恢復(fù)到錯(cuò)誤激活狀態(tài)。

CAN通信協(xié)議出錯(cuò)

#defineCAN_ERR_PROT0x00000008U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_PROT為真時(shí),表明該錯(cuò)誤產(chǎn)生。

詳細(xì)信息存放在錯(cuò)誤幀結(jié)構(gòu)體data[2]和data[3]中,其中data[2]表明協(xié)議錯(cuò)誤類型,data[3]表明協(xié)議出錯(cuò)的位置

(類型)單bit出錯(cuò)

data[2] &0x01為真,表明協(xié)議單bit出錯(cuò)。

(類型)幀格式出錯(cuò)

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

(類型)位填充出錯(cuò)

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

(類型)dominant bit發(fā)送失敗

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

(類型)recessive bit發(fā)送失敗

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

(類型)總線過(guò)載

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

(類型)active error announcement

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

(類型)傳輸出錯(cuò)

data[2] &0x80為真,傳輸出錯(cuò)。

位置

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

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

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

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

data[3]為0x05表明協(xié)議identifier extension標(biāo)準(zhǔn)擴(kuò)展位

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

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

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

data[3]為0x0C表明協(xié)議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應(yīng)答位

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

data[3]為0x1A表明幀尾

data[3]為0x12表明間歇

收發(fā)狀態(tài)錯(cuò)誤

#defineCAN_ERR_TRX0x00000010U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_TRX為真時(shí),表明在收發(fā)時(shí)CAN狀態(tài)有誤。

詳細(xì)信息存放在錯(cuò)誤幀結(jié)構(gòu)體data[4]中,data[4]中1個(gè)字節(jié)8bit中,高4位表示CANL值,分別代表如下CANH錯(cuò)誤

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

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

無(wú)ACK錯(cuò)誤

#defineCAN_ERR_ACK0x00000020U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_ACK為真時(shí),表明該錯(cuò)誤產(chǎn)生。

總線關(guān)閉

#defineCAN_ERR_BUSOFF0x00000040U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_BUSOFF為真時(shí),表明總線關(guān)閉。

總線錯(cuò)誤

#defineCAN_ERR_BUSERROR0x00000080U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_BUSERROR為真時(shí),表明該錯(cuò)誤產(chǎn)生。

該錯(cuò)誤通常與其它錯(cuò)誤一起發(fā)出。

控制器重啟

#defineCAN_ERR_RESTARTED0x00000100U

當(dāng)錯(cuò)誤幀結(jié)構(gòu)體中CAN_ID& CAN_ERR_RESTARTED為真時(shí),表明控制器重啟。

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

    關(guān)注

    7

    文章

    6102

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和實(shí)現(xiàn)數(shù)字主權(quán)的重任。簡(jiǎn)單來(lái)
    的頭像 發(fā)表于 06-13 10:06 ?2011次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    CAN芯片邏輯響應(yīng)驗(yàn)證測(cè)試

    CAN芯片研發(fā)階段,需要做諸多涉及通訊錯(cuò)誤管理驗(yàn)證的問(wèn)題。在ISO-16845國(guó)際標(biāo)準(zhǔn)中,規(guī)定完善的測(cè)試標(biāo)準(zhǔn),如錯(cuò)誤檢測(cè),傳輸相關(guān)檢測(cè)
    的頭像 發(fā)表于 04-30 18:24 ?234次閱讀
    <b class='flag-5'>CAN</b>芯片邏輯響應(yīng)驗(yàn)證測(cè)試

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

    CAN節(jié)點(diǎn)的穩(wěn)定性、可靠性和安全性得益于其強(qiáng)大的錯(cuò)誤管理機(jī)制。上一篇文章我們介紹了CAN控制器的錯(cuò)誤管理機(jī)制的工作原理。本文將基于其工作原理及ISO16845-1:2016標(biāo)準(zhǔn),為大家
    的頭像 發(fā)表于 04-30 18:24 ?222次閱讀
    如何驗(yàn)證<b class='flag-5'>CAN</b>控制器的<b class='flag-5'>錯(cuò)誤</b>響應(yīng)機(jī)制?

    CAN錯(cuò)誤的表現(xiàn)形式#汽車總線 #CAN #CANoe

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

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

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

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信創(chuàng)工委會(huì)支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?516次閱讀

    CAN總線通信中的數(shù)據(jù)結(jié)構(gòu)解析

    CAN總線由Bosch公司在1980年代開(kāi)發(fā),旨在為汽車電子系統(tǒng)提供一個(gè)可靠的通信網(wǎng)絡(luò)。隨著技術(shù)的發(fā)展,CAN總線已經(jīng)被廣泛應(yīng)用于各種工業(yè)和自動(dòng)化領(lǐng)域。 2. CAN總線數(shù)據(jù)
    的頭像 發(fā)表于 11-12 10:12 ?3203次閱讀

    CAN總線常見(jiàn)錯(cuò)誤碼及其解決方法

    錯(cuò)誤碼,這些錯(cuò)誤碼可以幫助我們?cè)\斷和解決問(wèn)題。 1. 錯(cuò)誤(Error Frame) 錯(cuò)誤碼 :當(dāng)CA
    的頭像 發(fā)表于 11-12 10:05 ?9872次閱讀

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?975次閱讀

    CAN總線錯(cuò)誤狀態(tài)的種類

    CAN總線錯(cuò)誤狀態(tài)的種類主要包括以下幾種,每種狀態(tài)都反映了CAN總線網(wǎng)絡(luò)中節(jié)點(diǎn)或總線的不同錯(cuò)誤情況,以及相應(yīng)的通信能力和限制。
    的頭像 發(fā)表于 09-03 14:17 ?3495次閱讀

    can標(biāo)準(zhǔn)和擴(kuò)展能否共存

    CAN(Controller Area Network)是一種用于汽車和工業(yè)自動(dòng)化領(lǐng)域的現(xiàn)場(chǎng)總線通信協(xié)議。CAN協(xié)議具有多種格式,包括標(biāo)準(zhǔn)和擴(kuò)展
    的頭像 發(fā)表于 07-24 15:24 ?2948次閱讀

    can標(biāo)準(zhǔn)和擴(kuò)展的區(qū)別

    CAN(Controller Area Network)是一種用于汽車和工業(yè)領(lǐng)域的通信協(xié)議,它允許多個(gè)設(shè)備在同一總線上進(jìn)行通信。CAN協(xié)議有兩種類型:標(biāo)準(zhǔn)和擴(kuò)展
    的頭像 發(fā)表于 07-24 15:20 ?3529次閱讀

    can網(wǎng)絡(luò)數(shù)據(jù)的特點(diǎn)

    特點(diǎn),在分布式系統(tǒng)中得到了廣泛應(yīng)用。 數(shù)據(jù)的重要性 :數(shù)據(jù)CAN網(wǎng)絡(luò)中用于數(shù)據(jù)傳輸?shù)幕締卧浣Y(jié)構(gòu)設(shè)計(jì)和特性直接關(guān)系到整個(gè)網(wǎng)絡(luò)的通信效率和可靠性。 二、數(shù)據(jù)的結(jié)構(gòu) 基本構(gòu)成
    的頭像 發(fā)表于 07-24 15:18 ?827次閱讀

    can數(shù)據(jù)有哪幾個(gè)域組成

    CAN(控制器局域網(wǎng)絡(luò))是一種基于消息傳遞的通信協(xié)議,廣泛應(yīng)用于汽車、工業(yè)自動(dòng)化和嵌入式系統(tǒng)等領(lǐng)域。CAN協(xié)議的數(shù)據(jù)是用于傳輸信息的基本單位。 1.
    的頭像 發(fā)表于 07-24 15:14 ?1916次閱讀

    CAN數(shù)據(jù)的各個(gè)域及其作用

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