APP下载

基于FPGA的激光通信数据模拟器

2013-10-27郑建生朱玉建

通信技术 2013年6期
关键词:中速校验时钟

雷 莉, 郑建生, 朱玉建

(武汉大学 a.电子信息学院;b.GNSS中心,湖北 武汉 430072)

0 引言

激光通信技术是将大容量的激光同灵活的空间无线通信相结合,并具有高传输速率、宽可利用频带、高可靠性、强保密性、终端设备体积小、功耗低等特点[1],是解决微波通信瓶颈的有效手段,非常适于卫星与卫星、卫星与飞机以及临近空间平台等之间高码率、大容量信息的传输,目前国内外对空间激光通信技术的研究十分重视,空间激光通信系统研制开发的必备辅助工具激光通信数据模拟器的研制也显得尤为重要,它可以模拟激光通信数据信号,测试激光通信系统功能和性能指标是否满足要求,同时也可以测试空间激光通信系统的可靠性和应答功能,是空间激光系统完成自检测试的重要辅助工具。

1 系统总体设计

激光通信数据包含两路,一路是1.6 Gb/s高速激光数据,用于传输数据信息;一路是100 Mb/s中速激光数据,用于传输控制指令和状态信息,要求误码率小于10e-9。本系统以FPGA为控制核心,分别产生1.6 Gb/s高速激光数据信号和100 Mb/s中速激光数据信号,通过RS422接口与PC机通信实现人机交互。本系统通过 PC机的交互界面设置激光通信数据模拟器的工作状态和发送激光通信数据帧数,通过RS422串口发送控制指令,系统接收到控制指令会返回状态信息给 PC机显示以告知用户。该系统的总体设计框图如图 1所示。整个系统以FPGA为核心,系统的控制模块、数据产生模块,编码模块都在FPGA内部完成。外部的时钟模块为系统时钟信号,包括 100 MHz的全局时钟和125 MHz的高速收发器参考时钟;配置端口是指JTAG端口,用于程序下载和在线调试,而配置芯片为程序提供存储空间和断电后的程序写入;电源模块为系统芯片提供电源,包括1.0 V、1.2 V、1.8 V、2.5 V和3.3 V电源;光电收发模块负责将FPGA串行输出的电信号转换为光信号用于空间激光传输;RS422电平转换模块实现LVTTL电平与RS422电平的转换,用于PC机与系统的信息交互。

图1 系统的总体设计框

2 激光通信数据编码方案

2.1 循环冗余差错编码

循环冗余编码(CRC)由于其误码监测能力强、抗干扰能力优异,被广泛用于线路差错编码。并行CRC校验是把输入N位数据按照串行CRC校验原理一位一位运算得到N位的CRC校验结果表达式,这个校验结果表达式就是并行 CRC校验的校验公式,并行CRC校验就是把串行CRC校验的N步运算和为一步[2]。本系统的高速数据信号产生中的Rocket I/O收发器支持CRC32校验,中速数据信号产生亦采用 CRC32编码,CRC32的校验编码公式(生成多项式)为:

系统中CRC校验模块的输入数据为16位,校验从高位开始,经过16次的串行移位运算得到最终的并行校验异或公式(New_crc指运算后的 CRC结果,crc运算前的CRC结果,data输入的16位数据,只列出了New_crc[0]见式(2):

2.28 B/10B线路编码

在激光通信中,线路编码是数据传输必不可少的,主要是解决普通二进制在光纤数字系统中不适合传输的问题。适合在激光通道中传输的信号不同于一般的电信号,由于光源只能表示两种状态,一种为“有”,一种为“无”,不能满足双极性码三种状态的要求,所以信号只能采用单极性编码,用光源的“有”和“无”代表二进制单极性码中的“0”和“1”。单极性码不可避免出现长串连“0”、连“1”,另外含有直流分量会使得信号提取困难且信号基线浮动,为了改正单极性编码的缺点,在信号码流进入电光转换模块之前进行码型变换,使调制后的光脉冲适合于光传输。8B/10B是字变换mBnB码的一种,是目前诸多主流的高速串行接口或总线的编码方案,其主要优点有:

1)高转换密度,就是保证了发送数据流中有足够的信号转换。

2)DC补偿,对信号进行DC补偿,能保证“0”和“1”的数目相当平衡。

3)检错,由于8B/10B编码遵循特定规则,可以检测很多信号的传输错误。

4)特殊字符[3],可以用作控制信号。

运用8B/10B编码传输发送的“0”和“1”的数量能基本保持一致,连续的“0”或者“1”的个数不会超过5个,能有效避免 DC失调,使接收端能正确复原传输数据[4]。Xilinx V5系列FPGA内部集成的IP核RocketI/O高速收发器可配置8B/10B编码选项,从而简化高速数据产生的设计,对于中速数据,采用FPGA编程实现8B/10B编码设计。8B/10B编码结构图如图 2所示,采用查找表法实现,主要分为5B/6B编码、3B/4B编码和K码检测部分。编码是将8位数据映射到10位,分为数据字符集和K字符集,K字符集主要用来作为控制信息。在这种编码中,只包含有256个10位数据字符编码和12个10位控制字符编码,其他的 10位数据是无效的,以牺牲数据传输效率来提高传输可靠性。

图2 8B/10B编码结构

8B/10B 编码提高了数据传输速率,改善了AC耦合与快速传输之间的矛盾。编码特点也帮助提高了数据传输的准确度,利用编码的冗余特点实现的内嵌时钟改善了PCB 的传输性能,同时也极大地提高了高速串行数据传输的性能[5]。

3 FPGA的选择

系统主要通过FPGA控制实现模拟数据信号的产生输出,对FPGA的功能频率和性能都有一定要求,如何选择一款合适的可编程逻辑阵列芯片至关重要。综合系统的设计要求,最终采用Xilinx公司的Virtex-5系列FPGA[6]。Virtex-5系列采用的是第二代高级芯片组合模块列式架构,具有先进的高性能逻辑结构外,还内置大量的IP硬件系统级模块,该芯片具有一下特点:

1)逻辑资源丰富。

2)内含 12个集成数字时钟管理器(DCM)和 6个锁相环(PLL)时钟生成器的增强型时钟管理模块,最高支持550 MHz工作时钟。

3)存储资源丰富,包括功能强大的36 kb模块RAM/FIFO。

4)内含12个功耗优化型高速串行收发器模块(RockI/O),最高速率可以达到3.75 Gb/s。

5)支持 20 多种 I/O 接口标准,如 LVTTL、LVDS、LVPECL、LVCMOS33、LVCMOS25等常规电平[7]。

该系列FPGA内部集成了串行速率高达3.75 Gb/s的高速收发器,可以满足本系统1.6 Gb/s高速激光数据的指标要求,且其内部还配置了数字时钟管理、锁相环和FIFO,能很好地满足设计需要,使系统工作稳定且功耗低,一致性好,调试难度低。

4 系统的逻辑设计

系统逻辑设计包括复位模块、时钟管理模块、100 Mb/s中速数据产生模块、1.6 Gb/s高速数据产生模块和RS422控制模块。

4.1 复位管理模块

系统中需要复位的模块包括时钟管理模块(DCM)和其它模块,由于其它模块需要的有些时钟信号来自DCM,所以要先完成DCM复位,且等到时钟锁定之后才能完成其它模块的复位,保证系统正常复位。如图3所示,Rst是外部输入的复位信号,sysRst是DCM模块的复位信号,sysRst2是其它模块的复位信号。

图3 系统复位信号

4.2 RS422控制模块

本系统采用RS422作为PC机与FPGA的控制接口,RS422模块接收PC机发出的控制指令,返回系统工作状态参数。RS422是采用四线接口,具有独立发送和接收通道,能实现双工通信。由于它的数据信号采用差分传输方式,抗干扰能力强,传输速率快,传输距离远,再加上结构简单,价格低廉,是在数据通信中得到广泛应用的一种串行接口。RS422串行通信接口波特率设置为115200,采用12位异步通信接口,1位起始位、8位数据位,一位校验位和2个停止位,校验采用奇校验。其数据格式如图4所示。

图4 RS422串行通讯数据格式

4.3 高速数据信号产生模块

产生1.6 Gb/s的高速数据的关键技术在于如何实现串行高速率输出。Xilinx V5系列FPGA中集成的Rocket I/O模块,内置锁相环、时钟恢复和修正电路、通道绑定、对齐、8B/10B编码、空闲序列生成,循环冗余校验等模块[8],它的灵活性和可配置性使得它容易集成到设计中。RocketIO模块需要通过适当的配置以满足本系统设计需求。启动IP核生成向导,按照向导完成GTP模块的配置,配置分为以下几步:

1)组件名称和模块配置。

2)串行输出数率和协议标准配置。3)8B/10B可选端口配置。

4)输入输出的延迟、时钟和缓冲配置。

5)发送预加重、终端电阻和接收均衡配置。

6)RX接收OOB、PRBS和同步亏损配置。

7)RX接收Comma字符配置。

8)通道绑定和时钟修正配置。

9)通道绑定序列配置。

10)时钟修正序列配置。

11)RX接收端PCI Express和SATA接口协议配置[9]。

通过合适的配置,可以生产模块代码,调用这个模块代码完成1.6 Gb/s的数据输出。

4.4 中速数据信号产生模块

中速激光数据产生用硬件编程语言编写中速数据发生器模块,通过接收中速数据产生模块的控制信息,控制数据发生器数据的产生,并加入数据帧头和CRC编码结果组成数据帧,经过FIFO缓存后送入 8B/10B编码模块,最后经过并串转换输出。8B/10B编码程序设计流程如图5所示,RD极性是指编码中“0”和“1”的个数差即数据流的不平衡度,输入8位数据,首先判断是否为K(控制)字符,如果是K字符根据RD极性可以直接进行8B/10编码得到10位输出,同时更新RD,如果是D(数据)字符,则根据RD极性进行5B/6B编码,并更新RD极性,然后依据更新的RD极性执行3B/4B编码,并再次更新RD极性,最后输出10位编码数据。10位编码数据输出送入并串转换模块串行输出。

图5 8B/10B编码程序设计流程

5 试验结果

激光通信数据模拟器测试框图如图6所示。激光通信数据模拟器模拟产生1.6 Gp/s的高速激光数据和100 Mb/s的中速激光数据,经过光放大模块(EDFA)后由光纤传输给接收端,为了更好地模拟空间激光数据传输,接收端加一个激光衰减器,光信号经过衰减之后进入激光通信系统,经过串并转换、8B/10B解码等数据处理之后转发给PC机存储分析。

图6 激光通信数据模拟器测试框

激光通信数据测试分1.6 Gb/s的高速激光数据测试和100 Mb/s的中速激光数据测试,考虑激光强度的影响,测试中调节激光衰减率,在不同接收光强下测试误码率,如表1所示。

表1 测试结果(连续测试4个小时)

6 结语

文中设计了一个模拟产生1.6 Gb/s和100 Mb/s的激光通信数据模拟器,能很好地辅助激光通信等系统完成自检测试,为实现激光通信系统的低误码率的测试提供保障,能有效缩小系统的开发周期,同时也为其他系统的高速和中速数据产生及数据传输低误码率的实现提供方案,该系统对以后卫星与卫星之间、卫星与地面之间的空间激光通信系统的设计具有很大的借鉴意义。下一步的研究工作是扩大数据模拟器的应用范围,使其能应用在存在随机错误和突发错误的信道[10]和深空通信[11]中,这需要对模拟数据进行级联等更加复杂的信道编码,来提高数据传输的安全性和可靠性。

[1]赵尚弘,吴继礼,李勇军.卫星激光通信现状与发展趋势[J].激光与光电子学进展,2011,9(48):7-21.

[2]李宥谋.以太网中8位并行CRC-32软核设计[J].西安邮电学院学报,2006,11(05):32-35.

[3]李宥谋.8B/10B编码器的设计及实现[J].电讯技术,2005(06):26-29.

[4]许军,许西荣.PCI- Express中8b/10b编码解码器的设计与实现[J].微电子学与计算机,2006,23(03):37-39.

[5]李玉伟,潘明海.8B/10B编码对高速传输的影响分析[J].信息安全与通信保密,2011(03):41-43.

[6]李超然,郑建生,林炳章.基于FPGA的同步脉冲传输系统设计[J].通信技术,2011,44(06):6-8.

[7]XILINX, Virtex-5Q Family Overview DS100(v5.0)[EB/OL].(2010-5-22)[2012-12-30]. http://china.xilinx.com/support/documentation/data_sheets/ds 174.pdf.

[8]吴帅.基于 PCI Express总线和光模块的高速串行传输系统设计与实现[D].长沙:国防科学技术大学,2008.

[9]GTP Transceiver Wizard v2.1 Getting Started Guide[EB /OL].(2010-04-19)[2012-12-30].http://china.xilinx.com/support/documentation/ip_documentati on/v5_gtpwizard_gsg188.pdf.

[10]李元兴,成坚.一种用级联码构造的公开密钥密码体制[J].信息安全与通信保密,1989,3(39):1-6.

[11]岳平,胡飞.深空通信中极低码率编码技术研究[J].通信技术,2012,45(01):20-22.

猜你喜欢

中速校验时钟
使用Excel朗读功能校验工作表中的数据
别样的“时钟”
船用中速机油氧化衰变模拟试验研究
古代的时钟
中速磨煤机振动大原因分析及对策
中速磨煤机磨损加剧原因分析及整改措施
米尔科姆公司向南非国防军提供Y4型6发榴弹发射器
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
有趣的时钟