目前,基于直接数字频率合成DDS(Direct Digital Frequency Synthesis) 是一种以固定的时钟源为基准,利用数字处理模块产生频率和相位均可调的输出信号的技术。DDS部分功能由FPGA来实现,微处理器芯片用于完成控制功能,这种结构电路复杂,开发周期长,系统的软硬件升级也存在困难。用户通过拨码开关输入所需频率信号的数据,利用单片机寻址相应的频率控制字,输入DDS芯片内核,通过改变调用ROM表中频率控制字的地址,来实现输出频率跳变的目的,同时在DDS输出端增加一个低通滤波器和放大器,可达到抑制杂散同时对输出信号进行放大,终得到所要求的输出波形。
1 基于DDS的任意波形发生器组成原理
DDS技术建立在采样定理的基础上,其基本原理如图1所示,DDS 由相位累加器,只读存储器,数模转换器 DAC 及低通滤波器组成。 以合成正弦波为例,幅值表 ROM 中存有正弦波的幅值码,相位累加器在时钟 fc 的触发下,对频率控制字 K 进行累加,相位累加器输出的相位序列(即相码) 作为地址去寻址 ROM, 得到一系列离散的幅度编码 (即幅码) 该幅码经过 DAC。变换后得到模拟的阶梯电压, 再经过低通滤波器平滑后, 即得到所需的正弦信号;位累加器的高位输出作为波形ROM的地址,实现波形相位到幅值的转换;波形数据经DAC转换成模拟量,通过滤波器输出相对平滑的波形。输出频率fout与时钟频率fclk、相位累加器的位数N及频率控制字K的关系为fout=K×fclk/2N。
每来一个时钟脉冲,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一 个时钟作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟的作用下继续与频率控制数据相加。 这样,相位累加器在参考时钟的作用下, 进行线性相位累加,当相位累加器累加满是就会产生溢出,完成一个周期性 的动作,这个周期就是DDS合成信号的一个频率周期,累加器的溢出频率就是DDS输出的信号频率。用DDS实现任意波形发生器的途径是把存放波形量化表的ROM换成可以改写的RAM,利用上位机生成所需波形的数据来改变存放在波形RAM中的数据,再由DDS系统将波形合成出来,就可以产生出所需的任意波形。
2 系统硬件电路的设计
在输出波形的同时,可以从上位机对波形参数进行实时调整。频率调制的范围是0.1Hz~2.5MHz,调频步长为0.1Hz。输出幅度范围:-10V~功能要求是:接收从上位机传来的控制信息和数据,然后经DDS输出相应参数的波形。系统通过这种方式可输出规则波+10V。
根据功能将系统分为控制部分、波形产生部分以及通信部分。控制部分功能主要由输。嵌入FPGA内部的软核处理器Nios II来完成,同时在FPGA剩余的逻辑单元上设计DDS主通道部分,实现波形生成。Nios II的UART IP实现与上位机的波形数据传输。
系统硬件电路结构框图如图2所示,选用了Altera公司Cyclone系列FPGA,型号为EP1C12,有高达20 060个逻辑单元和288Kbit的RAM。它提供了全功能的锁相环(PLL),Altera的Nios II嵌入式处理器的IP资源可以用于Cyclone系列FPGA的开发。Nios II系统通过串口与其他RS232设备相连,要遵循RS232C标准中定义的电平规范,不能直接使用FPGA I/O端口上的LVTTL(一般为3.3V)电平,需要有电平转换芯片来完成从LVTTL电平到RS232C电平的转换。电平转换芯片采用了SP3232ECA芯片。D/A转换部分电路如图3所示,由AD768芯片结合起缓冲作用的AD811来完成。为了达到终±10V的输出电压,在AD811的输出端添加了功放芯片LM318D进行电压放大。
3 FPGA芯片中Nios II系统硬件部分的构建
FPGA芯片总体设计如图4所示。根据所设计的任意波形发生器的要求,在Quartus II的SOPC Builder中构建Nios II系统。该系统包括以下组件:
(1)Nios II标准型内核。不选用硬件乘法器,指令缓存为4KB,选用level 1的调试模式。这种内核约占1 200个LE(逻辑单元)。
(2)PIO接口。系统中为Nios II处理器共设计了三个PIO接口:PIO_fkey、PIO_pkey、PIO_sel。其中,PIO_fkey作为Nios II处理器从上位机获得的频率控制字到DDS的接口,设计为28位;PIO_pkey为相位控制字接口,设计为10位;3位的 PIO_sel接口作为多路选择器的控制信号用。
(3)显示与键盘。LCD控制器使用Nios II提供的IP Core;键盘接口使用基于Alvon总线的自定义接口。
另外,还需要添加SDRAM控制器、FLASH控制器、Avalon三态总线桥、JTAG UART core(提供给主机通过FPGA上的JTAG管脚访问芯片的功能)、UART接口控制器(使用时,在弹出的对话框中需设置好波特率、数据位等参数)、timer_0计时器、system ID和用户逻辑接口(实现Nios II与片上RAM的通信)。
在FPGA的剩余LE上,还需用Verilog语言编程实现DDS部分的电路。DDS模块在传统的DDS结构之上进行了改进,使用了双端口RAM以达到波形的过零切换,使得任意波形发生器可以使用在一些要求苛刻的场合。改进后的DDS模块包含相位累加器、波形存储RAM 和D/A等几个部分。DDS用Verilog HDL实现之后的仿真结果如图5所示。
整个SOPC系统的片上硬件构建完成后,在Quartus II中对顶层设计进行编译,编译的结果如图6所示,从使用情况可以看出选用的FPGA芯片是非常合理的,既满足了当前的需要,又有一定的冗余,为系统以后的升级提供了条件。
4 任意波形发生器系统软件的设计
整个DDS任意波形发生器的软件包括两个部分:下位机的运行于Nios II系统上基于功能实现的软件;上位机运行的基于仪器操作的人机界面的软件。
用户可以在Nios II IDE中完成所有的软件开发任务,如编辑、编译、、调试和闪存编程。
下位机程序流程如图7所示。上电以后,进行系统各部分的初始化,然后等待从上位机串口发来的信息,Nios II处理器在收到消息之后,产生串口中断,将收到的数据依次放入缓冲区,之后要对收到的数据根据通信协议进行数据的处理和解释工作,并根据发来的命令调用相应的功能子程序,终将数据送往D/A进行转换。串口中断程序主要完成串口的中断响应,将串口接收寄存器的数据放入接收缓冲区,并修改缓冲区的指针,同时如果发送缓冲区中有待发送数据,而发送寄存器又为空的话,就发送缓冲区中数据。串口处理和解释程序主要根据协议内容对缓冲区中接收过来的数据进行判断,如果是起始码,则将其后的数据认为是命令码,命令码后的数据为命令参数,然后再根据命令码的具体形式,依据制定的协议执行相应的代码,完成来自上位机的命令。
上位机软件的开发环境采用NI(美国国家仪器公司)的LabVIEW 8.0。根据上位机所要完成的任务,采用LabVIEW 8.0设计了两种控制界面,一种用于以公式形式的波形输入,用户直接输入波形公式,系统采集相应的波形数据点,通过串口送入下位机,同时可以在控制面板上进行波形参数的调节。使用公式输出用户需要的波形,虽然波形非常,但却不能囊括现实世界中遇到的一些无法用公式来表达的波形,为弥补使用公式输出的缺憾,设计了另一种采用鼠标绘制波形的方式,用户移动鼠标可绘制出自己需要的任意波形,系统采集相应的波形数据点,通过串口送入下位机中。两种控制界面分别如图8、图9所示。
5 试验结果
图10(a)为正弦波的输出波形,频率为100Hz, 图10 (b)波形频率为1MHz。两个波形的输出幅度给定值均为-1V~+1V。试验表明,输出正弦波的幅度误差很小,基本上在±1.5%左右。图10(c)、图10(d)分别为利用公式输入面板和鼠标输入面板得到的波形。
试验结果表明,对于从上位机输入的公式形式的波形,系统可以进行的输出。利用鼠标输入面板得到的任意波形输出失真较小,波形质量较好。
本文采用SOPC技术将任意波形发生器的DDS模块与控制模块集成到单片FPGA芯片中。结果表明,设计的任意波形发生器实现了系统所要求的功能,技术指标也达到了要求。因此,在单片FPGA上实现任意波形发生器是可行的。与传统的采用控制器与FPGA结合的设计方法相比,它有效地简化了系统电路结构,提高了集成度。
[1]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.
[2]. fc datasheet https://www.dzsc.com/datasheet/fc+_2043341.html.
[3]. EP1C12 datasheet https://www.dzsc.com/datasheet/EP1C12_527237.html.
[4]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[5]. SP3232ECA datasheet https://www.dzsc.com/datasheet/SP3232ECA_1044880.html.
[6]. AD768 datasheet https://www.dzsc.com/datasheet/AD768_1055462.html.
[7]. AD811 datasheet https://www.dzsc.com/datasheet/AD811_1055521.html.
[8]. LM318D datasheet https://www.dzsc.com/datasheet/LM318D_451478.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。