高速误码测试系统中的C8051F005运用
线程、读线程和写线程之间的消息传递机制,而通信数据相关信息的传递也是以消息传递的方式进行的。在使用SPCOMM进行串口通信编程时,需特别注意以下两个问题:首先,SPCOMM是通过ReadIntervalTimeout属性的设置来确定所接收到的数据是否属于同一帧数据的,其默认值是100 ms。也就是说,只要任何两个字节到达的时间间隔小于100 ms,都被认为是属于同一帧数据。另外,SPCOMM的默认属性设置是支持软件流控制的,用于流控制的字符是13H(XoffChar)和11H(XonChar),当单片机以二进制方式发送数据时,必须禁用SPCOMM对于软件流控制的支持,即Inx_XonXoff-Flow属性设为False,否则,在数据帧中出现的13H、11H会被SPCOMM作为控制字符而加以忽略。
由于单片机的SPI口对VSC8228进行控制时须向每个寄存器发控制字,所以界面就要求发送1个地址加1个字节数据的形式,这样就有16位;同时为单片机能够方便地分清每个帧(1字节地址加1字节数据),每次发送1帧就延时100 ms。单片机每秒扫描1次VSC8228的全部寄存器,并将数据传送给界面,因此,界面首先要一帧一帧地识别出来,然后对于某些地址的数据进行特定的操作。
误码率是误码个数与码总个数的比值。码总个数是检测时间和速率的乘积。对不同的速率有不同的总数。由此,得出误码率。
关键代码如下:
3 误码测试性能
本设计经实验测试,上位机与下位机的串口通信以及MCU与误码测试模块的通信都能正确传输。为适应高速测试,目前SPI的传输速率(指SCK频率)为2 MHz。根据本方案设计误码检测仪已运用于EPON光收发模块的连续码测试。与台湾宜捷威科技的FMTS-3000以及安立的MP1630的测试比较结果看,本误码测试仪其误码数量级与上述两种设备基本一致,但是不能支持突发误码的测试。对突发误码测试的支持是项目组下一步研究的目标。
结 语
VSC8228芯片支持速率多样,它内置PBRS及其他码型的产生及探测模块。笔者利用该特点设计出一种基于C8051F005单片机的廉价高速误码仪,探讨了利用Delphi里的SPCOMM控件来实现PC机与C8051F005之间串行通信的方法,以及C8051F005与VSC8228的SPI通信过程。设计的误码仪支持的测试码型有27、223、231的伪随机码,40或64位用户定义码型以及光纤信号CRPAT、CJT-PAT、CSPAT码型等,一次可测误码高达43亿个,可测码速高达4.25 Gbps在EPON光收发模块中实现了误码测试,效果较好,而且功耗低,有较高的实用价值。
VSC8228 高速误码测试仪 C8051F005 单片机 相关文章:
- 基于C8051F005单片机的小电阻测试仪设计(05-13)
- 使用C8051F005单片机的小电阻测试仪设计(05-05)
- 自学单片机心得体会(06-17)
- 基于霍尔传感器的直流电机转速测量系统设计(11-14)
- 基于8051F单片机的数字音频信号源的幅度控制(12-01)
- 动态参数检测与虚拟仪器综合系统设计(11-26)