根據ISO 11898標準,控制器區域網路(Controller Area Network ; CAN)廣泛實現在工業與汽車應用。相關CAN協定如 DeviceNet 或 CANOpen 有賴於內建錯誤檢查機制與差動信令技術。電流隔離(Galvanic isolation)可進一步提升穩定性,以額外的傳播延遲為代價避免高壓暫態狀況。即便使用電流隔離,仍可透過最佳化CAN節點組態達到最大資料速率與距離。
傳播延遲有何影響?
傳播延遲會影響節點之間的並行傳輸與仲裁。仲裁有賴於CAN信令機制;邏輯0值為支配位元(匯流排線之間的差動電壓);邏輯1為閒置位元(全輸出高阻抗),這表示支配位元會覆寫閒置位元。資料傳輸時所有節點監控著匯流排上是否發生支配位元覆寫,而停止時傳送閒置位元意味著其它節點可贏得匯流排仲裁(如圖一,節點A所示)。
傳播延遲必不可過大,或者要在其他節點支配狀態傳輸之前得以監控匯流排狀態。如圖二,節點A與B的往返時間甚為關鍵,以TPropAB 加上 TPropBA表示,或等於通過導線與收發器延遲時間的兩倍,如果有,還包括電流隔離帶來的延遲。相較於光耦合器,數位隔離器更能降低傳播延遲。然而系統容許固定且有限的傳播延遲,是以電流隔離的配置將會減低最大導線距離。
傳播延遲補償機制
補償電流隔離造成的傳播延遲可藉由調整CAN控制器的一些特定參數達成。首先參照CAN控制器時脈設定鮑率預定標器(baud rate prescaler;BRP)之值,從而定義出時間刻段(time quantum;TQ)以分割位元時間。如圖三所示,以TQ為單位將資料分成三或四個段落,其中一TQ頭段用來同步(SYNC),若干長度用於傳播延遲(PROP)與相位段(PS1 與PS2),而PS2與總TQ指定了取樣點位置。
步驟一:匹配時脈、預定標器與資料速率
首先要在給定的資料速率條件下找出可能的時脈與BRP設定組合使得TQ為整數。如表一所示,此為ADI內建CAN控制器之ADSP-BF548 Blackfin 微處理器在1Mbps資料速率之下的時脈(fsclk)/BRP組合與對應的TQ。其中TQ為整數,而時脈與TQ以粗體字表示。
表一 : 1Mbps資料速率條件下之時脈與BRP組合 |
|
步驟二:位元段組態
接下來則是定義位元段組態,使其取樣點盡量延遲。對於表一的各種選項,SYNC段都必須具有一個TQ,而 TSEG2 (PS2)段必須適用CAN控制器處理時間(對於BF548而言小於1TQ,在BRP大於4條件下),TSEG1 (PROP + PS1)段最大為16TQ。
圖三 : 1 Mbps資料速率條件下最大傳播延遲所適用的BF548處理器位元段設定 |
|
如圖三所示,此為ADSP-BF548處理器在1Mbps條件下各種組態與其最遲取樣點。除了5TQ之外所有組態都至少達到85%取樣點,其中最佳組態是在10TQ,所適用時脈為50MHz,BRP = 5。
步驟三:計算匯流排長度
最終則是在所應用的CAN收發器與隔離器最佳組態之下確定最大的傳播延遲與決定資料線長度。如圖四所示,處理器最佳化組態可達到900ns的傳播延遲上限。
圖四 : 使用具備集成隔離電源ADM3053的隔離式區域網路節點 |
|
如圖四所示,美商亞德諾(ADI)的ADM3053 晶片整合了CAN收發器,數位隔離器與隔離電源。具備包含隔離器(節點間500 ns)的250 ns迴路延遲。假設資料線傳播延遲為5 ns/m,意味著以BF548處理器實作匯流排長度可達40公尺(此為根據 ISO 11898標準 1 Mbps條件下之最大值)。
結論
電流隔離提升了穩定性卻也造成雙向傳播延遲,又因兩個節點之仲裁而倍增。為了補償這種效應,可對CAN控制器組態加以配置以適用最大可能的傳播延遲,如此一來即使在隔離節點上也能達到令人滿意的資料速率與匯流排長度。(本文作者Conal Watterson為ADI公司資深應用工程師)