新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的RS485接口误码测试仪的设计

基于FPGA的RS485接口误码测试仪的设计

作者: 时间:2010-05-25 来源:网络 收藏

  3 硬件设计

  本系统用单片机作为主控芯片,由完成误码测试的工作,将得到的误码信息传送给单片机,单片机进行误码率的计算后送液晶屏进行显示。m序列的发送和接收都是通过接口进行的。本系统单片机选用的是51系列的STC89LE58RD+,3.3 V供电,可以减小系统功耗。选用了Xilinx公司的SPARTNANII-E系列的XC2S300E,其内部包括了30万个逻辑门和其他丰富的资源,可以满足本系统的需要。接口芯片选用Analog Device公司的ADM4857,它是一款10 Mb/s码率、全双工的485接口芯片[3-4]。系统的硬件框图如图2所示。

基于FPGA的RS485接口误码测试仪的设计

  4 软件设计

  软件部分是该系统功能实现的核心,主要包括了单片机和两大部分。

  (1) 单片机软件

  单片机作为该系统的主控芯片,主要完成FPGA通信控制、误码率计算、液晶显示控制等功能。开机后,单片机控制系统进入挂起状态,等待按下start按钮。开始工作后,单片机每隔1 s向FPGA请求刷新1次误码数据,FPGA则将误码数据通过SPI总线传送给单片机。单片机将取得的误码数据换算成误码率连同得到的系统传输延迟时间一起送到LCD显示。单片机软件的流程图如图3所示。

基于FPGA的RS485接口误码测试仪的设计

  (2) FPGA逻辑设计[5-6]

  本系统大部分功能通过FPGA实现,使用Verilog编写程序。由于采用的是逐位比较式方案,因此,首先由m序列产生模块产生4.096 Mb/s码率的m序列,送入反相器作为源端。反相器是为了人为产生误码而设置的。当按下按键时,反相器使能,将m序列1位反相后输出,即相当于产生了1个误码。m序列和时钟同时输出给被测系统,经被测系统后再返回给对输入的m序列和本地产生的m序列进行同步,同步以后,在固定寄存器中置入64位m序列数据。在源端,固定寄存器和移位寄存器不断进行比较,直到两者一致,则启动延时计数器,同时接收端移位寄存器与固定寄存器进行比较,当两者一致时关闭计数器,此时计数器中的数值即为被测系统的延时。另一方面,同步以后,开始进行误码统计。若在设置的测试周期内误码率大于设定的门限值,则认为失步,重新开始同步。最后,将误码数和系统延时数通过SPI接口送给单片机,进行误码率和系统延时的计算,将计算结果显示在LCD上。SPI接口是通过软件进行模拟的。整个FPGA内部的模块框图如图4所示。

基于FPGA的RS485接口误码测试仪的设计



关键词: FPGA RS485 误码测试仪

评论


相关推荐

技术专区

关闭