由圖1可知,發(fā)送節(jié)點在發(fā)完CRC 場之后,會發(fā)出一位應(yīng)答隙,在這一位的時間內(nèi),接收節(jié)點應(yīng)該輸出顯式位作為回應(yīng),發(fā)送節(jié)點如果在應(yīng)答隙內(nèi)沒有檢測到有效的顯式位,則會判定總線錯誤,所以限制CAN 總線系統(tǒng)信號傳播延時上限的根本條件就是必須確保發(fā)送節(jié)點在應(yīng)答隙內(nèi)接收到有效的應(yīng)答信號。
為了滿足這一根本條件,以 1 Mbit/s 波特率,單點采樣模式為例,依據(jù)采樣點在設(shè)置同步段、時間段1、時間段2 內(nèi)的前后變化,當(dāng)設(shè)置為75%位寬度時(即采樣點位于距位起始的75%位寬度,為750 ns),在應(yīng)答隙要使得發(fā)送節(jié)點采集到有效的顯式位,理論上來講,必須滿足整個信號傳播延時小于750 ns。即隔離器件、總線驅(qū)動器、線纜等的延時總和小于750ns才能保證應(yīng)答有效。如圖3所示:
圖3 CAN總線延時理論分析框圖
CAN總線延時分析
首先,我們看CAN網(wǎng)絡(luò)上節(jié)點之間通信的傳播延時情況,如圖4所示,t2、t5為收發(fā)器循環(huán)延時、t3、t6為隔離延時、t4、t7為CAN控制器處理延時,t1 為線纜傳輸延時。
圖4 CAN總線信號傳輸延時
以節(jié)點A發(fā)送,節(jié)點B接收為例,從CAN報文發(fā)出開始,到接收到ACK應(yīng)答,整個應(yīng)答回路延時為T總=(t1+t2+t3+t4+t5+t6+t7)*2,期間報文經(jīng)過了4次隔離及收發(fā)器,兩次線纜,若想提高傳輸距離,需對各個環(huán)節(jié)的延時時間進行分析。
1、隔離器件延時
為了提高CAN節(jié)點的可靠性,CAN底層硬件通常會使用隔離設(shè)計。常用解決方案有采用光耦+CAN收發(fā)器,如圖5所示(6N137+TJA1051),光耦6N137具有典型的60ns單向延時,而全部雙向信號必須經(jīng)過4個光耦,總隔離延時達240ns,在位時間配置不變的情況下,大大地縮短了CAN系統(tǒng)的容許線纜長度。
圖5 光耦隔離延時
圖6 隔離收發(fā)器延時