CAN總線的最大傳輸距離與波特率、采樣點、傳輸時延之間存在什么樣的關系呢?如何理論計算出最大傳輸距離呢?本文將詳細解答這兩個問題。
延時原理分析
影響CAN通信距離的主要因素是什么呢?經(jīng)過我們實際測試長距離通信線纜帶來的寄生參數(shù)(容抗、阻抗和感抗)影響總體較小,并且可以通過調節(jié)匹配電阻削減寄生參數(shù)的影響,因此影響通信距離的主因并不是寄生參數(shù)而是另有其它。
CAN總線采用多主從通信模式,標準CAN幀報文如圖1所示可分為7段,其中ACK域分為ACK SLOT(應答間隙)和ACK DEL(應答界定符)。CAN發(fā)送節(jié)點發(fā)出的ACK域為兩個“隱性”位,當接收節(jié)點完成正確接收后,將會在ACK SLOT向發(fā)送節(jié)點發(fā)送“顯性”位以示應答。發(fā)送節(jié)點回讀到ACK SLOT呈顯性狀態(tài)時,就認為總線上進行了有效的應答。發(fā)送節(jié)點如果沒有在應答間隙內檢測到有效的顯性位,則會判斷總線應答錯誤,因此通信延時是影響通信距離的主因。整個線路傳播延時必須足夠小,以確保CAN發(fā)送節(jié)點在ACK SLOT內接收到有效的應答信號,以下討論將圍繞傳播延時展開。
圖1?CAN標準幀報文格式
CAN信號的整個傳播涉及到的延時有控制器延時、收發(fā)器和隔離延時、線纜延時,信號流向及延時框圖如圖2所示。理論上必須使整個傳播延時和Σt小于采樣點位置,否則發(fā)送節(jié)點將接收不到正確的顯性(Vdiff>0.9V)應答信號,導致通信異常,CAN總線顯性應答延時說明如圖3所示。
圖2?CAN總線信號流向及延時框圖
圖3?CAN總線顯性應答延時說明簡易圖
? 理論計算
通過上述原理分析,我們得出只有滿足關系式Ts≥2*(t1+t2+t3),t3=L線長*(Cable delay),通信才能成功,將關系式進行轉換L線長≤(Ts-2*t1-2*t2)/2*(Cable delay)。
經(jīng)過我們實際測試我司的?CSM330A?的收發(fā)器和隔離延時t2=140ns,控制器延時t1=50ns,CSM330A在1M CAN波特率采樣位置為75%*1us=750ns,實測RVSP通信線纜每米延時Cable delay=5.5ns。將數(shù)值帶入上述關系式中得出CSM330A 在1M波特率下通信線長滿足L線長≤33.6m。
現(xiàn)場測試
如何延長通信距離
視頻中有延長通信距離方案,本文做簡要概述。如圖4所示為1M CAN協(xié)議傳輸距離簡圖,接入1個用CSM330A方案搭建的CAN_Repeater,通信距離可延長至66m如圖5所示,接入n個CAN_Repeater后通信距離可延長至(n+1)*33m。
圖4?1Mbps的CAN傳輸距離簡圖
圖5?接入1個CAN_Repeater后傳輸距離簡圖
? 總結
-
- 得知各部分延時和采樣位置后,我們可以通過關系式L線長≤(Ts-2*t1-2*t2)/2*(Cable delay)預估出來不同CAN波特率下的最大傳輸距離;
例如:波特率為10kbps,采樣點在80%的CSM330A傳輸?shù)睦碚摼嚯x為L線長≤(80000-280-100)/2*5.5≈7.2km。
通過CSM330A搭建的CAN中繼模組有效延長通信距離,該中繼模組穩(wěn)定可靠、成本低、開發(fā)周期短,CAN_Repeater配套工程文檔可在ZLG致遠電子公眾號上回復”CSM330A"獲取。