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

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

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

CAN總線波形中為什么ACK電平偏高?

ZLG致遠(yuǎn)電子 ? 2024-03-28 08:23 ? 次閱讀

在觀察CAN通信波形時(shí),我們會(huì)發(fā)現(xiàn)差分電平在ACK段突然增高,這是什么原因?qū)е碌哪兀勘疚慕Y(jié)合測試實(shí)例對(duì)ACK電平偏高的原因做簡單分析。

74700860-ec99-11ee-9118-92fbcf53809c.jpg ?ACK簡介

ACK的作用:確認(rèn)一幀報(bào)文是否正常接收。
以標(biāo)準(zhǔn)數(shù)椐幀為例,從結(jié)構(gòu)上看分成7段,分別為起始段、仲裁段、控制段、數(shù)椐段、CRC校驗(yàn)段、ACK應(yīng)答段、幀結(jié)束段,如圖1所示:

7476c2c2-ec99-11ee-9118-92fbcf53809c.jpg

圖1 標(biāo)準(zhǔn)數(shù)椐幀結(jié)構(gòu)ACK段長度為2個(gè)位,包含應(yīng)答間隙(ACK SLOT)和應(yīng)答界定符(ACK DELIMITER)。在應(yīng)答場里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙(ACK SLOT)期間(發(fā)送ACK信號(hào))向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。如圖2(CANScope測試的ACK段波形圖)所示:

747bce5c-ec99-11ee-9118-92fbcf53809c.png

圖2 ACK應(yīng)答位結(jié)構(gòu)

應(yīng)答間隙:所有接收到匹配CRC序列(CRC SEQUENCE)的節(jié)點(diǎn)會(huì)在應(yīng)答間隙(ACK SLOT)期間用一“顯性”的位寫入發(fā)送器的“隱性”位來作出回答,由于CAN總線線與的原理,只要總線上有一個(gè)節(jié)點(diǎn)正確接收到數(shù)據(jù),則ACK SLOT就會(huì)被填入顯性電平。

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

當(dāng)一個(gè)接收節(jié)點(diǎn)接收的幀起始到CRC段之間的內(nèi)容沒發(fā)生錯(cuò)誤時(shí),它將在ACK段發(fā)送一個(gè)顯性電平。如圖3所示:

74945756-ec99-11ee-9118-92fbcf53809c.png

圖3 ACK應(yīng)答過程分析

7499dcd0-ec99-11ee-9118-92fbcf53809c.jpg ?CAN總線ACK電平偏高原因分析

以使用ZLG致遠(yuǎn)電子ZPS-CANFD測試某電車CAN網(wǎng)絡(luò)為例,20多個(gè)CAN節(jié)點(diǎn)采用手牽手方式組網(wǎng),線兩端各接120歐電阻,通訊能夠正常,但差分信號(hào)波形應(yīng)答位電平偏高較多,如圖4所示,從CANScope的波形圖中可以清楚的看到ACK電平突增。

74a45be2-ec99-11ee-9118-92fbcf53809c.jpg

圖4 CAN數(shù)椐幀波形分析

CAN總線通信存在異常?ACK應(yīng)答有問題?——NO.

分析如下:

首先,我們看一款CAN收發(fā)器的典型內(nèi)部結(jié)構(gòu)圖,CANH、CANL連接總線。

74a8407c-ec99-11ee-9118-92fbcf53809c.jpg

圖5 CAN收發(fā)器的典型內(nèi)部結(jié)構(gòu)圖總線顯性時(shí)(邏輯為0),收發(fā)器內(nèi)部Q1、Q2導(dǎo)通,CANH、CANL之間產(chǎn)生壓差;隱性時(shí)(邏輯為1),Q1、Q2截止,CANH、CANL處于無源狀態(tài),壓差為0。

按照標(biāo)準(zhǔn),在總線輸出為顯性時(shí),CANH=3.5V,CANL=1.5V,差分分電平:CANH-CANL=2V,總線網(wǎng)絡(luò)電阻為60歐,流經(jīng)終端電阻的電流約為33mA(2V/60歐);

然而,CAN收發(fā)器在輸出顯性時(shí),CANH電平并不是標(biāo)準(zhǔn)的3.5V,而是5V(VCC)通過一個(gè)二極管降壓得到的,二極管的壓降由負(fù)載電流決定。圖6所示的VDH為CANH對(duì)應(yīng)的二極管壓降,VDL為CANL對(duì)于的二極管壓降,流過的電流越大,二極管的壓降就越大。可知:

CANH的電壓=5V-VDHCANL的電壓=0V+VDL74af8224-ec99-11ee-9118-92fbcf53809c.png
圖6 AN收發(fā)器等效結(jié)構(gòu)

在CAN總線網(wǎng)絡(luò)中,當(dāng)一幀報(bào)文被各個(gè)節(jié)點(diǎn)接收時(shí),在ACK階段,多個(gè)CAN節(jié)點(diǎn)同時(shí)響應(yīng)(都發(fā)顯性),流過終端電阻的電流被各個(gè)CAN節(jié)點(diǎn)均分,那么平均到每個(gè)節(jié)點(diǎn)的電流就減小了,如下圖所示,VDH、VDL的壓降也減小,相應(yīng)CANH-CANL的差分電壓就增大了,即ACK應(yīng)答電平偏高。

74bd6510-ec99-11ee-9118-92fbcf53809c.png

圖7 CAN網(wǎng)絡(luò)等效結(jié)構(gòu)

7499dcd0-ec99-11ee-9118-92fbcf53809c.jpg ?ACK的意義

當(dāng)CAN總線上只有一個(gè)節(jié)點(diǎn)可收發(fā)數(shù)據(jù)時(shí),總線上因無接收節(jié)點(diǎn)在ACK SLOT時(shí)間內(nèi)發(fā)送“顯性”位填充,而始終保持隱性,發(fā)送者會(huì)檢測到這個(gè)隱性位而知道發(fā)送失敗,此條報(bào)文需要重發(fā)。因此這個(gè)節(jié)點(diǎn)會(huì)一直重發(fā)數(shù)據(jù)直到發(fā)送成功或發(fā)送被取消。當(dāng)總線上有多個(gè)CAN節(jié)點(diǎn)組網(wǎng)通信時(shí),由于總線電平線與的原理,只要總線上有一個(gè)節(jié)點(diǎn)正確接收到數(shù)據(jù),則ACK SLOT就會(huì)被填入顯性電平(此時(shí)認(rèn)為數(shù)據(jù)幀發(fā)送成功),那么,接收錯(cuò)誤的節(jié)點(diǎn)如何來告知發(fā)送者此次發(fā)送不成功呢?這就要用到CAN的錯(cuò)誤幀,當(dāng)一個(gè)接收節(jié)點(diǎn)收到錯(cuò)誤數(shù)據(jù)時(shí),它立即廣播發(fā)送一個(gè)錯(cuò)誤幀,其它的節(jié)點(diǎn)和發(fā)送者也都會(huì)收到這個(gè)錯(cuò)誤幀而丟掉此次報(bào)文,發(fā)送節(jié)點(diǎn)重新發(fā)送,這才是ACK 的意義。

7499dcd0-ec99-11ee-9118-92fbcf53809c.jpg ?總結(jié)

作為國內(nèi)CAN總線系統(tǒng)解決方案供應(yīng)商,同時(shí)也是CIA協(xié)會(huì)在中國最主要的CAN總線技術(shù)傳播的窗口,目前廣州致遠(yuǎn)電子的產(chǎn)品覆蓋了從分析診斷設(shè)備、接口轉(zhuǎn)換設(shè)備、到協(xié)議組網(wǎng)設(shè)備等全面系統(tǒng)的CAN總線產(chǎn)品家族,可為用戶提供完整的CAN總線解決方案。74d8d93a-ec99-11ee-9118-92fbcf53809c.png?

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

    關(guān)注

    145

    文章

    1951

    瀏覽量

    130753
  • 接收器
    +關(guān)注

    關(guān)注

    14

    文章

    2470

    瀏覽量

    71907
  • ACK
    ACK
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    11146
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是CAN總線通信?CAN總線工作原理

    這意味著變送器通過CAN收發(fā)器改變總線電平,并將其信息傳輸?shù)?b class='flag-5'>CAN總線。接收器通過監(jiān)測總線
    發(fā)表于 02-19 14:53 ?6566次閱讀
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>工作原理

    CAN總線幾種正常的“異?!?b class='flag-5'>波形

    CAN波形一定都是標(biāo)標(biāo)準(zhǔn)準(zhǔn)的方波嗎?其實(shí)并非如此,今天就把CAN總線上的幅值“異常”歸歸類。CAN-bus信號(hào)產(chǎn)生原理眾所周知,一個(gè)標(biāo)準(zhǔn)
    的頭像 發(fā)表于 06-26 08:25 ?2837次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>幾種正常的“異?!?b class='flag-5'>波形</b>

    ADM3053在CAN總線上顯示錯(cuò)誤的信號(hào)電平如何解決?

    的檢測,因?yàn)椤皝G失的”ACK將導(dǎo)致出現(xiàn)此錯(cuò)誤幀。我們無法通過ADM3053觸發(fā)數(shù)據(jù)流的丟失位,但根據(jù)我的觀點(diǎn),如果ACK位丟失,所有其他位也可能丟失。丟失意味著邏輯低電平(必須是
    發(fā)表于 01-03 09:00

    CAN總線測試,示波器測量差分信號(hào)波形發(fā)現(xiàn)應(yīng)答位電平偏高很多,這個(gè)是怎么回事,有何影響,如何處理?

    應(yīng)答位電平偏高很多,模塊少一點(diǎn)相對(duì)會(huì)低一點(diǎn),僅當(dāng)只有兩個(gè)模塊時(shí)應(yīng)答位電平才和正常數(shù)據(jù)顯性電平一制,不知道這個(gè)是怎么產(chǎn)生的,會(huì)不會(huì)影響到通訊或芯片壽命。下圖附示波器
    發(fā)表于 10-27 11:39

    CAN報(bào)文中ACK應(yīng)答錯(cuò)誤的檢測原理

    的含義。 下面我們通過一個(gè)實(shí)例來看看CAN節(jié)點(diǎn)是如何進(jìn)行ACK SLOT的動(dòng)作的。我們抓取一個(gè)總線上面的信號(hào)波形,此波形已經(jīng)是通過82C25
    發(fā)表于 07-02 05:22

    ADM3053在CAN總線上顯示錯(cuò)誤的信號(hào)電平

    ADM3053偶爾出現(xiàn)問題。癥狀是ADM3053沒有通過ACK正確確認(rèn)CAN消息。ADM3053后的CAN控制器嘗試發(fā)送主動(dòng)電平,但ADM3053在
    發(fā)表于 12-05 09:17

    CAN總線波形為什么ACK電平偏高?

    CAN總線一直以實(shí)時(shí)性強(qiáng)、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)、數(shù)據(jù)保證到達(dá)等特點(diǎn)而廣泛應(yīng)用于高可靠性的場合。但常常在觀察CAN通信波形時(shí),我們會(huì)發(fā)現(xiàn)差分電平
    發(fā)表于 07-05 15:08 ?9504次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>波形</b><b class='flag-5'>中</b>為什么<b class='flag-5'>ACK</b><b class='flag-5'>電平</b><b class='flag-5'>偏高</b>?

    CAN總線波形為什么ACK電平偏高

    CAN總線一直以實(shí)時(shí)性強(qiáng)、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)、數(shù)據(jù)保證到達(dá)等特點(diǎn)而廣泛應(yīng)用于高可靠性的場合。
    發(fā)表于 07-11 15:45 ?19次下載

    CAN總線是什么?CAN總線數(shù)據(jù)鏈路層又是什么?

    CAN 總線的物理連接只需要兩根線,常稱為 CAN_H 和 CAN_L,通過差分信號(hào)進(jìn)行數(shù)據(jù)的傳輸。CAN
    發(fā)表于 07-11 16:31 ?1.3w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>是什么?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>數(shù)據(jù)鏈路層又是什么?

    CAN總線定義與CAN協(xié)議的基本概念

    CAN-H和CAN-L)的電位差來確定總線電平,在任一時(shí)刻,總線上有2種電平:顯性
    發(fā)表于 12-27 13:40 ?3.2w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>定義與<b class='flag-5'>CAN</b>協(xié)議的基本概念

    CAN總線波形ACK電平為什么會(huì)偏高

    摘要:如果CAN總線中有多個(gè)節(jié)點(diǎn),在某一點(diǎn)測試CAN總線波形(CANH和CANL之間)時(shí),會(huì)發(fā)現(xiàn)在一幀數(shù)據(jù)的末尾
    發(fā)表于 06-14 13:44 ?4603次閱讀

    CAN總線的顯性電平與隱性電平

    CAN總線的書時(shí),都會(huì)涉及到總線電平的問題,CAN總線
    發(fā)表于 04-19 16:58 ?21次下載

    高速CAN總線和低速CAN總線區(qū)別分析

    高速CAN總線上為顯性電平(邏輯0)時(shí),CAN_H為3.5V、CAN_L為1.5V,此時(shí)電壓差是2V,顯性狀態(tài)的
    發(fā)表于 09-13 16:57 ?4752次閱讀

    CAN總線電平邏輯介紹

    分傳輸,為了避免信號(hào)的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。 每一個(gè)設(shè)備既可做主設(shè)備也可做從設(shè)備。CAN總線的通信距離可達(dá)10千米(速率低于5Kbps
    的頭像 發(fā)表于 11-09 18:11 ?1696次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和<b class='flag-5'>電平</b>邏輯介紹

    can總線的故障波形有哪些

    詳細(xì)介紹CAN總線的故障波形及其原因和解決方法。 故障波形概述 故障波形是指在CAN
    的頭像 發(fā)表于 06-16 10:04 ?1877次閱讀