(完整版)基于FPGA的DDS信号发生器设计.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《FPGA高级应用》期末考试
题目基于FPGA的DDS信号发生器设计学名熊金齐
专业班级电信工程13-01
学号************
院(系)电子信息工程学院
目录
1.方案选择与方案论证 (1)
2.系统功能与原理 (2)
2.1 DDS的基本原理 (2)
2.2 参数确定 (3)
3.硬件电路设计 (5)
3.1 分频器 (4)
3.2 总体原理图 (4)
3.3 DDS的FPGA实现 (5)
3.4 D/A转换电路 (5)
4. 软件设计 (6)
4.1 Verilog程序设计 (6)
4.2总程序流程设计图 (6)
4.3子程序流程图 (6)
5.结果分析 (6)
5.1 波形仿真 (7)
5.2.输出波形 (7)
6.设计小结 (8)
附录 (9)
摘要
波形发生器己成为现代测试领域应用最为广泛的通用仪器之一,代表了波形发生器的发展方向。随着科技的发展,对波形发生器各方面的要求越来越高。近年来,直接数字频率合成器(DDS)由于其具有频率分辨率高、频率变换速度快、相位可连续变化等特点,在数字通信系统中已被广泛采用而成为现代频率合成技术中的佼佼者。
本次设计的是多功能信号发生器,它能够产生方波,三角波,锯齿波和正弦波四种基本波形。结合DDS技术,通过对FPGA的编程实现产生多种波,本电路是通过键盘扫描判断,进入相应的功能程序,然后实现频率调节,波形转换,幅度控制的。本次设计中我负责的是波形输出模块,通过调节要输出方波,三角波,锯齿波和正弦波四种基本波形。
关键字:波形发生器,直接数字频率合成器,现场可编程门阵列
1.方案选择与方案论证
数据输入:
方案一:4x4矩阵键盘
优点:由8个I\O口检测16个按键,可以大大节省I\O口资源。
缺点:控制时序较复杂,增加编程和调试的难度。
方案二:独立按键
优点:控制时序较简单,较易于编程与调试。
缺点:比较浪费I\O口资源。
方案三:拨码开关
优点:控制时序简单,易于编程和调试。
缺点:比较浪费I\O口资源。通过比较各种因素,我选择方案一,
波形输出:
方案一:存储波形数据的ROM/RAM + DAC0832
优点:
1.可以显示复杂波形
2.可以有效控制输出波形的频率,幅度及相位
3.节省FPGA内部的逻辑资源
4.可以简单的切换波形
5.使波形输出方式单一化,降低了编程难度
缺点:要消耗一定的ROM/RAM资源
方案二:存储波形数据的ROM/RAM + 分频器输出矩形波+ DAC0832
优点:1.可以显示复杂波形
2.可以有效控制输出波形的频率,幅度及相位
3.节省FPGA内部的逻辑资源
4.可以较简单的切换波形
缺点:矩形波的频率,幅度和相位的调节需要另设相位累加电路,消耗一定的逻辑资源
方案三:case语句+ 分频器输出矩形波+ DAC0832
优点:在数据传输的反应速度上,在所需速度很快时占优势
缺点:1.大量浪费FPGA内部的逻辑资源
2. 波形数据较大时,会给代码的调试和维护带来不便。
方案四:存储波形数据的ROM/RAM + 分频器输出矩形波+ 计数器输出锯齿波和三角波+ DAC0832
优点:1.可以显示复杂波形
2.可以有效控制输出波形的频率,幅度及相位
缺点:每种波形都需要另设相位累加电路来控制其频率,相位和幅度,消耗较多的逻辑资源
方案五:case语句+ 分频器输出矩形波+ 计数器输出锯齿波和三角波+ DAC0832。
优点:在数据传输的反应速度上,在所需速度很快时占优势。
缺点:1.大量浪费FPGA内部的逻辑资源。
2.波形数据较大时,会给代码的调试和维护带来不便。
为了减小设计周期,减小编程难度,便于后期的调试工作,而且能方便的对幅度和频率进行调节,我选择方案一。综上几种方案,我们组采用了数据输入的方案一,4x4矩阵键盘,由8个I\O口检测16个按键,可以大大节省I\O口资源。
波形输出的方案二,存储波形数据的ROM/RAM + 分频器输出矩形波+ DAC0832 可以显示复杂波形,有效控制输出波形的频率,幅度及相位,容易达到我们需要的效果,可以较简单的切换波形,而且节省了FPGA内部的逻辑资源。
2.系统功能与原理
2.1 DDS的基本原理
DDS技术是一种把一系列数字量形式的信号通过DAC转换成模拟量形式的信号的合成技术,它是将输出波形的一个完整的周期、幅度值都顺序地存放在波形存储器中,通过控制相位增量产生频率、相位可控制的波形。DDS电路一般包括基准时钟、相位增量寄存器、相位累加器、波形存储器、D/A转换器和低通滤波器(LPF)等模块,如图1.1所示。
相位增量寄存器寄存频率控制数据,相位累加器完成相位累加的功能,波形存储器存储波形数据的单周期幅值数据,D/A转换器将数字量形式的波形幅值数据转化为所要求合成频率的模拟量形式信号,低通滤波器滤除谐波分量。
整个系统在统一的时钟下工作,从而保证所合成信号的精确。每来一个时钟脉冲,相位增量寄存器频率控制数据与累加寄存器的累加相位数据相加,把相加后的结果送至累加寄存器的数据输出端。这样,相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS 合成信号的一个频率周期,累加器的溢出频率就是DDS 输出的信号频率。
相位累加器输出的数据的高位地址作为波形存储器的地址,从而进行相位到幅值的转换,即可在给定的时间上确定输出的波形幅值。
波形输出
图1 DDS 原理图
波形存储器产生的所需波形的幅值的数字数据通过D/A 转换器转换成模拟信号,经过低通滤波器滤除不需要的分量以便输出频谱纯净的所需信号。信号发生器的输出频率fo 可表示为:
N s f M f M f 2..0=∆= ( 1.1)
式中s f 为系统时钟,f ∆为系统分辨率,N 为相位累加器位数,M 为相位累加器的增量。 2.2 参数确定
首先确定系统的分辨率f ∆,最高频率
max f ,及最高频率
max f 下的最少采样
点数m in N 根据需要产生的最高频率max f 以及该频率下的最少采样点数m in N ,由公式
min
max .N f f s ≥
(1.2)
确定系统时钟s f 的下限值。同时又要满足分辨率计算公式