李言武
(安徽工貿(mào)職業(yè)技術(shù)學(xué)院 電氣與電子工程系,安徽 淮南 232007)
?
基于FPGA和單片機(jī)的多路信號(hào)光纖傳輸系統(tǒng)設(shè)計(jì)
李言武
(安徽工貿(mào)職業(yè)技術(shù)學(xué)院 電氣與電子工程系,安徽 淮南232007)
摘要:基于FPGA和單片機(jī)技術(shù),設(shè)計(jì)了多路信號(hào)光纖傳輸系統(tǒng),利用單片機(jī)實(shí)現(xiàn)了模擬數(shù)據(jù)的高精度采集和通信信號(hào)的雙向傳輸,利用FPGA實(shí)現(xiàn)了多路復(fù)雜信號(hào)的處理與傳輸;實(shí)驗(yàn)證明:該系統(tǒng)不僅能傳輸多路模擬與數(shù)字信號(hào),以及低速數(shù)字信號(hào)與高速脈沖信號(hào),還能實(shí)現(xiàn)雙向CAN通信;與現(xiàn)有光纖傳輸系統(tǒng)相比,多路信號(hào)光纖傳輸系統(tǒng)不僅實(shí)現(xiàn)了多路復(fù)雜信號(hào)的采集,而且使用一根光纖實(shí)現(xiàn)了大容量多數(shù)據(jù)的雙向傳輸,一方面減小了產(chǎn)品體積,另一方面降低了產(chǎn)品成本。
關(guān)鍵詞:FPGA;單片機(jī);多路信號(hào); 光纖傳輸
0引言
圖1 多路信號(hào)光纖傳輸系統(tǒng)工作原理框圖
光纖通信是以光纖為傳輸介質(zhì)、光波為信息載體,用光來傳輸信息的一種通信方式[1-3],與傳統(tǒng)的電通信相比具有通信容量大、傳輸損耗低、傳輸距離遠(yuǎn)、抗電磁干擾能力強(qiáng)、保密性好、重量輕等諸多優(yōu)點(diǎn)。目前,在產(chǎn)品研制和工程實(shí)踐中經(jīng)常需要處理和傳輸不同的信號(hào),如多路模擬信號(hào)與數(shù)字信號(hào),低速數(shù)字信號(hào)與高速脈沖信號(hào)等,此外還會(huì)涉及到遠(yuǎn)距離高速通信和組網(wǎng)信號(hào)傳輸,若采用傳統(tǒng)的電通信方式,則存在傳輸系統(tǒng)龐大、信號(hào)互相干擾、通信距離受限等不足[4-6]。多路信號(hào)光纖傳輸系統(tǒng)是基于FPGA和單片機(jī)技術(shù)設(shè)計(jì)的、使用一根光纖實(shí)現(xiàn)了大容量多數(shù)據(jù)雙向傳輸?shù)亩嗦窂?fù)雜信號(hào)傳輸系統(tǒng),采用一種高效的、實(shí)用的光纖傳輸方法,能夠傳輸多路模擬與數(shù)字信號(hào),以及低速數(shù)字信號(hào)與高速脈沖信號(hào)。與現(xiàn)有光纖傳輸系統(tǒng)相比,多路信號(hào)光纖傳輸系統(tǒng)不僅實(shí)現(xiàn)了多路復(fù)雜信號(hào)的采集,而且使用一根光纖實(shí)現(xiàn)了大容量多數(shù)據(jù)的雙向傳輸,既減小了產(chǎn)品體積,又降低了產(chǎn)品成本,易于組網(wǎng)與通信。[7-8]
1系統(tǒng)工作原理
多路信號(hào)光纖傳輸系統(tǒng)主要由信號(hào)采集模塊、數(shù)據(jù)處理控制模塊與傳輸介質(zhì)光纖三部分構(gòu)成,其工作原理如圖1所示。其中,信號(hào)采集模塊、數(shù)據(jù)處理控制模塊之間依靠光纖進(jìn)行信號(hào)傳輸,而且二者分別通過CAN方式實(shí)現(xiàn)組網(wǎng)與遠(yuǎn)距離高速通信。
在圖1中,信號(hào)采集模塊主要功能是實(shí)現(xiàn)4路模擬信號(hào)的采集、16路數(shù)子信號(hào)的發(fā)送、2路脈沖信號(hào)的接收、16路數(shù)子信號(hào)的接收;數(shù)據(jù)處理控制模塊主要功能是負(fù)責(zé)4路模擬信號(hào)電壓、16路數(shù)子信號(hào)的接收、2路脈沖信號(hào)和16路數(shù)子信號(hào)的發(fā)射。
2硬件架構(gòu)設(shè)計(jì)和程序設(shè)計(jì)
2.1硬件架構(gòu)設(shè)計(jì)
多路信號(hào)光纖傳輸系統(tǒng)的硬件架構(gòu)如圖2所示,主要由穩(wěn)壓電路、輸入輸出接口電路、電平轉(zhuǎn)換電路、單片機(jī)外圍電路、FPGA外圍電路、串化/解串器電路和光模塊電路組成。
圖2 多路信號(hào)光纖傳輸系統(tǒng)硬件架構(gòu)圖
整個(gè)硬件系統(tǒng)接入5 V電源,通過LDO穩(wěn)壓芯片,轉(zhuǎn)換成3.3 V、2.6 V、1.5 V電壓為相應(yīng)單元電路供電。輸入輸出數(shù)字信號(hào)和脈沖信號(hào)的電平均為5 V TTL,而FPGA采用的是3.3 V供電,因此,輸入輸出的數(shù)字、脈沖信號(hào)與FPGA之間需要相應(yīng)的電平轉(zhuǎn)換電路進(jìn)行電平轉(zhuǎn)換。信號(hào)采集端AD采樣后的電壓信號(hào)通過SPI接口與數(shù)據(jù)處理控制端的FPGA進(jìn)行通信,數(shù)據(jù)處理控制端的FPGA通過SPI接口將電壓信號(hào)輸出給DA。CAN總線信號(hào)通過單片機(jī)的SCI接口與FPGA進(jìn)行了通信。在光模塊與FPGA之間采用了串化/解串器(SERDES),匹配光模塊與FPGA的傳輸速率,實(shí)現(xiàn)并行數(shù)據(jù)和高速串行數(shù)據(jù)之間的串并/并串轉(zhuǎn)換。
2.2程序設(shè)計(jì)
程序設(shè)計(jì)包括單片機(jī)程序與FPGA程序設(shè)計(jì)兩部分,單片機(jī)主要實(shí)現(xiàn)4路模擬電壓的采集和CAN雙向通信,F(xiàn)PGA主要實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的轉(zhuǎn)換、編碼和校驗(yàn)。
1)多路信號(hào)光纖傳輸系統(tǒng)單片機(jī)程序設(shè)計(jì)流程如圖3所示。
圖3多路信號(hào)光纖傳輸系統(tǒng)單片機(jī)程序設(shè)計(jì)流程圖
在圖3中,主程序主要完成外設(shè)的初始化和通過SPI發(fā)送數(shù)據(jù)給FPGA。采用定時(shí)器2定時(shí)觸發(fā)AD采樣,AD采樣完成后,進(jìn)入中斷對(duì)采樣數(shù)據(jù)進(jìn)行處理,默認(rèn)開始采樣第一路,當(dāng)?shù)谝宦凡蓸咏Y(jié)束,對(duì)ADC0結(jié)果寄存器的值進(jìn)行處理,處理后的數(shù)據(jù)存入8位AD0_H和AD0_L寄存器中。然后依次將轉(zhuǎn)換通道切換成通道2、3、4,當(dāng)?shù)?路采樣結(jié)束后就完成了4路模擬信號(hào)的一次采集,再切換至第一路進(jìn)行采樣,依次循環(huán)往復(fù)實(shí)現(xiàn)了4路模擬信號(hào)的分時(shí)采樣;AD采樣完成后需要將采樣值發(fā)送給FPGA,單片機(jī)與FPGA之間采用SPI通信, SPI的的波特率為1M。在主程序中,判斷發(fā)送命令Send_Command是否為1,當(dāng)發(fā)送命令為1時(shí),將使能信號(hào)NSS置0,告之FPGA,在此期間接受到的數(shù)據(jù)有效,然后依次發(fā)送高字節(jié)和低字節(jié)數(shù)據(jù),最后一個(gè)發(fā)送完成時(shí),將發(fā)送命令Send_Command置0。每發(fā)送完一個(gè)字節(jié)后,等待SPI發(fā)送完成標(biāo)志Send_Over,若SPI沒發(fā)送完成,等待,若發(fā)送完成,發(fā)送下一個(gè)字節(jié)。
2)多路信號(hào)光纖傳輸系統(tǒng)的FPGA程序設(shè)計(jì)如圖4所示。
圖4 多路信號(hào)光纖傳輸系統(tǒng)FPGA程序設(shè)計(jì)
FPGA處理的數(shù)據(jù)碼流中的長(zhǎng)連0和長(zhǎng)連1不利于時(shí)鐘的提取和判別,為了減少長(zhǎng)連0和長(zhǎng)連1,多路信號(hào)光纖傳輸系統(tǒng)采用了8B/10B編碼方式,以此減少了低頻分量的影響。要想實(shí)現(xiàn)用一根光纖傳輸2位脈沖信號(hào)(單向)、16位數(shù)字信號(hào)(雙向)、4路模擬信號(hào)(單向)、1路CAN總線信號(hào)(雙向)的傳輸,在軟件設(shè)計(jì)時(shí)采用了對(duì)數(shù)據(jù)的并串轉(zhuǎn)換。在程序調(diào)試過程中,發(fā)現(xiàn)串化/解串器的輸入輸出發(fā)生了移位現(xiàn)象,而且移位是隨機(jī)的。為了解決該問題,在程序設(shè)計(jì)中加入了移位檢測(cè)部分,每隔1 s(10^6個(gè)時(shí)鐘周期),連續(xù)發(fā)送3個(gè)時(shí)鐘周期的移位檢測(cè)序列,移位檢測(cè)序列采用8B/10B編碼中的K28.5;在接收端檢測(cè)移位的位數(shù),對(duì)傳輸?shù)臄?shù)字信號(hào)進(jìn)行調(diào)整,以此解決了移位現(xiàn)象造成的誤傳輸。
3實(shí)驗(yàn)結(jié)果及分析
通過實(shí)驗(yàn),對(duì)多路信號(hào)光纖傳輸系統(tǒng)進(jìn)行了驗(yàn)證。
1)脈沖信號(hào)測(cè)試
實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 脈沖信號(hào)實(shí)驗(yàn)結(jié)果
在圖5中,采集端輸入5 V 1MHz、脈沖寬度100 ns、上升沿和下降沿均為3 ns的TTL脈沖信號(hào),測(cè)得輸出脈沖信號(hào)前后沿抖動(dòng)小于15 ns,上升沿和下降沿小于5 ns,輸入輸出延時(shí)小于180 ns。
2)數(shù)字信號(hào)測(cè)試
實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 數(shù)字信號(hào)實(shí)驗(yàn)結(jié)果
在圖6中,在信號(hào)采集端和數(shù)據(jù)處理控制端依次用信號(hào)發(fā)生器輸入16路5 V、1 kHz、占空比50%的數(shù)字信號(hào),測(cè)得16路數(shù)字信號(hào)輸出頻率為1 kHz、高電平約為5 V,輸入輸出延時(shí)小于700 ns。
3)模擬信號(hào)測(cè)試
結(jié)果如圖7所示。
在圖7中,在信號(hào)采集端輸入0.5~4.5 V的模擬信號(hào),選取不同的測(cè)試點(diǎn)進(jìn)行測(cè)試,由測(cè)試結(jié)果可知,在0.5~4.5 V的輸入電壓范圍內(nèi),輸出電壓最大誤差為18 mV,精度不低于0.6%。
圖7 模擬電壓測(cè)試結(jié)果
4結(jié)論
多路信號(hào)光纖傳輸系統(tǒng)基于單片機(jī)和FPGA聯(lián)合開發(fā)技術(shù),使用一根光纖實(shí)現(xiàn)了多路信號(hào)的雙向傳輸,不僅實(shí)現(xiàn)了多路模擬與數(shù)字信號(hào)的采集和傳輸,還實(shí)現(xiàn)了高速脈沖信號(hào)和低速數(shù)字信號(hào)的傳輸,一方面減小了產(chǎn)品的體積,另一方面降低了產(chǎn)品成本,使用方便、便于工程維護(hù)。通過實(shí)驗(yàn)驗(yàn)證了多路信號(hào)光纖傳輸系統(tǒng)的正確性,其設(shè)計(jì)原理、硬件架構(gòu)設(shè)計(jì)和程序設(shè)計(jì)為其他多路信號(hào)的采集、控制、傳輸提供了設(shè)計(jì)參考,具有重要的指導(dǎo)意義。
參考文獻(xiàn):
[1] 李亮,胡一梁,韓瑞珍. 基于FPGA的數(shù)字光端機(jī)的設(shè)計(jì)[J].中國(guó)有線電視,2008(9):955-957.
[2] 盧敏, 張子墨. 基于FPGA的LVDS光纖通訊系統(tǒng)的實(shí)現(xiàn)[J]. 信息技術(shù), 2007,12(12):164-166.
[3] 蹇清平,佘新平. 一種新的多路數(shù)字信號(hào)光纖傳輸系統(tǒng)的設(shè)計(jì)與仿真[J]. 長(zhǎng)江大學(xué)學(xué)報(bào)(自然科學(xué)版)理工卷,2009(3):81-84.
[4] 來衛(wèi)國(guó). 10位BLVDS串化器DS92LV1023和解串器DS92LV1224的原理及應(yīng)用[J]. 國(guó)外電子元器件, 2002(8):45-47.
[5] 季曉飛,遲澤英,游明俊,等.光纖雙向傳輸系統(tǒng)中數(shù)字光端機(jī)的研制[J]. 南京理工大學(xué)學(xué)報(bào), 2001,25(2):182-185.
[6] Johnson H, Graham M. High-speed digital design[M]. Beijing: Publishing House of Electronics Industry, 2006:106-127.
[7] 孫堅(jiān). 基于GPIB的光纖收發(fā)器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用, 2009(12):22-23.
[8] 郭玉彬,霍佳雨,靳江濤,等. LiNbO3外調(diào)制器的10Gbit/s 光纖傳輸系統(tǒng)[J]. 光學(xué)精密工程,2007,15(1): 22-26.
Multi-channel Signal Optical Fiber Transmission System Based on FPGA and MCU
Li Yanwu
(Electrical and Electronic Engineering Department,Occupation’s Technology Institute of Anhui Industry and Commerce Huainan232007,China)
Abstract:Based on FPGA and MCU technology, a multi-channel signal optical fiber transmission system is designed, which makes use of MCU for high-precision analog data acquisition and bidirectional transmission of a communication signal;FPGA for processing and transmission of multi-channel complex signals. Experiments show that: the system not only can transmit multi-channel analog and digital signals, low-speed digital signal and high-speed pulse signal, but also can realize the bidirectional CAN communication. Compared with the existing optical fiber transmission system, the multi-channel signal optical fiber transmission system realizes data acquisition of multi-channel complex signals, also realizes bi-directional transmission of multiple high-capacity data with a fiber. On the one hand reduces the volume of the product, on the other hand to reduce the product cost.
Keywords:FPGA; MCU; multi-channel signal; fiber optic transmission
文章編號(hào):1671-4598(2016)02-0222-03
DOI:10.16526/j.cnki.11-4762/tp.2016.02.061
中圖分類號(hào):TN929.11
文獻(xiàn)標(biāo)識(shí)碼:A
作者簡(jiǎn)介:李言武(1974-),男,碩士研究生,副教授,副主任,主要從事電子、通訊及自動(dòng)化控制技術(shù)方向的研究。
收稿日期:2015-08-18;修回日期:2015-09-22。