專利名稱:一種光纖can總線自愈環(huán)網(wǎng)接口裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種光纖CAN總線的接口裝置,特別是一種光纖CAN總線環(huán)網(wǎng)的接口裝置,具體地是一種光纖CAN總線自愈環(huán)網(wǎng)接口裝置。
背景技術(shù):
CAN(Controller Area Network)總線是德國Bosch公司80年代初為解決汽車中眾多數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議。由于其卓越的特性,CAN總線成為目前公認的幾種最有前途的現(xiàn)場總線之一。CAN總線的傳輸介質(zhì)可以是雙絞線、光纖和同軸電纜。當工作環(huán)境特別復(fù)雜時,為提高CAN網(wǎng)的抗干擾性能力和性能,采用光纖作傳輸介質(zhì)。光纖CAN網(wǎng)作為一種工業(yè)底層控制局域網(wǎng),其拓撲結(jié)構(gòu)與常用局域網(wǎng)一樣,基本拓撲結(jié)構(gòu)有總線形、環(huán)形和星形。在光纖CAN單環(huán)網(wǎng)絡(luò)中,節(jié)點或鏈路的故障可能造成網(wǎng)絡(luò)的癱瘓。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是為提高光纖CAN環(huán)網(wǎng)的生存性,提供一種具有自愈功能的光纖CAN總線自愈環(huán)網(wǎng)接口裝置,以克服上述的不足。
為了實現(xiàn)上述目的,本發(fā)明由多個CAN控制器構(gòu)成光纖環(huán)網(wǎng),其特點是在每個CAN控制器與光纖環(huán)路之間安置一個基于可編程邏輯器件(CPLD)的光纖CAN自愈環(huán)網(wǎng)接口電路;上述光纖CAN自愈環(huán)網(wǎng)接口電路由一片Altera公司出產(chǎn)的復(fù)雜可編程邏輯器件(CPLD)EPM7128S、兩個光發(fā)送器LEDR、LEDL,兩個光接收器PINR、PINL,一個有源石英晶體振蕩器PXO-660構(gòu)成,其中CPLD與CAN控制器收發(fā)端RX和TX連接,CPLD還通過光電轉(zhuǎn)換模塊PIN、LED與光纖環(huán)路相連接,有源石英晶體振蕩器與CPLD的clk0端相連接;上述光纖CAN自愈環(huán)網(wǎng)接口電路上還連接有網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl和接收狀態(tài)發(fā)光二極管D_rx。
本發(fā)明的功能是(1)當光纖雙環(huán)通信正常時,各發(fā)送器選擇對側(cè)數(shù)據(jù)發(fā)送。(2)當單根光纖故障時,下游節(jié)點接口電路實現(xiàn)環(huán)回,下游節(jié)點光發(fā)送器選擇同側(cè)光接收器數(shù)據(jù)轉(zhuǎn)發(fā)。(3)當任意節(jié)點間兩根光纖故障時,則與光纖切斷點相連的兩個節(jié)點執(zhí)行環(huán)回功能。兩節(jié)點光發(fā)送器均選擇同側(cè)光接收器數(shù)據(jù)轉(zhuǎn)發(fā)。這種自愈功能保證在故障情況下,仍能維持環(huán)網(wǎng)的連續(xù)性。故障排除后,倒換開關(guān)自動返回原來位置。(4)實現(xiàn)節(jié)點CAN控制器數(shù)據(jù)選擇接收,其原則為對于各節(jié)點接收的順、逆時針兩通道數(shù)據(jù),選擇優(yōu)先到達的通道數(shù)據(jù)接收。(5)實現(xiàn)節(jié)點數(shù)據(jù)選擇發(fā)送,其原則為對于CAN網(wǎng)絡(luò)中的主節(jié)點(發(fā)送節(jié)點),選擇本節(jié)點CAN控制器發(fā)送端(TX)的數(shù)據(jù)發(fā)送,可消除環(huán)形光纖CAN總線網(wǎng)絡(luò)的自激現(xiàn)象,保證環(huán)網(wǎng)不被堵塞;對于CAN網(wǎng)絡(luò)中的從節(jié)點(接收節(jié)點),網(wǎng)絡(luò)工作正常時,選擇對側(cè)數(shù)據(jù)發(fā)送;對于CAN網(wǎng)絡(luò)中的從節(jié)點(接收節(jié)點),網(wǎng)絡(luò)中對側(cè)光纖通道故障,則選擇同側(cè)數(shù)據(jù)發(fā)送。(6)判別各通道幀起始和幀結(jié)束,鑒別總線是否空閑,網(wǎng)絡(luò)是否故障。如當判斷左側(cè)光接收器PINL有數(shù)據(jù)幀正在傳送時,產(chǎn)生左側(cè)發(fā)送數(shù)據(jù)標志flag_l和網(wǎng)絡(luò)通信狀態(tài)標志sync_l,分別表示總線忙和網(wǎng)絡(luò)工作正常。
本發(fā)明實現(xiàn)光纖CAN總線自愈功能,使用CPLD的自愈控制接口,可組建光纖CAN總線自愈環(huán)網(wǎng),它將提高光纖CAN總線網(wǎng)絡(luò)的生存性。接口電路單片化,將大大簡化電路、提高了電路的可靠性。由于使用CPLD器件,將為接口電路的修改、調(diào)試和更新?lián)Q代提供了方便。
圖1為光纖CAN總線自愈環(huán)網(wǎng)結(jié)構(gòu)圖。
圖2為自愈工作策略示意圖。
圖3為CPLD自愈控制接口裝置的I/O口示意圖。
圖4為基于CPLD環(huán)網(wǎng)自愈控制接口裝置結(jié)構(gòu)框圖。
具體實施例方式
下面結(jié)合附圖及實施例對本發(fā)明作進一步的描述,但下述實施例不應(yīng)理解為對本發(fā)明的限制。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是實現(xiàn)上述功能控制環(huán)網(wǎng)自愈接口電路的選用美國Altera公司CPLD器件EPM7128SLC84-15,用MAX+plusII開發(fā)軟件進行設(shè)計。CPLD自愈控制接口單元由四部分組成分頻器、中心狀態(tài)機、發(fā)送數(shù)據(jù)選擇器、接收數(shù)據(jù)選擇器組成。采用CPLD與節(jié)點CAN控制器收發(fā)端RX和TX連接,CPLD同時通過PIN和LED與光纖環(huán)路相連接。整個自愈控制接口裝置時鐘由有源石英晶體振蕩器PXO-660提供,其振蕩頻率為20MHz。
如圖1為光纖CAN總線自愈環(huán)網(wǎng)結(jié)構(gòu)圖,該網(wǎng)絡(luò)有兩條光纖環(huán)路——順時針環(huán)和逆時針環(huán),各節(jié)點CAN控制器通過自愈控制接口與雙環(huán)光纖網(wǎng)相連,自愈控制接口由Altera公司出產(chǎn)的復(fù)雜可編程邏輯器件(CPLD)EPM7128S、兩個光發(fā)送器LEDR、LEDL,兩個光接收器PINR、PINL組成。
如圖2所示,光纖CAN自愈環(huán)網(wǎng)控制接口裝置的自愈策略是(1)當光纖雙環(huán)通信正常時,如圖2(a)所示,各節(jié)點右端光發(fā)送器LEDR傳送左端光接收器PINL的數(shù)據(jù),信號順時針傳送;同理LEDL傳送PINR的數(shù)據(jù),信號逆時針傳送,即發(fā)送器選擇對側(cè)數(shù)據(jù)轉(zhuǎn)發(fā)。(2)當單根光纖故障時,如圖2(b),下游C節(jié)點自愈控制接口實現(xiàn)環(huán)回,由于左側(cè)光接收器PINL無信號,右端光發(fā)送器LEDR選擇同側(cè)光接收器PINR數(shù)據(jù)轉(zhuǎn)發(fā)。(3)當任意節(jié)點間兩根光纖故障時,如圖2(c),如BC節(jié)點間光纖被切斷時;則B、C兩個與光纖切斷點相連的兩個節(jié)點自愈控制接口執(zhí)行環(huán)回功能;此時,從A到C的信號AC則先經(jīng)順時針環(huán)到B,再經(jīng)逆時針環(huán)過A、D到達C;而信號CA則仍經(jīng)順時針環(huán)傳輸;在故障情況下,自愈控制接口保證光纖CAN環(huán)網(wǎng)的連續(xù)性;故障排除后,倒換開關(guān)自動返回原來位置。
如圖3所示,自愈控制接口裝置的I/O口的連接關(guān)系為CPLD輸入輸出引腳pin_l、led_l、led_r、pin_r分別與光電轉(zhuǎn)換模塊PINL、LEDL、LEDR、PINR相連;CPLD的輸出輸入引腳txd、rxd分別與CAN控制器的數(shù)據(jù)發(fā)送端TX、接收端RX相連;CPLD的輸出引腳flag_txd=1代表本節(jié)點CAN控制器TX0正在發(fā)送數(shù)據(jù)幀;輸出引腳flag_l=1代表左側(cè)通道正在發(fā)送數(shù)據(jù)幀;輸出引腳flag_r=1代表右側(cè)通道正在發(fā)送數(shù)據(jù)幀。輸出引腳sync_l為左側(cè)網(wǎng)絡(luò)通信狀態(tài)標志,輸出引腳sync_r為右側(cè)網(wǎng)絡(luò)通信狀態(tài)標志。當左通道正常時,輸出引腳sync_l=“1”,驅(qū)動網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sl亮;當右通道正常時,輸出引腳sync_r=“1”,驅(qū)動網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr亮;若網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr或D_sl滅,表示網(wǎng)絡(luò)對應(yīng)光纖通道出了故障。當本節(jié)點CAN控制器選擇左通道數(shù)據(jù)接收時,接收狀態(tài)標志引腳rx_l/r為高電平,當本節(jié)點CAN控制器選擇右通道數(shù)據(jù)接收時,接收狀態(tài)標志引腳rx_l/r為低電平。輸入引腳reset為復(fù)位端,低電平有效;clk0為時鐘輸入引腳,該引腳與有源晶振輸出端相連,有源晶振的時鐘頻率為20MHz。
如圖4所示,控制環(huán)網(wǎng)自愈控制接口裝置中的CPLD由分頻器、中心狀態(tài)機、發(fā)送數(shù)據(jù)選擇器、接收數(shù)據(jù)選擇器四個模塊組成。
分頻器的功能為將CPLD輸入20MHz時鐘頻率變換為1MHz時鐘頻率。這是因為在光纖CAN自愈環(huán)網(wǎng)中,各節(jié)點CAN控制器和CPLD接口采用獨立的工作時鐘。為使狀態(tài)機產(chǎn)生發(fā)送數(shù)據(jù)狀態(tài)flag轉(zhuǎn)變、兩個數(shù)據(jù)選擇器切換與CAN控制器數(shù)據(jù)傳送同步,應(yīng)正確選擇狀態(tài)機的時鐘。由于CAN網(wǎng)數(shù)據(jù)傳送波特率是125Kbit/s,狀態(tài)機時鐘rxclk速率設(shè)計為數(shù)據(jù)傳送波特率的8倍即1M。這樣不但實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳送的同步,還能在一個位周期中對數(shù)據(jù)多次讀取,以提高網(wǎng)絡(luò)的抗干擾能力。
中心狀態(tài)機功能是(1)檢測CAN數(shù)據(jù)幀的幀起始和幀結(jié)束,產(chǎn)生相應(yīng)發(fā)送數(shù)據(jù)標志信號flag_txd、flag_r和flag_l。依據(jù)CAN 2.0B協(xié)議,CAN網(wǎng)絡(luò)數(shù)據(jù)幀由7個不同的位場組成即幀起始,仲裁場,控制場,數(shù)據(jù)場,CRC場,應(yīng)答場,幀結(jié)束。數(shù)據(jù)場長度可為0-8個字節(jié)。幀起始位是一個顯性位低電平‘0’;幀結(jié)束由7個隱性位‘1'組成的序列。(2)產(chǎn)生網(wǎng)絡(luò)通信狀態(tài)標志sync_r和sync_l。中心狀態(tài)機由三個狀態(tài)機組成本節(jié)點CAN控制器狀態(tài)機、左通道狀態(tài)機和右通道狀態(tài)機。它們分別判別各通道(TX、PIN_L和PIN_R)是否有數(shù)據(jù)傳送。下面各處狀態(tài)機的解釋均以本節(jié)點CAN控制器狀態(tài)機為例。
在各狀態(tài)機中,當總線空閑時,狀態(tài)機處于空閑態(tài)idle,若rxclk上沿到來,檢測到txd=0時,狀態(tài)機將發(fā)送數(shù)據(jù)標志置位flag_txd=“1”;并在rxclk第五上沿到來時,對txd數(shù)據(jù)再次讀取,若txd=“0”條件仍成立,表示真實的幀起始到來;否則flag_txd=“0”,同時狀態(tài)機轉(zhuǎn)向空閑態(tài)idle,等待幀起始的到來。當真實的幀起始到來后,rxclk(1M)每過8個時鐘周期,對CAN總線上的數(shù)據(jù)位進行檢測,保證每次檢測在數(shù)據(jù)位(位周期)中央。當連續(xù)7次對txd檢測到“1”,表示真實的“幀結(jié)束”到來,發(fā)送數(shù)據(jù)標志復(fù)位flag_txd=“0”,等待下一次幀起始的到來。否則狀態(tài)機處于幀結(jié)束判斷狀態(tài)。
網(wǎng)絡(luò)通信狀態(tài)sync_r、sync_l時進行環(huán)網(wǎng)自愈的重要依據(jù)。如上所述,當左右通道發(fā)送數(shù)據(jù)狀態(tài)標志flag=“1”時,各通道網(wǎng)絡(luò)通信狀態(tài)sync=“1”,網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl亮;當幀結(jié)束到來flag=“0”時,啟動網(wǎng)絡(luò)通信狀態(tài)計數(shù)器count,其時鐘為rxclk=1MHz,當計數(shù)器為30000(30ms)時,sync=“0”,網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl滅,表示持續(xù)檢測不到數(shù)據(jù)幀,網(wǎng)絡(luò)故障。如果在30ms內(nèi)能檢測到數(shù)據(jù)幀起始(flag置位),網(wǎng)絡(luò)通信狀態(tài)標志持續(xù)sync=“1”。計數(shù)器count滿值為估算的幀間最短時間間隔。
發(fā)送數(shù)據(jù)選擇器和接收數(shù)據(jù)選擇器的功能是實現(xiàn)鏈路搭建(即通道選擇)。為使鏈路搭建時間盡可能短,使用最高頻率時鐘(20MHz)控制兩個數(shù)據(jù)選擇器。
在發(fā)送數(shù)據(jù)選擇器中,輸入數(shù)據(jù)通道為3路txd、pin_l和pin_r。各通道數(shù)據(jù)具有不同優(yōu)先級。優(yōu)先級設(shè)置為當本節(jié)點發(fā)送數(shù)據(jù)(txd=“0”或flag_txd=“1”),光纖雙環(huán)中發(fā)送該TX端的數(shù)據(jù),即led_r=txd,led_l=txd。若本節(jié)點不發(fā)送數(shù)據(jù),則依據(jù)sync_r和sync_l選擇發(fā)送數(shù)據(jù),當左右通道均正常時,選擇對側(cè)數(shù)據(jù)發(fā)送,led_r=pin_l,led_l=pin_r;如果某通道故障,接收不到對側(cè)數(shù)據(jù),則選擇本側(cè)數(shù)據(jù)發(fā)送,led_l=pin_l,led_r=pin_r。據(jù)此不僅實現(xiàn)了網(wǎng)絡(luò)自愈,也消除了環(huán)網(wǎng)阻塞問題。
在接收數(shù)據(jù)選擇器中,設(shè)定左通道為首選接收通道;當左通道數(shù)據(jù)未到時flag_l=“0”或左通道故障時,不需人為干預(yù)自動選擇右通道接收。據(jù)此實現(xiàn)接收優(yōu)化(選擇優(yōu)先到達通道數(shù)據(jù)接收),以及光纖CAN總線雙環(huán)網(wǎng)的自愈功能。當接收節(jié)點CAN控制器選擇左通道接收時,接收狀態(tài)發(fā)光二極管D_rx發(fā)光,否則D_rx滅。
本發(fā)明經(jīng)測試證實,光纖CAN自愈環(huán)網(wǎng)正常時,各通道均有數(shù)據(jù)傳送,網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl持續(xù)發(fā)光;當設(shè)置單通道故障時,下游節(jié)點自愈控制接口裝置內(nèi)部實現(xiàn)環(huán)回,選擇同側(cè)數(shù)據(jù)轉(zhuǎn)發(fā);當設(shè)置雙通道故障時,與故障點相連兩節(jié)點的自愈控制接口裝置均實現(xiàn)環(huán)回。由CPLD自愈控制接口裝置構(gòu)成的光纖CAN自愈環(huán)網(wǎng)具有很高的生存性。
本說明書中未作詳細描述的內(nèi)容為本專業(yè)領(lǐng)域技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種光纖CAN總線自愈環(huán)網(wǎng)接口裝置,由多個CAN控制器構(gòu)成光纖環(huán)網(wǎng),其特征在于在每個CAN控制器與光纖環(huán)路之間安置一個基于可編程邏輯器件(CPLD)的光纖CAN自愈環(huán)網(wǎng)接口裝置。
2.如權(quán)利要求1所述的光纖CAN總線自愈環(huán)網(wǎng)接口裝置,其特征在于光纖CAN自愈環(huán)網(wǎng)接口裝置由一片Altera公司出產(chǎn)的復(fù)雜可編程邏輯器件(CPLD)EPM7128S、兩個光發(fā)送器LEDR、LEDL,兩個光接收器PINR、PINL,一個有源石英晶體振蕩器PXO-660構(gòu)成,其中CPLD與CAN控制器連接,CPLD還通過光電轉(zhuǎn)換模塊PIN、LED與光纖環(huán)路相連接,有源石英晶體振蕩器與CPLD的clk0端相連接。
3.如權(quán)利要求1所述的光纖CAN總線自愈環(huán)網(wǎng)接口裝置,其特征在于光纖CAN自愈環(huán)網(wǎng)接口裝置中還有網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl和接收狀態(tài)發(fā)光二極管D_rx。
4.如權(quán)利要求1或2所述的光纖CAN自愈環(huán)網(wǎng)接口裝置,其特征在于CPLD中包括分頻器、中心狀態(tài)機、數(shù)據(jù)發(fā)送選擇器、數(shù)據(jù)接收選擇器四個模塊,其中分頻器的輸入端與有源石英晶體振蕩器連接,其輸出給中心狀態(tài)機提供振蕩源;中心狀態(tài)機接收CAN控制器的txd信號、并通過光電轉(zhuǎn)換模塊PIN接收光纖網(wǎng)絡(luò)的信號,發(fā)送信號給數(shù)據(jù)發(fā)送選擇器和數(shù)據(jù)接收選擇器;數(shù)據(jù)發(fā)送選擇器還通過光電轉(zhuǎn)換模塊PIN接收光纖網(wǎng)絡(luò)的信號,輸出信號給電光轉(zhuǎn)換模塊LED;數(shù)據(jù)接收選擇器還通過光電轉(zhuǎn)換模塊PIN接收光纖網(wǎng)絡(luò)的信號,其輸出與CAN控制器的rxd端相連接。
5.如權(quán)利要求4所述的光纖CAN自愈環(huán)網(wǎng)接口裝置,其特征在于利用分頻器將CPLD輸入20MHz時鐘頻率變換為1MHz時鐘頻率,供中心狀態(tài)機使用。
6.如權(quán)利要求4所述的光纖CAN自愈環(huán)網(wǎng)接口裝置,其特征在于中心狀態(tài)機模塊實現(xiàn)CAN網(wǎng)絡(luò)數(shù)據(jù)幀“幀起始”和“幀結(jié)束”判別,以次實現(xiàn)3通道發(fā)送數(shù)據(jù)標志flag_txd、flag_r和flag_l的復(fù)位和置位,并產(chǎn)生網(wǎng)絡(luò)通信狀態(tài)信號sync_r、sync_l,它們是數(shù)據(jù)選擇器進行環(huán)網(wǎng)自愈的重要依據(jù)。
7.如權(quán)利要求4所述的光纖CAN自愈環(huán)網(wǎng)接口裝置,其特征在于在發(fā)送數(shù)據(jù)選擇器中,依據(jù)flag_txd、sync_r和sync_l選擇發(fā)送數(shù)據(jù),當flag_txd=“1”時,選擇txd端的數(shù)據(jù)發(fā)送;當flag_txd=“1”、sync_r和sync_l=“1”時,選擇對側(cè)數(shù)據(jù)發(fā)送,led_r=pin_l,led_l=pin_r;如果某通道故障,接收不到對側(cè)數(shù)據(jù),則選擇本側(cè)數(shù)據(jù)發(fā)送,led_l=pin_l,led_r=pin_r。據(jù)此實現(xiàn)了網(wǎng)絡(luò)自愈和環(huán)網(wǎng)阻塞問題。
8.如權(quán)利要求4所述的光纖CAN自愈環(huán)網(wǎng)接口裝置,其特征在于在接收數(shù)據(jù)選擇器中,依據(jù)flag_l和flag_r選擇接收通道;選flag_l和flag_r中先為零者的通道進行接收,據(jù)此實現(xiàn)接收優(yōu)化(選擇優(yōu)先到達通道數(shù)據(jù)接收),以及光纖CAN總線雙環(huán)網(wǎng)的自愈功能。當接收節(jié)點CAN控制器選擇左通道接收時,接收狀態(tài)發(fā)光二極管D_rx發(fā)光,否則D_rx滅。
全文摘要
本發(fā)明涉及一種光纖CAN總線自愈環(huán)網(wǎng)接口裝置,它包括一片Altera公司出產(chǎn)的復(fù)雜可編程邏輯器件(CPLD)EPM7128S、兩個光發(fā)送器LEDR、LEDL,兩個光接收器PINR、PINL,一個有源石英晶體振蕩器PXO-660,網(wǎng)絡(luò)狀態(tài)發(fā)光二極管D_sr、D_sl,接收狀態(tài)發(fā)光二極管D_rx組成,其中CPLD與CAN控制器連接,CPLD還通過光電轉(zhuǎn)換模塊PIN、LED與光纖環(huán)路相連接。利用本發(fā)明和相關(guān)光纖CAN網(wǎng)絡(luò)技術(shù)可組建光纖CAN自愈環(huán)網(wǎng)。本發(fā)明顯著提高了光纖CAN環(huán)網(wǎng)的生存性。本發(fā)明具有結(jié)構(gòu)簡單、可靠性高、便于修改和維護的特點。
文檔編號B60R16/02GK1557657SQ20041001266
公開日2004年12月29日 申請日期2004年1月15日 優(yōu)先權(quán)日2004年1月15日
發(fā)明者吳友宇, 程昌銀, 楊菊芳, 李斌, 秦神祖 申請人:武漢理工大學(xué)