1. 引言
CAN 控制器局域網(wǎng)(Controller Area Network)起源于德國Bosch 公司,由于其獨(dú)特的多主非破壞逐位仲裁機(jī)制、高可靠的數(shù)據(jù)傳輸、良好的開放性、較高的性價(jià)比、國際范圍的標(biāo)準(zhǔn)化和廣泛的器件來源,迅速在眾多工業(yè)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用,成為發(fā)展最快、最具前途的現(xiàn)場總線之一。
CAN 總線作為一種應(yīng)用越來越廣泛的現(xiàn)場總線,一直以來都是采用金屬雙絞屏蔽線作為組網(wǎng)傳輸介質(zhì),盡管采用差分方式傳輸?shù)腃AN 總線已經(jīng)具有較好的抗干擾能力,但是,對(duì)于一些特殊場合,如:電磁環(huán)境惡劣、高電壓、強(qiáng)磁場等應(yīng)用場合,金屬雙絞屏蔽線的CAN 網(wǎng)絡(luò)就無法適應(yīng)了。近年來,隨著光纖通信技術(shù)的快速發(fā)展,光纖作為新興的信息傳輸介質(zhì),具有獨(dú)特的免電磁干擾特性和抗惡劣環(huán)境、不輻射電磁波、不導(dǎo)電的優(yōu)良品質(zhì)。因此,本文在分析了雙絞線CAN 總線特性的基礎(chǔ)上,提出一種新型的光纖CAN 總線接口和網(wǎng)絡(luò)構(gòu)型,以促進(jìn)光纖CAN 總線技術(shù)的發(fā)展和應(yīng)用。
2. 金屬雙絞線CAN總線接口特性分析
典型的金屬雙絞線CAN 總線接口電路如圖1所示。

圖1 典型的金屬雙絞線CAN 總線接口電路
收發(fā)器PCA82C250 是設(shè)備中CAN 總線控制器SJA1000 和外部雙絞屏蔽線CAN 總線網(wǎng)絡(luò)之間的接口。它向總線提供差分驅(qū)動(dòng),它的主要功能是將CAN 總線控制器TX0 端輸出信號(hào)的TTL 電平變換為CAN 總線上的“隱性”(邏輯“1”)或“顯性”(邏輯“0”);并將CAN 總線上的邏輯電平變換為CAN總線控制器可以識(shí)別的TTL 電平,從RX0 端輸入。
收發(fā)器發(fā)送/接收數(shù)據(jù)的原理詳見參考文獻(xiàn)[1]。除了上述收發(fā)器的功能之外,CAN 總線接口還具有下列重要特性。
1)“線與”功能:當(dāng)TXD=‘1’發(fā)送“隱性”電平時(shí),驅(qū)動(dòng)器使PNP 管和NPN 管截止,總線的狀態(tài)由其它節(jié)點(diǎn)的輸出狀態(tài)決定,只有當(dāng)總線上所有節(jié)點(diǎn)都輸出“隱性”位時(shí),總線狀態(tài)才為“隱性”;否則,只要有一個(gè)節(jié)點(diǎn)發(fā)送“顯性”位,網(wǎng)線CANH 被鉗位在高電平,CANL被鉗位在低電平,則此時(shí)網(wǎng)絡(luò)狀態(tài)必為“顯性”位。故收發(fā)器RXD 端的信號(hào)是所有節(jié)點(diǎn)TXD信號(hào)“相與”邏輯運(yùn)算的結(jié)果;
2)“在線監(jiān)聽”功能:控制器從TX0 端發(fā)出的信號(hào),通過收發(fā)器在總線上“線與”后,從RXD輸出給控制器RX0 端接收,實(shí)現(xiàn)總線的“在線監(jiān)聽”功能;
3)節(jié)點(diǎn)故障保護(hù)功能:當(dāng)某個(gè)節(jié)點(diǎn)故障時(shí),CAN總線控制器可能連續(xù)發(fā)送“顯性”位“霸占”總線,造成系統(tǒng)癱瘓,此時(shí),收發(fā)器中的保護(hù)電路將自動(dòng)將本節(jié)點(diǎn)斷開;
4)非破壞逐位競爭總線仲裁機(jī)制:該機(jī)制是利用CAN 控制器的“在線監(jiān)聽”和收發(fā)器的硬件“線與”功能,當(dāng)多個(gè)節(jié)點(diǎn)發(fā)生競爭,逐位同時(shí)向網(wǎng)絡(luò)發(fā)送報(bào)文標(biāo)識(shí)符時(shí),如果控制器發(fā)送出去的位值和“在線監(jiān)聽”讀回的位值一致,則繼續(xù)發(fā)送下一位參與競爭;如果發(fā)送出去的位值和“在線監(jiān)聽”讀回的位值不一致,即本節(jié)點(diǎn)優(yōu)先級(jí)低(數(shù)值大,該位值為1,即隱性),則控制器判定本節(jié)點(diǎn)退出競爭。
3. 總體設(shè)計(jì)
3.1. 系統(tǒng)構(gòu)型
目前,已經(jīng)研究和開發(fā)出來的光纖CAN 總線網(wǎng)絡(luò)主要有總線型、環(huán)形和星型等網(wǎng)絡(luò)構(gòu)型,且基本采用雙光纖分別實(shí)現(xiàn)信號(hào)的收/發(fā)功能。本文提出了一種新型的基于集線器形式的單光纖CAN 總線網(wǎng)絡(luò),屬于星型網(wǎng)絡(luò)構(gòu)型,采用點(diǎn)對(duì)點(diǎn)方式通信。
3.2. 光纖物理層定義
本研究在CAN 總線網(wǎng)絡(luò)的物理層保留了CAN控制器,重新設(shè)計(jì)網(wǎng)絡(luò)物理層,以收/發(fā)一體化的光模塊替代CAN 收發(fā)器,以波分復(fù)用的單光纖替代金屬雙絞屏蔽線,收/發(fā)采用不同波長的光波進(jìn)行信息傳輸,并保證網(wǎng)絡(luò)物理層之上完全符合CAN 總線標(biāo)準(zhǔn)的定義。
3.3. “顯性”和“隱性”位定義
本研究中“顯性”和“隱性”位定義為:光纖中有光信號(hào)傳輸時(shí)表示“顯性”位,無光時(shí)表示“隱性”位。
在CAN 控制器(如:SJA1000)的發(fā)送端TX0和接收端RX0 處,仍然保持現(xiàn)有的定義不變:邏輯“0”定義為“顯性”電平;邏輯“1”定義為“隱性”電平。
3.4. 非破壞總線仲裁機(jī)制設(shè)計(jì)
CAN 總線網(wǎng)絡(luò)的非破壞總線仲裁機(jī)制之所以能夠?qū)崿F(xiàn)的一個(gè)重要特性就是收發(fā)器硬件的“線與”功能。本研究采用復(fù)雜可編程邏輯器件CPLD 的“邏輯與”來實(shí)現(xiàn)。只要確保CAN 總線控制器TX0 和RX0 端的信號(hào)特征不變,非破壞逐位競爭的總線仲裁機(jī)制就可以實(shí)現(xiàn),并且CAN 總線網(wǎng)絡(luò)的數(shù)據(jù)鏈路層以上均保持不變。
3.5. 收發(fā)器容錯(cuò)機(jī)制設(shè)計(jì)
在雙絞線CAN 總線中,CAN 收發(fā)器具有故障節(jié)點(diǎn)自動(dòng)關(guān)閉功能。即當(dāng)CAN 控制器硬件故障,長期發(fā)送“顯性”位時(shí),CAN 收發(fā)器自動(dòng)關(guān)閉本節(jié)點(diǎn)。在光纖CAN 總線網(wǎng)絡(luò)中,該功能由集線器CPLD 中的邏輯來實(shí)現(xiàn)。
3.6. 光路設(shè)計(jì)要素
3.6.1. 收/發(fā)一體化光模塊
CAN 總線通訊時(shí),總線上傳輸?shù)氖侵绷餍盘?hào),因此,必須采用能夠傳輸直流的光模塊。目前能傳輸基帶信號(hào)的收發(fā)一體模塊的最高帶寬為10MHz,本研究選2MHz。該模塊通過TTL 電平與CAN 控制器接口,并采用波分復(fù)用(WDM)技術(shù)將收/發(fā)光波耦合到一根光纖中,從而實(shí)現(xiàn)單纖雙向通信。
本研究特別定制了以下兩種:
FC 型光模塊(FC 型連接器):發(fā)送波長=1310nm;接收波長=1550nm;
SC 型光模塊(SC 型連接器):發(fā)送波長=1550nm;接收波長=1310nm。
3.6.2. 光纖和通信窗口
由于本研究應(yīng)用環(huán)境的CAN 總線長度只有幾十米,總線速率不超過1Mbps,故選用對(duì)光源技術(shù)要求較低、衰減較小(功耗低)和芯徑較粗(可靠性較高)的玻璃多模光纖。
多模玻璃光纖主要有850nm、1310nm 和1550nm三個(gè)通信窗口。兩個(gè)節(jié)點(diǎn)間選用某個(gè)波長作為發(fā)射窗口、另一個(gè)波長作為窗口則可實(shí)現(xiàn)單根光纖上的雙向通信。本研究中采用1550nm 和1310nm 兩個(gè)窗口實(shí)現(xiàn)雙向通信。
4. 技術(shù)方案
4.1. 光纖接口物理層設(shè)計(jì)
典型的光路組成如圖2 所示。

圖2 光纖接口連接框圖
FC 型收發(fā)一體化光模塊由光電子器件、功能電路和光接口等組成。光電子器件包括發(fā)射和接收兩部分。發(fā)射部分:輸入一定碼率的電信號(hào)經(jīng)內(nèi)部的驅(qū)動(dòng)芯片處理后驅(qū)動(dòng)發(fā)光二極管(LED)發(fā)射出相應(yīng)速率的調(diào)制光信號(hào),其內(nèi)部帶有光功率自動(dòng)控制電路,使輸出的光信號(hào)功率保持穩(wěn)定。接收部分:一定碼率的光信號(hào)輸入光模塊后由光探測(cè)二極管轉(zhuǎn)換為電信號(hào),經(jīng)前置放大器后輸出相應(yīng)碼率的電信號(hào)。發(fā)送和接收光波通過FC 光纖連接器進(jìn)入光纖。集線器中采用SC 型收發(fā)一體化光模塊完成光/電和電/光的轉(zhuǎn)換,其輸出端TD 和輸入端RD 直接與CPLD 連接。
FC 型和SC 型收發(fā)一體化光模塊的收/發(fā)光波波長對(duì)應(yīng)互置,共享一根光纖,互不干擾。如:FC 型光模塊的發(fā)送波長為1310nm,則SC 型光模塊的接收波長就是1310nm。
4.2. 系統(tǒng)的組成
本研究采用以光纖CAN 總線集線器為中心的星型網(wǎng)絡(luò)構(gòu)型,集線器通過單光纖與N個(gè)節(jié)點(diǎn)連接。在節(jié)點(diǎn)中保留CAN 總線控制器,舍棄了雙絞線網(wǎng)絡(luò)中的收發(fā)器和雙絞線,代之以收/發(fā)一體化光模塊和單根光纖進(jìn)行信號(hào)的轉(zhuǎn)換和傳輸,詳見圖2??偩€集線器是實(shí)現(xiàn)CAN 總線網(wǎng)絡(luò)“線與”功能的關(guān)鍵設(shè)備,集線器以CPLD 為核心,各節(jié)點(diǎn)發(fā)送的信號(hào)RX(1)~RX(n)相與后,通過TX(1)~TX(n) 同時(shí)回傳給各節(jié)點(diǎn),從而實(shí)現(xiàn)光纖CAN 總線網(wǎng)絡(luò)“線與”功能。
4.3. 工作原理
如圖2 和圖3 所示,1#節(jié)點(diǎn)CAN 總線控制器的數(shù)據(jù)發(fā)送端TX0 將報(bào)文標(biāo)識(shí)符逐位發(fā)送給反向器,“顯性”為“0”,“隱性”為“1”;經(jīng)過反向器后,“顯性”為“1”,“隱性”為“0”;FC 型光模塊的TD 端接收“1”時(shí),LED 發(fā)送波長為1310nm 的光波,接收“0”時(shí),不發(fā)光,因此,經(jīng)過光模塊后,光纖中有光表示“顯性”,無光表示“隱性”。
光波通過光纖到達(dá)光纖CAN 總線集線器,經(jīng)過SC 型光纖連接器進(jìn)入SC 型光模塊,經(jīng)過光/電轉(zhuǎn)換后,以電信號(hào)形式從SC 型光模塊的RD 端輸出,此時(shí),信號(hào)“顯性”為“1”,“隱性”為“0”;此信號(hào)通過CPLD 的1#光口的RX(1)進(jìn)入CPLD,各節(jié)點(diǎn)發(fā)送的信號(hào)RX(1)~RX(n)按照下列公式進(jìn)行邏輯運(yùn)算:
TX(1),… , TX(n)=RX(1) & RX(2) & … & RX(n-1) & RX(n)
其含義是將輸入到CPLD 中的n 個(gè)輸入信號(hào)RX(1),RX(2)…RX(n-1),RX(n)全部相“與”后,再送回n 個(gè)輸出TX(1),TX(2)…TX(n-1),TX(n),從而,采用CPLD 邏輯“與”實(shí)現(xiàn)了雙絞線的“線與”功能。
“相與”后的信號(hào)通過CPLD 的TX(1)端發(fā)送給SC 型光模塊的TD 端,SC 型光模塊的TD 端接收“1”時(shí),LED 發(fā)送波長為1550nm 的光波,接收“0”時(shí),不發(fā)光,此時(shí),光纖中有光表示“顯性”,無光表示“隱性”。
光波通過光纖到達(dá)1#節(jié)點(diǎn),經(jīng)過FC 型光纖連接器返回FC 型光模塊,經(jīng)過光/電轉(zhuǎn)換后,以電信號(hào)形式從FC 型光模塊的RD 端輸出,此時(shí),信號(hào)“顯”為“1”,“隱性”為“0”;此信號(hào)通過反向器反向后,信號(hào)特性變?yōu)椤帮@性”為“0”,“隱性”為“1”,此信號(hào)送入SJA1000 的RX0 端被控制器采集,并進(jìn)行仲裁。
仲裁原理:如果1#節(jié)點(diǎn)的CAN 總線控制器TX0 端發(fā)送出去的狀態(tài)位值與此時(shí)RX0 端收到的位值不一致,則該節(jié)點(diǎn)退出競爭;反之,如果一致,則該節(jié)點(diǎn)繼續(xù)發(fā)送下一位參與競爭,直至最后勝出,取得總線控制權(quán)。
5. 系統(tǒng)建模與測(cè)試
基于上述方案,我們建立了兩套系統(tǒng)模型,兩套系統(tǒng)模型都是基于光纖CAN 總線集線器的網(wǎng)絡(luò)模型,只是節(jié)點(diǎn)機(jī)不同,一個(gè)系統(tǒng)的節(jié)點(diǎn)機(jī)為單片機(jī)節(jié)點(diǎn)機(jī),另一個(gè)是對(duì)現(xiàn)有工控機(jī)的CAN 總線板卡進(jìn)行光纖化改進(jìn),在已有雙絞線系統(tǒng)中直接替換物理層。系統(tǒng)規(guī)模為8 個(gè)節(jié)點(diǎn)機(jī),光纖長度為10m。
在此模型上,進(jìn)行了收/發(fā)一體化光模塊的轉(zhuǎn)換延時(shí)、總線通信速率和報(bào)文丟失率(近似誤碼率)等方面的簡單測(cè)試,
6. 結(jié)論
通過上述研究和測(cè)試,可以得出以下幾個(gè)方面的結(jié)論:
1) 本技術(shù)方案符合CAN 總線標(biāo)準(zhǔn)對(duì)物理層信號(hào)傳輸特性的要求,能夠在不改變頂層協(xié)議的前提下,實(shí)現(xiàn)CAN 總線特有的多主非破壞逐位競爭機(jī)制;
2) 星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)相對(duì)于光纖環(huán)網(wǎng)構(gòu)型,本研究光/電和電/光轉(zhuǎn)換環(huán)節(jié)少,在同樣光纖長度條件下,本技術(shù)方案可實(shí)現(xiàn)較高的通信速率;
3) 采用集線器組網(wǎng)方式,只需增加集線器的端口數(shù),就可以擴(kuò)展CAN 總線網(wǎng)絡(luò)的規(guī)模,且無總線負(fù)載匹配問題,故不會(huì)影響網(wǎng)絡(luò)可達(dá)到的最高通信速率;
4) 采用基于波分復(fù)用雙向信息傳輸技術(shù)的收/發(fā)一體化光模塊單光纖連接方式,簡化了系統(tǒng)的構(gòu)型,減少了配置,便于組成更為復(fù)雜的系統(tǒng)網(wǎng)絡(luò);
5) 光纖CAN 總線網(wǎng)絡(luò)具有免電磁干擾能力,極大地提高了CAN 總線網(wǎng)絡(luò)在惡劣電磁環(huán)境中的生存力、安全性和可靠性;消除了雙絞線網(wǎng)絡(luò)信號(hào)衰減和收發(fā)器負(fù)載能力差的固有缺陷,便于擴(kuò)大網(wǎng)絡(luò)規(guī)模(節(jié)點(diǎn)數(shù)量)和提高通信速率。
