CAN-bus總線信號傳輸延時分析及解決方案
由于CAN-bus總線的實時性強(qiáng)、抗干擾能力強(qiáng)等特點,在軌道交通、汽車電子等行業(yè)得到廣泛的應(yīng)用。伴隨著技術(shù)的升級和CAN節(jié)點的增加,CAN協(xié)議提供的8字節(jié)數(shù)據(jù)傳輸以及最高1Mbps的波特率已經(jīng)不能滿足工程師的應(yīng)用需求。針對此現(xiàn)象,CiA協(xié)議聯(lián)合各大車廠,制定出新一代的CAN FD協(xié)議,其主要的內(nèi)容就是將一幀的數(shù)據(jù)段由8字節(jié)提升到64字節(jié),同時可以提升數(shù)據(jù)段的波特率,以縮短通訊時間。
在一些行業(yè)中,對實時性要求很高,例如CAN通信在軌道交通制動系統(tǒng)中的應(yīng)用,如果CAN-bus總線通訊出現(xiàn)了延遲,會嚴(yán)重影響軌道交通安全,造成列車運(yùn)行癱瘓,甚至危及人身安全。那么,如何評估CAN網(wǎng)絡(luò)延時情況以及如何降低CAN/CAN FD通訊延遲,保證通訊穩(wěn)定呢?接下來,做詳細(xì)介紹。
1.1 CAN/CAN FD網(wǎng)絡(luò)信號延時上限
CAN-bus總線采用多主通信模式、非破壞式總線仲裁機(jī)制。發(fā)送節(jié)點在發(fā)送報文時,在發(fā)完CRC校驗場之后,會發(fā)出長度為2個位的ACK段,如圖1所示。當(dāng)接收節(jié)點正確接收到有效報文時,就會在應(yīng)答間隙(ACK SLOT)向發(fā)送節(jié)點發(fā)送一個“顯性”位來作為回應(yīng)。發(fā)送節(jié)點檢測到總線呈現(xiàn)顯性狀態(tài),便認(rèn)為成功發(fā)送報文。如果發(fā)送節(jié)點沒有檢測到有效的顯性位,則認(rèn)為總線錯誤。所以,CAN FD信號延遲的最大時限是確保發(fā)送節(jié)點在應(yīng)答間隙內(nèi)接收到有效的應(yīng)答信號。
圖 1 ACK應(yīng)答
以1Mbit/s波特率為例,在單次采樣模式下,當(dāng)采樣率為75%時,應(yīng)保證在750ns內(nèi),發(fā)送節(jié)點能夠采集到接收節(jié)點發(fā)出的顯性位,否則會出現(xiàn)總線錯誤。即,延時總和時間≤位時間x采樣點百分比。
1.2 如何快速評估CAN網(wǎng)絡(luò)延時情況?
工程師們在開發(fā)設(shè)計CAN底層硬件時,需要結(jié)合應(yīng)用場景充分考慮延遲帶來的影響。那么,工程師如何快速評估CAN網(wǎng)絡(luò)的延時情況?如圖2所示,是CANScope分析儀抓取的,由于傳輸延遲導(dǎo)致的錯誤波形。
圖 2 傳輸延遲錯誤
由于 ACK 界定符被前面的應(yīng)答場嚴(yán)重壓縮,導(dǎo)致被某個節(jié)點識別為顯性(原本是隱性),所以這個識別錯誤的節(jié)點后面發(fā)出了錯誤幀,進(jìn)行全局通知,讓發(fā)送節(jié)點重新發(fā)送。
CANScope分析儀可以提供傳輸延遲測量的功能,可以進(jìn)行單幀的延遲測量,也可以進(jìn)行所有波形的延時統(tǒng)計。如圖3所示,可以通過延遲測量出導(dǎo)線的等效長度,即最大延遲÷5ns/m,并給出該波特率下最長等效傳輸距離。
圖 3 CANScope傳輸延遲測量功能
1.3 CAN/CAN FD信號延時分析
通過延時上限可以了解到,我們需要嚴(yán)格的控制總線上各個部分造成的延時時間,確保延時時間總和在一定范圍內(nèi)。接下來,以CAN FD為例,了解一下造成延時的具體原因。
如圖4所示,CAN FD網(wǎng)絡(luò)上兩節(jié)點之間通信過程中,CAN FD報文首先從節(jié)點A控制器發(fā)出,經(jīng)過隔離器件、CAN FD收發(fā)器發(fā)送到總線上,再通過一段距離的傳輸依次達(dá)到節(jié)點B的CAN FD收發(fā)器、隔離器件,CAN FD控制器,最后又節(jié)點B發(fā)出ACK顯性應(yīng)答位,重復(fù)上述過程到達(dá)節(jié)點A。很明顯,整個過程中,會影響信號傳輸延遲的因素有:CAN FD控制器、隔離方式、收發(fā)器循環(huán)延時、線纜傳播。
圖 4 總線節(jié)點通訊結(jié)構(gòu)
1. CAN FD控制器延時
CAN FD控制器造成的延時可以從兩方面分析:
·軟件延時:在應(yīng)用進(jìn)程中,主CPU將數(shù)據(jù)從CAN FD控制器中讀寫耗費(fèi)的時間;
·控制器延時:CAN FD控制器實現(xiàn)串行化信息所耗費(fèi)的時間。
這個過程中與主控制器、CAN FD控制器、接口芯片等有關(guān),通常情況下,延時在納秒級以下,可以忽略不計。
2. 隔離方式造成的延時
為了增加信號傳輸?shù)目煽啃?,通常都會在CAN FD底層硬件設(shè)計中添加隔離設(shè)計。隔離器件的添加,帶來一定的延時并影響CANFD系統(tǒng)容許的線纜長度。不同的隔離方式,延時效果也不同。
常用的解決方案有光耦+CAN FD收發(fā)器,如圖5所示。圖中光耦6N137具有典型的單向延時60ns,加上全部信號雙向傳輸會造成240ns延時。
圖 5 光耦+CAN收發(fā)器
相比上述分立器件的隔離方式,也可以采用隔離收發(fā)器的方案,如圖6所示。例如,CTM5MFD采用磁耦隔離方式,延時時間在3~5ns。這種情況下,基本不會影響總線容許通信線纜長度。
圖 6 CAN FD隔離收發(fā)器
3. 收發(fā)器循環(huán)延時
循環(huán)延時指TXD引腳信號變化導(dǎo)致至RXD引腳信號變化的時間差。如圖7所示,可以測試TXD和RXD之間的循環(huán)延時。
圖 7 收發(fā)器循環(huán)延時測量
CAN FD收發(fā)器循環(huán)延時由收發(fā)器本身的性能決定,傳播延時最大可達(dá)幾百納秒。 CAN FD收發(fā)器延時是CAN總線規(guī)范必測項目,選取性能高的收發(fā)器,可以有效降低傳輸延時,增加總線傳輸距離。
4. 線纜傳播延時
線纜是CAN-bus總線傳輸?shù)闹匾橘|(zhì),其長度也是影響通訊延時的重要原因。不同類型的線纜會造成不同的延時效果。通常情況下,導(dǎo)線延時為5ns/m,建議選擇較粗的導(dǎo)線,線徑越大,延遲越小,或者可以使用鍍金、鍍銀的線纜(鍍金的0.2平方毫米線相當(dāng)于1.0平方毫米的銅線)。線徑過小,其導(dǎo)線阻值過大,影響傳輸速率造成延遲。線纜的延時越小,CAN總線傳輸?shù)木嚯x越遠(yuǎn)。
綜合上述介紹,我們可以總結(jié)出以下解決信號延遲的方案:
·選擇性能較好的CAN FD收發(fā)器和CAN FD控制器;
·使用CTM3(5)MFD磁耦隔離收發(fā)器,降低延時;
·使用標(biāo)準(zhǔn)線纜,禁止使用電話線、網(wǎng)線等線徑較小的線纜,必要時可選擇較好材質(zhì)的導(dǎo)線;
·波特率一定時,傳輸距離過大,可以添加CAN FD網(wǎng)橋,降低導(dǎo)線傳輸延時。
1.4 CAN/CANFD轉(zhuǎn)CAN/CANFD網(wǎng)橋
如圖8所示,CANFDBridge是廣州致遠(yuǎn)電子有限公司開發(fā)的高性能CAN/CANFD智能協(xié)議網(wǎng)橋,集成2路CAN/CANFD可切換接口,支持ISO標(biāo)準(zhǔn)CANFD與Bosch CANFD標(biāo)準(zhǔn)。每個接口具備獨立的2500VDC電氣隔離保護(hù)電路,使接口卡避免由于地環(huán)流的損壞,增強(qiáng)系統(tǒng)在惡劣環(huán)境中使用的可靠性。
CANFDBridge支持 CAN 轉(zhuǎn) CAN、CAN 轉(zhuǎn)CANFD、CANFD轉(zhuǎn) CAN、CANFD轉(zhuǎn)CANFD 等報文默認(rèn)轉(zhuǎn)換處理。除此之外,還提供幀映射、合并和拆分等特殊轉(zhuǎn)換處理。用戶可自由設(shè)定 CAN(FD)報文的轉(zhuǎn)發(fā)映射、組包拆包等規(guī)則,滿足自身應(yīng)用需求。
圖 8 CAN FD網(wǎng)橋
1.5 CANScope總線綜合分析儀系列
如圖9所示,CANScope總線綜合分析儀是一款綜合性的CAN總線開發(fā)與測試的專業(yè)工具,集海量存儲示波器、網(wǎng)絡(luò)分析儀、誤碼率分析儀、協(xié)議分析儀及可靠性測試工具于一身,并把各種儀器有機(jī)的整合和關(guān)聯(lián);重新定義CAN總線的開發(fā)測試方法,可對CAN網(wǎng)絡(luò)通信正確性、可靠性、合理性進(jìn)行多角度全方位的評估;幫助用戶快速定位故障節(jié)點,解決CAN總線應(yīng)用的各種問題。
圖 9 CANScope分析儀