引言
误 码率测试仪用于通信系统的可靠性检测中,是检验数据传输质量的重要工具,也是通信系统性能测试及故障诊断的重要设备。传统的误码仪基于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中,使得系统的结构十分简单,灵活性也很高。设计出的误码仪具有低成本,低复杂度,方便灵活等特点,能够满足一般的数字通信系统设计需要,可以实现产品化,具有应用价值。 |