精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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總線入門教程

傳感器技術(shù) ? 來(lái)源:傳感器技術(shù) ? 作者:面包板社區(qū) ? 2021-01-26 14:42 ? 次閱讀

1. 簡(jiǎn)介

CAN總線由德國(guó)BOSCH公司開(kāi)發(fā),最高速率可達(dá)到1Mbps。CAN的容錯(cuò)能力特別強(qiáng),CAN控制器內(nèi)建了強(qiáng)大的檢錯(cuò)和處理機(jī)制。另外不同于傳統(tǒng)的網(wǎng)絡(luò)(比如USB或者以太網(wǎng)),CAN節(jié)點(diǎn)與節(jié)點(diǎn)之間不會(huì)傳輸大數(shù)據(jù)塊,一幀CAN消息最多傳輸8字節(jié)用戶數(shù)據(jù),采用短數(shù)據(jù)包也可以使得系統(tǒng)獲得更好的穩(wěn)定性。CAN總線具有總線仲裁機(jī)制,可以組建多主系統(tǒng)。

2. CAN標(biāo)準(zhǔn)

CAN是一個(gè)由國(guó)際化標(biāo)準(zhǔn)組織定義的串行通訊總線。最初是用于汽車工業(yè),使用兩根信號(hào)總線代替汽車內(nèi)復(fù)雜的走線。CAN總線具有高抗干擾性、自診斷和數(shù)據(jù)偵錯(cuò)功能,這些特性使得CAN總線在各種工業(yè)場(chǎng)合廣泛使用,包括樓宇自動(dòng)化、醫(yī)療和制造業(yè)。


CAN通訊協(xié)議ISO-11898:2003標(biāo)準(zhǔn)介紹網(wǎng)絡(luò)上的設(shè)備間信息是如何傳遞的,以及符合開(kāi)放系統(tǒng)互聯(lián)參考模型(OSI)的哪些分層項(xiàng)。實(shí)際通訊是在連接設(shè)備的物理介質(zhì)中進(jìn)行,物理介質(zhì)的特性由模型中的物理層定義。ISO11898體系結(jié)構(gòu)定義七層,OSI模型中的最低兩層作為數(shù)據(jù)鏈路層和物理層,見(jiàn)圖2-1。

2bd37668-5f08-11eb-8b86-12bb97331649.jpg

圖2-1:ISO 11898標(biāo)準(zhǔn)架構(gòu)分層

在圖2-1中,應(yīng)用程序?qū)咏⒘松蠈討?yīng)用特定協(xié)議,如CANopenTM協(xié)議的通訊鏈路。這個(gè)協(xié)議由全世界的用戶和廠商組織、CiA維護(hù),詳情可訪問(wèn)CiA網(wǎng)站:can-cia.de。許多協(xié)議是專用的,比如工業(yè)自動(dòng)化、柴油發(fā)動(dòng)機(jī)或航空。另外的工業(yè)標(biāo)準(zhǔn)例子,是基于CAN的協(xié)議的,由KVASER和Rockwell自動(dòng)化開(kāi)發(fā)的DeviceNetTM。

3. 標(biāo)準(zhǔn)CAN和擴(kuò)展CAN

CAN通訊協(xié)議是一個(gè)載波偵聽(tīng)、基于報(bào)文優(yōu)先級(jí)碰撞檢測(cè)和仲裁(CSMA/CD+AMP)的多路訪問(wèn)協(xié)議。CSMA的意思是總線上的每一個(gè)節(jié)點(diǎn)在企圖發(fā)送報(bào)文前,必須要監(jiān)聽(tīng)總線,當(dāng)總線處于空閑時(shí),才可發(fā)送。CD+AMP的意思是通過(guò)預(yù)定編程好的報(bào)文優(yōu)先級(jí)逐位仲裁來(lái)解決碰撞,報(bào)文優(yōu)先級(jí)位于每個(gè)報(bào)文的標(biāo)識(shí)域。更高級(jí)別優(yōu)先級(jí)標(biāo)識(shí)的報(bào)文總是能獲得總線訪問(wèn)權(quán),即:標(biāo)識(shí)符中最后保持邏輯高電平的會(huì)繼續(xù)傳輸,因?yàn)樗哂懈邇?yōu)先級(jí)。


ISO-11898:2003標(biāo)準(zhǔn),帶有11位標(biāo)識(shí)符,提供的最高信號(hào)速率從125Kbps到1Mbps。更遲一些的修訂標(biāo)準(zhǔn)使用了擴(kuò)展的29位標(biāo)識(shí)符。標(biāo)準(zhǔn)11位標(biāo)識(shí)符位域參見(jiàn)圖3-1,提供2048個(gè)不同的報(bào)文標(biāo)識(shí)符,擴(kuò)展29位標(biāo)識(shí)符位域參見(jiàn)圖3-2,提供537百萬(wàn)個(gè)不同報(bào)文標(biāo)識(shí)符。

3.1 標(biāo)準(zhǔn)CAN

標(biāo)準(zhǔn)CAN只有11位標(biāo)識(shí)符,每幀的數(shù)據(jù)長(zhǎng)度為51+(0~64)=(51~117)位。注:不計(jì)位填充(位填充將在本文第5節(jié)描述)。

2c8e97f4-5f08-11eb-8b86-12bb97331649.png

圖3-1:標(biāo)準(zhǔn)CAN---11位標(biāo)識(shí)符

· SOF- 幀起始,顯性(邏輯0)表示報(bào)文的開(kāi)始,并用于同步總線上的節(jié)點(diǎn)。

·標(biāo)識(shí)符- 標(biāo)準(zhǔn)CAN具有11位標(biāo)識(shí)符,用來(lái)確定報(bào)文的優(yōu)先級(jí)。此域的數(shù)值越小,優(yōu)先級(jí)越高。

· RTR- 遠(yuǎn)程發(fā)送請(qǐng)求位,當(dāng)需要從另一個(gè)節(jié)點(diǎn)請(qǐng)求信息時(shí),此位為顯性(邏輯0)。所有節(jié)點(diǎn)都能接收這個(gè)請(qǐng)求,但是幀標(biāo)識(shí)符確定被指定的節(jié)點(diǎn)。響應(yīng)數(shù)據(jù)幀同樣被所有節(jié)點(diǎn)接收,可以被有興趣的節(jié)點(diǎn)使用。

· IDE- 標(biāo)識(shí)符擴(kuò)展位為顯性時(shí)表示這是一個(gè)標(biāo)準(zhǔn)CAN格式,為隱形表示這是擴(kuò)展CAN格式。

·r0- 保留位(可能將來(lái)標(biāo)準(zhǔn)修訂會(huì)使用)

·DLC- 4位數(shù)據(jù)長(zhǎng)度代碼表示傳輸數(shù)據(jù)的字節(jié)數(shù)目,一幀CAN最多傳輸8字節(jié)用戶數(shù)據(jù)

·數(shù)據(jù)0~8– 最多可以傳輸8字節(jié)用戶數(shù)據(jù)

· CRC- 16位(包括1位定界符)CRC校驗(yàn)碼用來(lái)校驗(yàn)用戶數(shù)據(jù)區(qū)之前的(包含數(shù)據(jù)區(qū))傳輸數(shù)據(jù)段。

· ACK- 2位,包含應(yīng)答位和應(yīng)答界定符。發(fā)送節(jié)點(diǎn)的報(bào)文幀中,ACK兩位是隱性位,當(dāng)接收器正確地接收到有效的報(bào)文,接收器會(huì)在應(yīng)答位期間向發(fā)送節(jié)點(diǎn)發(fā)送一個(gè)顯性位,表示應(yīng)答。如果接收器發(fā)現(xiàn)這幀數(shù)據(jù)有錯(cuò)誤,則不向發(fā)送節(jié)點(diǎn)發(fā)送ACK應(yīng)答,發(fā)送節(jié)點(diǎn)會(huì)稍后重傳這幀數(shù)據(jù)。

· EOF– 7位幀結(jié)束標(biāo)志位,全部為隱性位。如果這7位出現(xiàn)顯性位,則會(huì)引起填充錯(cuò)誤。

· IFS– 7位幀間隔標(biāo)志位,CAN控制器將接收到的幀正確的放入消息緩沖區(qū)是需要一定時(shí)間的,幀間隔可以提供這個(gè)時(shí)間。

3.2 擴(kuò)展CAN

擴(kuò)展CAN具有29位標(biāo)識(shí)符,每幀數(shù)據(jù)長(zhǎng)度為71+(0~64)=(71~135)位。注:不計(jì)位填充(位填充將在本文第5節(jié)描述)。

2cebdf36-5f08-11eb-8b86-12bb97331649.png

圖3-2:擴(kuò)展CAN---29位標(biāo)識(shí)符

擴(kuò)展CAN消息相對(duì)于標(biāo)準(zhǔn)CAN消息增加的內(nèi)容如下:

· SRR– 代替遠(yuǎn)程請(qǐng)求位,為隱性。所以當(dāng)標(biāo)準(zhǔn)幀與擴(kuò)展幀發(fā)送相互沖突并且擴(kuò)展幀的基本標(biāo)識(shí)符與標(biāo)準(zhǔn)幀的標(biāo)識(shí)符相同時(shí),標(biāo)準(zhǔn)幀優(yōu)先級(jí)高于擴(kuò)展幀。

· IDE– 為隱性位表示標(biāo)志位擴(kuò)展幀,18位擴(kuò)展標(biāo)識(shí)符緊跟著IDE位。

·r1– 保留

4.CAN消息

4.1仲裁

典型CAN的基本原理見(jiàn)圖4-1所示,從圖中可以看出,總線邏輯狀態(tài)與驅(qū)動(dòng)器輸入和接收器輸出邏輯是相反的。正常情況下,邏輯高電平為1,邏輯低電平為0,但是CAN總線卻是邏輯高電平為0,稱為顯性,邏輯低電平為1,稱為隱性。所以很多收發(fā)器的驅(qū)動(dòng)器輸入端都會(huì)內(nèi)置上拉電阻,在沒(méi)有任何輸入時(shí),CAN總線就會(huì)表現(xiàn)為隱性(邏輯低電平)。

2d59a3a4-5f08-11eb-8b86-12bb97331649.png

圖4-1:反轉(zhuǎn)的CAN總線邏輯

在總線空閑時(shí),最先開(kāi)始發(fā)送報(bào)文的節(jié)點(diǎn)獲得發(fā)送權(quán)。


如果多個(gè)節(jié)點(diǎn)同時(shí)訪問(wèn)總線,CAN使用非破壞式、逐位仲裁的方式?jīng)Q定哪個(gè)節(jié)點(diǎn)使用總線:各發(fā)送節(jié)點(diǎn)從仲裁域(標(biāo)識(shí)符和RTR域)的第1位開(kāi)始進(jìn)行仲裁,連續(xù)輸出顯性電平(0)最多的節(jié)點(diǎn)可以繼續(xù)發(fā)送。因此標(biāo)識(shí)符數(shù)值越低的CAN報(bào)文,優(yōu)先級(jí)越高。標(biāo)識(shí)符數(shù)值為0的CAN報(bào)文,具有最高優(yōu)先級(jí),因?yàn)樗敵龅娘@性電平最多。

4.2消息類型

CAN有四種不同的報(bào)文類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和過(guò)載幀。

5.位填充機(jī)制

幀起始、仲裁域、控制域、數(shù)據(jù)域以及CRC校驗(yàn)和域,均通過(guò)位填充方法編碼。位填充是指,無(wú)論何時(shí),發(fā)送器只要檢測(cè)到位流中有5個(gè)連續(xù)相同邏輯的位,便會(huì)自動(dòng)在位流中插入一個(gè)補(bǔ)碼位。舉例來(lái)說(shuō),如果連續(xù)5個(gè)顯性位,則在5個(gè)顯性位之后自動(dòng)插入1個(gè)隱性位。接收器會(huì)自動(dòng)刪除這個(gè)插入的填充位。

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

CAN網(wǎng)絡(luò)同步需要足夠多的上升沿,這是CAN協(xié)議規(guī)定位填充的目的之一。位填充的其它作用:確保數(shù)據(jù)幀不會(huì)被當(dāng)作錯(cuò)誤幀(由6個(gè)連續(xù)的顯性或隱性位組成)、確保正確識(shí)別幀結(jié)束標(biāo)志(7個(gè)連續(xù)隱性位)。

6. 錯(cuò)誤檢測(cè)和故障界定

CAN總線具有很高的健壯性,這可能要?dú)w功于CAN具有多種錯(cuò)誤檢查機(jī)制。CAN協(xié)議制定了5種錯(cuò)誤檢測(cè)方法:三種位于報(bào)文層,兩種位于位流層。如果一個(gè)數(shù)據(jù)幀出現(xiàn)錯(cuò)誤,那么這個(gè)幀會(huì)被丟棄,并且接收節(jié)點(diǎn)還會(huì)發(fā)送一個(gè)錯(cuò)誤幀。這會(huì)強(qiáng)制發(fā)送節(jié)點(diǎn)重復(fù)發(fā)送出錯(cuò)的報(bào)文,直到接收節(jié)點(diǎn)正確接收。如果同一個(gè)報(bào)文重復(fù)出錯(cuò),達(dá)到一定次數(shù)后,發(fā)送節(jié)點(diǎn)可以關(guān)閉發(fā)送功能以降低對(duì)總線的影響。

報(bào)文層的錯(cuò)誤檢測(cè)包括CRC和ACK。16位的CRC域包含15位校驗(yàn)和、1位界定符。ACK域包括1位應(yīng)答位、1位界定符。

CRC校驗(yàn)錯(cuò)誤很好理解,它對(duì)數(shù)據(jù)域以及數(shù)據(jù)域之前的位生產(chǎn)CRC校驗(yàn)。由于一幀CAN報(bào)文數(shù)據(jù)流很小(最多8個(gè)用戶數(shù)據(jù)),所以15位CRC的偵錯(cuò)能力非常優(yōu)秀。

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

報(bào)文層的第三種錯(cuò)誤檢查方法是格式檢查。這種檢查會(huì)監(jiān)控報(bào)文中那些一定為隱性位的域,如果這些域中出現(xiàn)顯性位,則檢測(cè)到格式錯(cuò)誤。這些域包括SOF、EOF、ACK的界定符和CRC的界定符。

位流層的錯(cuò)誤檢測(cè)之一是發(fā)送到總線上的每一個(gè)數(shù)據(jù)位,都會(huì)被監(jiān)視,如果發(fā)現(xiàn)發(fā)送的位和總線上的位不相同時(shí),產(chǎn)生位錯(cuò)誤。這種監(jiān)視機(jī)制并不會(huì)監(jiān)視仲裁域的位,這是因?yàn)槎鄠€(gè)節(jié)點(diǎn)同時(shí)競(jìng)爭(zhēng)總線時(shí),優(yōu)先級(jí)高的節(jié)點(diǎn)可能會(huì)覆寫(xiě)總線上的仲裁域位。

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

7.網(wǎng)絡(luò)拓?fù)?/p>

CAN使用差分信號(hào),需要一對(duì)信號(hào)線,推薦使用雙絞線,網(wǎng)絡(luò)拓?fù)淙鐖D7-1所示。使用差分信號(hào)可以抑制共模干擾、能夠增加系統(tǒng)可靠性,允許使用更高的速率。

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

2da294d8-5f08-11eb-8b86-12bb97331649.jpg

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

8. 終端匹配

終端匹配電阻大小等于傳輸電纜特性阻抗,傳輸電纜特性阻抗由電纜供應(yīng)商提供,一般近似為Z=√(L/C)。其中L為電纜單位長(zhǎng)度感抗,C為電纜單位長(zhǎng)度電容

由于CAN收發(fā)器結(jié)構(gòu),從隱性變成顯性由晶體管驅(qū)動(dòng),所以都是很陡的,但是從顯性回到隱性,卻需要終端電阻來(lái)放電,否則就會(huì)由于導(dǎo)線分布電容,緩慢放電,導(dǎo)致位寬錯(cuò)誤。所以所謂的近距離、低波特率CAN總線不加終端電阻的做法,都是錯(cuò)誤的。

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

9. 電纜與接線

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

圖9-11列出帶單屏蔽層的CAN電纜剖析與連接線示范。

2e122960-5f08-11eb-8b86-12bb97331649.jpg

圖9-1:電纜信號(hào)分配、接地和終端匹配

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

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

圖9-2所示的曲線顯示了24-AWG電纜衰減和頻率的關(guān)系。

2e720812-5f08-11eb-8b86-12bb97331649.jpg

圖9-2:信號(hào)衰減

10. 差分信號(hào)電壓幅值

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

2f053e84-5f08-11eb-8b86-12bb97331649.png

圖10-1:CAN電平幅值

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

表10-1:差分電壓幅值與電平極性關(guān)系

2f79b75a-5f08-11eb-8b86-12bb97331649.png

在實(shí)際項(xiàng)目布線時(shí),容易漏加或者多加終端匹配電阻。我們可以通過(guò)測(cè)量CAN差分電壓幅值來(lái)評(píng)估是否漏加或多加終端匹配電阻。如果不計(jì)導(dǎo)線電阻,終端電阻固定為120歐姆,單節(jié)點(diǎn)CAN總線差分電壓如表10-2所示。

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

2fc8a676-5f08-11eb-8b86-12bb97331649.png

11. 電纜截面積與通訊距離

電纜截面積對(duì)通訊距離影響很大,特別是遠(yuǎn)距離通訊。遠(yuǎn)距離傳輸線上的分布電容、分布電感和直流參數(shù)會(huì)引起信號(hào)衰減。很多CAN通訊應(yīng)用都具有距離遠(yuǎn)、波特率低的特性。比如本公司的KTC161通訊控制系統(tǒng)使用10kpbs,傳輸距離要不小于3km。這種情況下,傳輸電纜的直流電阻對(duì)傳輸距離影響非常大,因?yàn)檫@個(gè)直流電阻會(huì)和終端匹配電阻分壓。

如圖11-1所示,1號(hào)節(jié)點(diǎn)與2號(hào)節(jié)點(diǎn)相隔5km,使用的傳輸電纜直流電阻12.8歐姆/km,終端匹配電阻為124歐姆。1號(hào)節(jié)點(diǎn)發(fā)送的波形差分電壓幅值為2V,經(jīng)過(guò)5km傳輸電纜到2號(hào)節(jié)點(diǎn)時(shí),差分電壓幅值大約為1V,信號(hào)衰減了一半!我們?cè)谏衔牡?0節(jié)中提到過(guò):CAN總線上的差分電壓>0.9V才能被識(shí)別成顯性電平,現(xiàn)在2號(hào)節(jié)點(diǎn)只有1V差分電壓,其可靠性已經(jīng)變的較低。

為了保證可靠的數(shù)據(jù)通訊,一個(gè)有用的經(jīng)驗(yàn)法則是:最末端節(jié)點(diǎn)差分電壓幅值不小于1.2V。

注意圖中故意忽略了分布電容和分布電感的影響,因此傳輸?shù)牟ㄐ螞](méi)有畸變。

306afcd2-5f08-11eb-8b86-12bb97331649.jpg

圖11-1:傳輸電纜直流電阻分壓示意圖

對(duì)于雙絞線,假設(shè)其終端匹配電阻與電纜特性阻抗相同,則截面積與最大通訊距離可參考表11-1:

表11-1:截面積與最大通訊距離關(guān)系

33bae60e-5f08-11eb-8b86-12bb97331649.png

為了把電纜直流電阻引起的電壓衰減降到最小,較大的終端電阻值(150~300歐姆)有助于增加總線長(zhǎng)度。比如使用截面積為1.5 mm2的雙絞線電纜,電纜特性阻抗為120歐姆。傳輸波特率為5kpbs的數(shù)據(jù)時(shí),使用120歐姆的匹配電阻最遠(yuǎn)可以傳輸5km,但使用300歐姆的匹配電阻則可以傳輸7km!

12. 波特率、終端匹配電阻與通訊距離

上文第11節(jié)講述了傳輸線截面積與通訊距離的關(guān)系,本小節(jié)將保持傳輸線截面積不變,查看其它參數(shù)對(duì)通訊距離的影響。以截面積為1.5 mm2屏蔽雙絞線為例,其波特率、終端匹配電阻與通訊距離的關(guān)系如圖12-1所示。其中,當(dāng)波特率較高,通訊距離有限。比如1Mbps,信號(hào)隔離后的CAN通訊距離大約為25~30米(大部分的實(shí)際項(xiàng)目中都會(huì)對(duì)CAN通訊模塊電氣隔離,隔離器件會(huì)降低通訊距離)。波特率較低并且將終端匹配電阻增大,可遠(yuǎn)距離通訊。比如5kbps、終端匹配電阻為390歐姆時(shí),通訊距離可達(dá)10km!

33f88d60-5f08-11eb-8b86-12bb97331649.jpg

圖12-1:波特率、終端匹配電阻和通訊距離關(guān)系圖

13. 信號(hào)延遲與通訊距離

高波特率情況下,制約CAN通訊距離的,是信號(hào)延遲。信號(hào)經(jīng)過(guò)隔離光耦、傳輸電纜、ESD器件時(shí),都會(huì)引起信號(hào)延遲。如果CAN的重同步也不足以彌補(bǔ)這個(gè)延遲,就會(huì)導(dǎo)致采樣錯(cuò)誤,最終CRC校驗(yàn)錯(cuò)誤。

圖12-1給出了截面積為1.5mm2傳輸電纜,在不同波特率和終端匹配電阻下的最大通訊距離。其中當(dāng)波特率為1Mbps時(shí),通訊距離大約為30米。30米的通訊電纜,其傳輸損耗可以忽略不計(jì),此時(shí)影響通訊距離的主要是信號(hào)延遲。

通常,傳輸電纜延時(shí)為5ns/m、高速光耦延時(shí)可達(dá)25ns、磁耦合隔離器件延遲3~5ns。在CAN通訊系統(tǒng)中,一個(gè)優(yōu)良的延遲標(biāo)準(zhǔn)是:

343959ee-5f08-11eb-8b86-12bb97331649.png

其中:

tl_MAX:最大延遲時(shí)間

tBIT:位時(shí)間

以1Mbps為例,其位時(shí)間為1us,則tl_MAX < 0.245 × tBIT = 0.245 × 1us = 245ns。信號(hào)在1.5mm2傳輸電纜上傳輸49米就能達(dá)到這個(gè)延遲時(shí)間,另外再加上信號(hào)上升/下降沿時(shí)間以及隔離器件、ESD器件、PCB走線延時(shí),實(shí)際項(xiàng)目中,1Mbps波特率在1.5mm2傳輸電纜上只能傳輸30米。

這也是為什么RS485波特率可以達(dá)到10Mbps甚至50Mbps,而CAN標(biāo)準(zhǔn)最大速率只有1Mbps的原因。

表13-1給出了判定延遲的參考標(biāo)準(zhǔn),在實(shí)際項(xiàng)目中,推薦信號(hào)延遲處于良好一欄標(biāo)準(zhǔn)。

表13-1:最大延遲參考標(biāo)準(zhǔn)

347c3d7c-5f08-11eb-8b86-12bb97331649.png

14. 節(jié)點(diǎn)最小間距

CAN總線是分布式參數(shù)電路,其電氣特性和響應(yīng)主要由沿物理介質(zhì)分布的電感和電容所決定。這里物理介質(zhì)包括連接電纜、連接器、終端和沿總線掛接的CAN設(shè)備。

空載情況下,傳輸電纜的特性阻抗近似為Z=√(L/C),其中L為電纜單位長(zhǎng)度感抗,C為電纜單位長(zhǎng)度電容。隨著負(fù)載的增加,傳輸線上的電容增加(負(fù)載電容、負(fù)載與總線連接線電容),傳輸電纜特性阻抗相比空載情況下變小。如果負(fù)載比較集中,則負(fù)載區(qū)傳輸電纜特性阻抗和空閑區(qū)電纜特性阻抗相差較大,從而會(huì)引起阻抗不匹配。如圖14-1所示。

34c7f956-5f08-11eb-8b86-12bb97331649.png

圖14-1:負(fù)載不均衡的CAN總線原理示意圖

CAN總線阻抗不匹配會(huì)產(chǎn)生信號(hào)反射,雪上加霜的是CAN的仲裁機(jī)制:在仲裁期間,兩個(gè)或更多個(gè)節(jié)點(diǎn)可能同時(shí)發(fā)送多個(gè)顯性位。如圖14-1所示,當(dāng)開(kāi)關(guān)S1在t=0時(shí)刻從顯性狀態(tài)切換到隱性狀態(tài),CAN驅(qū)動(dòng)器差分輸出電壓為Vs,總線上的差分信號(hào)會(huì)由顯性狀態(tài)(Vs)變成穩(wěn)定的隱性狀態(tài)(0V)。這個(gè)信號(hào)波形會(huì)沿著總線向下傳播,到達(dá)總線的負(fù)載區(qū)時(shí),阻抗不匹配引起的反射電壓將返回到源端。

負(fù)載與負(fù)載之間的最小安全距離d是設(shè)備集總負(fù)載電容CL和電纜的單位長(zhǎng)度分布電容C的函數(shù),定義如下:

354fce80-5f08-11eb-8b86-12bb97331649.png

設(shè)備集總負(fù)載電容CL包括CAN收發(fā)器引腳、連接器、隔離器件、保護(hù)器件、印制電路板走線以及其它物理連線的電容總和。

3.3V的CAN收發(fā)器一般能達(dá)到16pF電容,具體可以參考收發(fā)器數(shù)據(jù)手冊(cè);印制板走線一般0.5pF~0.8pF/cm,這取決于電路板的材質(zhì)和結(jié)構(gòu);連接器和保護(hù)裝置(比如ESD器件)的電容值可能范圍會(huì)很大,具體要參考設(shè)備數(shù)據(jù)手冊(cè);非屏蔽雙絞線介質(zhì)的分布電容大約在40pF/m~70pF/m。

圖14-2給出了更明了的圖表顯示.

35a15bc4-5f08-11eb-8b86-12bb97331649.jpg

圖14-2:最小CAN設(shè)備間距

15. 信號(hào)位采樣點(diǎn)位置

信號(hào)位采樣點(diǎn)是指CAN節(jié)點(diǎn)識(shí)別一個(gè)電平邏輯的位置。CAN標(biāo)準(zhǔn)把總線上的每一位都細(xì)分為不同的階段,如圖15-1所示。在圖中可以看到,每個(gè)位被分為同步段、傳播段、相位緩沖段1和相位緩沖段2四個(gè)連續(xù)部分。其中采樣點(diǎn)位于相位緩沖段1之后,同步段、傳播段、相位緩沖段1和相位緩沖段2的持續(xù)時(shí)間都是可以編程的,因此采樣點(diǎn)位置也是間接可編程的。

3621072a-5f08-11eb-8b86-12bb97331649.png

圖15-1:每一個(gè)數(shù)據(jù)位的分段示意圖

一般CAN節(jié)點(diǎn)是每個(gè)位采樣一次(也可以采樣3次,多用于低速場(chǎng)合),采樣點(diǎn)位置都在一個(gè)位的50%以后的區(qū)域,這是為了讓信號(hào)電平趨于穩(wěn)定。采樣點(diǎn)越靠后,波形越穩(wěn)定。但也不是越靠后越好,采樣點(diǎn)位置超過(guò)95%時(shí),因?yàn)閭鬏斶^(guò)程中的位偏差,可能會(huì)引起錯(cuò)誤。CIA推薦采樣點(diǎn)為一個(gè)位時(shí)間的87.5%處,實(shí)際項(xiàng)目中,一般設(shè)置為70%~90%,大部分汽車廠商規(guī)定采樣點(diǎn)為70~80%。

采樣點(diǎn)略靠后,比如80~90%,有利于遠(yuǎn)距離傳輸。提高節(jié)點(diǎn)波特率寄存器中的同步跳轉(zhuǎn)寬度SJW值(加大到3個(gè)單位時(shí)間),可以加大位寬度和采樣點(diǎn)的容忍度。

16. 波特率偏差

由于受到晶振影響,CAN通訊波特率實(shí)際值與理論值會(huì)有偏差。如果兩個(gè)節(jié)點(diǎn)之間波特率偏差較大,容易造成誤碼率增大或通訊失敗等問(wèn)題。
CAN標(biāo)準(zhǔn)規(guī)定,設(shè)定的理論波特率與實(shí)際波特率偏差不得超過(guò)±1%;節(jié)點(diǎn)需要容忍的波特率偏差不得小于±3%。

17. 節(jié)點(diǎn)容抗

在CAN通訊電路設(shè)計(jì)過(guò)程中,節(jié)點(diǎn)容抗是容易被忽略的。節(jié)點(diǎn)容抗包括收發(fā)器引腳電容、PCB走線電容、ESD器件電容以及其它連線電容。

CAN標(biāo)準(zhǔn)對(duì)節(jié)點(diǎn)容抗有嚴(yán)格定義,容抗影響上升沿下降沿斜率,節(jié)點(diǎn)容抗增大,上升沿和下降沿會(huì)變緩,導(dǎo)致位時(shí)間畸變,誤碼率增加。上升沿和下降沿變緩會(huì)使得信號(hào)延遲變大,在高波特率下,影響信號(hào)傳輸質(zhì)量和通訊距離。

節(jié)點(diǎn)容抗不易測(cè)量,需要專門儀器。在電路設(shè)計(jì)時(shí),要對(duì)結(jié)合數(shù)據(jù)手冊(cè)中給出的典型值,對(duì)CAN接口電路使用的器件總電容值進(jìn)行估算。對(duì)于高波特率情況下,單節(jié)點(diǎn)電容推薦<100pF,多節(jié)點(diǎn)電容推薦值見(jiàn)表17-1所示。低波特率應(yīng)用可以放寬要求。

表17-1:?jiǎn)喂?jié)點(diǎn)電容最大值

36924c96-5f08-11eb-8b86-12bb97331649.png

18. 節(jié)點(diǎn)數(shù)量

可以連接到網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)量由收發(fā)器可以驅(qū)動(dòng)的最小負(fù)載阻抗來(lái)決定。最大節(jié)點(diǎn)數(shù)量由下面的公式給出(考慮最壞情況):

36d811a4-5f08-11eb-8b86-12bb97331649.png

其中:

Rdiff_min:收發(fā)器差動(dòng)輸入阻抗最小值

RL_min:收發(fā)器可驅(qū)動(dòng)的負(fù)載電阻最小值

RT_min:終端匹配電阻最小值

在上式中,收發(fā)器差動(dòng)輸入阻抗最小值(Rdiff_min)和收發(fā)器可驅(qū)動(dòng)的負(fù)載阻抗最小值(RL_min)由收發(fā)器芯片決定,終端匹配電阻最小值(RT_min)由傳輸電纜特性阻抗以及具體應(yīng)用決定。

以本公司使用的PCA82C251收發(fā)器為例,其收發(fā)器差動(dòng)輸入阻抗最小值Rdiff_min = 20K歐姆,收發(fā)器可驅(qū)動(dòng)的負(fù)載阻抗最小值RL_min = 45歐姆,假設(shè)終端匹配電阻最小值RT_min = 120歐姆,則最大節(jié)點(diǎn)數(shù)量為112個(gè)。

19. 共模電壓范圍

共模電壓是指總線上的發(fā)送節(jié)點(diǎn)地和接收節(jié)點(diǎn)地之間的電勢(shì)差。過(guò)高的共模電壓會(huì)對(duì)系統(tǒng)造成影響,可能造成間歇重啟、死鎖、誤碼率增高甚至損害設(shè)備。在遠(yuǎn)距離通訊系統(tǒng)中,共模干擾的問(wèn)題會(huì)更加突出,因?yàn)殡S著通訊線距離的增加,地環(huán)路會(huì)拾取更多的噪聲,使得共模電壓增大。

目前的CAN收發(fā)器都可以容忍一定的共模電壓,ISO 11898標(biāo)準(zhǔn)規(guī)定,CAN收發(fā)器必須能容忍-2V~7V的共模電壓。對(duì)于長(zhǎng)達(dá)數(shù)千米的CAN通訊系統(tǒng)來(lái)說(shuō),標(biāo)準(zhǔn)規(guī)定的共模電壓容忍能力遠(yuǎn)遠(yuǎn)達(dá)不到實(shí)際要求,因此電流隔離對(duì)于遠(yuǎn)距離數(shù)據(jù)傳輸系統(tǒng)來(lái)說(shuō)仍是必須的。

20. 總線短路保護(hù)和熱關(guān)斷保護(hù)

總線短路保護(hù)是指總線與電源或地短路后,CAN收發(fā)器不會(huì)損壞,短路故障解除后,CAN收發(fā)器能繼續(xù)工作。這個(gè)特性可以在總線極性反接、電纜絕緣層失效、意外短路到高壓源時(shí)對(duì)收發(fā)器提供保護(hù)。

熱關(guān)斷電路用于幫助CAN收發(fā)器防御因短路產(chǎn)生破壞性電流和高溫。一旦激活熱關(guān)斷電路,設(shè)備會(huì)進(jìn)入關(guān)斷模式。當(dāng)設(shè)備冷卻到正常操作溫度時(shí),設(shè)備自動(dòng)恢復(fù)運(yùn)行。

本公司使用的PCA82C251收發(fā)器具有短路保護(hù)和熱關(guān)斷保護(hù)。短路保護(hù)允許總線與24V電源短接。

21. 電流隔離

遠(yuǎn)距離數(shù)據(jù)傳輸可能會(huì)有較大的地電勢(shì)差、地環(huán)流等問(wèn)題,會(huì)在CAN總線上形成高共模電壓。如果共模電壓超出CAN收發(fā)器容忍的最大限度,數(shù)據(jù)鏈路就會(huì)不正常。

解決這些問(wèn)題的一個(gè)方法是使用電流隔離:隔離變壓器為系統(tǒng)提供電源,光耦或數(shù)字隔離器件提供數(shù)據(jù)隔離。電流隔離可以去除地環(huán)流,抑制噪聲電壓。采用電流隔離的電路如圖21-1所示,本公司CAN接口電路也采用了電流隔離處理。

3717a3dc-5f08-11eb-8b86-12bb97331649.jpg

圖21-1:遠(yuǎn)距離通訊電流隔離電路示意圖

22. CAN接口電路與RS485接口電路

CAN總線和RS485總線都是采用差分信號(hào)傳輸數(shù)據(jù),它們?cè)诳偩€拓?fù)洹⒔K端匹配、信號(hào)衰減、隔離與接地、波特率與通訊距離關(guān)系等方面都是相似的。但是CAN有自己的一些特性,在接口設(shè)計(jì)中,不能照抄RS485接口電路。

CAN總線對(duì)信號(hào)延遲敏感,因此信號(hào)隔離必須使用高速光耦或者磁耦合器件,以減少信號(hào)延遲。公司大量使用的TLP521光耦因?yàn)檠舆t時(shí)間過(guò)大(微秒級(jí))不可以用于CAN接口電路。

CAN總線對(duì)電容敏感,在設(shè)計(jì)CAN接口電路時(shí),需要使用CAN專用共模電感、專業(yè)ESD器件;需要根據(jù)應(yīng)用的最大波特率和通訊距離,來(lái)決定是否在CAN總線上增加濾波電容以及濾波電容的大小。

責(zé)任編輯:xj

原文標(biāo)題:嵌入式CAN總線入門篇(底層細(xì)節(jié))

文章出處:【微信公眾號(hào):傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐ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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5068

    文章

    19016

    瀏覽量

    303240
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2715

    瀏覽量

    463369
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2866

    瀏覽量

    87984

原文標(biāo)題:嵌入式CAN總線入門篇(底層細(xì)節(jié))

文章出處:【微信號(hào):WW_CGQJS,微信公眾號(hào):傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式學(xué)習(xí)建議

    對(duì)廣大渴望學(xué)習(xí)嵌入式系統(tǒng)的學(xué)子提出幾點(diǎn)基礎(chǔ)階段的學(xué)習(xí)建議: ①嵌入式系統(tǒng)軟件硬件密切相關(guān),一定要打好軟硬件基礎(chǔ)。其實(shí),只要找到正確的方法,加上努力,任何理工科學(xué)生,甚至非理工科學(xué)生,都能學(xué)好嵌入式
    發(fā)表于 10-22 11:41

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備的“大腦”,主要功能是根據(jù)需要管理和控制設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?365次閱讀

    嵌入式常用總線有哪些

    嵌入式系統(tǒng)中常用的總線種類繁多,它們各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。以下將詳細(xì)介紹幾種嵌入式開(kāi)發(fā)中常用的總線,包括UART、I2C、SPI、RS-232、RS-485、
    的頭像 發(fā)表于 09-10 11:34 ?511次閱讀

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?406次閱讀
    北京迅為RK3568開(kāi)發(fā)板<b class='flag-5'>嵌入式</b>學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-<b class='flag-5'>CAN</b>+

    嵌入式入門心得:從新手到老鳥(niǎo)的蛻變

    作為一名在嵌入式領(lǐng)域摸爬滾打多年的老鳥(niǎo),我深知新手在入門時(shí)面臨的困惑與挑戰(zhàn)。嵌入式系統(tǒng)是一個(gè)復(fù)雜而迷人的領(lǐng)域,它涉及硬件、軟件以及它們之間的交互。在這里,我想分享一些我的入門心得,希望
    的頭像 發(fā)表于 07-24 09:34 ?560次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>入門</b>心得:從新手到老鳥(niǎo)的蛻變

    入門嵌入式系統(tǒng)這些知識(shí)你知道嗎?

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用
    發(fā)表于 05-03 09:54 ?525次閱讀

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)中的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它通常包括處理器、內(nèi)存、外設(shè)接口等組件,并且被嵌入到更大的設(shè)備或系統(tǒng)中,
    的頭像 發(fā)表于 03-15 14:29 ?1195次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場(chǎng)可編程門陣列)不是嵌入式系統(tǒng),但FPGA在嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2141次閱讀

    ARM嵌入式Linux 系統(tǒng)開(kāi)發(fā)從入門到精通

    ARM嵌入式Linux 系統(tǒng)開(kāi)發(fā)從入門到精通
    發(fā)表于 03-10 18:44

    嵌入式工程師需要掌握哪些技術(shù)?

    系統(tǒng)開(kāi)發(fā)的基礎(chǔ)。你需要了解數(shù)字電路、模擬電路、傳感器和執(zhí)行器的工作原理。此外,對(duì)于處理器架構(gòu)、總線協(xié)議和存儲(chǔ)器管理等概念的理解也是必不可少的。 3. 操作系統(tǒng):嵌入式系統(tǒng)通常需要運(yùn)行一個(gè)實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 03-04 16:38

    allegro快速入門教程

    電子發(fā)燒友網(wǎng)站提供《allegro快速入門教程.pdf》資料免費(fèi)下載
    發(fā)表于 02-29 09:32 ?68次下載

    給大家講講嵌入式系統(tǒng)中I2C總線的時(shí)序

    I2C總線嵌入式系統(tǒng)中很常見(jiàn),今天就來(lái)給大家講講I2C總線的時(shí)序。
    的頭像 發(fā)表于 02-23 09:47 ?1571次閱讀
    給大家講講<b class='flag-5'>嵌入式</b>系統(tǒng)中I2C<b class='flag-5'>總線</b>的時(shí)序

    嵌入式自學(xué)好書(shū)推薦

    工作經(jīng)驗(yàn)的薪資可達(dá)10-15k;而擁有3年以上工作經(jīng)驗(yàn)的薪資可在15-25k范圍內(nèi)。 嵌入式開(kāi)發(fā)的前期入門知識(shí)主要包括以下四個(gè)方面: 1.電路知識(shí):學(xué)習(xí)基礎(chǔ)的電路、模擬電路和數(shù)字電路,了解基礎(chǔ)器件、放大
    發(fā)表于 01-11 15:13

    單片機(jī)、嵌入式入門實(shí)驗(yàn)報(bào)告相關(guān)代碼仿真介紹

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)、嵌入式入門實(shí)驗(yàn)報(bào)告相關(guān)代碼仿真介紹.zip》資料免費(fèi)下載
    發(fā)表于 12-22 10:52 ?11次下載

    什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應(yīng)用

    嵌入式,一般是指嵌入式系統(tǒng)。用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置。
    的頭像 發(fā)表于 12-20 13:33 ?2403次閱讀