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