微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于FPGA和DDS的数控信号源的设计与实现

基于FPGA和DDS的数控信号源的设计与实现

时间:04-23 来源:互联网 点击:

ROM查找表结构如图4所示,其中头N个样值为正弦波数据,最后N个样值为三角波数据,中间是方波数据。若要输出正弦波,则从第1个存储单元开始查找;要输出方波,则从第N+1个单元开始查找,依次类推,图中N取32。
传统DDS技术中随着波形频率的增加,采样点数明显减少,使得波形质量也大大降低。采用这种方法,不管输出波形多大,采样点数都是固定的,从而避免以上问题。
2.3 地址信号发生器的设计
考虑到ROM的结构和每周期采样点数相同的需要,设计的地址信号发生器需要在提供ROM寻址的同时完成波形选择的功能。当波形选择键“wave”按下时,完成波形种类选择功能。波形种类转换采样状态机来完成,其状态图如图5所示。图中共有4种状态S00,S0,S1,S2。当复位信号有效时为S00状态,此时输出正弦波,否则每当按下“wave”键就从当前状态转换到下一状态。状态S0输出正弦波,状态S1输出方波,状态S2输出三角波。当“wave”键没有按下,且相位累加器溢出时,地址信号发生器就是一个N进制的计数器,使ROM表顺序地读出当前波形数据。

2.4 外围电路的实现
外围电路包括幅度控制、显示以及输入模块等部分。
幅度控制通过调节比例放大电路来实现。显示模块由LED数码管和指示灯组成,其中8位数码显示频率,指示灯显示波形种类。用动态扫描方式依次点亮8位数码管。
输入模块用于输出波形选择和波形频率设置,均由4×4键盘完成。波形选择只用一个按键完成,按下后循环选择“正弦波→方波→三角波→正弦波”,同时输出相应波形种类指示灯信号。
根据系统中DDS结构,输出波形的频率为

式(1)中,fclk为系统时钟频率;Fword为频率控制字;Mode为相位累计器的模,N为每种波形数据的字长。由于fclk,Mode,N均为定值,所以输出频率与相位控制是比例关系,可用一个乘法器来实现。文中取fclk=50 MHz,Mode=5×107,N=32,则f0=Fword/32,输出波形频率精度为0.03 Hz。根据采样定理,输出频率f0最高为fclk的1/2,但是实际上f0低于fclk的40%时,输出波形的稳定性才比较好。

键盘电路如图6所示,由键盘、键盘控制和按键处理3部分组成。键盘控制完成键扫、按键去抖和按键标志产生功能。按键处理部分对数字键和功能键的处理。频率设置时,输入的数字作为波形的输出频率,并转换成对应的频率控制字送入DDS模块。设置频率的同时,输入的设置值送入显示模块显示。
按键说明:“←”键表示删除最后一位输入的数字,“esc”键表示放弃当前输入的数字,“#”键表示确定输入,“wave”键表示波形种类选择,“reset”键为复位键,“clear”键为清零键。输出频率设置操作为从键盘输入需要输出的频率值,最后按下确认键“#”即可。

3 系统仿真与验证
在QuartusIl开发平台中,将在FPGA中实现的各个模块连接起来得到系统顶层模块,其仿真结果如图7所示。仿真时系统时钟频率设置为与硬件系统时钟一样fclk=50 MHz,则时钟周期为20 ns。图7是在Mode=5×107,N=32,Fword=(E883CO)H时的仿真结果,其中图7(a),图7(b)和图7(c)分别是正弦波、方波和三角波的仿真波形,从仿真图中观察它们的波形周期均为2.1μs,即换算成频率是476.190 kHz。从图7(b)和图7(c)看出,波形转换快速,只需6个时钟周期即约为12.3μs。

系统FPGA芯片采用EP2C8Q208,系统时钟50 MHz。D/A转换采用8位无符号DAC0832集成电路,低通滤波器采用LM324集成电路和RC网络组成的有源低通滤波器。

系统仿真正确后,将设计代码下载到FPGA芯片中,然后用示波器测试输出波形结果如图8所示。其中图8(a)是在频率控制字与仿真图一致时,示波器的测量结果。从图8中看出,系统能够正确输出正弦波、方波和三角波,而且输出频率为7 MHz时波形质量依然良好。

4 结束语
介绍了一种基于FPGA和DDS技术的数控信号源的设计和实现方法,并给出系统仿真和硬件测试结果。设计方案主要在FPGA芯片内实现,外围电路简单。设计的系统能够输出正弦波、方波和三角波,输出波形在整个频率范围内波形质量均好,精度达0.03Hz。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top