第34卷第5期 2011年10月 电子器件
Chinese Joumal of Electron Devices Vo1.34 No.5 0ct.2011
Design of BER Tester Based on FPGA for FSO Communication
YAN Sijia,PENG Renjun ,GAO Jianshuang,FENG Bo
(School of Optoelectronic Information,University of Electronic Science and Technology of China,Che “610054,China)
Abstract:A kind of design method for BER tester based on FPGA is put forward.In this design,BER testing includes the pseudo-random code generator module,the synchronization module,the error code statistics module and
the LCD module,and the paper has discussed these modules.The synchronization is one of the key technologies in
BER testing.In this design,we use FIFO to achieve the synchronization of the internal data and the received data.
Using the proposed design,a 10 Mbit/s BER tester is developed.Numerous experiments have shown that the measuring system is stable and reliable,which confirmed the feasibility of the design.The BER tester has been SUC—
cessfully used in the FSO communication system and delivered to users.
Key words:FSO;BER tester;FPGA;synchronization;FIFO EEACC:6120B;7210 doi:10.3969/j.issn.1005-9490.2011.05.026
基于FPGA的FSO通信误码测试仪的设计
闫思家,彭仁军 ,高建双,冯 波
(电子科技大学光电信息学院,成都610054)
摘 要:提出了一种基于FPGA的FSO通信误码测试方案。该方案中。误码测试主要是由伪随机序列发生模块、同步模块、 误码统计模块以及LCD显示模块来实现,对这些模块进行了详细的论述。误码测试的关键技术之一是比特同步,该方案利用 FIFO实现误码仪内部数据与接收数据之间的同步。利用该方案研制了一套10 Mbit/s的误码测试仪。大量实验表明,所研制 的误码仪性能稳定可靠,证实了设计方案的可行性。目前该误码测试仪已成功应用于FSO通信系统并交付用户使用。 关键词:FSO;误码测试;FPGA;同步;FIFO 中图分类号:TN929.12 文献标识码:A 文章编号:1005—9490(2011)05—0589—04
自由空间光通信FSO(Free Space Optical Corn.
munication)也称无线光通信。具有保密性好,架设轻
巧,频谱资源丰富,适用多种通信协议等优点,现已 得到广泛应用_1 ]。FSO通信系统大部分采用数字
通信,在数字通信系统中,误码率是衡量系统优劣的
一个非常重要的指标。 目前,国内市面上通用的误码仪型号比较多,性
能各异,虽简单易用,测试内容丰富,但尚未见有专
为FSO通信系统设计的误码仪。而且针对具体的
通信系统,指标要求也有所不同。这就需要自主设计
与FSO通信系统配套的误码仪。本文针对一
10 Mbit/s传输码率的FSO通信系统,设计并开发了
一套误码测试仪,主要目的是针对地面远距离无线
激光通信的误码率进行测量。误码仪研制完成后,
收稿日期:2011-05—11 修改日期:2011—06—15 进行了室内以及各种天气环境下的室外远距离无线
激光通信的误码测试实验。
误码测试的关键技术在于比特同步。目前,
FSO通信系统误码仪的设计大部分是先采用数字锁
相环方法提取位同步信号,然后再进行序列同 步[5 ]。本文提出的误码测试方案中的同步模块是
先通过CDR电路提取接收数据的时钟信号,再利用
FPGA内部自带的IP核一FIFO对接收的数据进行缓 存,读取数据时利用FPGA的内部时钟,从而实现误
码仪内部产生的伪随机序列与接收数据同步。
1误码测试原理及结构
1.1误码测试原理 此10 Mbit
/s传输码率的FSO通信系统采用点 590 电 子 器件 第34卷
到点双工通信,相连的两个FSO通信机均包含有发
射模块和接收模块,并分别配有一个误码仪进行测
试。本误码仪与FSO通信系统的接口电平选用 LVDS电平。 本误码仪的工作原理是:由误码仪内部产生一
个伪随机序列(序列循环长度为12 bit),经过封装
成帧,通过光端机发送至信道传输,在接收端的另一 只误码仪会产生与发送端同频同相的数据流,并将
接收到的数据流与本地产生的数据流进行逐位比
较,从而进行误码统计并通过LCD显示误码信息。 1.2误码仪结构 本误码仪的硬件部分主要包括:CDR模块.
FPGA芯片及外围电路,LCD显示模块以及按键部
分。其总体框图如图1所示。
图1误码仪硬件结构示意图
CDR模块将接收到的LVDS电平信号进行数 据整形,同时提取出同步时钟,并由该时钟重定时
接收数据。而后交由FPGA处理;FPGA对接收到
的信号进行解帧同步并与本机产生的伪随机序列
进行比较完成误码统计。对LCD显示状态进行控 制并生成显示画面。本误码仪选用Ahera公司
Cyclone 11系列的EP2C5Q208C8芯片。LCD有4
种显示画面分别由4个按键控制:POWER键一启
动误码仪,进人初始界面:误码键一误码仪开始计 数,LCD可显示总比特数、误码个数及时间(最小
单位为min);码率键一检测通信系统传输的码率;
复位键一对FPGA内部模块总体复位:暂停键一暂 停误码统计计数。
2误码仪关键技术
本误码仪的功能是对接收到的信号进行解帧同
步,完成误码统计并显示统计结果。FPGA处理模 块是误码仪的核心模块,它承担着几乎所有的信号
处理工作,包括伪随机序列的生成、同步、误码统计
以及显示。其内部程序结构如图2所示。 图2误码仪检测原理图
2.1 M序列发生器 M序列码发生器是一种反馈移位型结构的电
路,它由n位移位寄存器加异或反馈网络组成,其序
列长度 =2 一l,只有一个多余状态即全0状态.所
以称为最大线性序列码发生器,也称伪随机序列码。 因为具有随机性和规律性、好的自相关和互相关性.
而且很容易产生等特性,M序列码在通信、雷达、系
统可靠性测试等方面获得了广泛应用。在本误码仪 中,M序列发生器设计n为12,反馈函数F=Q o
Q ①Q o Q 数据生成模块就是生成一个l2 bit
的伪随机序列,周期为2挖一1。 2.2 同步
同步是数字通信系统以及某些采用相干解调的 模拟通信系统中一个重要的实际问题。由于收、发
双方不在一地,要使它们能步调一致地协调工作,必
须要有同步系统来保证。实现正确数字通信的前提 条件就是要求接收端和发送端的比特同步,有多种
方式可以实现收发双方的同步[8]。
本误码仪的同步方案分为3步:
(1)数据封装成帧。 ・ 数据封装成帧模块就是对周期为2 一1的伪随机
序列封装成帧,帧头为8个串行的“A5”。封装成帧的
目的就是接收端可以通过检测帧头的来临来判断一组
数据是否已经到达,以便和本地数据源实现同步。
(2)通过CDR模块提取时钟信号。 作为检测通信质量的工具。误码测试仪对时钟
抖动、数据链路中时钟频率的稳定性有严格的要求. 而设计符合要求的CDR模块是得到正确实验数据
的前提。目前主要有模拟和数字两种方式实现
CDR。纯数字的方法实现时钟恢复经常应用于低速
通信系统中,这种数字时钟恢复方法在高速应用下 抖动比较严重。鉴于FPGA器件本身的局限性。本
系统采用模拟芯片来实现时钟恢复。
本误码仪选用ADI公司出品的ADN2815来实
现时钟恢复和数据重定时。ADN2815适用于从10
Mbit/s到1.25 Gbit/s的连续数据速率.可自动锁定
至所有数据速率,
无需外部参考时钟或编程。满足 第5期 闫思家,彭仁军等:基于FPGA的FSO通信误码测试仪的设计 591
抖动传递、抖动产生和抖动容差等所有的SONET抖
动要求。 (3)由同步解帧模块和速率调整模块来实现
同步。
同步解帧模块就是通过检查帧头(8个串行 “A5”)的到达来判断一帧数据是否开始:如果帧头
完整地到来则说明一帧数据已经开始,并输出一个
帧开始的指示信号:否则进入丢失状态进而重新搜
索帧头。直到正确检测到帧头。其原理如图3所示。
搜索态
系 统 复 位
等待态 预同步态 若检测第二帧数据 及数据已完整到达、—广/ 羹 矍续罢 检 = 测l头元整到达 的帧头出现
误 码 2.4显示部分
显示部分由数据处理模块、LCD控制模块、LCD
画面生成模块和数据显示组成。其原理是先将误码 统计模块生成的二进制统计数据转换成LCD便于
显示的十进制数据.然后将LCD显示的画面与误码 统计传输来的信号进行协调,并将数据图形信号并
行传输给LCD数据显示模块。与此同时,LCD控制
模块对外部按钮信号进行去抖动处理,将其转化为 FPGA能够识别的控制状态,并生成LCD模块能够
识别的控制信号,最后驱动LCD显示模块,显示图
像信号。
本误码仪所用LCD显示模块是汉升公司出品 的HS12864—19,内嵌中文字库,其信号输人分为串
并两种模式,本系统设计采用的是高速并行模式。
3 仿真结果及实验截图
图3 同步解帧原理图
速率调整模块就是将线路时钟调整到本地时
钟。其原理是通过2个异步FIFO(First In First Out)并采用乒乓结构实现的。当解帧模块输出一
个帧开始的指示信号时,接收到的数据利用FIFO 进行缓存:写入FIFO时用线路时钟,读出FIFO时
用本地时钟,便于后续误码的统计处理。FIFO是一
种先进先出的数据缓存器,一般用于不同时钟域之
间的数据传输。乒乓操作是FPGA设计中最常用的
一种数据缓冲方法,可节省数据单元的处理时间,避
免数据处理时因无法持续接收而丢失有效数据,其
原理如图4所示:输入的数据经过选择开关后,分别
进入缓冲模块1和缓冲模块2,当数据写入缓冲模 块1的时候,数据处理单元从缓冲模块2读取数据
进行处理:当数据写入缓冲模块2的时候,数据处理 单元从缓冲区模块1读取数据进行处理 9]。
输人数据 选择开关 缓冲模块2
缓冲模块2 冀妻 H
图4乒乓操作原理图
2.3误码统计 本地数据生成模块和误码统计模块共同完成误 码仪的核心部分一误码统计。其原理为:速率调整
模块输出一帧数据到来的指示信号以及FIFO的读
指令信号来指示本地数据生成模块生成一个与发送 端结构完全相同的伪随机序列,并将其与FIFO读
出的信号进行比较统计,并输出误比特数、总比特数
以及通信传输总体所用时间。 本误码仪利用VerilogHDL语言实现M序列发
生器,反馈函数F=Q ①Q ①Q ①Q ,并结合
Modelsim6.4进行功能仿真。得到仿真波形如图5
所示。
图5 M序列码发生器波形仿真
本误码仪选用50 MHz晶振提供给FPGA的全
局时钟网络,为满足FSO通信系统要求的通信码
率.将50 MHz的时钟分频至10 MHz以传送、接收
数据.但FPGA内部处理数据仍采用50 MHz。用 Quartus I1软件自带的SignaltapⅡ逻辑分析仪进行
调试.得到的分频时钟如图6所示。
图6 10 MHz的分频时钟
同步解帧模块的功能仿真如图7所示。
图7 同步解帧模块仿真结果
本误码仪完成后在室内、室外、近距离、远距离、
各种天气环境都进行了实验,
而且每次实验都连续