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