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