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