(海軍工程大學(xué) 武漢 430032)
CAN(Controller Area Network)總線通信是一種具有高可靠性、實(shí)時(shí)性強(qiáng)、傳輸距離遠(yuǎn)的雙線串行通信網(wǎng)絡(luò),檢錯(cuò)能力強(qiáng),在汽車中控系統(tǒng)、船舶控制系統(tǒng)等領(lǐng)域廣泛使用。
CAN通信拓?fù)浣Y(jié)構(gòu)主要有總線型與星型結(jié)構(gòu)等,實(shí)際工程中,根據(jù)環(huán)境不同要靈活采用總線型或者星型等布線方式,拓?fù)浣Y(jié)構(gòu)不同,其終端電阻的配置也不相同,并且終端電阻是否合理配置直接影響信號(hào)傳輸質(zhì)量。
本文為研究不同拓?fù)浣Y(jié)構(gòu)下,不同終端電阻配置對(duì)CAN差分信號(hào)的影響,搭建CAN通訊試驗(yàn)平臺(tái),采用STM32105VCT6芯片,其內(nèi)部帶有CAN控制器,使用TJA1040作為總線驅(qū)動(dòng)器,其主要性能如下:1)TJA1040是PCA82C250/251高速CAN驅(qū)動(dòng)器的后繼產(chǎn)品,完全兼容ISO/DIS11898標(biāo)準(zhǔn);2)最高速率可達(dá)1Mbps;3)具有優(yōu)秀的EMC性能;4)理想的無(wú)源性能;5)溫度保護(hù);6)低功耗管理模式;7)支持遠(yuǎn)程喚醒功能;8)總線及電源及地之間的短路保護(hù)[1]。
CAN能夠使用多種物理介質(zhì),例如雙絞線、同軸電纜、光纖等。最常用的是雙絞線,信號(hào)使用差分電壓傳送,如圖1所示,兩條信號(hào)線被稱為CAN_H與CAN_L,靜態(tài)時(shí)兩線之間的差分電平Vdiff約為0,此時(shí)狀態(tài)表示為邏輯1,稱為隱性;用CAN_H比CAN_L高表示邏輯0,稱為顯性[2],CAN協(xié)議規(guī)定,顯性與隱性差分電平的識(shí)別要在一定閾值范圍內(nèi),如表1所示。
圖1 雙絞線CAN總線的電平表示
表1 差分電平邏輯識(shí)別范圍
由于雙絞線特征阻抗約為120Ω,為了避免信號(hào)反射影響,CAN協(xié)議約定在總線終端上跨接一個(gè)120Ω的終端電阻保持阻抗連續(xù),但在長(zhǎng)距離通信情況下,由于線纜直流電阻阻值較大,如果繼續(xù)保持120Ω大小的終端電阻,雖然能避免信號(hào)反射帶來(lái)的影響,但實(shí)際上接收節(jié)點(diǎn)的收發(fā)器接收到的顯性差分電壓幅值較低,可能不在差分電平邏輯識(shí)別范圍內(nèi),導(dǎo)致節(jié)點(diǎn)接收失敗。
圖2 總線型拓?fù)浣Y(jié)構(gòu)通信試驗(yàn)平臺(tái)
圖2為總線型拓?fù)浣Y(jié)構(gòu)通信試驗(yàn)平臺(tái),兩個(gè)節(jié)點(diǎn)處于總線首尾兩端,均跨接一個(gè)終端電阻,傳輸線纜為超五類非屏蔽雙絞線,線規(guī)AWG24,線纜直流電阻為133 mΩ/m,將終端電阻值固定為120Ω,改變傳輸距離,差分信號(hào)幅值變化如表2所示。
表2 終端電阻為120Ω時(shí)接收節(jié)點(diǎn)顯性差分信號(hào)幅值
由表2數(shù)據(jù)可知:終端電阻固定為120Ω時(shí),不同距離下接收節(jié)點(diǎn)的顯性差分信號(hào)幅值不同,距離越長(zhǎng),線纜直流電阻越大,接收節(jié)點(diǎn)接收到的差分信號(hào)幅值越小,當(dāng)傳輸距離至900m時(shí),接收節(jié)點(diǎn)的收發(fā)器接收到的顯性差分電壓幅值為1V,此時(shí)差分電壓幅值的抗干擾能力極差,通訊呈現(xiàn)為時(shí)好時(shí)壞的現(xiàn)象,通訊失敗,其波形如圖3所示,故在遠(yuǎn)距離通信中,為了保證信號(hào)穩(wěn)定可靠,不應(yīng)將終端電阻限制在120Ω。
圖3 雙節(jié)點(diǎn)900 m通信收發(fā)波形圖(終端電阻120Ω)
上一節(jié)得出結(jié)論:CAN通信總線型結(jié)構(gòu),其終端電阻配置不應(yīng)固定在120Ω,通過(guò)等效電路來(lái)分析終端電阻及線纜電阻對(duì)差分信號(hào)幅值的影響。圖4是總線型網(wǎng)絡(luò)物理層等效電路圖,Vdiff.out是差動(dòng)輸出電壓,在發(fā)送數(shù)據(jù)幀時(shí)節(jié)點(diǎn)可視為一個(gè)電壓源,幅值為Vdiff.out,標(biāo)準(zhǔn)值為2V。節(jié)點(diǎn)接收總線上的消息時(shí),接收節(jié)點(diǎn)視為一個(gè)差動(dòng)輸入電阻Rdiff,TJA1040的差動(dòng)輸入電阻約為30kΩ,Vdiff.in為接收節(jié)點(diǎn)的差動(dòng)輸入電壓,RT為終端電阻,RW為線纜電阻。
圖4 雙節(jié)點(diǎn)總線型結(jié)構(gòu)物理層等效電路圖
在靜態(tài)條件下,接收節(jié)點(diǎn)的差動(dòng)輸入電壓等于差動(dòng)輸入電阻與通過(guò)該節(jié)點(diǎn)的電流的乘積。接收節(jié)點(diǎn)的差動(dòng)輸入電壓取決于以下幾個(gè)因素:發(fā)送節(jié)點(diǎn)的差動(dòng)輸出電壓Vdiff.out,總線線纜的電阻Rw以及接收節(jié)點(diǎn)的差動(dòng)輸入電阻Rdiff和兩個(gè)終端電阻的阻值,接收節(jié)點(diǎn)的差動(dòng)輸入電壓可由下式計(jì)算[4]:
由式(1)看出,接收節(jié)點(diǎn)的差動(dòng)輸入電壓與總線線纜電阻成反比,與終端電阻阻值成正比,為了接收節(jié)點(diǎn)正確檢測(cè)到顯性位,接收節(jié)點(diǎn)的差動(dòng)輸入電壓必須大于閾值電壓Vth,即
Rw=ρL,ρ為電阻率,L為線纜長(zhǎng)度,總線距離越長(zhǎng),線纜直流電阻越大,要使接收節(jié)點(diǎn)正確檢測(cè)到顯性位,終端電阻應(yīng)更大。
在上節(jié)理論推導(dǎo)基礎(chǔ)上,調(diào)整終端電阻阻值,不同傳輸距離下差分信號(hào)幅值變化見表3。從表中數(shù)據(jù)看出:傳輸距離900m時(shí),調(diào)整終端電阻后,接收節(jié)點(diǎn)接收到的顯性差分信號(hào)幅值為1.7V。此時(shí)信號(hào)傳輸穩(wěn)定,通訊正常,收發(fā)波形見圖5,與終端電阻120Ω時(shí)的信號(hào)波形相比,差分信號(hào)電壓幅值提高,雖然會(huì)因?yàn)榻K端電阻較大引起放電時(shí)間變長(zhǎng),在波形上表現(xiàn)為下降沿變緩,但由于采樣點(diǎn)處于每個(gè)位時(shí)間的80%左右,不影響接收節(jié)點(diǎn)正確接收。
表3 終端電阻調(diào)整后接收節(jié)點(diǎn)顯性差分信號(hào)幅值
總線型拓?fù)浣Y(jié)構(gòu)在CAN通信布線時(shí)最為常見[5],只在總線兩端配置終端電阻,為了避免分支節(jié)點(diǎn)處支線過(guò)長(zhǎng)引起的信號(hào)反射導(dǎo)致信號(hào)失真,CAN協(xié)議要求支線長(zhǎng)度不超過(guò)6m,在一些復(fù)雜領(lǐng)域中,如果繼續(xù)使用總線型拓?fù)浣Y(jié)構(gòu),由于系統(tǒng)本身的復(fù)雜性,會(huì)帶來(lái)布線困難問(wèn)題,采用星型拓?fù)浣Y(jié)構(gòu)一方面可減少布線困難問(wèn)題,另一方面還可對(duì)中心節(jié)點(diǎn)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)智能化管理,因此需要研究星型拓?fù)浣Y(jié)構(gòu)及其終端電阻配置方案[6~7]。
圖5 終端電阻調(diào)整后雙節(jié)點(diǎn)900m通信收發(fā)波形圖
圖6 星型拓?fù)浣Y(jié)構(gòu)試驗(yàn)平臺(tái)
星型拓?fù)浣Y(jié)構(gòu),在分支基本等長(zhǎng)的情況下,可以不適用集線器等設(shè)備,調(diào)節(jié)節(jié)點(diǎn)的終端電阻阻值便可實(shí)現(xiàn)系統(tǒng)通信[8]。終端電阻對(duì)信號(hào)傳輸?shù)挠绊懺谟谄ヅ渚€纜的特征阻抗避免信號(hào)反射以及影響差分信號(hào)幅值。試驗(yàn)拓?fù)浣Y(jié)構(gòu)如6所示,傳輸線纜為超五類非屏蔽雙絞線,線規(guī)AWG24,線纜直流電阻為133mΩ/m,中心節(jié)點(diǎn)與各分支節(jié)點(diǎn)相距300m,節(jié)點(diǎn)1發(fā)送,節(jié)點(diǎn)2、3、4接收,試驗(yàn)結(jié)果如表4及圖7~10所示。
表4 星型拓?fù)浣Y(jié)構(gòu)終端電阻試驗(yàn)結(jié)果
圖7 星型拓?fù)?、4節(jié)點(diǎn)收發(fā)波形(終端電阻120Ω)
圖8 星型拓?fù)?、4節(jié)點(diǎn)收發(fā)波形(終端電阻180Ω)
從表中數(shù)據(jù)可以看出,當(dāng)終端電阻過(guò)小時(shí),導(dǎo)致接收節(jié)點(diǎn)的差分電壓幅值較低未達(dá)到閾值識(shí)別范圍導(dǎo)致系統(tǒng)通信失敗。當(dāng)終端電阻過(guò)大,如圖10所示,終端電阻與線纜特征阻抗不匹配引發(fā)信號(hào)反射,并且在下降沿,由于終端電阻過(guò)大導(dǎo)致傳輸線纜分布電容放電時(shí)間延長(zhǎng),影響采樣的正確性。因此星型拓?fù)浣Y(jié)構(gòu)終端電阻的匹配要考慮信號(hào)反射與差分信號(hào)幅值這兩個(gè)因素,從圖中可以看出,3個(gè)分支節(jié)點(diǎn)試驗(yàn)時(shí),分支節(jié)點(diǎn)終端電阻為180Ω時(shí),信號(hào)反射不嚴(yán)重,幅值達(dá)到閾值識(shí)別范圍,試驗(yàn)效果最好。本文未進(jìn)行4節(jié)點(diǎn)以上的星型拓?fù)浣Y(jié)構(gòu)通信試驗(yàn),在更多節(jié)點(diǎn)的星型拓?fù)浣Y(jié)構(gòu)通信系統(tǒng)中,其終端電阻配置思路可參考本試驗(yàn)。
圖9 星型拓?fù)?、4節(jié)點(diǎn)收發(fā)波形(終端電阻240Ω)
圖10 星型拓?fù)?、4節(jié)點(diǎn)收發(fā)波形(終端電阻440Ω)
本文通過(guò)電路等效的方法推導(dǎo)出總線型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)終端電阻與線纜直流電阻的關(guān)系,得出總線型拓?fù)浣Y(jié)構(gòu)終端電阻配置方案為RT=max{120Ω,2Rw},并進(jìn)行了試驗(yàn)驗(yàn)證,證明推論的合理性。搭建3分支節(jié)點(diǎn)星型拓?fù)渫ㄐ旁囼?yàn)平臺(tái),并調(diào)節(jié)終端電阻觀察信號(hào)波形,發(fā)現(xiàn)在每個(gè)分支節(jié)點(diǎn)均跨接適當(dāng)終端電阻能得到較好的通信效果。總之,根據(jù)實(shí)際情況可按不同拓?fù)浣Y(jié)構(gòu)進(jìn)行布線及終端電阻匹配,有利于提高CAN的通信效果。