微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于DDS的高精度任意波形发生器设计

基于DDS的高精度任意波形发生器设计

时间:08-26 来源:单片机与嵌入式系统 西安电子科技大学 王晨 点击:

当RS232发送数据完成时,接收数据处理模块立即从地址0x00000开始读取RAM中的数据。当第1个数据和第2个数据分别为 16'hAAF0和16' hBB55时,则第3个数据的高8位为命令控制字,否则接收数据处理模块停止读取RAM中的数据。8位命令控制字各位所代表含义如下


  用A代表命令控制字,A[n]代表命令控制字的第n位数据,则:

  当A[15]为1时表示存储用户自定义波形数据,为0时表示任意波形的产生。当为波形存储时,A[14:8]为0表示将波形数据存入用户自定义 1区,为1表示存入2区,为3表示存入3区,为4表示存入4区。从读取的第4个数据开始即为用户自定义波形数据,共65 536个,再以16'h65 80和16'h0856作为结尾,其存储形式如图12所示。

  当为任意波形产生时,A[14:11]为0表示产生正弦波;为2表示产生方波;为3表示产生三角波;为4表示产生锯齿波;为5表示产生高斯白噪声;为6表示产生用户自定义1区波形;为7表示产生用户自定义2区波形;为8表示产生用户自定义3区波形;为9表示产生用户自定义4区波形。从RAM中读取的4个16位数据分别代表要产生波形的频率(32位)、幅度、相位(方波时为占空比)控制字。其数据存储形式如图13所示。

  4.3 FLASH数据存取模块设计

  此模块用于波形数据的存储和读取。在信号产生模式时,它根据Sig_Type[3:0]输入的数据判断需产生的波形,再从FLASH中读取对应波形的数据信息并存入RAM中。当Sig_Type[3:0]为1时表示产生正弦波;为2时表示产生方波;为3时表示产生三角波;为4时表示产生锯齿波;为5时表示产生高斯白噪声;为6时表示产生用户自定义l区波形;为7时表示产生用户自定义2区波形;为8时表示产生用户自定义3区波形;为9时表示产生用户自定义4区波形。

  4.4 波形产生控制模块

  模块利用DDS技术控制AD768产生任意波形信号,如图15所示。

  fre_ctrl,amp_ctrl,phase_ctrl分别为波形的频率控制字、幅度控制字和相位控制字。clk为此模块的控制时钟,它的 6分频时钟为32位相位累加器时钟。在一个相位累加器时钟周期内,模块以累加器的高16位累加值、相位控制字及18'h20000之和作为RAM地址,从 RAM中读取波形信号的数据,设此数据为data,则D/A输出的数据为,然后再在clk_da的上升沿将此数据送入AD768,依次循环,则AD768 的输出将产生阶梯状的信号波形,再经过低通滤波器和功率放大器即可得要产生的波形,图16为系统产生的5V、200kHz正弦信号。

  5 结束语

  完成了任意波形发生器的设计,完成了系统硬件路的设计及软件编程,经测试,系统可产生50Hz~200kHz频带内的正弦波、方波、锯齿波、三角波、高斯白噪声等常用信号,该信号发生器具有频率分辨率高,频率转换速度快、信号纯度高、产生信号种类多等优点。可广泛应用于通信系统、自动控制系统、仪器仪表、电子对抗及遥控遥测等领域。

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

网站地图

Top