DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 0
打印 上一主题 下一主题

基于FPGA和LabView的遥测信号模拟源设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 15:10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:基于FPGA和LabView设计了用于某遥测组件测试的专用设备。运用DDS技术实现传输速率可变的LNDS信号,并使用LabView图形编程工具,实现了数字信号源的交互界面,可以产生由上住机程控信号传输速率和数据内容可变的LVDS信号。
关键词:FPGA;LabView;DDS;LVDS

??? 多种高新技术应用于遥测设备中,使得待测信号种类繁多,测试量增大,而且测试时间紧迫、环境复杂多变等诸多因素对测试系统提出了更高要求,不仅要求测试自动化、快速化,而且要求测试系统结构紧凑坚固,抗干扰能力强,具备在复杂环境下工作的能力。基于总线技术的虚拟仪器测试系统架构,能够满足上述要求。PCI总线以其速度高、可靠性强、成本低及兼容性好等性能,在各种总线标准中占有重要地位。FPGA器件具有编程方便、速度快、开发费用低、周期短等特点,受到了广大设计人员的青睐。DDS频率合成技术使输出信号受频率控制码和相位控制码以及参考时钟控制,容易实现调频、调相,输出信号具有高速的频率转换时间、极高的频率分辨率和低相位噪声等优点。基于上述特点,本设计运用DDS技术在FPGA片内实现可变频率方波发送固定格式数据,为了实现一个基于虚拟仪器平台的遥测信号模拟源的设计,下位机与PC通过I/O卡连接。

1 DDS原理及DDS和LVDS在FPGA中实现
??? DDS的原理是利用信号的相位与时间成线性关系的特性,通过查表的方式得到信号的瞬时值,从而实现频率合成。DDS的基本原理框图,如图1所示,输出正弦信号频率分辨率为△f=fmin=fclk/2N,其中,fCLK为输入时钟频率;N为累加器的宽度;输出频率为fo=fclk×K/2N,K为频率字的输入值。本次芯片采用Altera公司的CycloneⅡEP2CSQ208C8,设计采用原理图和Verilog HDL相结合的办法实现,本设计中只需在FPGA内部得到可变频率范围4~8 MHz的方波,所以不需要D/A和低通滤波器。




???? 相位累加器采用流水线结构,即在长延时的逻辑功能块中插入触发器,使复杂的逻辑分步完成,减小每个部分的处理延时,从而使系统稳定地运行在较高的频率上。
??? 方波波形存储器直接调用FPGA芯片内部的ROM(2 048×1)模块,前1 024个点为0,后1 024个点为1。为了保证一个地址位对应一个ROM地址,只截取相位累加器22位地址线的高11位与ROM的11位地址线相连。
??? 低压差分信号(Low Voltage Differential Signaling,LVDS)采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接。图2所示为CycloneⅡ器件与INDS接口电路,由差分信号发送器、差分信号互连器、差分信号接受器组成。在实际设计中,要实现一个LVDS发送和接收,只需要在MegaWizard中调用Altlvds并进行定制即可。




                          
                       
                          
                               

2 系统设计
??? 本设计主要由两部分组成:上位机LabView和下位机FPGA。
2.1 方案设计
??? 以LabView为软件开发平台开发人机交互界面,FPGA接受上位机命令以可变频率固定格式循环发送上位机传送的数据。设计流程,如图3所示。




2.2 上位机设计
??? 上位机用LabView设计人机交互界面,计算出频率累加字K,通过I/O卡向下位机传送数据和命令。主要传送以下几个方面:图像数据、数字量信息字、帧头校验字、发送校验字和K。其程序面板,如图4所示。




2.3 下位机设计
??? 下位机通过I/O卡接受上位机传输的数据和命令,并将待发送数据存储到单口RAM中,接收上位机开始命令后以可变频率、固定格式循环发送存储在单口RAM中的数据。数据传输格式如下:一帧数据130行,每行包括128 Byte。每帧数据开始发送时,先发送帧头校验字,然后再发送图像数据。图像数据发送完毕后,紧接着发送校验字,再发送数字量信息字。下位机硬件框图如图5所示。




                          
                       
                          
                               
??? 发送数据时控制单元将从单口RAM中读取的待发送数据存放在FPGA中的乒乓RAM中,并串转换后发送数据。FPGA读取外部RAM数据存入乒乓RAM的时间必须小于并串转换后发送8位数据的时间,否则会造成数据丢失。发送的数据格式通过有限状态机控制,状态转移图,如图6所示。





3 结果测试
??? 本设计FPGA芯片采用Altera公司的EP2C8Q208C8,使用QuatusⅡ8.1开发系统实现编程和仿真,完成对电路设计的功能和时序分析。
??? 在QuatusⅡ中编译工程后,建立SignalTapⅡ文件并加入工程、配置STP文件、编译并将STP文件同原有的设计下载到FPGA中。人机交互界面设置发送频率为5 MHz,图像数据为循环发送0~127,数字量信息字为0~253,点击LVDS开始按钮。通过SignalTapⅡ窗口下查看逻辑分析仪实时捕获的数据,格式与要求完全一致,发送数据正确。实时捕获数据,如图7所示。另外,SignalTapⅡ中设置的采样时钟频率要大于被测信号最高频率的2倍,否则无法正确反映被测信号波形的变化,测试完毕后要将该逻辑分析仪从项目中删除。





4 结束语
??? 文中探讨了基于FPGA和LabView的遥测信号模拟源的设计,采用了“FPGA+接口+PC”的设计方案,实现了由PC程控、传输速率4~8MHz、固定帧格式的LVDS信号。通过此方法可以在短时间内构建一个通用灵活的虚拟仪器平台,接口可以根据实际条件采用USB、串口、红外等多种方式。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-29 03:23 , 耗时 0.117123 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表