微机在通信线路误码率测试中的应用
2009-04-01
作者:刘成国
摘 要: 在阐述通信线路误码率测试原理的基础上,介绍了一种利用微机系统进行误码率测试的新方法,以及该系统软、硬件的设计和实现。
关键词: 通信 误码率 511码序列 测试
1 通信线路误码率测试
1.1 测试原理及方法
在数字通信中,误码率是检验数据传输设备及其信道工作质量的一个主要标准。实际应用中一般都采用本原多项式为1+X5+X9的m序列,其周期为29-1=511,即通常所说的511码序列。511码序列实际上是一个伪随机码序列,利用它进行通信线路误码率测试的原理如图1所示。
在实际工作中一般采用误码率测试仪(以下称误码仪)来测试通信线路的误码率。为解决远距离传输造成的信号衰减,实际通信中常用两台调制解调器(MODEM)将收、发数据终端连接起来,从而实际应用中的误码率测试就有自测、环测和对测三种方式,如图2所示。
图中虚线均表示传输信道。
1.2 利用误码仪测试误码率存在的缺陷
当需要对某个信道进行误码率测试时,在通信的两端要同时将数据终端的收发电缆拔下再连接到误码仪上,其弊端是显而易见的:一是操作不方便,从开始测试到恢复线路状态要对电缆进行两次插拔,既费时又费事;二是同时对多路信道进行误码率测试时,必需具备多台误码仪;三是多次插拔电缆会因电缆磨损严重或接触不良影响设备工作的可靠性。
2 利用微机系统实现误码率的测试
2.1 实现原理
针对上述不利之处,我们设计了一种新的误码率测试方法应用在我单位的数据传输中心(30路通信信道)。新方法的原理是利用一台微机,辅以自行开发的软、硬件系统替代误码仪,对所有信道进行集中控制和测试。在测试系统不工作时它仅仅是挂接在通信信道上,对信道中的数据传输不产生任何影响;当要对某一个或几个信道进行误码率测试时,在软件的控制下切断该信道与数据终端的连接,并将其接到测试系统,利用微机与对端的误码仪进行测试,完毕后由软件将线路恢复原状,如图3所示。
2.2 硬件设计
由于数据传输中心有多达30路通信信道,为了控制灵活方便,我们设计了一块外置式线路切换板和一块基于ISA总线的控制板,以实现从32路全双工通信信道中分组选择1~8路进行误码率测试。分组方式为4个信道作为一组,每组中只能有一个信道被选中测试,最多时可以选中8个信道(一组一个)参加测试。为实现511码序列的接收与发送,又购买了一块基于ISA总线的误码测试板,该板被设计成具有8路全双工通道,支持包括双同步传输方式在内的多种通信协议;且板上具有时钟控制电路,可以方便地实现测试码速率的选择。但在实际应用中我们将系统设计成外时钟触发的方式,即系统收发511码序列的速率由MODEM的传输速率来确定,最大可支持到14.4Kbits/s的速率。如图4所示。
2.3 软件设计
2.3.1 应用程序介绍
目前使用的微机测试系统的软件是用BC++3.1在DOS6平台下开发的。由于多路信道的误码率测试具有随机性,为适应这种具有多任务性质的操作,在设计过程中模拟了Win32系统的多线程技术,将软件设计成包含一个主线程和多个子线程。主线程负责系统的初始化、人机接口、记录显示及子线程的调度。各子线程独立负责对某个信道进行误码率测试,其数目与被选择要测试的信道数目相关。当需要对某个信道测试误码率时,主线程执行下列操作:
·通过控制板向线路切换板发送控制信息,将相应信道接驳到误码测试板中,同时切断该信道与数据终端的连接;
·初始化误码测试板上相应通道的状态;
·创建一个子线程启动511码的发送、接收及对比,并开始计时显示;
·子线程与主线程通信,实时地将测试的结果送主线程显示、记录,显示的内容包括信道名称、测试时间、同步情况、误码计数和最终结果误码率;
·测试完成时由主线程将相应通道复位,并将线路恢复到原始状态。
2.3.2 511码序列的产生
产生511码序列的本原多项式为1+X5+X9,其初始值为任意9位非全“0”的二进制数,产生方法如图5所示。
即位a0与位a5异或后作为下一位输入值,如此循环511次,即得到一组511码序列(一个周期)。
2.3.3 511码序列的发送
由于在实际的误码率测试过程中,线路上传输的是按既定码速率发送的持续等间隔511码位流,即不允许在该位流中插入任何控制字符或比特位。每个比特位的同步依靠与数据(TxD、RxD)一同传输的时钟信号(TxC、RxC)来完成。
考虑到一个周期的511码序列不是整数字节,为便于微机的处理,预先生成8个周期即511个字节的码序列,置于一个专门的发送缓冲区内。根据511码产生原理可知,在一个8周期的码序列中,任选一个相邻的16位码组,该码组必是唯一的。由此,可从511字节的码序列中任意选定一个16位码组作为同步字符,并将误码测试板的通信协议设置成所支持的双同步(16位同步字符)传输方式。511码的发送主要依靠硬件来完成,软件仅在初始化时设定发送缓冲区的地址、要发送的字节数,然后启动加载发送;待第一个511字节的位流发送完毕后,由硬件自动加载持续发送,直到停止测试为止,从而实现511码序列的持续不间断发送。
2.3.4 511码的接收与比对
在设定好双同步工作方式后,利用2.3.3节中的16位同步字符对接收的位流进行同步。每同步一次即接收511字节的位流,然后与预先生成的511字节码序列对比,并计算出误码数。为了处理上的方便,对每个被测试接收信道设置两个接收缓冲区,长度各为511字节,交替接收处理。由于在同步后接收到的511字节位流是由硬件实现直接打入到相应的接收缓冲区中(DMA接收),非常高效,故设置两个接收缓冲区所增加的系统开销相对而言是微不足道的。
2.4 应用效果
利用新的微机测试系统,我们在一个信道和多个信道的情况下,分别进行了自测、环测及与误码仪的对测,并在测试过程中人工加入干扰,以判断系统的适应性。测试结果表明,采用新的误码率测试方法是完全可靠和可行的。
与用误码仪进行通信线路误码率测试的方法相比,本文中所述的方法有如下几点优越性:
·控制灵活方便,不再需要插拔电缆,简化了操作;
·从32路通道中分组选择1~8路进行测试的功能既降低了硬件设计的复杂性,又可以适应不同情况下的需要。选择足够通道的误码测试板,即可在通信的两端实现高效率的误码率测试;
·测试误码率时,被测信道不会影响其它信道的正常工作。系统不工作时对所有信道的数据传输不会造成任何影响,可靠性高。
为更好地适应多路误码率测试的需求,可充分地利用WindowsNT和VC++的多线程技术,将该微机测试系统设计成在WindowsNT 4(工作站版)下运行,这样既可提高测试系统的性能,又便于软件的维护。
参考文献
1 曹志刚,钱亚生著.现代通信原理.北京:清华大学出版社,1992
2 Peter NorTon, Rob McGregor著,孙凤英等译.MFC开发Windows95/NT4 应用程序.北京:清华大学出版社,1998