控制器局域網(CAN)由ISO 11898標準定義,廣泛用于工業和汽車應用中。 CAN協議(比如DeviceNet或CANOpen)依賴內置的錯誤檢查和差分信號采樣。 電流隔離可進一步增強魯棒性,能夠抗高壓瞬變,但會增加傳播延遲。 CAN節點經過優化配置,哪怕存在隔離時也具有最大數據速率和傳送距離。 為什么傳播延遲很重要 傳播延遲會影響節點間的并發傳輸和仲裁。 沖裁依賴于CAN信號發送;邏輯0表示“主動”(總線間的差分電壓),邏輯1表示“被動”(全部輸出為高阻抗),意味著主動位將覆蓋被動位。 發射時,所有節點監控總線;而發射被動位時則停止,從而允許另一個節點贏得仲裁(圖1中的節點A)。 圖1. 兩個節點間的仲裁 傳播延遲不可過大,否則可能在其他節點傳播主動狀態之前會監控總線狀態。 對于圖2中的節點A和節點B,往返時間很關鍵;該時間等于TPropAB加TPropBA,或者等于通過電纜和收發器延遲時間的兩倍,包括隔離(如有)。 相比光耦合器,數字隔離器可降低傳播延遲,但系統允許的總傳播延遲是固定的,因此加入隔離可能會降低最大電纜距離。 圖2. 帶傳播延遲的仲裁 傳播延遲補償 若要補償隔離引起的傳播延遲,可調節特定的CAN控制器參數。 首先為CAN控制器時鐘設置波特率預分頻器(BRP)值,該值定義劃分位時間的“時間量子”(TQ)。 它們適用于3或4段,如圖3所示;一個用來同步,另外數個用于傳播延遲(PROP)以及相位段1和2(PS1和PS2)。 PS2和總TQ表示采樣點位置。 第一步: 匹配時鐘、預分頻器和數據速率 對于給定的數據速率來說,第一步是檢查如何組合時鐘和BRP,才能讓TQ等于整數。 1 Mbps示例如表1所示。該例采用ADI ADSP-BF548 Blackfin微處理器,內置CAN控制器。 采用典型系統時鐘(fsclk)值,TQ整數值以粗體顯示(用于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。 最后一步是確定最優配置下的最大傳播延遲,并決定所選CAN收發器/隔離的可能電纜長度。 對于圖4中處理器的最佳配置,可能的最大傳播延遲為900 ns。 圖4. 采用ADM3053的隔離式CAN節點,集成isoPower 圖1中的ADI ADM3053集成CAN收發器、數字隔離器和隔離式電源。 250 ns環路延遲包括隔離器延遲(兩個節點為500 ns)。 假定電纜傳播延遲為5 ns/m,這意味著采用BF548,則總線長度可達40 m(根據ISO 11898標準的1 Mbps最大值)。 結論 隔離可增加魯棒性,但同時也會增加發送和接收兩個方向的傳播延遲,并且仲裁時針對兩個節點而加倍。 為了補償延遲,可針對可能的最大傳播延遲配置CAN控制器。這樣,就有可能實現所需的數據速率和總線長度,哪怕是隔離節點的情況下。 作者簡介 Conal Watterson博士是ADI公司接口與iCoupler數字隔離器部的高級應用工程師,工作地點在愛爾蘭利默里克。 他于2003年獲得愛爾蘭利默里克大學(UL)計算機工程學士學位,并于2005年獲得工程碩士學位,在UL的自動化研究中心(ARC)從事現場總線診斷研究。 他于2010年獲得UL博士學位,并在電路與系統研究中心(CSRC)和電信價值鏈研究中心(CTVR)從事嵌入式軟件監控和可靠性研究工作。 |