基于FPGA的双向多路信号光纤传输组件设计
扫描二维码
随时随地手机看文章
摘要:多路信号的光纤传输在新型产品的研制中得到了越来越广泛的应用,文章首先介绍了基于FPGA的双向多路信号光纤传输组件的工作原理,在此基础上设计了光纤传输组件的硬件结构和基于FPGA的软件结构,设计了光驱动电路和光接收电路,最后通过实验验证了双向多路信号光纤传输组件设计的正确性。
关键词:光纤传输;多路信号;单纤双向;FPGA
0 引言
随着信息技术的快速发展,光纤通信在产品研制与应用中的作用日益彰显,某新型产品的研制需要传输大量的信号,这些信号不仅包括模拟检测信号,还包括数字检测信号及速率不同的普通控制信号和高速控制信号。传输这些信号若采用电缆通信,一方面需要使用大量的电缆,将使系统存在体积大、重量重的缺点,另一方面不同种类不同速率的信号采用电缆通信,存在信号之间干扰严重、信号失真较大、通信距离严重受限的不足。这样的不足将严重影响系统的整体性能。为克服电缆通信的不足,本文介绍了一种采用光纤通信的传输方式,不仅实现了多路复杂信号的传输而且采用一根光纤实现了大容量数据的双向传输。
1 工作原理及分析
双向多路信号光纤传输组件可分为现场端、控制端和传输光纤三部分。现场端传输2路电压信号和6路数据信号至控制端,同时要求控制端传输2路脉冲信号和6路数据信号至现场端。双向多路信号光纤传输组件的原理框图如图1所示。
在图1中,现场端和控制端均采用FPGA作为数据处理的核心部件,现场端和控制端所有外部输入的发送信号均通过FPGA处理后变成一路电信号,该电信号经光模块进行电光转换变为光信号经光纤实现传输,接收部分则由光模块将光信号变为电信号经FPGA处理后输出。对于不同信号处理的方式不同,2路电压信号在现场端经AD采样后进入FPGA处理,通过光纤传输至控制端,再经DA变换后输出。由于FPGA外围端口的工作电源为3.3V,其输入端口兼容5V电平,2路5V TTL脉冲信号在控制端可直接进入FPGA处理,通过光纤传输至现场端;在现场端则由FPGA处理后变为3.3V TTL脉冲信号,再利用电平转换芯片变换为5V TTL脉冲信号输出。对于数据信号的传输,控制端和现场端各有6路输入的数据信号和6路输出的数据信号。与前面脉冲信号类似,对于FPGA是输入的数据信号而言,可直接相连,无需电平转换;对于FPGA是输出的数据信号,则需要增加一个电平转换环节,以便提高输出信号的电平实现5V信号的传输。
2 系统介绍及设计
2.1 硬件结构设计
在介绍双向多路信号光纤传输组件工作原理的基础上,本节将介绍组件的系统设计,可分为硬件设计和软件设计。基于FPGA设计的硬件结构如图2所示。
在图2中,当现场端发送数据时,2路电压信号通过运放调理电路连接到AD芯片的输入端。由于AD芯片采用3.3V供电,AD芯片与FPGA之间可直接相连无需任何电平转换,二者之间通信方式为SPI。2路AD转换后的数据与6路数据信号一起送入FPGA进行编码校验等技术处理之后经串化/解串器变换为一路高速数据,该高速数据送给光模块将电信号变换为光信号;当现场端接收数据时,首先通过光模块将光信号转换为电信号,转换后的电信号是一路高速信号,该高速信号通过串化/解串器变为并行数据信号送给FPGA进行解码、校验及相应信号处理后输出所需的信号。控制端发送数据和接收数据与现场端类似,不再赘述。
2.2 软件结构设计
本小节介绍软件设计思路及涉及到的主要技术。设计的软件结构图如图3所示。
由图3可知,软件结构主要包括成帧/解帧、CRC校验、8B/10B编解码、优先选择与控制、输入输出缓存等。成帧/解帧实现对数据的封装/解封装,用于信源编码,本设计采用CRC(循环冗余校验)的目的是减少误码率,提高通信质量,在发送数据时由生成多项式计算出CRC值并随数据一同发送给接收端,接收端对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。8B/10B编码/解码用于实现数据在光纤上的最优传输。8B/10B编码将8 bit代码组合编码成10 bit代码,代码组合包括256个数据字符编码和12个控制字符编码。通过仔细选择编码方法可以获得不同的优化特性。这些特性包括满足串行/解串行器功能所必须的变换;确保“0”码元与“1”码元个数一致,又称为直流均衡,确保字节同步,以及对误码率有足够的容忍能等。本组件8B/10B编码可分为3B/4B和5B/6B进行编码。解码部分依照编码时相同的方法将10位数据分为4B和6B分别解码,程序以483B、685B分别查表的方式实现解码。解码后再按顺序组合成8位数据。由于要实现多路信号传输以及光纤信号的双向传输,采用一些缓存与控制逻辑用于协调并控制各模块的工作。优先选择与控制的作用是将确立脉冲、数据和电压三种信号传输的优先级,本组件设定优先级为脉冲信号第一,其次为数据信号,最后是电压信号。只要检测到脉冲信号的高电平跳变,便根据优先选择和控制模块,中断当前的光纤传输数据,对其脉冲信号立即进行传送和接收。同样在控制端也根据优先原则,将脉冲信号在第一时间内通过FPGA传输出去,当脉冲信号传送完毕后,再处理其他信号的传输。
3 电路设计及实验
3.1 主要电路设计
本节将介绍主要电路的设计,包括光驱动电路设计和光检测电路设计。
光驱动电路用于将电信号转换为光信号以便通过光纤实现传输,设计的光驱动电路如图4所示。
在图4中,U1是工作电压为3.3V带有自动功率控制的激光驱动器,能将输入的PECL信号转换为激光器工作需要的TTL信号,BIAS是激光器的偏置电流输出脚、BIASMAX用来设置激光器的最大偏置电流,用于保护激光器免遭过电流烧坏;MODSET用来设置调制信号的电流,通过设置APCSET到地的电阻可以得到需要的平均光功率,MD用于监测流过探测器的电流,将检测到的电流作为反馈量送给激光驱动器用来调节偏置电流的大小。
电信号经光驱动电路变换为光信号就可通过光纤实现传输,光接收电路用于将光信号转换为电信号,典型的光接收电路主要包括光探测器、跨阻放大器(TIA)和限幅放大器(LA)。双向多路信号光纤传输组件采用的光接收电路如图5所示。
图5探测器选用APD型光探测器,用于将光信号转换为电信号,经探测器转换得到的电信号是微弱信号,需要通过跨阻放大器转换为一定幅值的电压信号,图5中U2就是实现这样的功能。图5中U3是限幅放大器,其作用是限制上升沿、下降沿过冲,并放大信号以利于后续处理。
3.2 实验结果及分析
双向多路信号光纤传输组件的技术指标要求:2路电压信号输入0~5V DC,误差小于20mV;2路脉冲信号宽度1~200 μs,占空比20%,传输延时小于50ns;6路数据信号5V TTL,传输延时小于50 μs。针对技术指标,做了相应的实验,实验结果如下。
2路电压和2路脉冲信号实验结果如表1、表2所示。
对每路电压进行5组数据的实验,实验结果如表1所示,由表1可知,输出电压与输入电压的偏差最大2mV,误差不大于0.2%,实验结果优于技术指标误差20mV的要求。对2路脉冲信号进行了固定占空比,脉冲宽度不同、频率可变的3组数据的实验,实验结果如表2所示:
由表2可知,对于不阿频率不同脉冲宽度的固定占空比信号,输出脉冲宽度的变化最大为0.03 μs,输入信号的频率不影响脉冲的展宽,实验数据满足技术指标脉冲延时小于50ns的要求。6路数据的实验传输延时45 μs,满足技术指标传输延时小于50 μs的要求,鉴于篇幅原因,不再详述。
4 结论
光纤通信由于具有通信容量大、通信距离远、抗干扰能力强等优点在武器装备中得到了广泛应用,本文介绍了一种可传输多路复杂信号的光纤传输组件,介绍了多路光纤传输组件的工作原理,给出了硬件结构设计和软件结构设计图,本文介绍的硬件结构为其他多路信号光纤传输的设计具有一定的借鉴意义,基于FPGA的软件设计结构为FPGA在光纤传输中的应用具有重要的参考价值,实验数据满足技术指标的要求,证实了多路信号光纤传输组件设计的正确性。