《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動(dòng)態(tài) > CAN總線波形中為什么ACK電平偏高

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

2017-07-11
來源:ZLG致遠(yuǎn)電子

  CAN總線一直以實(shí)時(shí)性強(qiáng),、傳輸距離遠(yuǎn),、抗干擾能力強(qiáng),、數(shù)據(jù)保證到達(dá)等特點(diǎn)而廣泛應(yīng)用于高可靠性的場合。但常常在觀察CAN通信波形時(shí),,我們會(huì)發(fā)現(xiàn)差分電平在ACK段突然增高,,這是什么原因?qū)е碌哪??這里結(jié)合測試實(shí)例對ACK電平偏高的原因做簡單分析,。

  一,、ACK簡介

  ACK的作用:確認(rèn)一幀報(bào)文是否正常接收。

  以標(biāo)準(zhǔn)數(shù)椐幀為例,,從結(jié)構(gòu)上看分成7段,,分別為起始段、仲裁段,、控制段,、數(shù)椐段、CRC校驗(yàn)段、ACK應(yīng)答段,、幀結(jié)束段,,如圖1所示:

1.png

  圖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段波形圖)所示:

2.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所示:

3.png

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

  二、CAN總線ACK電平偏高原因分析

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

4.png

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

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

  分析如下:

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

5.png

  圖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對應(yīng)的二極管壓降,VDL為CANL對于的二極管壓降,,流過的電流越大,,二極管的壓降就越大??芍?/p>

  CANH的電壓=5V-VDH    CANL的電壓=0V+VDL

6.png

  圖6  CAN收發(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)答電平偏高。

7.png

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

  三,、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的意義。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。