基于FPGA和LabVIEW的信号源设计 下载本文

龙源期刊网 http://www.qikan.com.cn

基于FPGA和LabVIEW的信号源设计

作者:齐晶晶 黄彩霞

来源:《电脑知识与技术·学术交流》2008年第31期

摘要:基于FPGA运用了DDS技术实现信号源的硬件设计和LabVIEW图形编程工具实现信号源的交互界面,完成了一个基于虚拟仪器平台的信号源设计。它可以产生峰峰值从0.1V到8.5V可调,频率从0.005Hz到2MHz可调的正弦波、三角波、方波三种波形产生数字波形。

关键词:信号源;虚拟仪器;DDS;FPGA

中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)31-0979-02 The Design of Signal Source Based on FPGA and LabVIEW QI Jing-jing, HUANG Cai-xia

(Electroic Information Engineering College,Henan Uinversity of Science & Technology, Luoyang 471039, China)

Abstract: Hardware design of signal source use of the DDS technology FPGA-based and the interface of signal source based on LabVIEW graphical programming tools, a signal source design based on virtual instrument platformis completed. It can produce peak-peak from 0.1 V to 8.5 V

adjustable, frequencies from 0.005 Hz to 2 MHz adjustable sine, triangle, square wave produced three digital waveform.

Key words: signal source; virtual instrument; DDS; FPGA 1 引言

随着微电子技术的迅猛发展,现场可编程逻辑器件(Field Programmable Gate Array, FPGA)的规模和速度迅速增大,而价格却不断降低。由于FPGA器件编程方便、速度快、开发费用低、周期短等特点,受到了广大系统设计人员的青睐。DDS作为频率合成技术使输出信号受频率控制码和相位控制码以及参考时钟控制,很容易实现调频、连续调相、线性调频和其他各种频率、相位、幅度调制。具有高速的频率转换时间、极高的频率分辨率、低相位噪声等优点。[1]正是基于这些特点,本设计基于FPGA运用DDS技术实现信号源的硬件功能。为了更好的实现一个基于虚拟仪器平台的信号源,系统采用外置型,功能卡与PC通过串口连接。PC端采用LabVIEW图形编程工具设计实现美观方便的交互界面完成对信号源各项功能的控制以产生所需信号。虽然虚拟仪器常用PCI总线或ISA总线插卡的方式以提高传送速率,却也增加

龙源期刊网 http://www.qikan.com.cn

系统设计复杂度,而且内置式可能会同计算机已有可插拔硬件冲突,而设计成外置式虚拟仪器无需驱动,插拔更为方便,避免硬件冲突问题。[2] 2 系统设计

本设计主要有两大部分组成:LabVIEW部分与FPGA部分,也可以称之为上位机与下位机。

2.1 方案论证

在本设计中有两种设计方案:

方案一:用LabVIEW软件为开发平台,在LabVIEW程序中进行各个波形数据的采集并把数据发送到串口上,FPGA通过RS-232接受波形数据,串行数据在FPGA中处理后经过一D/A转换后在示波器上显示结果。

此方案通过串口发送的是波形数据。设计流程图如图1。 ■

图1 方案一流程图图2 方案二流程图

方案二:用LabVIEW软件为开发平台,在LabVIEW程序中把各个波形的波形参数(频率,频段,峰峰值)发送到串口上,FPGA通过RS-232接受波形指令,波形参数在FPGA中处理后运用DDS技术产生波形经过D/A转换后在示波器上显示结果。此方案通过串口发送的是波形指令。设计流程图如图2。

方案一发送的是波形数据,根据设计要求生成的最高频率为2Mhz,当2Mhz时最少需要采样四个点,每个点都是8Bit,因此需要最低的串口传送速率为64Mbit/s。优点是FPGA方面不需要太多的编程,只要一个串口接收模块即可;缺点是串口需要传输大量数据。

方案二发送的是波形指令,此方案不需要在 LabVIEW中采样产生波形数据,是把波形数据直接作成ROM表的形式,当把波形指令发送出来以后,FPGA根据波形参数通过DDS技术产生信号波形。优点是串口传输只需要发送很少数据,实时性好;缺点是在FPGA里产生波形受ROM表里波形数据限制,易失真。

通过对上述两个方案的比较及RS-232串口传输最大速率(20Mbit/s)的限制,考虑到波形发生的实时性,本设计采用方案二。把LabVIEW与FPGA结合起来,以发送波形指令的方式控制产生波形信号。 2.2 设计思想

龙源期刊网 http://www.qikan.com.cn

由于选择的是方案二即发送波形命令的形式来控制波形就大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每种波形的参数都设定为不同的数字(三角波用0表示,正弦波用1表示,方波用2表示),一共有四个波形参数分别为波形类型,频率系数(即在某个频段内的频率旋钮调节值),频段,峰峰值。波形类型由于有三种波形,其参数为0~2(十进制)占一位;频率系数由于在200K~2Mhz频段内步进为5Khz,因此可用0~359表示这频段内的360个不同频率,占三位。频段有七段分别为2Hz,20Hz,200Hz,2Khz,20Khz,200Khz,2Mhz.因此用0~6表示,占一位。峰峰值是以0.1V为步进的,而经测量D/A转换的最大峰峰值为8.5V,可用0~84表示这85个不同值,占2位。这四种参数加起来一共要发送7位的十进制数,把这些数字连接到一起组成一帧按照一定的波特率发到串口,而且每当这七位数字有变化时就把新的数据发送到串口。如发送数据为0123456七位数字,就表示要产生的波形为三角波,频率系数为123,频段为4,峰峰值系数为56。之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到的波形指令通过DDS技术产生数字波形,再经过一D/A转换发送到示波器上验证结果。 2.3 上位机设计

LabVIEW设计主要运用的是虚拟仪器技术,利用它设计人机交互界面并且送波形参数。主要有以下几个部分:波形选择、幅值调节、频段选择、频率调节、串口发送。串口配置为8位数据位、一位停止位、无奇偶校验。用到了CIN节点、移位寄存器、比较VI、字符串连接VI、输入输出显示VI、逻辑运算VI、VISAVI、CASE结构、IF结构、事件结构等。其程序框图如图3。 2.4 下位机设计

下位机设计主要运用DDS技术,它运用VHDL语言编程设计主要有串口接收、串口转换、地址发生、ROM查询、波形选择、峰峰值调节、D/A转换等模块完成接收串口数据并运用DDS技术合成数字波形的功能,其流程图如图4。在硬件程序设计流程图中我们可以看到串口接收接受串口数据,频段选择模块根据接收到的频段参数进行分频;频率系数x与地址发生器的步进值n关系为n=x+41;波形类型用于波形类型的选择;峰峰值参数调节峰峰值。 3 结果测试

下面就是整个系统的结果实时测试如图5-6,通过操作人机交互界面,产生一个峰峰值为8.0V,频率为2.05KHz的正弦波,对应的在数字示波器上的显示波形可以看到正弦波峰峰值为7.99V,频率为2.053KHz。峰峰值步进为0.1V,误差0.01V;频率步进为50Hz,误差3Hz。结果比较满意。 ■

图5 实时检测人机交互界面