在進行CAN總線通信前,,應(yīng)保證正確的總線配置,,比如終端電阻。它是影響總線通信的重要組件,,下面我們不考慮信號的完整性,,只從信號幅度和時間常數(shù)方面分析不加終端電阻時的影響。 終端電阻添加要求 根據(jù)ISO11898-2對終端電阻的取值規(guī)定,,必須在總線的首尾兩端各掛一個120Ω的終端電阻,,即總線上加60Ω的終端電阻,而中間節(jié)點則不需要掛終端電阻,,如圖1所示,。 圖1 終端電阻 不加終端電阻時的影響 如圖2所示,假如我們按照ISO11898標(biāo)準(zhǔn)要求,,使用CANScope測試時,,加上60Ω的終端電阻,然后以250Kbps的波特率自發(fā)自收數(shù)據(jù),,可以看到報文可以正常發(fā)送,,且關(guān)聯(lián)的波形也正常。 圖2 加終端電阻CANScope自發(fā)自收現(xiàn)象 假如CANScope在不加終端電阻的時候,,以250Kbps的波特率自發(fā)自收數(shù)據(jù),,如圖3所示,發(fā)送的數(shù)據(jù)都是幀ID錯誤,,且關(guān)聯(lián)的波形也出現(xiàn)異常,。 圖3 未加終端電阻CANScope自發(fā)自收現(xiàn)象 對于報文數(shù)據(jù),從關(guān)聯(lián)的波形數(shù)據(jù)可以看到,,上升沿沒有任何問題,,但是下降沿相對于加終端電阻的波形緩慢很多,一直未達(dá)到隱性狀態(tài),,這些是為什么呢,?下面我們對其進行一一的解析。 1、為什么影響下降沿,? 眾所周知,,CAN總線的傳輸方式是差分傳輸方式,而總線電平的判斷,,就是CAN收發(fā)器根據(jù)CANH和CANL線纜之間的差分電壓(CANH-CANL)來判斷的,,總線上傳輸?shù)碾娖叫盘栔挥袃煞N可能,一是顯性電平,,二是隱性電平,,其中顯性電平代表邏輯0,隱性電平代表邏輯1,。 首先我們看一下CAN收發(fā)器的內(nèi)部結(jié)構(gòu),,如圖4所示: 圖4 CAN收發(fā)器內(nèi)部結(jié)構(gòu) 當(dāng)總線電平為顯性時,收發(fā)器內(nèi)部的Q1,、Q2處于導(dǎo)通狀態(tài),,此時CANH、CANL之間會產(chǎn)生壓差,;當(dāng)總線電平為隱性時,,收發(fā)器內(nèi)部的Q1、Q2處于截止?fàn)顟B(tài),,此時CANH,、CANL處于無源狀態(tài),壓差為0,。所以當(dāng)隱性狀態(tài)變?yōu)轱@性狀態(tài)(上升沿)時,,主要由收發(fā)器中的驅(qū)動模塊作用,當(dāng)顯性狀態(tài)變?yōu)殡[性狀態(tài)(下降沿)時,,是通過整條總線與終端電阻放電產(chǎn)生的,,所以總線的終端電阻是影響下降沿緩慢程度的主要物理因素。 2,、下降沿為什么遲遲達(dá)不到隱性狀態(tài),? 前面提到,下降沿緩慢程度,,受終端電阻的影響,,是如何影響的,那這就和時間常數(shù)τ有關(guān)系了,。我們知道,,時間常數(shù)可由電容(C)和負(fù)載電阻(R)確定,即τ=RC,,所以當(dāng)總線上無終端電阻時,,CANH和CANL之間的阻值很大,,例如CANScope,在未加終端電阻時,,測量的電阻值,,約91KΩ左右,所以根據(jù)時間常數(shù)的公式,,τ值會很大,,所以無法快速消耗掉總線上寄生電容上的電能,從而導(dǎo)致下降沿緩慢,,遲遲達(dá)不到隱性狀態(tài)。 圖5 RC電路 如圖6所示,是圖3對應(yīng)的示波器截圖,,從圖中看出,,當(dāng)光標(biāo)區(qū)域的ΔX為一個位,即4us時,,差分信號在光標(biāo)B處的電壓YB為3.341V,,遠(yuǎn)高于CAN規(guī)范中的隱性電平判斷上限值0.5V,顯性電平判斷下限值0.9V,,所以此時的位被判斷為顯性位,,而又由于時間常數(shù)遠(yuǎn)大于250Kbps波特率下的位時間,所以會有超過5個位被判斷為顯性位,,從而破壞了CAN規(guī)范中的填充規(guī)則,,出現(xiàn)了幀ID填充錯誤。 圖6 250Kbps波特率波形細(xì)節(jié) 為了加深對錯誤幀產(chǎn)生原因的了解,,我們舉一個反例,,看位時間遠(yuǎn)大于無終端電阻情況下的時間常數(shù)時,會出現(xiàn)什么樣的現(xiàn)象,。 下面以CANScope不加終端電阻,,波特率為10Kbps進行自發(fā)自收為例,如圖7所示,,CANScope報文列表中,,無錯誤幀產(chǎn)生。通過觀察同步的示波器截圖,,如圖8所示,,光標(biāo)區(qū)域ΔX為45.6us時,差分信號在光標(biāo)B處的電壓YB為0.4813V,,又由于CANScope默認(rèn)的采樣點是75%在光標(biāo)區(qū)域之后,,所以此時可正常判斷該位為隱性,,從而不會導(dǎo)致錯誤幀的產(chǎn)生。 圖7 10Kbps波特率發(fā)送報文 圖8 10Kbps波特率波形細(xì)節(jié) 終端電阻添加的方法 在使用CANScope作為測量設(shè)備時,,除了用戶自己外部添加終端電阻的方法外,,還可以通過軟件配置給被測節(jié)點或網(wǎng)絡(luò)添加終端電阻,其添加的方法,,會根據(jù)不同的PORT頭配件,,選擇不同的配置方法。當(dāng)使用標(biāo)配件P8251T,、P1040T時,,勾選圖9中的啟用終端電阻,即可在總線上添加120Ω的終端電阻,;當(dāng)選配件使用StressZ時,,如圖10中的RHL,可根據(jù)需要設(shè)置對應(yīng)的終端電阻,。 圖9 標(biāo)配件P8251T,、P1040T終端電阻設(shè)置 圖10 選配件StressZ終端電阻設(shè)置 |
|