摘要:本文對基于雙絞線的CAN
總線特性進行了歸納和分析,論述了在CAN 總線物理層用光纖替代雙絞線實現CAN 總線通信的原理,重點對基于集線器的單光纖CAN 總線網絡構型進行了研究和探索,提出了一種基于集線器的單光纖CAN總線網絡通信技術,并構建了網絡模型進行了有關的性能測試和驗證。
關鍵字:光纖;CAN 總線;光模塊;集線器;電磁干擾
1. 引言
CAN 控制器局域網(Controller Area Network)起源于德國Bosch 公司,由于其獨特的多主非破壞逐位仲裁機制、高可靠的數據傳輸、良好的開放性、較高的性價比、國際范圍的標準化和廣泛的器件來源,迅速在眾多工業自動化領域得到了廣泛應用,成為發展最快、最具前途的現場總線之一。
CAN 總線作為一種應用越來越廣泛的現場總線,一直以來都是采用金屬雙絞屏蔽線作為組網傳輸介質,盡管采用差分方式傳輸的CAN 總線已經具有較好的抗干擾能力,但是,對于一些特殊場合,如:電磁環境惡劣、高電壓、強磁場等應用場合,金屬雙絞屏蔽線的CAN 網絡就無法適應了。近年來,隨著光纖通信技術的快速發展,光纖作為新興的信息傳輸介質,具有獨特的免電磁干擾特性和抗惡劣環境、不輻射電磁波、不導電的優良品質。因此,本文在分析了雙絞線CAN 總線特性的基礎上,提出一種新型的光纖CAN 總線接口和網絡構型,以促進光纖CAN 總線技術的發展和應用。
2. 金屬雙絞線CAN總線接口特性分析
典型的金屬雙絞線CAN 總線接口電路如圖1所示。
圖1 典型的金屬雙絞線CAN 總線接口電路
收發器PCA82C250 是設備中CAN 總線控制器SJA1000 和外部雙絞屏蔽線CAN 總線網絡之間的接口。它向總線提供差分驅動,它的主要功能是將CAN 總線控制器TX0 端輸出信號的TTL 電平變換為CAN 總線上的“隱性”(邏輯“1”)或“顯性”(邏輯“0”);并將CAN 總線上的邏輯電平變換為CAN總線控制器可以識別的TTL 電平,從RX0 端輸入。其真值表見表1。

收發器發送/接收數據的原理詳見參考文獻[1]。除了上述收發器的功能之外,CAN 總線接口還具有下列重要特性。
1)“線與”功能:當TXD=‘1’發送“隱性”電平時,驅動器使PNP 管和NPN 管截止,總線的狀態由其它節點的輸出狀態決定,只有當總線上所有節點都輸出“隱性”位時,總線狀態才為“隱性”;否則,只要有一個節點發送“顯性”位,網線CANH 被鉗位在高電平,CANL被鉗位在低電平,則此時網絡狀態必為“顯性”位。故收發器RXD 端的信號是所有節點TXD信號“相與”邏輯運算的結果;
2)“在線監聽”功能:控制器從TX0 端發出的信號,通過收發器在總線上“線與”后,從RXD輸出給控制器RX0 端接收,實現總線的“在線監聽”功能;
3)節點故障保護功能:當某個節點故障時,CAN總線控制器可能連續發送“顯性”位“霸占”總線,造成系統癱瘓,此時,收發器中的保護電路將自動將本節點斷開;
4)非破壞逐位競爭總線仲裁機制:該機制是利用CAN 控制器的“在線監聽”和收發器的硬件“線與”功能,當多個節點發生競爭,逐位同時向網絡發送報文標識符時,如果控制器發送出去的位值和“在線監聽”讀回的位值一致,則繼續發送下一位參與競爭;如果發送出去的位值和“在線監聽”讀回的位值不一致,即本節點優先級低(數值大,該位值為1,即隱性),則控制器判定本節點退出競爭。
3. 總體設計
3.1. 系統構型
目前,已經研究和開發出來的光纖CAN 總線網絡主要有總線型、環形和星型等網絡構型,且基本采用雙光纖分別實現信號的收/發功能。本文提出了一種新型的基于集線器形式的單光纖CAN 總線網絡,屬于星型網絡構型,采用點對點方式通信。
3.2. 光纖物理層定義
本研究在CAN 總線網絡的物理層保留了CAN控制器,重新設計網絡物理層,以收/發一體化的光模塊替代CAN 收發器,以波分復用的單光纖替代金屬雙絞屏蔽線,收/發采用不同波長的光波進行信息傳輸,并保證網絡物理層之上完全符合CAN 總線標準的定義。
3.3. “顯性”和“隱性”位定義
本研究中“顯性”和“隱性”位定義為:光纖中有光信號傳輸時表示“顯性”位,無光時表示“隱性”位。
在CAN 控制器(如:SJA1000)的發送端TX0和接收端RX0 處,仍然保持現有的定義不變:邏輯“0”定義為“顯性”電平;邏輯“1”定義為“隱性”電平。
3.4. 非破壞總線仲裁機制設計
CAN 總線網絡的非破壞總線仲裁機制之所以能夠實現的一個重要特性就是收發器硬件的“線與”功能。本研究采用復雜可編程
邏輯器件CPLD 的“邏輯與”來實現。只要確保CAN 總線控制器TX0 和RX0 端的信號特征不變,非破壞逐位競爭的總線仲裁機制就可以實現,并且CAN 總線網絡的數據鏈路層以上均保持不變。
3.5. 收發器容錯機制設計
在雙絞線CAN 總線中,CAN 收發器具有故障節點自動關閉功能。即當CAN 控制器硬件故障,長期發送“顯性”位時,CAN 收發器自動關閉本節點。在光纖CAN 總線網絡中,該功能由集線器CPLD 中的邏輯來實現。
3.6. 光路設計要素
3.6.1. 收/發一體化光模塊
CAN 總線通訊時,總線上傳輸的是直流信號,因此,必須采用能夠傳輸直流的光模塊。目前能傳輸基帶信號的收發一體模塊的最高帶寬為10MHz,本研究選2MHz。該模塊通過TTL 電平與CAN 控制器接口,并采用波分復用(WDM)技術將收/發光波耦合到一根光纖中,從而實現單纖雙向通信。
本研究特別定制了以下兩種:
FC 型光模塊(FC 型連接器):發送波長=1310nm;接收波長=1550nm;
SC 型光模塊(SC 型連接器):發送波長=1550nm;接收波長=1310nm。
3.6.2. 光纖和通信窗口
由于本研究應用環境的CAN 總線長度只有幾十米,總線速率不超過1Mbps,故選用對光源技術要求較低、衰減較小(功耗低)和芯徑較粗(可靠性較高)的玻璃多模光纖。
多模玻璃光纖主要有850nm、1310nm 和1550nm三個通信窗口。兩個節點間選用某個波長作為發射窗口、另一個波長作為窗口則可實現單根光纖上的雙向通信。本研究中采用1550nm 和1310nm 兩個窗口實現雙向通信。
4. 技術方案
4.1. 光纖接口物理層設計
典型的光路組成如圖2 所示。
圖2 光纖接口連接框圖
FC 型收發一體化光模塊由光電子器件、功能電路和光接口等組成。光電子器件包括發射和接收兩部分。發射部分:輸入一定碼率的電信號經內部的驅動芯片處理后驅動發光二極管(LED)發射出相應速率的調制光信號,其內部帶有光功率自動控制電路,使輸出的光信號功率保持穩定。接收部分:一定碼率的光信號輸入光模塊后由光探測二極管轉換為電信號,經前置放大器后輸出相應碼率的電信號。發送和接收光波通過FC 光纖連接器進入光纖。集線器中采用SC 型收發一體化光模塊完成光/電和電/光的轉換,其輸出端TD 和輸入端RD 直接與CPLD 連接。
FC 型和SC 型收發一體化光模塊的收/發光波波長對應互置,共享一根光纖,互不干擾。如:FC 型光模塊的發送波長為1310nm,則SC 型光模塊的接收波長就是1310nm。
4.2. 系統的組成
如圖3 所示,本研究采用以光纖CAN 總線集線器為中心的星型網絡構型,集線器通過單光纖與N個節點連接。在節點中保留CAN 總線控制器,舍棄了雙絞線網絡中的收發器和雙絞線,代之以收/發一體化光模塊和單根光纖進行信號的轉換和傳輸,詳見圖2。總線集線器是實現CAN 總線網絡“線與”功能的關鍵設備,集線器以CPLD 為核心,各節點發送的信號RX(1)~RX(n)相與后,通過TX(1)~TX(n) 同時回傳給各節點,從而實現光纖CAN 總線網絡“線與”功能。
圖3 基于集線器的單光纖CAN 總線網絡構型
4.3. 工作原理
如圖2 和圖3 所示,1#節點CAN 總線控制器的數據發送端TX0 將報文標識符逐位發送給反向器,“顯性”為“0”,“隱性”為“1”;經過反向器后,“顯性”為“1”,“隱性”為“0”;FC 型光模塊的TD 端接收“1”時,LED 發送波長為1310nm 的光波,接收“0”時,不發光,因此,經過光模塊后,光纖中有光表示“顯性”,無光表示“隱性”。
光波通過光纖到達光纖CAN 總線集線器,經過SC 型光纖連接器進入SC 型光模塊,經過光/電轉換后,以電信號形式從SC 型光模塊的RD 端輸出,此時,信號“顯性”為“1”,“隱性”為“0”;此信號通過CPLD 的1#光口的RX(1)進入CPLD,各節點發送的信號RX(1)~RX(n)按照下列公式進行邏輯運算:
TX(1),… , TX(n)=RX(1) & RX(2) & … & RX(n-1) & RX(n)
其含義是將輸入到CPLD 中的n 個輸入信號RX(1),RX(2)…RX(n-1),RX(n)全部相“與”后,再送回n 個輸出TX(1),TX(2)…TX(n-1),TX(n),從而,采用CPLD 邏輯“與”實現了雙絞線的“線與”功能。
“相與”后的信號通過CPLD 的TX(1)端發送給SC 型光模塊的TD 端,SC 型光模塊的TD 端接收“1”時,LED 發送波長為1550nm 的光波,接收“0”時,不發光,此時,光纖中有光表示“顯性”,無光表示“隱性”。
光波通過光纖到達1#節點,經過FC 型光纖連接器返回FC 型光模塊,經過光/電轉換后,以電信號形式從FC 型光模塊的RD 端輸出,此時,信號“顯”為“1”,“隱性”為“0”;此信號通過反向器反向后,信號特性變為“顯性”為“0”,“隱性”為“1”,此信號送入SJA1000 的RX0 端被控制器采集,并進行仲裁。
仲裁原理:如果1#節點的CAN 總線控制器TX0 端發送出去的狀態位值與此時RX0 端收到的位值不一致,則該節點退出競爭;反之,如果一致,則該節點繼續發送下一位參與競爭,直至最后勝出,取得總線控制權。
5. 系統建模與測試
基于上述方案,我們建立了兩套系統模型,兩套系統模型都是基于光纖CAN 總線集線器的網絡模型,只是節點機不同,一個系統的節點機為單片機節點機,另一個是對現有
工控機的CAN 總線板卡進行光纖化改進,在已有雙絞線系統中直接替換物理層。系統規模為8 個節點機,光纖長度為10m。
在此模型上,進行了收/發一體化光模塊的轉換延時、總線通信速率和報文丟失率(近似誤碼率)等方面的簡單測試,測試情況見表2。

6. 結論
通過上述研究和測試,可以得出以下幾個方面的結論:
1) 本技術方案符合CAN 總線標準對物理層信號傳輸特性的要求,能夠在不改變頂層協議的前提下,實現CAN 總線特有的多主非破壞逐位競爭機制;
2) 星型網絡拓撲結構相對于光纖環網構型,本研究光/電和電/光轉換環節少,在同樣光纖長度條件下,本技術方案可實現較高的通信速率;
3) 采用集線器組網方式,只需增加集線器的端口數,就可以擴展CAN 總線網絡的規模,且無總線負載匹配問題,故不會影響網絡可達到的最高通信速率;
4) 采用基于波分復用雙向信息傳輸技術的收/發一體化光模塊單光纖連接方式,簡化了系統的構型,減少了配置,便于組成更為復雜的系統網絡;
5) 光纖CAN 總線網絡具有免電磁干擾能力,極大地提高了CAN 總線網絡在惡劣電磁環境中的生存力、安全性和可靠性;消除了雙絞線網絡信號衰減和收發器負載能力差的固有缺陷,便于擴大網絡規模(節點數量)和提高通信速率。
參考文獻
[1] 《現場總線CAN 原理與應用技術》饒運濤等著(e