控制器局域網(wǎng)(CAN)由ISO 11898標(biāo)準(zhǔn)定義,廣泛用于工業(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中的節(jié)點(diǎn)A)。 圖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最大值)。 結(jié)論 隔離可增加魯棒性,但同時(shí)也會增加發(fā)送和接收兩個(gè)方向的傳播延遲,并且仲裁時(shí)針對兩個(gè)節(jié)點(diǎn)而加倍。 為了補(bǔ)償延遲,可針對可能的最大傳播延遲配置CAN控制器。這樣,就有可能實(shí)現(xiàn)所需的數(shù)據(jù)速率和總線長度,哪怕是隔離節(jié)點(diǎn)的情況下。 作者簡介 Conal Watterson博士是ADI公司接口與iCoupler數(shù)字隔離器部的高級應(yīng)用工程師,工作地點(diǎn)在愛爾蘭利默里克。 他于2003年獲得愛爾蘭利默里克大學(xué)(UL)計(jì)算機(jī)工程學(xué)士學(xué)位,并于2005年獲得工程碩士學(xué)位,在UL的自動化研究中心(ARC)從事現(xiàn)場總線診斷研究。 他于2010年獲得UL博士學(xué)位,并在電路與系統(tǒng)研究中心(CSRC)和電信價(jià)值鏈研究中心(CTVR)從事嵌入式軟件監(jiān)控和可靠性研究工作。 |