編者按:CAN總線廣泛應用於汽車電子、軌道交通、醫療電子等領域,保障CAN節點間穩定通信變得尤其重要。本文將介紹如何利用CAN採樣點測試方案,有效提高CAN網絡通信成功率。
一、為什麼要進行採樣點測試?
本文引用地址:http://www.eepw.com.cn/article/202004/411611.htm為了保證有效的通信,對於一個只有兩個節點的CAN網絡,其兩邊距離不超過最大的傳輸延遲和每個節點的時鐘容差能夠正確地接收和解碼每個傳輸的消息,這需要每個節點都能對每個位正確採樣。
CAN總線的每一幀可以看作一連串的電平信號。大多數設備使用單點採樣,也就是在一個位時間內從採樣點的位置讀取一個電平信號,以此確定這個「位」的顯隱性。在CAN網絡中,當每個節點的採樣點位置不一樣時,由於總線過長引起的通信延遲或現場對總線的幹擾,就容易發生讀取的電平不一致現象,產生CRC錯誤報文。為了提高CAN網絡的通信成功率,各節點的採樣點應設置一致。
二、如何計算採樣點?
在講採樣點之前,我們先了解一下位時間的相關定義。一個位時間可以看作一條水平的時間軸,一般分為四個段,如圖1:
圖1 位時間圖
● 同步段:通過此段實現時序調整,一個位的輸出從同步段開始;用於同步總線上的各個節點,跳變沿產生在此段內;通常為1Tq;
● 傳播段:用於補償信號通過網絡和節點傳播的物理延遲;傳播段長度應能保證2倍的信號在總線的延遲;其長度可編程(1-8Tq);
● 相位緩衝段1和相位緩衝段2:重同步在此段作用,用於補償細微的時鐘誤差。作用方式為加長相位緩衝段1或者縮短相位緩衝段2;
● Tq:是指一個最小時間量子,來源於對系統時鐘可編程的分頻;
● 時間段1:為了方便編程,許多CAN模塊將傳播段和相位緩衝段1合併為一個時間段(TSEG1)。
根據圖1,採樣點的計算公式如下:
公式1
公式2
Prescaler:波特率分頻係數
例:時鐘頻率為8M,Prescaler = 2,Tseg1 = 13,Tseg2 = 2;
由公式2 可得: ;
由公式1可得: ;
圖2 採樣點配置
有圖2可以看出:在同一波特率的條件下,Tseg1、Tseg2、Prescaler有不同的組合,不同的組合有不同的採樣點配置,可自行配置適合採樣點位置;
三、CANDT採樣點測試的測試原理是什麼?
連接CANDT設備和電腦後,再在電腦上打開CANDT軟體,選中「採樣點」並設置好對應的參數,然後開始測試即可進行採樣點的測試,如圖3,最終的測試結果為:84%。
圖3 CANDT測試結果
CANDT測試原理及過程如下:
1. 用CANScope發送ID 為0的報文100幀,在此報文的第一個ID位(注1[i])的0%處施加一個寬度為27%位寬(注2[ii])的幹擾(如圖4),記錄這100幀報文中出現的錯誤幀數,但由於此時距離採樣點位置較遠,暫時不會出現錯誤幀。
圖4 幹擾1
2. 27%位寬的幹擾逐漸以1%位寬的步進向右移動,在幹擾的右邊沿快靠近採樣點時(如圖5),由於通信延遲的關係,此時採到的電平和CANScope發送的不一致了,導致DUT接收到的CRC校驗和DUT計算的CRC校驗不一致,DUT就會主動發出錯誤幀,把每一個不同幹擾位置的錯誤幀數記錄下來。從此刻開始,繼續往右步進,錯誤幀數也會有所增加。
圖5 幹擾2
3. 繼續步進,當幹擾的左邊沿位置過了採樣點後(如圖6),此時DUT就不會再出現錯誤幀了。因此,最後一個出現錯誤幀的位置就是我們想要知道的採樣點位置。
圖6 幹擾3
四、注意事項
1. 確保CAN總線上的終端電阻為60Ω。當CAN總線上終端電阻為120Ω或其他值時,雖然在正常情況下可以通信,但在採樣點測試時,會對結果產生一定的偏差。
2. 採樣點測試過程中不允許DUT發送報文,因為採用的是發送100幀報文和檢測錯誤幀的方法,DUT發送報文會造成判斷的誤差,影響測試結果的準確性。
五、CAN一致性測試系統——CANDT
CANDT是基於CANScope強大的CAN總線底層測試分析基礎,配備必要的電壓源、PLC等核心外圍設備,可自動化完成汽車零部件CAN節點物理層、鏈路層及應用層測試的CAN一致性測試設備。物理層測試的目的是驗證節點及測試系統在電路設計、物理電平特性等方面的性能,就是保證節點能夠正確連入總線的基礎,其測試內容包括電阻電容特性、節點差分電阻、故障容錯測試、CAN線上的物理電平特性等等。數據鏈路層的測試目的是保證每個節點的通訊參數能夠保持一致性,所組成的網絡能夠正常有效的工作,內容包括位定時測試、採樣點測試、SJW測試等等,節點測試完成後,可自動化導出詳細CAN一致性測試報表,準確判斷節點工作情況,一目了然。
圖7 CANDT一致性測試系統
圖8 一致性測試報表
本文注釋:1注1:第一個ID位是SOF後的第一個位,幹擾此位能有效減少重同步帶來的誤差。2注2:在三點採樣的情況下,要幹擾到2個採樣點才能使幹擾生效,由圖1可得一個位時間的時間量子(Tq)最小為4個,所以2個採樣點之間的距離最大為1/4。所以保證幹擾寬度大於25%位寬即可。