首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的RS485接口误码测试仪的设计和实现(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的RS485接口误码测试仪的设计和实现(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-1-28 08:56
|
只看该作者
基于FPGA的RS485接口误码测试仪的设计和实现(2)
控制系统
,
软件设计
,
单片机
,
测试仪
,
流程图
4 软件设计
软件部分是该系统功能实现的核心,主要包括了单片机和FPGA两大部分。
(1) 单片机软件
单片机作为该系统的主控芯片,主要完成FPGA通信控制、误码率计算、液晶显示控制等功能。开机后,单片机控制系统进入挂起状态,等待按下start按钮。开始工作后,单片机每隔1 s向FPGA请求刷新1次误码数据,FPGA则将误码数据通过SPI总线传送给单片机。单片机将取得的误码数据换算成误码率连同得到的系统传输延迟时间一起送到LCD显示。单片机软件的流程图如图3所示。
(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所示。
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良好的可扩展性,可以在不改变硬件电路的基础上方便地增加或修改相应的功能,增加了系统的可扩展性。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议