袁俊杰,胡天宇
(北方工業(yè)大學機電學院,北京 100144)
?
基于FPGA的多傳感器集成光纖傳輸系統(tǒng)
袁俊杰,胡天宇
(北方工業(yè)大學機電學院,北京 100144)
為實現(xiàn)直接從傳感器接口到光接口的高速度、高集成度的傳輸系統(tǒng),提出了一種基于FPGA的多傳感器集成光纖傳輸系統(tǒng)方案。以FPGA和光纖收發(fā)模塊為簡單架構,搭建了光纖傳輸系統(tǒng)硬件平臺,在此基礎上,開發(fā)了系統(tǒng)的智能化軟件。系統(tǒng)實現(xiàn)了對模擬接口和數(shù)字接口的傳感器信號的采集與傳輸,并通過應用時分復用原理,實現(xiàn)了多路傳感器信號通過單光纖傳輸。測試結(jié)果表明系統(tǒng)具備一定誤碼偵測能力,可滿足復雜工業(yè)現(xiàn)場傳感器信號傳輸距離遠、實時性高的需求。
光纖通信;數(shù)字光纖傳輸系統(tǒng);現(xiàn)場可編程門陣列;時分復用;傳號反轉(zhuǎn)碼編解碼
隨著信息技術的發(fā)展,光纖通訊被廣泛應用于視頻監(jiān)控、語音通話、圖像傳輸、作戰(zhàn)指揮系統(tǒng)等領域[1-2]。隨著工業(yè)現(xiàn)場的系統(tǒng)復雜程度、可靠性、以及自動化管理等要求不斷提升,現(xiàn)場總線及工業(yè)網(wǎng)絡得到了廣泛應用。與傳統(tǒng)的以電信號為媒介的傳輸網(wǎng)絡相比,光纖傳輸?shù)臄?shù)據(jù)容量大、距離遠、電磁兼容性強,尤其適合惡劣工業(yè)環(huán)境,以光纖為介質(zhì)的以太網(wǎng)及現(xiàn)場總線已開展了應用研究[3]。目前應用中一般通過光纖轉(zhuǎn)接模塊將原來以太網(wǎng)、RS485、CAN等總線的電信號轉(zhuǎn)變?yōu)楣庑盘栠M行傳輸,以提高信號傳輸距離和抗干擾性能[4],通常是對原有鏈路的改造升級。在工業(yè)測控系統(tǒng)設計階段,若能直接在傳感器輸出端進行電光/信號轉(zhuǎn)換,則能進一步提高系統(tǒng)抗干擾能力和集成度,提高可靠性。在某些環(huán)境惡劣的應用場合,如有色金屬冶煉工業(yè)中,需對溫度、成分等多種參數(shù)進行多點測量,現(xiàn)場電磁干擾嚴重,環(huán)境溫度高,傳感器數(shù)量多,且到控制系統(tǒng)的傳輸距離遠。本文提出一種基于FPGA的智能傳感器信號采集與光纖傳輸解決方案,通過設計可擴展的多輸入傳感器數(shù)據(jù)采集模塊,進行多路數(shù)字量及模擬量信號的采集,并通過時分復用技術,將多個傳感器數(shù)據(jù)通過單光纖傳輸至主控制器,該系統(tǒng)可提高系統(tǒng)集成度,簡化布線,并提高抗干擾性能。
本系統(tǒng)核心功能為采集數(shù)字量、模擬量傳感器信號,經(jīng)電/光轉(zhuǎn)換后,通過光纖進行傳輸。系統(tǒng)處理核心基于FPGA,具有配置靈活、可擴展的特點。模擬量傳感器信號兼容4~20 mA和0~5 V的標準工業(yè)信號,同時提供數(shù)字I/O,計數(shù)器等接口,也可根據(jù)應用需要,兼容CAN總線或RS485信號。因此系統(tǒng)接口模塊可分為數(shù)字和模擬信號接口兩部分,數(shù)字接口包括開關量、RS232/485、SPI等,模擬接口由信號調(diào)理和A/D轉(zhuǎn)換電路構成。系統(tǒng)總體方案如圖1所示。
圖1 光纖傳輸系統(tǒng)總體方案
其中光纖傳輸流程為:采集的傳感器信號通過FPGA進行信號處理和編碼操作,得到適合光纖傳輸?shù)臄?shù)字碼流信號,該信號通過光發(fā)送模塊實現(xiàn)電/光轉(zhuǎn)換,并通過光纖傳輸。在接收端,光接收模塊將收到光纖信號進行光/電轉(zhuǎn)換,經(jīng)時鐘提取、解碼等處理后,得到傳感器數(shù)據(jù),然后可通過RS232送至上位機或經(jīng)總線接口接入工業(yè)網(wǎng)絡。
2.1 時分復用技術的原理與實現(xiàn)
為使多路信號互不干涉地在同一信道上傳輸,需采用復用技術。在時分復用系統(tǒng)中,多路信號在時間上被離散化,相當于對時域進行分割,信號在時域中互不重疊[5]。
該系統(tǒng)需實現(xiàn)多路傳感器數(shù)據(jù)采集,故需將多路信號進行有序傳輸。根據(jù)乒乓操作方法[6],采集到各傳感數(shù)據(jù)先存入各自FIFO,當目前處理的數(shù)據(jù)完成電/光轉(zhuǎn)換并發(fā)送后,再通過建立數(shù)據(jù)選擇控制器并加入延時,依次從各FIFO中讀取數(shù)據(jù)。這樣既保證各傳感器之間數(shù)據(jù)不發(fā)生沖突,又能實現(xiàn)單光纖傳輸?shù)臅r分復用,形成多個數(shù)據(jù)的有序傳輸。另外在每幀傳輸后留有時隙,當接收端收到數(shù)據(jù)校驗錯誤或者丟幀時可在該時隙中進行單獨查詢。其過程如圖2所示。
圖2 時分復用模塊框圖
2.2 光纖通信編碼方式與實現(xiàn)
在數(shù)字光纖傳輸系統(tǒng)中,一般不直接傳輸普通數(shù)字信號,由于普通數(shù)字信號有直流分量,且有長連“0”、長連“1”的情況存在,不利于誤碼檢測,因此需要先通過碼型轉(zhuǎn)換將普通二進制碼轉(zhuǎn)換成適合光纖傳輸?shù)木€路碼[7]。本系統(tǒng)采用傳號反轉(zhuǎn)碼(CMI,Coded Mark Inversion)編碼方式。
2.2.1 CMI編碼模塊設計
CMI碼是一種兩電平非零碼,其編碼規(guī)則為:“1”碼交替用“00”和“11”兩位碼表示;“0”碼固定用“01”表示[7]。根據(jù)上述編碼規(guī)則,CMI編碼模塊由碼識別器、“1”碼編碼器、“0”碼編碼器、“1”碼輸出選擇器、時序控制和輸出模塊6部分組成。各模塊關系如圖3所示。
圖3 CMI編碼原理框圖
由于“1”碼交替用“00”、“11”表示,在設計“1”碼編碼器的時候需要加入一個輸出狀態(tài)記憶單元,這個單元是通過D觸發(fā)器實現(xiàn)的,即D觸發(fā)器每接收到一個“1”碼就翻轉(zhuǎn)一次,來實現(xiàn)記憶“1”碼的編碼狀態(tài)[8]。由于CMI碼是一種1B2B(1位信息,2位碼元)串行輸出碼,碼元數(shù)量提高1倍,故Verilog HDL程序中需要把輸出模塊中的數(shù)據(jù)進行并串轉(zhuǎn)換,并在2倍的初始時鐘頻率下進行輸出。
2.2.2 CMI解碼模塊設計
在CMI解碼器的設計中,其重點是判斷接收到的CMI碼流的起始位,從起始位開始把CMI碼流的兩個碼元分為一組進行判斷,若為“00”或“11”,則輸出“1”;若為“01”,則輸出“0”。根據(jù)上述解碼規(guī)則,CMI解碼器主要由起始碼元判斷模塊、碼分組器、“1”碼解碼器、“0”碼解碼器和時序控制模塊5部分組成,其譯碼原理框圖如圖4所示。
圖4 CMI解碼原理框圖
3.1 系統(tǒng)硬件組成
該系統(tǒng)以FPGA為主控芯片,選用型號為CycloneII系列的FPGA-EP2C8T144Q8NA。FPGA內(nèi)部功能模塊通過Verilog HDL硬件描述語言實現(xiàn)。其核心功能模塊包括時分復用模塊、數(shù)據(jù)傳輸協(xié)議模塊、CMI編解碼模塊和位同步時鐘提取模塊。另外為提高數(shù)據(jù)處理速度,設計了數(shù)據(jù)串并轉(zhuǎn)換模塊,把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)在FPGA內(nèi)部進行處理,可提高數(shù)據(jù)處理效率。由于光纖傳輸?shù)氖谴袛?shù)據(jù),故在數(shù)據(jù)成幀后需進行并/串轉(zhuǎn)換,再將所得串行數(shù)據(jù)進行CMI編碼以輸入光發(fā)送模塊,并通過光纖發(fā)送。
系統(tǒng)外圍接口主要包括數(shù)字信號接口、模擬信號接口和光信號收發(fā)接口。其中,數(shù)字信號采集接口包括RS232、RS485和SPI等通訊接口,以及FPGA預留的I/O口,以方便進行擴展,其中與PC上位機的通訊采用RS232;模擬信號采集接口將傳感器輸出信號進行信號調(diào)理后進行A/D轉(zhuǎn)換,將數(shù)字信號送入FPGA;光信號收發(fā)接口主要負責光/電、電/光轉(zhuǎn)換。光收發(fā)模塊分別選取HFBR2416和HFBR1414。產(chǎn)生光波長為850 nm,采用多模光纖進行傳輸,理論最遠傳輸距離為2.7 m。
3.2 數(shù)據(jù)傳輸協(xié)議模塊設計
為使接收端能夠準確判斷有效數(shù)據(jù)的起止位,需要進行傳輸協(xié)議的制定。該系統(tǒng)定義的數(shù)據(jù)傳輸幀為34位,第一位和最后一位分別為起始位和終止位,起始位和終止位之間有4位地址位,4位數(shù)據(jù)類型位,8位有效數(shù)據(jù),16位CRC校驗碼。起始位為“0”,停止位為“1”,空閑時信道一直處于高電平,當檢測到低電平,即起始位“0”時表明有效數(shù)據(jù)幀開始傳輸,接收端立即進行CMI解碼、解幀、校驗、提取有效數(shù)據(jù)等操作。從起始位起,接收端設置計數(shù)器開始計數(shù),當計數(shù)器的值為34時并且最后一位為“1”,表明1幀數(shù)據(jù)傳輸完畢。光纖中傳輸?shù)臄?shù)據(jù)幀格式如圖5所示。
圖5 數(shù)據(jù)傳輸協(xié)議幀格式定義
3.3 CRC編碼校驗模塊設計
循環(huán)冗余碼校驗(Cyclical Redundancy Check)簡稱CRC校驗,利用除法及余數(shù)的原理作錯誤偵測。系統(tǒng)在應用時,發(fā)送端把計算出的CRC數(shù)值連同數(shù)據(jù)一起發(fā)送出去[9],接收端對采集數(shù)據(jù)進行CRC數(shù)值計算,與接收到的CRC數(shù)值對比,以此來進行誤碼檢測,本系統(tǒng)應用的是CRC16碼。
通過Verilog HDL硬件編程語言對8位并行數(shù)據(jù)進行CRC編碼,其仿真波形圖如圖6所示。data為通過串并轉(zhuǎn)換的8位并行數(shù)據(jù),out為CRC16碼,由8位數(shù)據(jù)和16位CRC碼組成,共24位。clk為系統(tǒng)時鐘,reset為復位信號。通過功能仿真波形可知CRC編碼模塊滿足設計要求。
圖6 CRC編碼功能仿真圖
3.4 位同步時鐘提取模塊設計
在數(shù)字通信系統(tǒng)中,時鐘同步非常重要。同步指收發(fā)兩端的信號在時間上保持步調(diào)一致,是保證數(shù)字通信系統(tǒng)有序、準確、可靠工作的前提條件[10]。位同步技術是同步技術中最基本的同步,是從接收信號中獲取位同步信息,使此時脈沖序列和接收碼元起止時刻保持正確關系的技術。
圖7是位同步時鐘提取模塊框圖,由4部分組成,分別為過零提取模塊、相位檢測、N分頻器和脈沖產(chǎn)生模塊。其中data_in為系統(tǒng)輸入的串行數(shù)據(jù);clk為串行數(shù)據(jù)碼元時鐘2倍頻信號,通過鎖相環(huán)技術獲取[11];out是系統(tǒng)產(chǎn)生的與串行輸入碼元同步的脈沖信號,即位同步時鐘。
圖7 位同步時鐘提取模塊框圖
其工作原理為:用過零提取模塊檢測出數(shù)據(jù)流中的上升沿和下降沿,然后將輸出脈沖送給相位檢測模塊,相位檢測模塊的另一輸入端是系統(tǒng)產(chǎn)生的位同步時鐘,由此構成閉環(huán)控制系統(tǒng),達到實時動態(tài)補償效果。相位檢測模塊將檢測出輸入碼元與提取的同步時鐘相位進行比較,可能存在超前或者滯后。當輸入碼元超前于提取的同步時鐘時,相位檢測模塊輸出端q=1,若滯后則q=0,q值決定脈沖發(fā)生器給計數(shù)器正脈沖還是負脈沖。模塊的功能仿真圖如圖8所示,在10 ms時位同步時鐘達到了動態(tài)平衡??蓾M足使用要求。
圖8 位同步時鐘提取功能仿真圖
3.5 光纖傳輸系統(tǒng)總體功能仿真
3.5.1 光纖發(fā)送模塊功能仿真
系統(tǒng)發(fā)送模塊框圖如圖9所示。為方便觀察功能仿真結(jié)果,把組成發(fā)送模塊的各子模塊輸出均添加了輸出管腳。數(shù)據(jù)采集接口采集數(shù)據(jù)后,首先進行并串轉(zhuǎn)換,然后輸入到FIFO模塊中,當發(fā)出讀FIFO命令時,從FIFO中讀取一組數(shù)據(jù),并進行CRC校驗編碼,之后將數(shù)據(jù)打包成幀、并/串轉(zhuǎn)換以及進行CMI編碼。該模塊的功能仿真如圖10所示,其時序符合功能要求。
圖9 光纖發(fā)送模塊框圖
圖10 發(fā)送模塊功能仿真圖
3.5.2 光纖接收模塊功能仿真
系統(tǒng)接收模塊框圖如圖11所示。當接收到光纖中傳輸?shù)臄?shù)據(jù)后,先進行時鐘位同步操作,保證接收端數(shù)據(jù)的時鐘與發(fā)送端發(fā)送的CMI碼流位同步,然后判別有效數(shù)據(jù)幀的起始位,進行CMI解碼、串并轉(zhuǎn)換、CRC校驗等操作后,提取有效數(shù)據(jù)進行顯示。為提高數(shù)據(jù)處理速度,接收模塊中的各子模塊之間為并行數(shù)據(jù),故數(shù)據(jù)提取后需將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),以通過串口與上位機通訊。接收模塊功能仿真如圖12所示,圖中時序表明可以實現(xiàn)預期功能。
圖11 接收模塊框圖
圖12 接收模塊功能仿真圖
本文設計了一種面向傳感器輸出端的高集成度數(shù)據(jù)采集與光纖傳輸系統(tǒng),可滿足在強電磁干擾等惡劣條件下的遠距離傳輸要求,傳輸數(shù)據(jù)可靠,誤碼率較低,應用領域較為廣闊。若應用于惡劣工業(yè)現(xiàn)場領域,可提高信號傳輸可靠性,抗干擾性,減小電磁輻射,也可直接用于機電一體化設備,可大幅度減少布線,提高電磁兼容性能。另外,系統(tǒng)硬件電路板留有充分的I/O資源,具備擴展能力,對FPGA內(nèi)數(shù)據(jù)處理模塊稍加修改即可應用于不同接口的傳感器數(shù)據(jù)采集。
從目前有線通信系統(tǒng)的發(fā)展趨勢看,本文設計的基于FPGA的多傳感器集成光纖傳輸系統(tǒng)還需要從以下幾個方面來提升其性能:
(1)提高系統(tǒng)的傳輸過程中的誤碼糾錯能力,增加通信系統(tǒng)的可靠性;
(2)充分利用FPGA內(nèi)部資源,使一套通信系統(tǒng)能夠完成更多傳感器數(shù)據(jù)的傳輸,以降低成本;
(3)應用通信效率更高的編碼方式,提高通信系統(tǒng)的實際傳輸帶寬,以滿足實時性要求。
[1] 韓紅霞,郭勁,曹文華,等.基于FPGA高速視頻信息傳輸方案設計.電子器件,2005,28(4):820-822;854.
[2] 汪精明.基于FPGA的傳像光纖束圖像預處理器.計算機技術應用,2010(4):42-44.
[3] 楊國棟,梁自澤,李恩,等.一種光纖現(xiàn)場總線通訊系統(tǒng)的分析與設計.高技術通訊,2009,19(7):754-759.
[4] 魏豐,潘小虎,曾男,等.光纖CAN總線集線器及其組網(wǎng)技術研究.儀器儀表學報,2011,32(12):2839-2844.
[5] 劉穎.數(shù)字通信原理與技術.北京:北京郵電大學出版社,1998.
[6] 吳繼華,蔡海寧,王誠.Altera FPGA/CPLD設計(高級篇).北京:人民郵電出版社,2011.
[7] 樊昌信,曹麗娜.通信原理.2版.北京:國防工業(yè)出版社,2012.
[8] 解金山,陳寶珍.光纖數(shù)字通信技術.北京:電子工業(yè)出版社,2002.
[9] 王新梅,肖國振.糾錯碼—原理與方法.西安:西安電子科技大學出版社,2003.
[10] 牛立強,孫洪偉,王寶興.一種光通信系統(tǒng)中時鐘提取電路的設計及實現(xiàn) .電子科技,2008,21(12):28-30.
[11] 吳繼華,蔡海寧,王誠.Altera FPGA/CPLD設計(基礎篇).北京:人民郵電出版社,2011.
Multi-sensor Integrated Optical Fiber Transmission System Based on FPGA
YUAN Jun-jie,HU Tian-yu
(College of Mechanical and Electrical Engineering,North China University of Technology,Beijing 100144,China)
To achieve the high integration and high-speed of transmission system directly from the sensor interface to the light interface,a multi-sensor integrated optical fiber transmission system based on FPGA was proposed.The hardware platform of the optical fiber transmission system was built with the simple architecture based on FPGA and optical transceiver module.And on this basis,the intelligent software of the system was developed.The system realized the data acquisition and transmission of analog and digital-interface’s sensor.By applying the principle of time division multiplexing,the multi-channel sensor signal by single fiber was realized.The experimental results indicate that the system has the ability to detect the error code.The system is very suitable for industrial field sensor signal transmission of long transmission distance and high real-time in complex environment.
fiber optic communication;digital optical fiber transmission system;FPGA;time division multiplexing;coded mark inversion encoding and decoding
北京市教委科研計劃面上項目(KM201210009003)
2014-02-16 收修改稿日期:2015-01-07
TP23
B
1002-1841(2015)03-0043-04
袁俊杰(1980—),博士,副教授,主要研究方向為測控技術、傳感器設計與應用。E-mail:yuanjj@ncut.edu.cn 胡天宇(1987—),碩士,主要研究方向為光纖通信原理與應用。E-mail:hutianyu124@163.com