91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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)不再提示

CAN報(bào)文為什么會(huì)發(fā)送失?。?/h1>

CAN總線調(diào)試過(guò)程中出現(xiàn)報(bào)文發(fā)送失敗。很多工程師都對(duì)此只知其一不知其二,今天我們就以CAN報(bào)文發(fā)送失敗的問(wèn)題來(lái)做一次探討。

在了解CAN報(bào)文為什么會(huì)發(fā)送失敗之前我們先看看一幀標(biāo)準(zhǔn)的CAN報(bào)文到底應(yīng)該是怎么樣的。表1是一幀正常標(biāo)準(zhǔn)數(shù)據(jù)幀的報(bào)文組成。
表1 標(biāo)準(zhǔn)數(shù)據(jù)幀報(bào)文格式組成24143244-f863-11ee-9118-92fbcf53809c.png

24197de4-f863-11ee-9118-92fbcf53809c.jpg

圖1 標(biāo)準(zhǔn)數(shù)據(jù)幀格式CAN總線是一種基于廣播的通訊方式,為了保證總線上的每一個(gè)正常節(jié)點(diǎn)都能正確的接收到報(bào)文,報(bào)文的發(fā)送者要求至少一個(gè)接收節(jié)點(diǎn)在報(bào)文發(fā)送結(jié)束前要作出應(yīng)答,這也是報(bào)文里ACK存在的原因。

一幀CAN報(bào)文中ACK段長(zhǎng)度為2個(gè)位,包含應(yīng)答間隙(ACK Slot)和應(yīng)答界定符(ACK Delimter)。在應(yīng)答場(chǎng)里,發(fā)送器發(fā)送兩個(gè)隱性位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙(ACK Slot)期間(發(fā)送ACK信號(hào))向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。

應(yīng)答間隙:所有接收到匹配CRC序列(CRC SEQUENCE)的站會(huì)在應(yīng)答間隙(ACK Slot)期間用一顯性的位寫(xiě)入發(fā)送器的隱性位來(lái)作出回答。

應(yīng)答界定符:ACK界定符是ACK場(chǎng)的第二個(gè)位,并且是一個(gè)必須為隱性的位。因此,應(yīng)答間隙(ACK Slot)被兩個(gè)隱性的位所包圍,也就是CRC界定符(CRC Delimter)和ACK界定符(ACK Delimter)。

241d1c2e-f863-11ee-9118-92fbcf53809c.png

圖2 正常ACK段報(bào)文

而如果總線上沒(méi)有ACK應(yīng)答(即應(yīng)答間隙為隱性),發(fā)送器就會(huì)發(fā)送一個(gè)錯(cuò)誤標(biāo)志,并且發(fā)送錯(cuò)誤計(jì)數(shù)器值加8,節(jié)點(diǎn)就會(huì)對(duì)報(bào)文進(jìn)行自動(dòng)重發(fā),若自動(dòng)重發(fā)依然收不到ACK,則在發(fā)送錯(cuò)誤計(jì)數(shù)器計(jì)數(shù)滿128后(即出現(xiàn)16幀錯(cuò)誤幀),由錯(cuò)誤主動(dòng)轉(zhuǎn)為錯(cuò)誤被動(dòng)狀態(tài),如圖3所示。那導(dǎo)致ACK段出錯(cuò)的原因有哪些呢?下面小編總結(jié)了一些。

  • 總線上只有一個(gè)有效節(jié)點(diǎn):發(fā)送報(bào)文的節(jié)點(diǎn)在發(fā)送出一幀報(bào)文后會(huì)檢測(cè)總線上應(yīng)答間隙的狀態(tài),如果檢測(cè)到應(yīng)答間隙為隱性位,則表示該幀報(bào)文沒(méi)有得到ACK,發(fā)送失敗,需要重發(fā),而由于發(fā)送錯(cuò)誤計(jì)數(shù)器會(huì)在發(fā)送失敗后累加,直到該節(jié)點(diǎn)關(guān)閉。所以,當(dāng)總線上只有一個(gè)有效節(jié)點(diǎn)時(shí),這個(gè)節(jié)點(diǎn)是發(fā)不出去數(shù)據(jù)的,因?yàn)樗l(fā)出的數(shù)據(jù)幀中的ACK Slot沒(méi)有另外一個(gè)節(jié)點(diǎn)來(lái)填充,將永遠(yuǎn)是隱性位,這個(gè)節(jié)點(diǎn)會(huì)一直重發(fā)數(shù)據(jù)直到發(fā)送成功或發(fā)送被取消。
  • 波特率不匹配或者節(jié)點(diǎn)沒(méi)有初始化,導(dǎo)致沒(méi)有ACK;
  • 總線線纜短路,斷路,接反;
  • 高速CAN總線上接的節(jié)點(diǎn)不是高速CAN,而是容錯(cuò)低速CAN,導(dǎo)致不匹配。

24205d76-f863-11ee-9118-92fbcf53809c.jpg

圖3 應(yīng)答界定符錯(cuò)誤幀242459c6-f863-11ee-9118-92fbcf53809c.png

圖4 沒(méi)有ACK的報(bào)文

當(dāng)你在調(diào)試CAN總線時(shí)出現(xiàn)節(jié)點(diǎn)發(fā)送報(bào)文失敗的情況時(shí),一定要檢查是不是以上幾點(diǎn)疏漏導(dǎo)致你的總線上ACK異常。而借助恰當(dāng)?shù)膬x器,可以在查找CAN總線錯(cuò)誤時(shí)事半功倍。圖4即采用致遠(yuǎn)電子的CANScope來(lái)對(duì)錯(cuò)誤幀進(jìn)行標(biāo)記,同時(shí)找到錯(cuò)誤幀對(duì)應(yīng)的波形來(lái)查找出錯(cuò)誤情況。CANScope還可以對(duì)CAN總線物理層、數(shù)據(jù)鏈路層、應(yīng)用層做一系列的測(cè)試,為CAN工程師解決測(cè)試難題。

243449d0-f863-11ee-9118-92fbcf53809c.jpg

圖5 CANScope測(cè)試項(xiàng)目

聲明:本文內(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)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    2043

    瀏覽量

    135237
  • 數(shù)據(jù)幀
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    7118
  • can報(bào)文
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    中科芯CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產(chǎn)品的bxCAN支持CAN協(xié)議2.0A和2.0B標(biāo)準(zhǔn)。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動(dòng)地接收和發(fā)送CAN
    的頭像 發(fā)表于 01-22 09:06 ?3089次閱讀
    中科芯CKS32F107XX系列MCU的bxCAN介紹

    使用 g430 的 CAN 功能進(jìn)行組網(wǎng)

    同時(shí)重傳會(huì)加劇總線占用,部分設(shè)備因仲裁失敗無(wú)法接收數(shù)據(jù)。單設(shè)備測(cè)試無(wú)競(jìng)爭(zhēng),多設(shè)備時(shí)沖突概率驟增。解決辦法:用PCAN軟件監(jiān)測(cè)總線負(fù)載率,若超70%就減少非關(guān)鍵數(shù)據(jù)發(fā)送頻率、合并小報(bào)文;調(diào)整G430的
    發(fā)表于 12-11 18:04

    AT32F系列 CAN通訊模式使用

    ;MCU發(fā)送出來(lái)的數(shù)據(jù)以及會(huì)實(shí)時(shí)體現(xiàn)在上圖PCAN-tool的Receive窗內(nèi);除了PCAN-tool工具的監(jiān)控外,MCU端還通過(guò)LED2的翻轉(zhuǎn)來(lái)指示收到幀ID為0x400的報(bào)文,通過(guò) LED4的翻轉(zhuǎn)來(lái)指示MCU有在周期性的發(fā)送報(bào)文
    發(fā)表于 10-20 16:29

    廣成科技藍(lán)牙轉(zhuǎn)CAN模塊的作用和應(yīng)用場(chǎng)景

    藍(lán)牙轉(zhuǎn)CAN設(shè)備通常內(nèi)置CAN通信接口電路和藍(lán)牙通信模塊。它實(shí)時(shí)監(jiān)聽(tīng)CAN總線和藍(lán)牙總線,當(dāng)檢測(cè)到CAN總線上有數(shù)據(jù)時(shí),會(huì)立即對(duì)數(shù)據(jù)進(jìn)行解析,并將其轉(zhuǎn)換為藍(lán)牙通信格式,通過(guò)藍(lán)牙模塊
    的頭像 發(fā)表于 09-29 11:05 ?980次閱讀

    如何同時(shí)指定can硬件濾波器的只接收id為0 和id為3的報(bào)文呢?

    如何同時(shí)指定can硬件濾波器的 只接收id為0 和id為3的報(bào)文呢 我目前只會(huì)用 RT_CAN_FILTER_STD_INIT(3, RT_NULL, RT_NULL)去指定id為3的報(bào)文
    發(fā)表于 09-28 07:46

    CAN發(fā)送只能使用中斷或者DMA,為什么?

    今天看了CAN發(fā)送的底層配置發(fā)現(xiàn),rtt的CAN設(shè)備發(fā)送好像只能選擇DMA或者中斷的方式進(jìn)行發(fā)送,這種設(shè)定是為什么呢? rt_device
    發(fā)表于 09-25 07:19

    移植CANfestival,發(fā)現(xiàn)can無(wú)法接收數(shù)據(jù),為什么?

    通過(guò)can的上位機(jī)來(lái)發(fā)送報(bào)文,發(fā)現(xiàn)如下的情況 無(wú)論發(fā)送任何數(shù)據(jù),發(fā)現(xiàn)rt_device_read返回值是0,查了一下函數(shù)返回值發(fā)現(xiàn)讀取失敗 然后我在下面一行打印接收到的數(shù)據(jù) 發(fā)現(xiàn)接
    發(fā)表于 09-11 07:46

    【中科昊芯Core_DSC280025C開(kāi)發(fā)板試用體驗(yàn)】+4. CAN外設(shè)調(diào)試(含源碼)

    報(bào)文 調(diào)試與驗(yàn)證 我使用周立功的CAN盒進(jìn)行數(shù)據(jù)數(shù)據(jù)收發(fā)通訊: 可以看到發(fā)報(bào)文發(fā)送時(shí)正常的,間隔時(shí)間也是200Ms 接線來(lái)打入斷點(diǎn),通過(guò)上位機(jī)發(fā)送
    發(fā)表于 08-05 20:46

    車(chē)載 CAN-Bus 數(shù)據(jù)記錄儀

    “黑盒子 ”,會(huì)記錄所有的CAN 數(shù)據(jù),以便于事后進(jìn)行故障分析。 SG-CAN-200R 是一款便攜的 2 通道 CAN 總線記錄儀,可脫離 PC 單獨(dú)工作,內(nèi)置存儲(chǔ)卡, 可以長(zhǎng)時(shí)間記錄 CA
    的頭像 發(fā)表于 07-15 14:13 ?751次閱讀
    車(chē)載 <b class='flag-5'>CAN</b>-Bus 數(shù)據(jù)記錄儀

    如何解決CAN通訊故障?原因分析與解決方法全攻略

    在日常工作中,我們經(jīng)常收到客戶的反饋,他們表示CAN卡無(wú)法正常通訊,這給工作帶來(lái)了諸多不便。今天,就讓我們深入探討一下導(dǎo)致CAN卡通訊失敗的常見(jiàn)原因,以及相應(yīng)的解決方法。單個(gè)CAN設(shè)備
    的頭像 發(fā)表于 06-16 11:39 ?2058次閱讀
    如何解決<b class='flag-5'>CAN</b>通訊故障?原因分析與解決方法全攻略

    ATS失效請(qǐng)求報(bào)文問(wèn)題的故障排除步驟

    本篇文章提供了解決 ATS 失效請(qǐng)求報(bào)文問(wèn)題的故障排除步驟,主要聚焦在 CQ 接口上未顯示主機(jī)發(fā)送報(bào)文的情況。
    的頭像 發(fā)表于 06-09 15:17 ?1677次閱讀
    ATS失效請(qǐng)求<b class='flag-5'>報(bào)文</b>問(wèn)題的故障排除步驟

    使用S32G3板進(jìn)行CAN消息測(cè)試遇到的問(wèn)題求解

    我正在使用 S32G3板進(jìn)行 CAN 消息測(cè)試。 配置完成后,我可以使用 cansend 命令發(fā)送 CAN 消息。 我想從 PC 接收 CAN 消息。 BSP是否收到了
    發(fā)表于 04-10 07:06

    CAN報(bào)文流程解析

    CAN報(bào)文流程解析,直流充電樁上的CAN通訊解析過(guò)程
    發(fā)表于 03-24 14:03 ?10次下載

    使用CAN以及CANIF配置了S32K310的CAN驅(qū)動(dòng)模塊,如何進(jìn)行報(bào)文的接收呢?

    我使用CAN以及CANIF配置了S32K310的CAN驅(qū)動(dòng)模塊。我知道調(diào)用CAN_Write()函數(shù)進(jìn)行報(bào)文發(fā)送,但我存有以下的一些問(wèn)題:
    發(fā)表于 03-21 07:24

    STM32G473 CAN發(fā)送數(shù)據(jù)出現(xiàn)丟幀怎么解決?

    配置CAN以FIFO模式發(fā)送,單片機(jī)周期發(fā)送不同ID的CAN報(bào)文,同時(shí)使用軟件ZCANPRO周期發(fā)送
    發(fā)表于 03-11 08:30