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

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

ID:44815244

大小:1.39 MB

页数:10页

时间:2019-10-29

基于DDS的高精度任意波形发生器设计_第1页
基于DDS的高精度任意波形发生器设计_第2页
基于DDS的高精度任意波形发生器设计_第3页
基于DDS的高精度任意波形发生器设计_第4页
基于DDS的高精度任意波形发生器设计_第5页
资源描述:

《基于DDS的高精度任意波形发生器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于DDS的高精度任意波形发生器设计    摘要:系统利用直接数字频率合成技术(DDS)完成任意波形发生器设计,以FPGA作为核心控制器件,用Flash和RAM作为波形数据存储模块,在上位机软件的控制下,利用高精度D/A转换器,实现正弦波、方波、三角波、锯齿波、高斯白噪声等任意波形输出。系统可广泛用于通讯、遥控遥测、震动激励和仪器仪表等领域。  随着数字信号处理技术的飞速发展,高精度大动态范围D/A转换器的出现和广泛应用,基于取样技术和计算技术,通过数字方法生成频率和相位相对固定且可调的合成技术,

2、即直接数字频率合成(DDS)技术日益成熟,它采用全数字化结构,具有频率分辨率高、相对带宽宽、频率转换速度快、相位噪声低、信号纯度高等优点。因此,本系统采用DDS技术来完成任意波形发生器设计。  1DDS工作原理  直接数字频率合成(DDS)技术是一种以采样定理为基础的全数字化波形产生方法。DDS频率合成器主要由相位累加器、波形数据存储器、D/A转换器和低通滤波器组成,其原理框图如图1所示。在一个系统时钟周期内,相位累加器将前一次的累加值与频率控制字相加,得到新的累加值,将新的累加值作为地址,从波形

3、数据存储器中读取信号的幅度值,送入D/A转换器将数字信号转换为模拟信号,最后再经低通滤波器生成需要波形。其中波形数据存储器中存储了周期信号单个周期的幅度值,相位累加器每溢出1次,可从波形数据存储器中读取1个周期的信号幅度值。因此,若假设频率控制字为K,相位累加器为N位,则经过个系统时钟周期,可产生1个周期的输出信号,再设系统时钟频率为fsclk,则输出信号频率。  2系统总体框图  系统总体框图如图2所示。其中,上位机软件由LabWindows软件编写,用于控制信号的产生,下位机以FPGA作为核心

4、控制器件,主要用于接收上位机发送的控制命令和信号参数,并控制下位机系统产生对应波形。下位机系统主要分为FPGA控制单元、波形存储单元、波形产生单元。波形存储单元主要包括Flash和SRAM,Flash用于存储各种波形数据,波形产生时,FPGA先将要产生的波形数据从Flash读入SRAM,再利用相位累加器的累加值从SRAM中读取波形数据。波形产生单元主要完成波形数据的产生,首先将SRAM读出的波形幅度数据送入D/A转换器,产生信号的阶梯序列波,再通过低通滤波器和功率放大电路产生输出信号。  3系统硬

5、件设计  3.1Flash连接电路图  Flash采用美国飞索半导体公司的S29AL032D,其容量为32MB,它用于存储各种波形的幅度信息,其存储形式如图4所示。  由图4可知,地址区间0x000000~0x01FFFF存储正弦波幅度值,地址区间0x020000~0x03FFFF存储三角波数据,地址区间0x040000~0x05FFFF存储锯齿波数据,地址区间0x060000~0x07FFFF存储白噪声数据,地址区间0x080000~0x0FFFFF为4个用户自定义区,存储4种用户需产生的周期波

6、形数据。  3.2RAM连接电路图  RAM采用美国芯成半导体公司的IS61LV25616AL-10T,其容量为256×103×16bit,主要用于存储上位机发送的控制命令及波形产生时信号的幅度值,其存储形式如图6所示。  地址区间Ox00000~0x1FFFF存储上位机发送给下位机的控制命令和数据参数,地址区间Ox20000~Ox2FFFF存储系统要产生信号的波形幅度值。  3.3信号产生电路连接图  图7为任意信号产生的电路连接图,产生信号频率范围为50Hz~200kHz。其中,AD768为1

7、6位高精度D/A转换器,其最大更新速率可达40Msps,满足设计要求。  4系统软件设计  4.1上位机软件设计  上位机部分由Labwindows软件编写,主要负责对下位机系统的控制,包括对信号频率、幅度、相位(占空比)的设置,信号波形的选择,用户自定义波形数据的输入等,其控制面板如图8所示。  4.2FPGA软件设计  FPGA为系统的核心控制单元,负责与上位机软件通信及控制下位机系统产生任意波形。  4.2.1与上位机通信模块设计  上位机与下位机的通信是通过RS232来实现的,FPGA主要

8、用于接收RS232发送过来的数据并将其存入外部RAM中,通信模块如图9所示。  RS232_Controller模块用于接收上位机发送过来的数据,RS232的速率为115.200kB/s,8位数据位,1位停止位,无校验位。data_bu-ffer将RS232_Controller接收的数据缓存,并按接收先后顺序组合成16位数据后送入RamWrite。RamWrite再将这些16位数据从地址0x00000开始存入外部RAM中。  4.2.2接收数据处理模块  本模块主要用于分析和处理

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。