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