在進(jìn)行CAN總線通信前丧凤,應(yīng)保證正確的總線配置募闲,比如終端電阻。它是影響總線通信的重要組件愿待,下面我們不考慮信號(hào)的完整性浩螺,只從信號(hào)幅度和時(shí)間常數(shù)方面分析不加終端電阻時(shí)的影響。
根據(jù)ISO11898-2對(duì)終端電阻的取值規(guī)定仍侥,必須在總線的首尾兩端各掛一個(gè)120Ω的終端電阻要出,即總線上加60Ω的終端電阻,而中間節(jié)點(diǎn)則不需要掛終端電阻农渊,如圖1所示患蹂。
圖1? 終端電阻
如圖2所示,假如我們按照ISO11898標(biāo)準(zhǔn)要求,使用CANScope測試時(shí)传于,加上60Ω的終端電阻囱挑,然后以250Kbps的波特率自發(fā)自收數(shù)據(jù),可以看到報(bào)文可以正常發(fā)送沼溜,且關(guān)聯(lián)的波形也正常平挑。
圖2?加終端電阻CANScope自發(fā)自收現(xiàn)象
假如CANScope在不加終端電阻的時(shí)候,以250Kbps的波特率自發(fā)自收數(shù)據(jù)系草,如圖3所示弹惦,發(fā)送的數(shù)據(jù)都是幀ID錯(cuò)誤,且關(guān)聯(lián)的波形也出現(xiàn)異常悄但。
圖3?未加終端電阻CANScope自發(fā)自收現(xiàn)象
對(duì)于報(bào)文數(shù)據(jù)棠隐,從關(guān)聯(lián)的波形數(shù)據(jù)可以看到,上升沿沒有任何問題檐嚣,但是下降沿相對(duì)于加終端電阻的波形緩慢很多助泽,一直未達(dá)到隱性狀態(tài),這些是為什么呢嚎京?下面我們對(duì)其進(jìn)行一一的解析嗡贺。
1、為什么影響下降沿鞍帝?
眾所周知诫睬,CAN總線的傳輸方式是差分傳輸方式,而總線電平的判斷帕涌,就是CAN收發(fā)器根據(jù)CANH和CANL線纜之間的差分電壓(CANH-CANL)來判斷的摄凡,總線上傳輸?shù)碾娖叫盘?hào)只有兩種可能,一是顯性電平蚓曼,二是隱性電平亲澡,其中顯性電平代表邏輯0,隱性電平代表邏輯1纫版。
首先我們看一下CAN收發(fā)器的內(nèi)部結(jié)構(gòu)床绪,如圖4所示:
圖4?CAN收發(fā)器內(nèi)部結(jié)構(gòu)
當(dāng)總線電平為顯性時(shí),收發(fā)器內(nèi)部的Q1其弊、Q2處于導(dǎo)通狀態(tài)癞己,此時(shí)CANH、CANL之間會(huì)產(chǎn)生壓差梭伐;當(dāng)總線電平為隱性時(shí)痹雅,收發(fā)器內(nèi)部的Q1、Q2處于截止?fàn)顟B(tài)籽御,此時(shí)CANH练慕、CANL處于無源狀態(tài)惰匙,壓差為0技掏。所以當(dāng)隱性狀態(tài)變?yōu)轱@性狀態(tài)(上升沿)時(shí)铃将,主要由收發(fā)器中的驅(qū)動(dòng)模塊作用,當(dāng)顯性狀態(tài)變?yōu)殡[性狀態(tài)(下降沿)時(shí)哑梳,是通過整條總線與終端電阻放電產(chǎn)生的劲阎,所以總線的終端電阻是影響下降沿緩慢程度的主要物理因素。
2鸠真、下降沿為什么遲遲達(dá)不到隱性狀態(tài)悯仙?
前面提到,下降沿緩慢程度吠卷,受終端電阻的影響锡垄,是如何影響的,那這就和時(shí)間常數(shù)τ有關(guān)系了祭隔。我們知道货岭,時(shí)間常數(shù)可由電容(C)和負(fù)載電阻(R)確定,即τ=RC疾渴,所以當(dāng)總線上無終端電阻時(shí)千贯,CANH和CANL之間的阻值很大,例如CANScope搞坝,在未加終端電阻時(shí)搔谴,測量的電阻值,約91KΩ左右桩撮,所以根據(jù)時(shí)間常數(shù)的公式敦第,τ值會(huì)很大,所以無法快速消耗掉總線上寄生電容上的電能店量,從而導(dǎo)致下降沿緩慢申尼,遲遲達(dá)不到隱性狀態(tài)。
圖5?RC電路
3垫桂、為什么會(huì)產(chǎn)生錯(cuò)誤幀师幕?
如圖6所示,是圖3對(duì)應(yīng)的示波器截圖诬滩,從圖中看出霹粥,當(dāng)光標(biāo)區(qū)域的ΔX為一個(gè)位,即4us時(shí)疼鸟,差分信號(hào)在光標(biāo)B處的電壓YB為3.341V后控,遠(yuǎn)高于CAN規(guī)范中的隱性電平判斷上限值0.5V,顯性電平判斷下限值0.9V空镜,所以此時(shí)的位被判斷為顯性位浩淘,而又由于時(shí)間常數(shù)遠(yuǎn)大于250Kbps波特率下的位時(shí)間捌朴,所以會(huì)有超過5個(gè)位被判斷為顯性位,從而破壞了CAN規(guī)范中的填充規(guī)則张抄,出現(xiàn)了幀ID填充錯(cuò)誤砂蔽。
圖6?250Kbps波特率波形細(xì)節(jié)
為了加深對(duì)錯(cuò)誤幀產(chǎn)生原因的了解,我們舉一個(gè)反例署惯,看位時(shí)間遠(yuǎn)大于無終端電阻情況下的時(shí)間常數(shù)時(shí)左驾,會(huì)出現(xiàn)什么樣的現(xiàn)象。
下面以CANScope不加終端電阻极谊,波特率為10Kbps進(jìn)行自發(fā)自收為例诡右,如圖7所示,CANScope報(bào)文列表中轻猖,無錯(cuò)誤幀產(chǎn)生帆吻。通過觀察同步的示波器截圖,如圖8所示咙边,光標(biāo)區(qū)域ΔX為45.6us時(shí)猜煮,差分信號(hào)在光標(biāo)B處的電壓YB為0.4813V,又由于CANScope默認(rèn)的采樣點(diǎn)是75%在光標(biāo)區(qū)域之后样眠,所以此時(shí)可正常判斷該位為隱性友瘤,從而不會(huì)導(dǎo)致錯(cuò)誤幀的產(chǎn)生。
圖7?10Kbps波特率發(fā)送報(bào)文
圖8?10Kbps波特率波形細(xì)節(jié)
在使用CANScope作為測量設(shè)備時(shí)檐束,除了用戶自己外部添加終端電阻的方法外辫秧,還可以通過軟件配置給被測節(jié)點(diǎn)或網(wǎng)絡(luò)添加終端電阻,其添加的方法被丧,會(huì)根據(jù)不同的PORT頭配件盟戏,選擇不同的配置方法。當(dāng)使用標(biāo)配件P8251T甥桂、P1040T時(shí)柿究,勾選圖9中的啟用終端電阻,即可在總線上添加120Ω的終端電阻黄选;當(dāng)選配件使用StressZ時(shí)蝇摸,如圖10中的RHL,可根據(jù)需要設(shè)置對(duì)應(yīng)的終端電阻办陷。
圖9 標(biāo)配件P8251T貌夕、P1040T終端電阻設(shè)置
圖10 選配件StressZ終端電阻設(shè)置