您可以添加到网摘 让更多人关注此文章:
摘 要:Quartus环境以 FPGA为数字电路和存储体载体 ,运用DDS技术虚拟实现任意信号产生 ,并在信号低频段仍能保持恒定很高的频率相对精度。本文重点介绍其系统设计原理、恒定精度分析、FPGA设计及实验结果。
1 引言
基于DDS的任意波形发生器 AWG 有对硬件要求低、频率切换速度快、很容易提高频率分辨率等优点 ,现已广泛应用于自动测控系统、仪器仪表、通讯等领域 。可编程器件的发展特别是内带可重构 RAM的 FPGA 器件的推出 ,为我们设计虚拟AWG营造了一个极其方便灵活的工作环境的同时 ,还提供了廉价的高速存取波形存储区。语言、选用 Altera EP1K100QC2本文讨论一种在 Quartus 环境中以 VHDL 为设计08-3 实现数字平台功能、在Delphi6.0 实现的可视化图形界面中内嵌汇编语言完成端口的读写、虚拟地实现 AWG的设计。
2 DDS设计及虚拟 AWG构造
图1 中 ,虚拟 AWG以 FPGA 为 DDS内核 ,虚拟仪器中的数字电路、波形 RAM 区及该仪器与PC机的接口电路全部构造在此内核中 ,通过 EPP实现与上位 PC机的通讯 ,EPC2 为串行配置芯片 ,辅之以模拟输出电路构成AWG实体。

设计中取系统时标信号频率 fr= 50MHz ,输出信号每一周期由 N 个取样点构成,取样周期为Tr =1/ fr ,则输出信号的频率 fo = fr/ N ,设合成信号初相为 ,相位累加器位数 x =32( P0=2x),存储器位数 y =12(P1=2y),则
fomin=Δf = fr/ 2x≈0.011 6Hz( 1) 其中 ,fomin为合成器最低输出频率 ,Δf为频率分辨率。设输出频率控制字 k :
k = fo/ fomin(2)

在 x - y >4 时,正弦输出相位截断噪声的信噪比 SNRP=6.02y - 3. 992 = 68. 24dB[1,3] ,可见相位截断后仍有较高的信噪比;幅度噪声的信噪比SNRE= 6. 02y + 20lgr,r为输出波形与满刻度的峰-峰值之比,取 r =1,则 SNRE =72. 2dB[1,4] ,这对AWG来说是不低的。
设波形存储器输出信号的峰-峰值为 VXP-P,输出信号值为Vx,用户设置的峰-峰值(不含直流分量)为Vop-p ,直流分量为Voz ,设未加Voz时DDS的输出为 V1 ,加上Voz后理想电压值为 VO。
设 N=4 096 Vop-p/Vxp-p , 有V1 =VxVop-p/Vxp-p = VXN/ 4 096,则
V0 = V1 + VOZ = VXN/4096 + VOZ(4) 3 FPGA设计原理 3.1 EPP接口与相位累加器
图2 中接口转换模块JIEKOU完成PC机高速并行接口 EPP模式信号到 FPGA 内部三总线的转换 ,使其输出有8 位单向输出DB、2 位单向 CB、2位单向AB 等。在该模块中还对地址总线进行译码 ,输出其它模块所需的片选信号 CS63. .0 ,在AA1. .0 的配合下共有256 个 I/O地址。

WR32 - 2模块为 2 ×32 位写模块 ,它通过对端口D7. .0 的分时写入实现输出频率控制字 k与输出信号初相字 的 32 位数字预置。ADD32A、ADD32B 为两个 32 位加法器 ,DFF32 为32 位锁存器 ,ADD32 与DFF32 在 CLK时钟下构成了 电路。COUT 为32位加法器溢出端 ,当 RA31. .0 大于 232- 1 时 ,COUT自动输出一个正跳变脉冲用于计数 ,可用来控制输出波形个数。
该相位累加器的时钟频率来自分频模块 C1的输出 ,CPU 根据用户所需频率不同 ,通过给 C1预置相应分频系数来输出不同的时标频率。这样 ,可以通过调节 DFF32 相位累加速度和 LPM2-RAM的抽样频率 ,达到提高低频段信号的频率/周期相对精度的目的。
3.2取样电路
LPM- RAM 为 FPGA 中的可重构 RAM 存储器 ,现设计成 4K×12bit 的存储器;RDEN 为三态输出控制端;RDCLK为读时钟端 ,来自 C1 输出;WRAD11. .0 为写入地址;CNT12 为写入地址产生器;D8~12 是写入数据装配器 ,将JIEKOU 分两次送来的12 位数据 ,通过双级缓冲后同步输出12位数据到 LPM - RAM 的 DD 11. . 0 ;CPU 通过CS25产生一个写时钟 WRCLK将数据写入 ,写入完毕 WR产生的上跳使 CNT12 地址自动加 16,7在用户输入 信号类型、幅度等参数后 ,计算机则自动产生一个 4K×12bit 的数据库存入LPM-RAM中。这一过程大约需 50ms 的时间 ,写完后在 FPGA 的控制下自动产生用户所需的信号。
3.3 波形个数、幅度与直流分量控制电路
WR32为预置波形个数模块;COM32 为1个32位比较器 ,在 C31. .0 ≥D31. .0 时有A =0 ,否则A =1;DFF为波形方式选择器。在DFF输出0时 ,在用户将周期个数输入到 WR32 后 ,随着CNT32A对COUT的计数 ,当D31. .0 >C31. .0时A =1 ,OUTEN =1 ,使波形连续输出 ,当 D31.0 = C 31. . 0时 A = 0 ,则 OUTEN 为零 ,LPM-RAM的 Q11. . 0 变为三态 ,禁止LPM - RAM 输出。DFF输出 1 时恒有 OUTEN = 1 ,故使 DDS 波形连续输出。
MD32为输出幅度和直流分量控制模块 ,通过对MD32 写入 12 位输出幅度控制字N和直流分量控制字Voz,我们在MD32 内部内设计了一个12位乘法器和一个 12 位加法器。乘法器实现 N与LPM- RAM输出的12 位抽样值 V 相乘 ,得到24位结果 ,我们只取前 12 位即可完成它与 4 096的相除 ,再与12 位直流分量控制字Voz相加即为MD32的输出Vo。这样实现了输出幅度与直流分量的控制 ,巧妙地实现了除数为212的除法操作,避免了极其耗时且耗用 FPGA 大量资源的除法操作。
4 提高低频段频率/周期精度分析
针对本DDS产生电路构建了误差数学模型 ,得出DDS产生的第 N 个周期 N =(0 ,1 ,2 , … )开始时的最小计数 nN:

5 虚拟界面
我们利用 Delphi6. 0 开发出友好的可视图形化人机交互界面 ,通过内嵌汇编语言实现实时数据采集和数据传送 ,利用计算机实现强大的数据处理功能 ,使很多原本需要大量硬件完成的工作现由软件来实现 ,大大提高了仪器的性价比。
用户任意波的形输入是用 Windows自带的画板工具通过鼠标来绘制的 ,从而产生相应的位图文件 ,也可导入由其他任何软件所产生的位图文件。遇到多值信号时按单值信号来采样 ,然后对打开的位图文件进行像素点扫描 ,从而生成画面为4 096 ×4 096 的波形数据 。该软件还能利用该波形数据还原生成相应的模拟波形 ,以便用户对波形进行校对、调整及修改。图 3 为虚拟仪器集成界面 ,其波形是根据用户定义而产生的输出信号模拟波形。

图3 虚拟仪器界面
本虚拟仪器界面具有下拉菜单、点击局部放大、图形快捷方式、数字手写与图形拖动输入等操作 ,主要提供了信号波形选择、信号参数输入、系统帮助、波形显示、手写波形参数显示、性能指标查询、在线打印、数据处理等功能。
6 实验结果
取50M、±0.5ppm的 TCXO晶振为时标信号研制的样机运行状况良好。采用 SZ-3 型失真度仪测量 准确度: ±10 % ×满刻度 ±0. 01 %,本测试中满刻度为 1 % , 实 验 数 据 见 表 1。用TDS3012B 泰克示波器、NFC-100 计数器测量的结果表明 ,分频理论正确 ,精度达到设计要求。

经理论设计和实验验证 ,本样机的性能指标为:波形种类有正弦波、方波、矩形波、三角波等和用户自定义的任意波形;频率范围为 0.011 6Hz~5MHz ,步进 0.011 6Hz ,频率小于 539Hz时频率精度为2.5 ×10-5 ,频率大于 539Hz 时频率精度 1.5×10-5 ;输出幅度为 - 8V~8V、步进5mV;初相0°~360°、步进0.088°,初相误差小于0.088°;占空比0~1 ,步进0.025 %,在频率小于200KHz时占空比绝对误差小于 1 %,400KHz~1MHz 时占空比绝对误差小于4.1 %;波形个数和直流分量步进可调。本研制还可加入调幅、调频信号产生功能 ,此方案有待进一步研究。 7 结束语
本研究运用DDS技术在 FPGA中有效地实现了任意信号发生 ,在信号低频段经分频能保持恒定很高的频率相对精度 ,研制出的样机经实验表明分频理论研究正确 ,设计方法可行 ,实验效果好;本研制还可加入调幅、调频信号产生功能 ,此方案值得进一步研究。
参考文献:
1 左磊,连小珉,班学钢,等. 双 RAM直接数字合成任意波形发生器微机插卡研制,清华大学学报(自然科学版),1999 ,39(2) :90 - 93.
2 王秋生,王 祁,孙圣和. 直接数字合成调频信号的研究J仪器仪表学报,2000 ,21 4 :428 - 430.
|