二. 系统设计
2.1 硬件设计
2.1.1 正弦波产生电路
DDS单片频率合成器AD9851的ROM中已预先存入正弦函数表,其幅度按二进制分辨率量化,其相位一个周期360o按2∏/232的分辨率设立相位取样点。然后存入ROM相应地址中。工作时,用单片机送入频率码。输入采用并行方式,8位一个字节,分5次输入,其中32位是频率码,另8位中的5位是初始相伴控制码,3位是掉电控制码。改变读取ROM的数目,即可改变输出频率。
输出频率的一般表达式为 fout=kfc/232
式中,k为频率码,是个32位的二进制数。fc为系统时钟频率,即25MHz。
频率变化范围为20Hz~20kHz,周期变化范围为50ms~50us。时钟周期Tc=0.04us.当输出频率最高,即fomax=20 kHz,则Tomin=50us,
步进宽度为: △T=Tomin×2%=50×2%=1us
图2
2.1.2 正弦波幅值可调电路
采用16位串行DA器件DAC8831来实现正弦波的幅度步进。将DDS生成的正弦波接到DAC8831的基准输入端,通过单片机调整DA输入数字量,从而完成正弦波100mv的步进和幅值预置。
图3
2.1.3 脉冲波形成电路
在单片机的控制下通过verilog编程在FPGA内部产生可控脉冲波。
图4
2.1.4 脉冲波幅值步进调整电路:
本部分采用16串行DA器件DAC8831,接口简单,且精度较高。电路图与图3-2相同。
2.2 软件设计
2.2.1 基本思路
单片机控制AD9851产生频率和相位都可控的正弦波,频率量由键盘设定,步进量为5Hz,AD9851频率分辨率为0.006985Hz,完全能够满足要求。正弦信号送入DAC8831的基准输入端,单片机控制DA的数字量调节其幅值,设置按键调整幅值可实现100mv的步进。在单片机的控制下编程在FPGA内部产生占空比可调的脉冲波,单片机向FPGA送入占空比值和频率值,FPGA通过计数值从而改变输出脉冲波的占空比和频率,设置按键调整占空比和幅值。正弦信号送入DAC8831的基准输入端,单片机控制DA的数字量调节其幅值,设置按键调整幅值可实现100mv的步进。
2.2.2 软件流程图
图5 软件流程图
用户评论(0)