作為一種成熟的現(xiàn)場(chǎng)總線技術(shù),CAN(ControllerArea Network)總線在汽車、電力、機(jī)械、化工等工業(yè)控制領(lǐng)域得到了極為廣泛的應(yīng)用。CAN協(xié)議標(biāo)準(zhǔn)中規(guī)定了CAN總線支持的兩種傳輸介質(zhì)--雙絞線和光纖。目前,絕大多數(shù)CAN總線系統(tǒng)采用的都是雙絞線傳輸。光纖一般應(yīng)用于大容量、高速率的傳輸中,對(duì)于CAN總線這種傳輸速率較低、數(shù)據(jù)量較小的現(xiàn)場(chǎng)總線通信,光纖傳輸?shù)膬?yōu)勢(shì)得不到完全發(fā)揮,因此光纖傳輸?shù)膽?yīng)用還不多。國(guó)內(nèi)外多家研究機(jī)構(gòu)也都進(jìn)行了CAN總線光纖傳輸?shù)难芯?,但主要是基于分立光纖收發(fā)元件的方法。本文介紹了一種使用光纖收發(fā)一體模塊,結(jié)合編解碼算法實(shí)現(xiàn)CAN總線光纖傳輸接口的方案;根據(jù)CAN總線的特點(diǎn)和實(shí)驗(yàn)數(shù)據(jù),分析了CAN總線在光纖介質(zhì)下傳輸性能的改善。
1 CAN總線的雙絞線及光纖傳輸
1.1 CAN總線雙絞線傳輸
CAN總線典型的網(wǎng)絡(luò)拓?fù)涫强偩€結(jié)構(gòu)。1993年頒布的同際標(biāo)準(zhǔn)ISOll898對(duì)基于雙絞線的CAN總線傳輸介質(zhì)特性做出了建議:總線可具有兩種邏輯狀態(tài),即隱性(邏輯“1”)或顯性(邏輯“0”)。圖1為基于CAN總線控制器SJA1000和總線驅(qū)動(dòng)器PCA82C250的CAN雙絞線傳輸網(wǎng)絡(luò)結(jié)構(gòu)圖。
CAN總線雙絞線傳輸接口的特點(diǎn)是技術(shù)上容易實(shí)現(xiàn),造價(jià)低廉;理論上節(jié)點(diǎn)數(shù)無(wú)限制,對(duì)環(huán)境電磁輻射有一定抑制能力。但隨著頻率的增長(zhǎng),雙絞線線對(duì)的衰減迅速增大;雙絞線還有所謂近端串?dāng)_,即在“發(fā)送線對(duì)”和“接收線對(duì)”之間仔在電磁耦合干擾。另外,雙絞線的傳輸速率受距離限制比較大。這些缺陷使得CAN總線不宜在強(qiáng)干擾、高速率、遠(yuǎn)距離的場(chǎng)合下使用雙絞線作為傳輸介質(zhì)。
1.2 CAN總線光纖傳輸
CAN協(xié)議支持光纖作為傳輸介質(zhì),但是由于CAN總線網(wǎng)絡(luò)一般采用總線型結(jié)構(gòu),并且其總線仲裁采取的是具有優(yōu)先級(jí)的非破壞性CSMA(載波偵聽(tīng)多路訪問(wèn)),而光纖信號(hào)的傳輸則是單向的,因此最簡(jiǎn)單實(shí)用的方法是在某些總線支路上采用光纖介質(zhì),整個(gè)CAN網(wǎng)絡(luò)為雙絞線和光纖兩種傳輸介質(zhì)混合使用的方式。結(jié)構(gòu)如圖2所示。
作為傳輸介質(zhì),光纖在抗干擾性、傳輸容量、速率等方面具有許多比雙絞線優(yōu)良的特性。因此,在某些環(huán)境惡劣、地理分布范圍較廣、速率要求較高的CAN總線系統(tǒng)中,可以在相應(yīng)的支路上使用光纖傳輸,從而保證整個(gè)CAN網(wǎng)絡(luò)的性能。
2 光纖傳輸接口實(shí)現(xiàn)方案
2.1 光纖收發(fā)模塊的選用
實(shí)現(xiàn)光纖傳輸?shù)囊粋€(gè)重要環(huán)節(jié)就是完成總線信號(hào)的光電轉(zhuǎn)換,可以使用專用的光纖收發(fā)器件。目前,光纖收發(fā)器有兩種類型:一種是基于分立元件的,即光接收和光發(fā)送模塊是獨(dú)立的。這種光收發(fā)模塊相對(duì)比較簡(jiǎn)單,光發(fā)射部分主要由光源和偏置控制電路組成;光接收部分主要由光探測(cè)器、整形放大電路組成,一般采用塑料或多模光纖進(jìn)行傳輸。另一種是光纖收發(fā)一體模塊,它在光源、光探測(cè)、光器件封裝、驅(qū)動(dòng)集成電路、放大集成電路技術(shù)進(jìn)步的基礎(chǔ)上,將接收和發(fā)送集成到一起、符合電信傳輸標(biāo)準(zhǔn)的光電子系統(tǒng);在光發(fā)射部分使用r性能更好的光源,并在接收部分加入了時(shí)鐘及再生判決電路等,一般采用單模光纖進(jìn)行傳輸。因此,光纖收發(fā)一體模塊在信號(hào)轉(zhuǎn)換的速率和穩(wěn)定性上都比分立的光纖收發(fā)器件有很大的提高,而且與外圍器件接口方便,單模光纖的色散、傳輸光功率消耗也比多模光纖小。
本設(shè)計(jì)中選用一款TTL光纖收發(fā)一體模塊,標(biāo)準(zhǔn)工業(yè)用l×9引腳,單+5V電源供電,光纖傳輸模式為單模,標(biāo)準(zhǔn)ST-ST光纖接口。該模塊驅(qū)動(dòng)接口如圖3所示。
2.2 設(shè)計(jì)方案
由于光纖收發(fā)一體模塊中含有時(shí)鐘提取電路,要求所轉(zhuǎn)換的信號(hào)流要含有豐富的時(shí)鐘信息,以便時(shí)鐘提取電路準(zhǔn)確地捕獲信號(hào)的頻率,因此信號(hào)流中不宜包含較長(zhǎng)的連“1”或連“0”。而CAN總線在空閑以及發(fā)送某些類型幀時(shí)會(huì)出現(xiàn)比較長(zhǎng)的連“1”或連“0”,尤其在通信波特率比較低的情況下,連續(xù)相同電平的時(shí)間就會(huì)越長(zhǎng),這將會(huì)導(dǎo)致接收器捕獲不到信號(hào)流的準(zhǔn)確波特率,從而導(dǎo)致光電轉(zhuǎn)換后的信號(hào)的位時(shí)間不準(zhǔn)確甚至錯(cuò)誤。因此,就要求對(duì)待轉(zhuǎn)換的CAN信號(hào)流進(jìn)行預(yù)先處理。最常用的方法就是進(jìn)行編碼,編碼后的信號(hào)流中包含豐富的時(shí)鐘信息,不會(huì)出現(xiàn)較長(zhǎng)的連“1”或連“0”,經(jīng)過(guò)光纖傳輸后再進(jìn)行解碼還原。也就是說(shuō),在CAN控制器、驅(qū)動(dòng)器與光電轉(zhuǎn)換模塊之間增加一個(gè)編解碼器。
據(jù)此提出一種基于CAN總線控制器SJA1000和光纖收發(fā)一體模塊的CAN總線光纖傳輸接口方案,其結(jié)構(gòu)如圖4所示。
接口分為發(fā)送端和接收端。發(fā)送端由CAN總線控制器SJA1000、信號(hào)編解碼器和光纖收發(fā)一體模塊組成;接收端由CAN總線驅(qū)動(dòng)器PCA82C250、信號(hào)編解碼器和光纖收發(fā)一體模塊組成。CAN節(jié)點(diǎn)向總線發(fā)送數(shù)據(jù)時(shí),發(fā)送端總線控制器SJA1000的發(fā)送信號(hào)TX經(jīng)編碼器進(jìn)行編碼之后,送至光纖收發(fā)一體模塊進(jìn)行信號(hào)的電一光轉(zhuǎn)換,然后通過(guò)光纖傳輸?shù)竭_(dá)接收端RX;接收端光纖收發(fā)一體模塊先對(duì)收到的光信號(hào)進(jìn)行光一電轉(zhuǎn)換,再由解碼器將編碼信號(hào)還原,最后通過(guò)總線驅(qū)動(dòng)器PCA82C250與總線連接,完成數(shù)據(jù)發(fā)送過(guò)程。數(shù)據(jù)接收過(guò)程同理。
3 光電轉(zhuǎn)換編碼、解碼器設(shè)計(jì)
3.1 CAN總線仲裁機(jī)制對(duì)編解碼方案的要求
CAN總線的非破壞性總線仲裁機(jī)制的原理為:當(dāng)總線空閑時(shí),任何單元均可發(fā)送報(bào)文;若同時(shí)有2個(gè)或更多的節(jié)點(diǎn)開(kāi)始發(fā)送報(bào)文,則會(huì)出現(xiàn)總線沖突。對(duì)于總線訪問(wèn)沖突,可借助于標(biāo)識(shí)符ID進(jìn)行逐位仲裁加以解決。仲裁期間,每個(gè)發(fā)送器將發(fā)送位電平同總線上檢測(cè)到的電平進(jìn)行比較:若相等,則節(jié)點(diǎn)繼續(xù)發(fā)送;若不相等,則表明節(jié)點(diǎn)失去仲裁,停止報(bào)文發(fā)送。只有總線訪問(wèn)優(yōu)先權(quán)最高的節(jié)點(diǎn)繼續(xù)報(bào)文發(fā)送,其他優(yōu)先權(quán)較低的節(jié)點(diǎn)失去仲裁,主動(dòng)停止報(bào)文發(fā)送,只有當(dāng)總線空閑時(shí)才能繼續(xù)啟動(dòng)報(bào)文發(fā)送。因此,CAN節(jié)點(diǎn)每發(fā)送一位數(shù)據(jù)都要監(jiān)聽(tīng)總線上的數(shù)據(jù)是否與所發(fā)送的一致。 在不考慮信號(hào)在光纖中傳輸時(shí)的衰減及CAN節(jié)點(diǎn)自身限制的前提下,為了保證CAN總線通信的正常進(jìn)行,在CAN總線的通信過(guò)程中必須保證信號(hào)延遲不能超過(guò)CAN總線的允許值,而這主要是由CAN總線物理層的位定時(shí)和同步功能決定的。CAN總線的位時(shí)間被定義為一位的持續(xù)時(shí)間。一個(gè)位時(shí)間可劃分為4個(gè)不重疊的時(shí)間段,即同步段(SYNC_SEG)、傳播段(PROP_SEG)、相位緩沖段1(PHASE_SEG1)和相位緩沖段2(PHASE_SEG2)。其中,同步段用于同步總線上不同的節(jié)點(diǎn),這一段內(nèi)要有一個(gè)跳變沿;傳播段用于補(bǔ)償網(wǎng)絡(luò)內(nèi)的物理延遲時(shí)間(包括總線上的信號(hào)傳播時(shí)間和節(jié)點(diǎn)的內(nèi)部延遲時(shí)間);相位緩沖段1和相位緩沖段2用于補(bǔ)償邊沿階段的誤差。由于CAN總線中各個(gè)節(jié)點(diǎn)的時(shí)鐘可能不一致,因此需要進(jìn)行重新同步。重新同步的結(jié)果,使相位緩沖段1增長(zhǎng),或使相位緩沖段2縮短,內(nèi)部的位時(shí)間從同步段重新開(kāi)始。采樣點(diǎn)位于相位緩沖段1的結(jié)束,在采樣點(diǎn)時(shí)刻,CAN節(jié)點(diǎn)讀總線電平。通過(guò)編程采樣點(diǎn)的位置可以優(yōu)化總線定時(shí)。
綜上所述,假設(shè)信號(hào)在光纖中的傳輸時(shí)間為t傳輸,信號(hào)傳輸中因光電轉(zhuǎn)換造成的延遲時(shí)間為t光電延遲,CAN節(jié)點(diǎn)同步及內(nèi)部延遲為t內(nèi)部延遲,則應(yīng)滿足以下關(guān)系:
t傳輸+t光電延遲+t內(nèi)部延遲
式中,對(duì)于給定長(zhǎng)度和波特率,光纖傳輸時(shí)間和節(jié)點(diǎn)內(nèi)部延遲時(shí)間是確定的,因此要盡量縮短光電轉(zhuǎn)換的延遲時(shí)間,即對(duì)CAN信號(hào)編解碼算法提出了特殊要求,要盡量縮短編解碼的延遲時(shí)間。
3.2 編碼、解碼方案
光纖傳輸中常采用的信號(hào)編碼有CMI碼、擾碼、8B/10B碼等。雖然這些編碼都能提供豐富的時(shí)鐘信息,但是由于CAN總線的總線仲裁是具有優(yōu)先級(jí)的非破壞性CSMA,這個(gè)特點(diǎn)決定了信號(hào)經(jīng)過(guò)編解碼后的延遲要盡可能得小。提出一種1B/16B編碼方法,編、解碼規(guī)則如下:
(1) 編碼規(guī)則
邏輯“1”--1110101010101010
邏輯“0”--0001010101010101
具體做法是,用是待編碼比特流波特率16倍的時(shí)鐘頻率對(duì)其每位進(jìn)行采樣,每一位采樣16次,然后根據(jù)約定好的編碼規(guī)則進(jìn)行編碼。這樣就將原比特流的一位編碼成新的16位傳輸,每位的長(zhǎng)度是原來(lái)位時(shí)間的1/16,而總的位時(shí)間不變。編碼后的信號(hào)不會(huì)出現(xiàn)較長(zhǎng)的連“1”或連“0”(最長(zhǎng)的連“1”或連“0”為4位)。
(2) 解碼規(guī)則
邏輯“1”--連續(xù)采樣3個(gè)“1”
邏輯“0”--連續(xù)采樣3個(gè)“0”
具體做法是,用是經(jīng)編碼后比特流波特率3倍的時(shí)鐘頻率對(duì)編碼后的信號(hào)進(jìn)行采樣(即一位采3次,取2次以上一樣的作為本次采樣最終結(jié)果)。如果連續(xù)采到3個(gè)“1”,則解碼輸出為“1”;如果連續(xù)采到3個(gè)“0”,則解碼輸出為“0”。
從1B/16B編碼、解碼方法可以看出,經(jīng)過(guò)編碼之后,CAN信號(hào)流中不存在長(zhǎng)時(shí)間的相同電平信號(hào),有豐富的跳變沿供時(shí)鐘提取電路捕獲信號(hào)頻率;解碼時(shí)利用了編碼信號(hào)流中的特征碼,即連續(xù)3個(gè)以上的相同電平信號(hào),采樣到連續(xù)的3個(gè)“1”或3個(gè)“0”就得到解碼結(jié)果。實(shí)際上,采用這種編解碼方法,一位編成為16位后,只有前3位是有用的信息,其余的都是冗余碼;但是這樣做可以縮短編解碼的延遲時(shí)間,以滿足CAN總線仲裁特性的要求。
3.3 編碼、解碼器的實(shí)現(xiàn)
本設(shè)計(jì)中采用可編程邏輯器件來(lái)實(shí)現(xiàn)對(duì)信號(hào)的編解碼,具體選用Altera公司的FLEX10K10系列FPGA;軟件開(kāi)發(fā)平臺(tái)使用的是QuartusII 5.0和Modelsim SE5.8(第三方仿真工具);開(kāi)發(fā)語(yǔ)言使用硬件描述語(yǔ)言VHDL。編碼、解碼器的硬件邏輯結(jié)構(gòu)如圖5所示。
邏輯功能的波形仿真結(jié)果如圖6所示。
4 實(shí)驗(yàn)驗(yàn)證 通過(guò)兩個(gè)CAN節(jié)點(diǎn)的通信實(shí)驗(yàn),驗(yàn)證了該CAN光纖傳輸接口的正確性。實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)如圖7所示。
CAN通信節(jié)點(diǎn)使用光纖介質(zhì),與USB-CAN通信節(jié)點(diǎn)進(jìn)行通信,并在PC機(jī)上顯示通信情況。在CAN總線各波特率下進(jìn)行了兩個(gè)節(jié)點(diǎn)的收發(fā)實(shí)驗(yàn),結(jié)果證明該CAN光纖傳輸接口原理正確,具有可行性。實(shí)驗(yàn)測(cè)得信號(hào)編、解碼以及光電轉(zhuǎn)換的延時(shí)時(shí)間(即t光電延遲),見(jiàn)表1。
5 采用光纖對(duì)CAN總線通信性能的改善
下面結(jié)合上述光電轉(zhuǎn)換實(shí)驗(yàn)所獲得的實(shí)驗(yàn)數(shù)據(jù),簡(jiǎn)要討論一下當(dāng)使用光纖替代雙絞線作為通信介質(zhì)后,CAN總線在通信性能上的改善。
在給定波特率下,光纖傳輸?shù)淖钸h(yuǎn)距離L與信號(hào)在光纖中的傳輸時(shí)間t傳輸之間滿足以下關(guān)系:
L=V光纖×t傳輸
式中:V光纖為信號(hào)在光纖中的傳播速度。電磁波在介質(zhì)中的傳播速度為V=C/n(C為光速,n為介質(zhì)的折射率),光在光纖中的傳播速度近似為260 m/μs,電磁波在雙絞線中的傳播速牢大致為200m/μs。這里取t內(nèi)部延遲=0.4×t位時(shí)間,則可以估算出光纖傳輸時(shí)CAN總線的最大距離,如表2所列。采用光纖作為傳輸介質(zhì),CAN總線的最大傳輸距離能夠提高約40%。
從表2中可以看,由于CAN總線通信速率較低及非破壞性總線仲裁的特點(diǎn),使用光纖傳輸介質(zhì),其傳輸距離的增加并不十分明顯,沒(méi)能充分發(fā)揮光纖傳輸大容量、遠(yuǎn)距離的優(yōu)勢(shì)。但是使用光纖仍然有它巨大的潛力:
①由于一般電磁輻射的頻譜和光波的頻譜相距甚遠(yuǎn),它不會(huì)疊加到光信號(hào)上或混入光信號(hào)中,也很難進(jìn)入光纖芯內(nèi)影響光信號(hào)的傳送。因此,光纖通信系統(tǒng)特別適合于在有強(qiáng)烈電磁干擾的地區(qū)或場(chǎng)合中使用,諸如電力系統(tǒng)、電氣化鐵道中的通信系統(tǒng)等。
②由于光纖的主要材料為二氧化硅,所以它比以銅為材料的電纜抗化學(xué)腐蝕和氧化等的性能強(qiáng),即光纖的化學(xué)穩(wěn)定性好,壽命長(zhǎng),特別適宜在有腐蝕的區(qū)域(如化工廠等)使用。
③光纖的尺寸小,重量輕,因此,光纖通信系統(tǒng)特別適合在一些空間有限的地方使用,比如船艦、飛機(jī)、車輛、火箭、導(dǎo)彈等場(chǎng)合。這在國(guó)防軍事上有十分重要的意義。
結(jié) 語(yǔ)
CAN總線應(yīng)用范圍的日趨廣泛,能夠適應(yīng)越來(lái)越復(fù)雜的環(huán)境,特別是一些強(qiáng)干擾、遠(yuǎn)距離、地理分布不均、工作環(huán)境惡劣的應(yīng)用場(chǎng)合。傳統(tǒng)的雙絞線已不能滿足需要,采用光纖介質(zhì)不但能解決這些問(wèn)題,而且給CAN總線應(yīng)用帶來(lái)更大的靈活性。實(shí)現(xiàn)光纖傳輸?shù)囊粋€(gè)關(guān)鍵點(diǎn)就是光纖傳輸接口的設(shè)計(jì),本文提出了一種基于光纖收發(fā)一體模塊的接口方案及其實(shí)現(xiàn),并通過(guò)實(shí)驗(yàn)驗(yàn)證了設(shè)計(jì)的正確性,對(duì)于在CAN總線這樣速率較低的現(xiàn)場(chǎng)總線中使用光纖傳輸具有一定實(shí)用價(jià)值。
責(zé)任編輯:gt
-
光纖
+關(guān)注
關(guān)注
19文章
3913瀏覽量
73128 -
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88051
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論