实际工作中,常常需要误码仪能测试多种信道。但是目前市面上所销售的误码仪大多只能测试电信部门的标准通信信道,低速以一、二次群为主,高速可达SDH信道速率;且价格昂贵、体积偏大,不能用于测试实际工作中大量存在的专用信道或自行架设的信道。这类信道多为水文监测、气象预报等特殊用途而设计,一般对传输系统的可靠性要求较高。
本文所介绍的智能误码仪在设计时特别考虑了这类信道的测试要求。它结合FPGA及单片机的结构特点进行编程,可在较宽的速率范围内(150bit/s~2.048Mbit/s)实现智能位同步和快速码序列同步。用户不仅可以从LCD上了解信道的误码情况,还可以通过仪器与PC机连接,在个人电脑上看到某段时间内的误码率折线图和其它误码信息,并以此来了解系统的误码发生情况。为了便于在无人值守的情况下进行误码测试,该误码仪内置了大容量的E2PROM,可以保存被测系统最后4000次的误码事件(包括时间及误码率大小)。由于设计时采用了FPGA、单片机等大规模集成电路,该误码仪不仅体积小巧(采用贴片元件时仅香烟盒大小),而且成本低廉、功能强大,具有较高的实用价值和市场价值。
1 误码仪总体框图及误码测试原理
1.1 误码仪整体结构
图1是该误码仪的整体设计框图。
m序列发生模块的主要功能是根据用户的速率要求产生测试序列——m序列。实际设计时,采用CCITT建议的用于低速数据传输设备测试误码的m序列,其特征多项式为X9+X5+1,周期为512。在外部附件的支持下,它还可以进行多种码型变换和调制解调。
位同步模块的主要功能是从传来的码元中提取位同步信息——码元时钟并将这一时钟提供给本地序列同步模块,以便在本地恢复出与测试序列同步的检验序列。
序列比较模块用于比较检验序列与测试序列的一致性。通过比较就能知道经过被测信道传输后测试序列中有多少码元产生了错误,并以此评估被测信道的性能。由于m序列是周期序列,所以测试序列与检验序列的比较必须在周期的同一位置开始进行(即同相)。这也是本地序列同步模块的另一项重要功能。完成了序列比较后,序列比较模块将实时地把传输的总码元数和误码数传送给单片机。
单片机是整个误码仪的核心,它根据用户的选择控制各模块的正常工作,并根据各模块提供的状态向用户发出误码事件、状态告警、故障提示等信息。在加电时对FPGA进行配置也是单片机的一项重要任务。实际设计时选用了性价比极高的FPGA——Altera公司的FLEX10K10。该器件的配置文件有15K字节,因此选用了大容量的通用单片机AT89C55。存储器及时钟为用户查询误码信息提供了方便,为了简化电路设计,选用了I2C总线方式的E2PROM(24LC128)和专用时钟芯片(PCF8563)。
1.2 主要模块特点
在设计该误码仪时,根据FPGA的结构特点进行编程,采用了独特的算法,使该误码仪中位同步模块和本地序列同步模块具有较强的智能处理能力。
位同步模块可自适应地提取并跟踪位同步时钟。由于误码仪需要对多种非标准信道进行测试,因此它必须能在较宽的速率范围内工作。在位同步模块中采用了新型数字锁相算法,使该误码仪能在不知道发端发送速率的情况下对信号进行快速而准确的位同步处理。在单片机的配合下,还可向用户提供无信号提示、失步告警等多种信息。
本地序列同步模块可实现快速序列同步。完成位同步后,误码仪还需进行序列同步。为了减少序列同步的时间,设计了快速序列同步算法,使误码仪能在不知道发送端m序列发生器初始状态的情况下进行快速盲同步,并提供序列失步告警和序列失步后快速恢复功能。因此,该误码仪不仅可以用于对信道进行闭环测试,而且还能方便地进行开环测试。