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