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

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

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

什么是CAN總線?-2

汽車電子技術(shù) ? 來源:立邁勝 ? 作者:LMSBB8 ? 2023-02-09 11:05 ? 次閱讀

在前文一文讀懂CAN總線(一)中我們簡單介紹了CAN通訊協(xié)議,講了標(biāo)準(zhǔn)CAN和擴(kuò)展CAN以及CAN消息類型,在本文中將繼續(xù)為大家深入講解CAN總線的位填充機(jī)制、錯誤檢測和故障界定、網(wǎng)絡(luò)拓?fù)?、終端匹配、電纜與接線、差分信號電壓幅值

位填充機(jī)制

定義及機(jī)制形式

幀起始、仲裁域、控制域、數(shù)據(jù)域以及CRC校驗(yàn)和域,均通過位填充方法編碼。

位填充是指:

無論何時,發(fā)送器只要檢測到位流中有5個連續(xù)相同邏輯的位,便會自動在位流中插入一個補(bǔ)碼位。

舉例來說,如果連續(xù)5個顯性位,則在5個顯性位之后自動插入1個隱性位,接收器會自動刪除這個插入的填充位。

數(shù)據(jù)幀或遠(yuǎn)程幀的剩余位域(CRC界定符、應(yīng)答域和幀結(jié)尾域)形式固定,不填充;錯誤幀和過載幀也不填充。

作用

1.CAN網(wǎng)絡(luò)同步需要足夠多的上升沿,這是CAN協(xié)議規(guī)定位填充的目的之一。

2.確保數(shù)據(jù)幀不會被當(dāng)作錯誤幀(由6個連續(xù)的顯性或隱性位組成)、確保正確識別幀結(jié)束標(biāo)志(7個連續(xù)隱性位)。

錯誤檢測和故障界定

CAN總線具有很高的“健壯性”,這是因?yàn)镃AN具有多種錯誤檢查機(jī)制。

CAN協(xié)議制定了5種錯誤檢測方法,3種位于報文層,2種位于位流層。

如果一個數(shù)據(jù)幀出現(xiàn)錯誤,那么這個幀會被丟棄,并且接收節(jié)點(diǎn)還會發(fā)送一個錯誤幀。這會強(qiáng)制發(fā)送節(jié)點(diǎn)重復(fù)發(fā)送出錯的報文,直到接收節(jié)點(diǎn)正確接收;如果同一個報文重復(fù)出錯,達(dá)到一定次數(shù)后,發(fā)送節(jié)點(diǎn)可以關(guān)閉發(fā)送功能以降低對總線的影響。

報文層錯誤檢測

報文層的錯誤檢測包括CRC和ACK。

CRC域包含15位校驗(yàn)、1位界定符;ACK域包括1位應(yīng)答位、1位界定符。

CRC校驗(yàn)錯誤

CRC校驗(yàn)錯誤很好理解,它對數(shù)據(jù)域以及數(shù)據(jù)域之前的位生產(chǎn)CRC校驗(yàn)。由于一幀CAN報文數(shù)據(jù)流很?。ㄗ疃?個用戶數(shù)據(jù)),所以15位CRC的偵錯能力非常優(yōu)秀。

ACK校驗(yàn)錯誤

ACK域是怎么起作用的呢?

這是由CAN協(xié)議規(guī)定的,即發(fā)送節(jié)點(diǎn)發(fā)送一幀數(shù)據(jù)后,接收節(jié)點(diǎn)必須向發(fā)送節(jié)點(diǎn)應(yīng)答,如果發(fā)送節(jié)點(diǎn)沒有收到接收節(jié)點(diǎn)的應(yīng)答信號,就會認(rèn)為自己發(fā)送失敗,從而重傳數(shù)據(jù)。

報文層的第三種錯誤檢查方法是

格式檢查

。這種檢查會監(jiān)控報文中那些一定為隱性位的域,如果這些域中出現(xiàn)顯性位,則檢測到格式錯誤。這些域包括SOF、EOF、ACK的界定符和CRC的界定符。

位流層錯誤檢測

位錯誤

位流層的錯誤檢測之一是發(fā)送到總線上的每一個數(shù)據(jù)位,都會被監(jiān)視,如果發(fā)現(xiàn)發(fā)送的位和總線上的位不相同時,產(chǎn)生位錯誤。

這種監(jiān)視機(jī)制并不會監(jiān)視仲裁域的位,這是因?yàn)槎鄠€節(jié)點(diǎn)同時競爭總線時,優(yōu)先級高的節(jié)點(diǎn)可能會覆寫總線上的仲裁域位。

位填充規(guī)則

位流層的另外一個錯誤檢測機(jī)制是位填充規(guī)則:5個連續(xù)相同邏輯位之后,如果第6個位的邏輯還和前五個相同,則產(chǎn)生位填充錯誤。

網(wǎng)絡(luò)拓?fù)?/strong>

CAN使用差分信號,需要一對信號線,推薦使用雙絞線,網(wǎng)絡(luò)拓?fù)淙缦聢D所示。

poYBAGPkYm2ALpdTAAFByv_kNak175.png

CAN總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖

使用差分信號可以抑制共模干擾、能夠增加系統(tǒng)可靠性,允許使用更高的速率。

高速ISO11898標(biāo)準(zhǔn)規(guī)定了CAN傳輸最高速率為1Mbps,在這個速率下,傳輸距離最長40米(掛接30個節(jié)點(diǎn),CAN信號不隔離)。推薦節(jié)點(diǎn)分支長度最大為0.3米、使用帶屏蔽或不帶屏蔽的雙絞線,線纜特性阻抗為120歐姆。

終端匹配

終端匹配電阻大小等于傳輸電纜特性阻抗,傳輸電纜特性阻抗由電纜供應(yīng)商提供,一般近似為:

Z=√(L/C)

其中L為電纜單位長度感抗,C為電纜單位長度電容

由于CAN收發(fā)器結(jié)構(gòu),從隱性變成顯性由晶體管驅(qū)動,所以都是很陡的,但是從顯性回到隱性,卻需要終端電阻來放電,否則就會由于導(dǎo)線分布電容,緩慢放電,導(dǎo)致位寬錯誤。

所以所謂的近距離、低波特率CAN總線不加終端電阻的做法,都是錯誤的。

RS485與CAN總線不同,由于RS485收發(fā)器中一般都內(nèi)置失效保護(hù)電路,在近距離、低波特率下允許不加終端匹配電阻。

電纜與接線

CAN總線采用差分信號傳輸,如果使用帶屏蔽雙絞線,屏蔽層應(yīng)單點(diǎn)接地。

poYBAGPkYoeAZvrAAAD2c6Qqsew998.png

帶單屏蔽層的CAN電纜剖析與連接線示范

通常電纜截面積越小,其分布電容、分布電感和直流電阻越大。當(dāng)通訊距離較遠(yuǎn)時,電容、電感和直流電阻會引起信號衰減,波形失真和抖動。

一般情況下,電纜供應(yīng)商會提供信號衰減圖表。

poYBAGPkYpGAZdJyAAHAXNJ9hY8701.png

24-AWG電纜衰減和頻率的關(guān)系

差分信號電壓幅值

pYYBAGPkYpyAB1t5AAC4xlZ6eOE016.png

CAN電平幅值

如上圖所示,兩條信號線CAN_H和CAN_L靜態(tài)時均為2.5V左右,此時狀態(tài)表示邏輯1,稱作隱性;CAN_H比CAN_L高表示邏輯0,稱為顯性,此時通常CAN_H電壓3.5V、CAN_L電壓1.5V。

poYBAGPkYqeAP1-mAABp07jC22o718.png

差分電壓幅值與電平極性關(guān)系

CAN標(biāo)準(zhǔn)規(guī)定,CAN總線上的差分電壓>0.9V才能被識別成顯性電平,<0.5V才能被識別成隱性電平,0.5~0.9之間的電平不能確定電平極性。如上圖所示。?

pYYBAGPkYrOAKEXcAABr2S1aXFU118.png

終端匹配電阻數(shù)目與差分電壓幅值關(guān)系

在實(shí)際項(xiàng)目布線時,容易漏加或者多加終端匹配電阻。我們可以通過測量CAN差分電壓幅值來評估是否漏加或多加終端匹配電阻。

如果不計導(dǎo)線電阻,終端電阻固定為120歐姆,單節(jié)點(diǎn)CAN總線差分電壓如上圖所示。

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

    評論

    相關(guān)推薦

    CAN網(wǎng)關(guān)的外形結(jié)構(gòu)及CAN信號轉(zhuǎn)發(fā)機(jī)制

    結(jié)構(gòu) 大概外形如上, 偶有差異, 大小如香煙煙盒, 有60,70多個PIN腳組成。 每個接線pin腳都有嚴(yán)格的定義, 嚴(yán)格定義了要接can總線或者開關(guān)設(shè)備等。.. 從以上拓?fù)鋱D可以看出: CAN網(wǎng)關(guān)除了10個
    的頭像 發(fā)表于 05-11 09:45 ?1w次閱讀

    高速CAN總線和低速CAN總線的特性

    在ISO 11898-2和ISO 11898-3中分別規(guī)定了兩種CAN總線結(jié)構(gòu)(在BOSCH CAN2.0規(guī)范中,并沒有關(guān)于總線拓?fù)浣Y(jié)構(gòu)的說
    發(fā)表于 04-07 09:30 ?2555次閱讀
    高速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特性

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

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

    CAN 總線錯誤檢測機(jī)制#can總線

    CAN 總線
    北匯信息POLELINK
    發(fā)布于 :2023年05月26日 13:54:03

    國產(chǎn)C2000,P2P替代TMS320F280049C,獨(dú)立雙核32位CPU,主頻高達(dá)400MHz

    的 SRAM (ECC保護(hù))6、10MHzRC7、通信外設(shè):1個PMBus、2CAN總線、2個I2C、
    發(fā)表于 02-02 09:17

    TMS320F280049C,TI 專門為數(shù)字電源定制的DSP,C2000系列最火款,看國產(chǎn)IC如何替代

    的 SRAM (ECC保護(hù)) 6、10MHzRC 7、通信外設(shè):1個PMBus、2CAN總線2個I2C、
    發(fā)表于 09-19 10:08

    基于數(shù)字伺服控制器的吊艙陀螺穩(wěn)定平臺設(shè)計

      Elmo公司的Whistle系列數(shù)字伺服控制器,體積小、重量輕、提供數(shù)字輸入與輸出接口,提供RS232與CAN總線2種通信方式,
    發(fā)表于 12-24 10:14 ?1358次閱讀
    基于數(shù)字伺服控制器的吊艙陀螺穩(wěn)定平臺設(shè)計

    CAN總線輕松入門與實(shí)踐_部分2

    以基于51單片機(jī)的CAN總線系統(tǒng)設(shè)計為講解對象,在內(nèi)容安排上兼顧理論與實(shí)踐,循序漸進(jìn)地將其呈現(xiàn)給讀者。第1—3章主要講述CAN總線底層協(xié)議規(guī)范、應(yīng)用層協(xié)議以及
    發(fā)表于 04-05 11:17 ?18次下載

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

    CAN總線是什么?CAN總線定義是什么? CAN(Controller Area Network)是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。廣泛應(yīng)用
    發(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總線概述及應(yīng)用_CAN總線的應(yīng)用案例(汽車CAN總線應(yīng)用)

    CAN已經(jīng)形成國際標(biāo)準(zhǔn),并已被公認(rèn)為幾種最有前途的現(xiàn)場總線之一。CAN 總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時性和靈活性。由于其良好的性能及獨(dú)特的設(shè)計,
    發(fā)表于 05-07 10:36 ?3.5w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>概述及應(yīng)用_<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的應(yīng)用案例(汽車<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>應(yīng)用)

    iMX6ULL開發(fā)板WIFI功能測試(一)

    FETMX6ULL-C核心板基于NXP i.MX6ULL處理器開發(fā)設(shè)計,采用低功耗的ARM Cortex-A7架構(gòu),運(yùn)行速度高達(dá)800MHz。原生支持8路UART、2路Ethernet、2CAN
    發(fā)表于 04-29 15:07 ?758次閱讀
    iMX6ULL開發(fā)板WIFI功能測試(一)

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

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

    can總線負(fù)載節(jié)點(diǎn)數(shù)量

    一般來說,CAN總線2可以掛載的節(jié)點(diǎn)數(shù)量10到110之間。下面采用了64個節(jié)點(diǎn)測試數(shù)據(jù)傳輸?shù)男阅埽霈F(xiàn)的問題如下。
    的頭像 發(fā)表于 06-14 09:42 ?1756次閱讀
    <b class='flag-5'>can</b><b class='flag-5'>總線</b>負(fù)載節(jié)點(diǎn)數(shù)量

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎?

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎? CAN總線是一種數(shù)據(jù)通信協(xié)議,廣泛用于
    的頭像 發(fā)表于 09-14 16:48 ?4924次閱讀

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2123次閱讀