你的位置:首頁 > RF/微波 > 正文

【經(jīng)驗(yàn)分享】如何快速解決CAN/CAN FD通訊延遲困擾?

發(fā)布時(shí)間:2020-03-23 責(zé)任編輯:lina

【導(dǎo)讀】CAN-bus總線在軌道交通、醫(yī)療設(shè)備等行業(yè)得到廣泛應(yīng)用,但工程師們經(jīng)常會(huì)遇到信號(hào)傳輸延遲的問題困擾。本文將針對(duì)傳輸延遲問題,進(jìn)行詳細(xì)分析,并給出一些可行的解決方案。
   
CAN-bus總線在軌道交通、醫(yī)療設(shè)備等行業(yè)得到廣泛應(yīng)用,但工程師們經(jīng)常會(huì)遇到信號(hào)傳輸延遲的問題困擾。本文將針對(duì)傳輸延遲問題,進(jìn)行詳細(xì)分析,并給出一些可行的解決方案。
 
由于CAN-bus總線的實(shí)時(shí)性強(qiáng)、抗干擾能力強(qiáng)等特點(diǎn),在軌道交通、汽車電子等行業(yè)得到廣泛的應(yīng)用。伴隨著技術(shù)的升級(jí)和CAN節(jié)點(diǎn)的增加,CAN協(xié)議提供的8字節(jié)數(shù)據(jù)傳輸以及最高1Mbps的波特率已經(jīng)不能滿足工程師的應(yīng)用需求。針對(duì)此現(xiàn)象,CiA協(xié)議聯(lián)合各大車廠,制定出新一代的CAN FD協(xié)議,其主要的內(nèi)容就是將一幀的數(shù)據(jù)段由8字節(jié)提升到64字節(jié),同時(shí)可以提升數(shù)據(jù)段的波特率,以縮短通訊時(shí)間。
 
在一些行業(yè)中,對(duì)實(shí)時(shí)性要求很高,例如CAN通信在軌道交通制動(dòng)系統(tǒng)中的應(yīng)用,如果CAN-bus總線通訊出現(xiàn)了延遲,會(huì)嚴(yán)重影響軌道交通安全,造成列車運(yùn)行癱瘓,甚至危及人身安全。那么,如何評(píng)估CAN網(wǎng)絡(luò)延時(shí)情況以及如何降低CAN/CAN FD通訊延遲,保證通訊穩(wěn)定呢?接下來,做詳細(xì)介紹。

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

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
 
 
推薦閱讀:
如何對(duì)單片機(jī)系統(tǒng)進(jìn)行擴(kuò)展和配置?
如何對(duì)串?dāng)_進(jìn)行仿真?
恒溫晶振與溫補(bǔ)晶振介紹,單片機(jī)為何需要晶振
學(xué)會(huì)生成LTspice模型,可以更好地提高仿真水平
電感繞組的分布電容,并非一無是處
要采購(gòu)線纜么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉