首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年10月17日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
基于FPGA的简易误码仪设计

Design of a Simple Bit Error Rate Tester Based on FPGA

西安电子科技大学 综合业务网理论及关键技术国家重点实验室 齐志强 尚文静 何庆涛



引言

误 码率测试仪用于通信系统的可靠性检测中,是检验数据传输质量的重要工具,也是通信系统性能测试及故障诊断的重要设备。传统的误码仪基于CPLD和CPU协同工作,结构复杂。目前市场上的误码仪多为国外产品,价格比较昂贵,操作复杂,维修困难。但在实际通信系统产品开发中,一般并不需要很复杂的误码仪分析功能,所以设计一个简易的误码仪即可满足需求,也可根据实际需要进行升级,方便灵活、经济实用。


系统要求

本次开发的误码仪,既作发送端,又作接收端。发送端作为数据源,发出m序列,经过一个通信系统后返回误码仪,接收端也采用一个m序列生成器,其生成多项式和发送端相同,用灌码技术实现同步,根据其生成的m序列与输入m序列进行逐比特比较来统计误码,从而达到检测系统性能的目的,其应用示意图如图1所示。

图1 误码仪应用示意图(略)

误码仪产生的m序列,经过编码、调制后进入有扰信道,再进入解调器解调,译码后恢复出带有误码的m'序列,送入误码仪进行误码统计。误码仪检测的通信系统可简单,也可复杂,如只加入编码器和译码器进行误码统计,即可验证编码器和译码器是否可靠工作。发射机和接收机也可做的比较复杂,只要收发对称,对误码仪来说都是一样的。所以可以将一个简单的通信系统一步步地添加入新的东西,使其最终成为一个复杂的通信系统,在此过程中,不断地进行误码统计,即可清楚地知道系统各部分的性能,方便地找到问题所在。

误码仪要求有配套的接口,以便与不同的通信系统相接,既能够支持视频DVB码流,又能够支持其它较低速率的码流。而且还要求要有一套显示机制,使误码仪统计出的误码能够及时显示出来。这种误码仪输出的码流应当是速率可调的,以满足不同系统需求。


方案设计

根据系统要求设计出了一种基于FPGA的简易误码仪设计方案。该方案以FPGA为核心,添加了一些简单的外围电路,设计力求做到低复杂度、低成本,简便易用。方案的顶层原理图如图2所示。

图2 方案顶层原理图(略)

FPGA的选用既要能够满足系统需要,留足余量便于系统升级,又要尽可能地降低成本。本系统选用ALTERA公司的EP1C12Q240C8。该型号芯片应用广泛,价格低廉,易于采购,芯片有12060个逻辑单元,239616 bits RAM,两个锁相环,可以满足系统需求。而且240个管脚的该型号芯片为贴片封装,所以可以用双层板来实现系统;如果采用BGA封装芯片,一般需要4层以上的PCB板,多层板会带来高额的制板费用。

DVB码流可用SPI(同步并行接口)、ASI(异步串行接口)或USB等接口传输,考虑到ASI外围电路比较复杂,USB接口的开发复杂度比较高,尤其是USB主机的开发十分复杂,为了降低成本和开发复杂度,本系统采用SPI接口。

为了满足低速率码流需求,系统加入了RS232接口,此外还预留了一些I/O接口引出至排针,可作测试用,也可直接与通信系统电路板互连作为可灵活调整的数据通道。误码的显示是用LCD来实现的,通常LCD是通过单片机来驱动的,为了降低系统复杂度,可以直接通过FPGA来驱动,LCD选用TM161A系列的字符点阵模块。并且还在板子上添加了三个开关来进行手动控制,使误码仪输出码流速率可调。此外,板子上还有电源变换电路,时钟电路,JTAG及AS下载端口和FPGA的配制芯片以及方便调试使用的LED指示灯等。


误码仪工作原理

图3所示为15阶m序列的生成结构,由一个Fibonacci型线性反馈移位寄存器实现,该m序列的生成多项式为G(x)=1+x 14 +x 15 。首先给各个寄存器赋初值,然后每来一个时钟脉冲,移位寄存器右移一位,反馈线从第14、15级取出进行模2加后送入第一级的输入端同时输出。

图3 15阶m序列生成结构(略)

由m序列的生成结构易知,m序列输出的数值仅与当前寄存器的状态有关,如果有两个具有相同结构的m序列生成器,那么只要它们当前的寄存器内容相同,则输出必定相同。根据这一特点,假设生成m序列的移位寄存器为r级,则接收端只需要先将接收到的连续r比特数据送入接收端的m序列生成器的各个寄存器中,作为移位寄存器的初始状态,这种给寄存器赋初值的方法称为灌码法。这样在接收端就产生了一个和发送端结构相同且逐比特对齐的m序列,将它输出的数据与送入的数据进行逐比特比较即可统计出误码。如果接收端灌入寄存器的r比特数据存在误码,则接下来进行的误码统计将毫无意义,所以必须确保接收端真的与发送端实现了同步,这就要求有一套完善的同步检测机制,这可以通过引入状态机来实现。m序列的阶数可根据实际需要灵活选取。在验证误码仪设计是否正确时,我们可以将误码仪的发送端与接收端直接相连,这种情况下统计得出的误码率应该为零。


主要模块的硬件电路

SPI接口电路

S P I(Synchronous Parallel Interface)是以ITU-R Rec.BT656-2 为基础的,用于较短距离的信号连接,数据与字节时钟同步。SPI一共有11位有用信号,每位信号差分成两个信号用来提高传输抗干扰性,在物理链接上用DB25传输。11 对信号中有8对是数据信号,其它3对分别是时钟、包同步和数据有效信号。SPI采用并行11位信号,处理简单且扩展性强,因此目前一般的MPEG2视频编码器的输出和视频解码器的输入都是标准的SPI接口信号。

本系统需要用到两个SPI口,收发端是对称的,数据从FPGA输出,经差分电平转换芯片DS90LV031后输出至SPI口;SPI口接收到的差分信号经LVDS接收芯片DS90LV032后送入FPGA。SPI包括一位时钟信号、八位数据信号、一位帧同步信号和一位数据有效信号。帧同步信号对应TS包的同步字节047H,数据有效信号用来区分TS包的长度为188个字节或204个字节。当TS包长188字节时,数据有效信号一直为高电平,同时所有信号都与时钟信号保持同步。本设计中采用TS包长度为188字节的数据包结构,包的封装和拆解均在FPGA内完成。

图4 LCD电路原理图(略)

图5 RS232接口电路(略)

LCD接口电路

本次 设计的误码仪,只需显示误码,显示内容十分简单,所以无需选择复杂的LCD模 块。选用TM161A 系列的LCD,显示内容为16字符×1行,字符点阵5×8点。其电路图如图4所示。

LCD一般是由单片机驱动,厂家通常会提供开发单片机所需的源程序,为了降低系统的复杂度,采用通过FPGA直接控制的方式。 图4所示的接口与FPGA的I/O口直接相连 ,在FPGA内用Verilog编程来产生LCD模块所需的时序信号和显示数据,方便灵活,可重用性强,有效地减小了PCB面积,经济实用。

RS232接口电路

RS-232-C接口是最常用的一种串行通讯接口。由于串行通信方式使用线路少、成本低,连线简单,避免了多条线路特性的不一致,所以被广泛采用。一般情况下只需使用三条线即可实现收发数据,一条发送数据线(TXD),一条接收数据线(RXD)和一条地线,本设计就是采用的这种连接方式。RS232传输速率不高,通常使用9600波特每秒的传输速率,最高采用19200波特每秒的传输速率,在本设计中使用该接口来作为低速传输通道,采用9600波特每秒的传输速率,较高速率的数据通过SPI口和测试排针上的自定义接口传输。

RS232的通信协议非常简单,以低电平作为起始位,高电平作为停止位,中间可传输5~8比特数据和1比特奇偶校验位,奇偶校验位的有无和数据比特的长度由通信双方约定。本设计采用不添加校验位的方法,以提高传输效率。发送端发送数据时先发一低电平,然后发送8比特数据,之后马上把信号拉高,从而完成一帧数据传送。接收端接收到低电平时开始计数,接收8比特信息位后如果检测到高电平即认为已接收完一帧数据,继续等待下一帧起始信号低电平的到来,若接收完8比特数据后没有检测到高电平则认为这不是一帧有效数据,将其丢弃,继续等待起始信号。时序关系如图5所示 ,收发可同时进行,互不干扰。

图6 RS232接口电路(略)

CMOS电路的电平范围一般是从0到电源电压,RS232接口的电平范围是?15V到+15V。RS232标准规定逻辑1的电平为?3~?15V,逻辑0的电平为+3~+15V。而FPGA的I/O输入输出电压通常为0~3.3V,所以必须加电平转换芯片,本次选用maxim公司的max3232电平转换芯片 ,电路原理图如图6所示。


小结

误码仪是数字通信系统研发中的一种重要的仪器,但市场上的相应产品都比较昂贵。本次设计出的这种基于FPGA的误码仪将控制模块的功能整合到了FPGA中,使得系统的结构十分简单,灵活性也很高。设计出的误码仪具有低成本,低复杂度,方便灵活等特点,能够满足一般的数字通信系统设计需要,可以实现产品化,具有应用价值。

《世界电子元器件》2007.7
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com