国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

CAN報文為什么會發送失敗?

ZLG致遠電子 ? 2024-04-12 08:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。

在了解CAN報文為什么會發送失敗之前我們先看看一幀標準的CAN報文到底應該是怎么樣的。表1是一幀正常標準數據幀的報文組成。
表1 標準數據幀報文格式組成24143244-f863-11ee-9118-92fbcf53809c.png

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

圖1 標準數據幀格式CAN總線是一種基于廣播的通訊方式,為了保證總線上的每一個正常節點都能正確的接收到報文,報文的發送者要求至少一個接收節點在報文發送結束前要作出應答,這也是報文里ACK存在的原因。

一幀CAN報文中ACK段長度為2個位,包含應答間隙(ACK Slot)和應答界定符(ACK Delimter)。在應答場里,發送器發送兩個隱性位。當接收器正確地接收到有效的報文,接收器就會在應答間隙(ACK Slot)期間(發送ACK信號)向發送器發送一“顯性”的位以示應答。

應答間隙:所有接收到匹配CRC序列(CRC SEQUENCE)的站會在應答間隙(ACK Slot)期間用一顯性的位寫入發送器的隱性位來作出回答。

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

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

圖2 正常ACK段報文

而如果總線上沒有ACK應答(即應答間隙為隱性),發送器就會發送一個錯誤標志,并且發送錯誤計數器值加8,節點就會對報文進行自動重發,若自動重發依然收不到ACK,則在發送錯誤計數器計數滿128后(即出現16幀錯誤幀),由錯誤主動轉為錯誤被動狀態,如圖3所示。那導致ACK段出錯的原因有哪些呢?下面小編總結了一些。

  • 總線上只有一個有效節點:發送報文的節點在發送出一幀報文后會檢測總線上應答間隙的狀態,如果檢測到應答間隙為隱性位,則表示該幀報文沒有得到ACK,發送失敗,需要重發,而由于發送錯誤計數器會在發送失敗后累加,直到該節點關閉。所以,當總線上只有一個有效節點時,這個節點是發不出去數據的,因為它所發出的數據幀中的ACK Slot沒有另外一個節點來填充,將永遠是隱性位,這個節點會一直重發數據直到發送成功或發送被取消。
  • 波特率不匹配或者節點沒有初始化,導致沒有ACK;
  • 總線線纜短路,斷路,接反;
  • 高速CAN總線上接的節點不是高速CAN,而是容錯低速CAN,導致不匹配。

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

圖3 應答界定符錯誤幀242459c6-f863-11ee-9118-92fbcf53809c.png

圖4 沒有ACK的報文

當你在調試CAN總線時出現節點發送報文失敗的情況時,一定要檢查是不是以上幾點疏漏導致你的總線上ACK異常。而借助恰當的儀器,可以在查找CAN總線錯誤時事半功倍。圖4即采用致遠電子的CANScope來對錯誤幀進行標記,同時找到錯誤幀對應的波形來查找出錯誤情況。CANScope還可以對CAN總線物理層、數據鏈路層、應用層做一系列的測試,為CAN工程師解決測試難題。

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

圖5 CANScope測試項目

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

    關注

    145

    文章

    2043

    瀏覽量

    135215
  • 數據幀
    +關注

    關注

    0

    文章

    49

    瀏覽量

    7108
  • can報文
    +關注

    關注

    0

    文章

    4

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    中科芯CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產品的bxCAN支持CAN協議2.0A和2.0B標準。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動地接收和發送CAN
    的頭像 發表于 01-22 09:06 ?3044次閱讀
    中科芯CKS32F107XX系列MCU的bxCAN介紹

    AT32F系列 CAN通訊模式使用

    ;MCU發送出來的數據以及會實時體現在上圖PCAN-tool的Receive窗內;除了PCAN-tool工具的監控外,MCU端還通過LED2的翻轉來指示收到幀ID為0x400的報文,通過 LED4的翻轉來指示MCU有在周期性的發送報文
    發表于 10-20 16:29

    廣成科技藍牙轉CAN模塊的作用和應用場景

    藍牙轉CAN設備通常內置CAN通信接口電路和藍牙通信模塊。它實時監聽CAN總線和藍牙總線,當檢測到CAN總線上有數據時,會立即對數據進行解析,并將其轉換為藍牙通信格式,通過藍牙模塊
    的頭像 發表于 09-29 11:05 ?961次閱讀

    如何同時指定can硬件濾波器的只接收id為0 和id為3的報文呢?

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

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

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

    移植CANfestival,發現can無法接收數據,為什么?

    通過can的上位機來發送報文,發現如下的情況 無論發送任何數據,發現rt_device_read返回值是0,查了一下函數返回值發現讀取失敗 然后我在下面一行打印接收到的數據 發現接
    發表于 09-11 07:46

    【中科昊芯Core_DSC280025C開發板試用體驗】+4. CAN外設調試(含源碼)

    報文 調試與驗證 我使用周立功的CAN盒進行數據數據收發通訊: 可以看到發報文發送時正常的,間隔時間也是200Ms 接線來打入斷點,通過上位機發送
    發表于 08-05 20:46

    車載 CAN-Bus 數據記錄儀

    “黑盒子 ”,會記錄所有的CAN 數據,以便于事后進行故障分析。 SG-CAN-200R 是一款便攜的 2 通道 CAN 總線記錄儀,可脫離 PC 單獨工作,內置存儲卡, 可以長時間記錄 CA
    的頭像 發表于 07-15 14:13 ?716次閱讀
    車載 <b class='flag-5'>CAN</b>-Bus 數據記錄儀

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

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

    ATS失效請求報文問題的故障排除步驟

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

    使用S32G3板進行CAN消息測試遇到的問題求解

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

    CAN報文流程解析

    CAN報文流程解析,直流充電樁上的CAN通訊解析過程
    發表于 03-24 14:03 ?10次下載

    使用CAN以及CANIF配置了S32K310的CAN驅動模塊,如何進行報文的接收呢?

    我使用CAN以及CANIF配置了S32K310的CAN驅動模塊。我知道調用CAN_Write()函數進行報文發送,但我存有以下的一些問題:
    發表于 03-21 07:24

    STM32G473 CAN發送數據出現丟幀怎么解決?

    配置CAN以FIFO模式發送,單片機周期發送不同ID的CAN報文,同時使用軟件ZCANPRO周期發送
    發表于 03-11 08:30

    CANape中記錄總線報文及生成BLF文件的培訓視頻#CANape #汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發布于 :2025年03月06日 11:40:27