基于FPGA的RS485接口误码测试仪的设计
5 系统设计仿真
对设计完成后的主要功能模块进行了仿真以验证其功能的正确性。
(1) m序列产生器仿真
本设计采用了23级m序列以确保伪随机序列的特性,其本原多项式为f(x)=1+x5+x23,仿真波形如图5所示。
(2) SPI接口仿真
FPGA与单片机之间采用SPI接口进行通信。外围设备接口SPI通常有3~4条信号线,本文采用3线方式,即片选线SS、时钟线SCK和数据线SDIO。SS为低时有效,在SCK的同步下传送数据,仿真波形如图6所示。
(3) 系统仿真
系统开始工作并正确同步后,开始误码和延时的统计。每当单片机发送1个请求数据信号,就送出当前的误码数和延时数,单片机进行计算后送显示器显示。系统仿真波形如图7所示。
6 调试
调试是整个设计实现的关键步骤。经过调试,最终实现了设计的所有功能。下面给出在设计和调试中的一些经验教训以供参考。
(1) 51单片机的Port 1端口默认情况下没有上拉电阻,因此需要特别注意。在调试初期就是因为没有在外部加上拉电阻而导致与FPGA通信不正常。
(2) RS485接口芯片对于差分线的输入输出阻抗匹配要求比较严格,需要根据手册要求选择合适的匹配电阻,否则会导致输入输出差分信号质量严重劣化,影响系统正常工作。
(3) FPGA与单片机通信等功能需要特别注意时序的配合问题,否则可能导致通信不正常。可以通过选择适当的触发沿来调整时序。
本文介绍了一种基于FPGA的RS485接口的误码测试仪的设计原理和实现过程。与传统的误码测试仪相比,本误码测试仪具有原理简单、接口独特、可测试系统延时等特点。此外,由于FPGA良好的可扩展性,可以在不改变硬件电路的基础上方便地增加或修改相应的功能,增加了系统的可扩展性。
参考文献
[1] 曹志刚,钱亚生. 现代通信原理[M]. 北京:清华大学出版社,2001.
[2] 段吉海,黄智伟. 基于CPLD/FPGA的数字通信系统建模与设计[M]. 北京:电子工业出版社,2004.
[3] Analog Devices Inc. ADM4850-7 Series Data Book[Z]. 2004.
[4] 牛思先,向征. 基于RS-422/485的串行异步通讯接口的设计和应用[J]. 计算机工程与设计,2007(10).
[5] 夏宇闻. Verilog数字系统设计教程[M]. 北京:北京航空航天大学出版社,2003.
[6] 王诚,薛小刚,钟信潮,等. FPGA/CPLD设计工具Xilinx ISE 5.X使用详解[M]. 北京:人民邮电出版社,2003.
评论