隔離型CAN收發(fā)器的延時分析
CAN總線采用了多主競爭式總線結構,采用非破壞性仲裁技術,當兩個節(jié)點同時向總線傳輸數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響繼續(xù)傳輸數(shù)據(jù),由于這些節(jié)點對每一個位進行監(jiān)聽,并且必須服從于更高優(yōu)先級的消息,因此它們的響應時間必須快到能夠在破壞下一個比特以前終止傳輸。
以下通過實際例子對總線狀態(tài)進行分析。由于實際組網(wǎng)中,節(jié)點之間通過線纜連接,數(shù)據(jù)的發(fā)送、接收及傳輸都會有一定的延時。CAN系統(tǒng)設計時,就需要考慮延時對系統(tǒng)的影響。現(xiàn)假設一個CAN網(wǎng)絡,只有A、B兩個節(jié)點,A、B之間的總單向延時為200ns,即為A到B,或B到A的發(fā)送、傳輸及接收延時的總和。信號傳輸速率為1Mbps,即位時間為1000ns。
如圖1所示,節(jié)點A在時間t=0時開始發(fā)送一條消息,從而在總線(2)上傳輸一個顯性位。有可能出現(xiàn)的情況是,節(jié)點B剛好在節(jié)點A的信號被接收到以前(3)開始發(fā)送,也即時間t=199ns。當時間t=1000ns,節(jié)點A第二位開始之初,在節(jié)點A轉(zhuǎn)到隱性狀態(tài)以前(4)兩個節(jié)點都沒意識到對方的有效性。然后,節(jié)點B在時間t=1199ns的第二位開始之初(6),轉(zhuǎn)到隱性狀態(tài)。另一個單向延遲以后,該隱性電平才到達節(jié)點A,時間 t=1399ns(8)。只有在這時,節(jié)點A才能讀取RXD信號,并且可以確定其代表總線的真實狀態(tài)。
從分析可知,只有通過兩倍單向延時,節(jié)點A才能夠判別總線的真實狀態(tài)。由于CAN協(xié)議固有的逐位仲裁機制,這種雙向延遲必須較好地位于一個位時間預算范圍內(nèi)。否則,在第二個位仲裁完成以前,節(jié)點A就可能開始傳送其第三個位。
為保證節(jié)點每位采樣到的總線電平都是總線的真實狀態(tài),CAN的每一個位時間都定義一段時間,用于補償雙向延時,即PROP_SEG傳播段??倐鬏斞訒r必須小于PROP_SEG的設定時間,而采樣點在PROP_SEG之后,保證每個節(jié)點在對總線數(shù)據(jù)采樣以前都確實等待足夠長的時間,使采樣數(shù)據(jù)正確。(PROP_SEG為位時間配置的范疇,超出本文范圍,如需要更深入的了解,請查閱相關的文獻。)
CAN 標準規(guī)定,線纜的傳輸延遲為5ns/m,1Mbps信號速率時最大線纜長度為40m。通信速率為1Mbps,即位時間為1000ns,PROP_SEG設定為650ns時,由于線纜本身具有200ns的單向延時(即400ns的雙向延時),從而使收發(fā)器和相關電路的總延遲只剩約250ns。也就是說,如果CAN底層硬件的傳輸延時只要小于250ns,線纜長度即可達到40m。
CAN 收發(fā)器的制造商通常規(guī)定“循環(huán)延時”,其包括驅(qū)動器和接收機延遲。由于雙向計算中涉及兩個收發(fā)器,因此每個收發(fā)器都應有125ns或者更低的循環(huán)延時,以支持1Mbps信號速率下40m的總線長度。如果收發(fā)器電路包括更多的器件,如隔離、電平轉(zhuǎn)換或保護組件,這些器件產(chǎn)生的延時也必須包括在總延時預算中。
在實際使用中,為了提高CAN節(jié)點的可靠性,CAN底層硬件通常會使用隔離設計。常用解決方案有采用光耦+CAN收發(fā)器,如6N137+TJA1051,圖2;或者直接使用隔離收發(fā)器,如CTM1051KT,圖3。
若采用圖2的隔離方案,光耦6N137具有典型的60ns單向延時,而全部雙向信號必須經(jīng)過4個光耦,加上單個TJA1051約120ns的典型循環(huán)路延時,總的循環(huán)延時達到480ns。在位時間配置不變的情況下, 1Mbps速率實際只能傳輸約17m的距離,這樣大大地縮短了CAN系統(tǒng)的容許線纜長度。
而采用圖3所示的隔離方案,單個CTM1051KT的循環(huán)延時典型為130ns,與單個TJA1051的循環(huán)延時基本一致,在位時間配置不變的情況下,CTM1051KT自帶隔離基本不會對容許線纜長度造成影響,完全滿足1Mbps速率下約40m的傳輸距離。
若想從硬件底層著手,在通信速率不變的情況下,增加CAN通信的距離,必須了解CAN通信的原理及信號線傳輸?shù)脑?,盡量減小CAN信號傳輸?shù)难訒r時間,從而提高實際通信的距離。