根據(jù)ISO 11898標(biāo)準(zhǔn),控制器區(qū)域網(wǎng)路(Controller Area Network ; CAN)廣泛實(shí)現(xiàn)在工業(yè)與汽車(chē)應(yīng)用。相關(guān)CAN協(xié)定如 DeviceNet 或 CANOpen 有賴(lài)於內(nèi)建錯(cuò)誤檢查機(jī)制與差動(dòng)信令技術(shù)。電流隔離(Galvanic isolation)可進(jìn)一步提升穩(wěn)定性,以額外的傳播延遲為代價(jià)避免高壓暫態(tài)狀況。即便使用電流隔離,仍可透過(guò)最佳化CAN節(jié)點(diǎn)組態(tài)達(dá)到最大資料速率與距離。
傳播延遲有何影響?
傳播延遲會(huì)影響節(jié)點(diǎn)之間的並行傳輸與仲裁。仲裁有賴(lài)於CAN信令機(jī)制;邏輯0值為支配位元(匯流排線之間的差動(dòng)電壓);邏輯1為閒置位元(全輸出高阻抗),這表示支配位元會(huì)覆寫(xiě)閒置位元。資料傳輸時(shí)所有節(jié)點(diǎn)監(jiān)控著匯流排上是否發(fā)生支配位元覆寫(xiě),而停止時(shí)傳送閒置位元意味著其它節(jié)點(diǎn)可贏得匯流排仲裁(如圖一,節(jié)點(diǎn)A所示)。
傳播延遲必不可過(guò)大,或者要在其他節(jié)點(diǎn)支配狀態(tài)傳輸之前得以監(jiān)控匯流排狀態(tài)。如圖二,節(jié)點(diǎn)A與B的往返時(shí)間甚為關(guān)鍵,以TPropAB 加上 TPropBA表示,或等於通過(guò)導(dǎo)線與收發(fā)器延遲時(shí)間的兩倍,如果有,還包括電流隔離帶來(lái)的延遲。相較於光耦合器,數(shù)位隔離器更能降低傳播延遲。然而系統(tǒng)容許固定且有限的傳播延遲,是以電流隔離的配置將會(huì)減低最大導(dǎo)線距離。
傳播延遲補(bǔ)償機(jī)制
補(bǔ)償電流隔離造成的傳播延遲可藉由調(diào)整CAN控制器的一些特定參數(shù)達(dá)成。首先參照CAN控制器時(shí)脈設(shè)定鮑率預(yù)定標(biāo)器(baud rate prescaler;BRP)之值,從而定義出時(shí)間刻段(time quantum;TQ)以分割位元時(shí)間。如圖三所示,以TQ為單位將資料分成三或四個(gè)段落,其中一TQ頭段用來(lái)同步(SYNC),若干長(zhǎng)度用於傳播延遲(PROP)與相位段(PS1 與PS2),而PS2與總TQ指定了取樣點(diǎn)位置。
步驟一:匹配時(shí)脈、預(yù)定標(biāo)器與資料速率
首先要在給定的資料速率條件下找出可能的時(shí)脈與BRP設(shè)定組合使得TQ為整數(shù)。如表一所示,此為ADI內(nèi)建CAN控制器之ADSP-BF548 Blackfin 微處理器在1Mbps資料速率之下的時(shí)脈(fsclk)/BRP組合與對(duì)應(yīng)的TQ。其中TQ為整數(shù),而時(shí)脈與TQ以粗體字表示。

表一 : 1Mbps資料速率條件下之時(shí)脈與BRP組合 |
|
步驟二:位元段組態(tài)
接下來(lái)則是定義位元段組態(tài),使其取樣點(diǎn)盡量延遲。對(duì)於表一的各種選項(xiàng),SYNC段都必須具有一個(gè)TQ,而 TSEG2 (PS2)段必須適用CAN控制器處理時(shí)間(對(duì)於BF548而言小於1TQ,在BRP大於4條件下),TSEG1 (PROP + PS1)段最大為16TQ。

圖三 : 1 Mbps資料速率條件下最大傳播延遲所適用的BF548處理器位元段設(shè)定 |
|
如圖三所示,此為ADSP-BF548處理器在1Mbps條件下各種組態(tài)與其最遲取樣點(diǎn)。除了5TQ之外所有組態(tài)都至少達(dá)到85%取樣點(diǎn),其中最佳組態(tài)是在10TQ,所適用時(shí)脈為50MHz,BRP = 5。
步驟三:計(jì)算匯流排長(zhǎng)度
最終則是在所應(yīng)用的CAN收發(fā)器與隔離器最佳組態(tài)之下確定最大的傳播延遲與決定資料線長(zhǎng)度。如圖四所示,處理器最佳化組態(tài)可達(dá)到900ns的傳播延遲上限。

圖四 : 使用具備集成隔離電源ADM3053的隔離式區(qū)域網(wǎng)路節(jié)點(diǎn) |
|
如圖四所示,美商亞德諾(ADI)的ADM3053 晶片整合了CAN收發(fā)器,數(shù)位隔離器與隔離電源。具備包含隔離器(節(jié)點(diǎn)間500 ns)的250 ns迴路延遲。假設(shè)資料線傳播延遲為5 ns/m,意味著以BF548處理器實(shí)作匯流排長(zhǎng)度可達(dá)40公尺(此為根據(jù) ISO 11898標(biāo)準(zhǔn) 1 Mbps條件下之最大值)。
結(jié)論
電流隔離提升了穩(wěn)定性卻也造成雙向傳播延遲,又因兩個(gè)節(jié)點(diǎn)之仲裁而倍增。為了補(bǔ)償這種效應(yīng),可對(duì)CAN控制器組態(tài)加以配置以適用最大可能的傳播延遲,如此一來(lái)即使在隔離節(jié)點(diǎn)上也能達(dá)到令人滿意的資料速率與匯流排長(zhǎng)度。(本文作者Conal Watterson為ADI公司資深應(yīng)用工程師)