優(yōu)化CAN節(jié)點位時序以適應數(shù)字隔離器傳播延遲
控制器局域網(wǎng)(CAN)由ISO 11898標準定義,廣泛用于工業(yè)和汽車應用中。CAN協(xié)議(比如DeviceNet或CANOpen)依賴內(nèi)置的錯誤檢查和差分信號采樣。電流隔離可進一步增強魯棒性,能夠抗高壓瞬變,但會增加傳播延遲。CAN節(jié)點經(jīng)過優(yōu)化配置,哪怕存在隔離時也具有最大數(shù)據(jù)速率和傳送距離。
為什么傳播延遲很重要
傳播延遲會影響節(jié)點間的并發(fā)傳輸和仲裁。沖裁依賴于CAN信號發(fā)送;邏輯0表示“主動”(總線間的差分電壓),邏輯1表示“被動”(全部輸出為高阻抗),意味著主動位將覆蓋被動位。發(fā)射時,所有節(jié)點監(jiān)控總線;而發(fā)射被動位時則停止,從而允許另一個節(jié)點贏得仲裁(圖1中的節(jié)點A)。
圖1.兩個節(jié)點間的仲裁
傳播延遲不可過大,否則可能在其他節(jié)點傳播主動狀態(tài)之前會監(jiān)控總線狀態(tài)。對于圖2中的節(jié)點A和節(jié)點B,往返時間很關(guān)鍵;該時間等于TPropAB加TPropBA,或者等于通過電纜和收發(fā)器延遲時間的兩倍,包括隔離(如有)。相比光耦合器,數(shù)字隔離器可降低傳播延遲,但系統(tǒng)允許的總傳播延遲是固定的,因此加入隔離可能會降低最大電纜距離。
圖2.帶傳播延遲的仲裁
傳播延遲補償
若要補償隔離引起的傳播延遲,可調(diào)節(jié)特定的CAN控制器參數(shù)。首先為CAN控制器時鐘設置波特率預分頻器(BRP)值,該值定義劃分位時間的“時間量子”(TQ)。它們適用于3或4段,如圖3所示;一個用來同步,另外數(shù)個用于傳播延遲(PROP)以及相位段1和2(PS1和PS2)。PS2和總TQ表示采樣點位置。
第一步:匹配時鐘、預分頻器和數(shù)據(jù)速率
對于給定的數(shù)據(jù)速率來說,第一步是檢查如何組合時鐘和BRP,才能讓TQ等于整數(shù)。1 Mbps示例如表1所示。該例采用ADI ADSP-BF548 Blackfin微處理器,內(nèi)置CAN控制器。采用典型系統(tǒng)時鐘(fsclk)值,TQ整數(shù)值以粗體顯示(用于1 Mbps的有效時鐘/BRP組合)。
表1.用于1 Mbps的時鐘和BRP組合
第二步:位段配置
下一步是定義位段,并將采樣點設得盡可能晚。對于表1中的每一個有效選項,SYNC段必須允許有一個TQ,并且TSEG2 (PS2)段必須適應CAN控制器處理時間(只要BRP大于4,BF548就要低于1 TQ)。TSEG1 (PROP + PS1)為16 TQ(最大值)。
圖3. 1 Mbps時最大傳播延遲的可能BF548位段
第三步:計算總線長度
圖3顯示1 Mbps的盡可能最新采樣點時,ADSP-BF548的可能配置。除5 TQ總和外的所有配置均為至少85%采樣點,但10 TQ時可達最佳值,此時要求fsclk = 50 MHz且BRP = 5.
最后一步是確定最優(yōu)配置下的最大傳播延遲,并決定所選CAN收發(fā)器/隔離的可能電纜長度。對于圖4中處理器的最佳配置,可能的最大傳播延遲為900 ns.
圖4.采用ADM3053的隔離式CAN節(jié)點,集成isoPower
圖1中的ADI ADM3053集成CAN收發(fā)器、數(shù)字隔離器和隔離式電源。250 ns環(huán)路延遲包括隔離器延遲(兩個節(jié)點為500 ns)。假定電纜傳播延遲為5 ns/m,這意味著采用BF548,則總線長度可達40 m(根據(jù)ISO 11898標準的1 Mbps最大值)。
結(jié)論
隔離可增加魯棒性,但同時也會增加發(fā)送和接收兩個方向的傳播延遲,并且仲裁時針對兩個節(jié)點而加倍。為了補償延遲,可針對可能的最大傳播延遲配置CAN控制器。這樣,就有可能實現(xiàn)所需的數(shù)據(jù)速率和總線長度,哪怕是隔離節(jié)點的情況下。
評論