摘 要
系统设计以ALTERA公司CycloneIII FPGA开发板为硬件平台,以DDS技术为设计核心,运用SOPC和NIOS软核技术而总体设计实现。系统DDS模块实现1KHZ-10MHZ正弦信号输出,频率步进包含10HZ-1MHZ的10为数量级的所有步进,可以实现任一频率调节,1KHZ频率误差优于10-4;完成了调幅、调频、二进制ASK和二进制PSK 调制的输出功能,并很好地满足了相应模块的指标,拥有很高的精确度和稳定度;实现了键盘、数码管、LED和串口的控制和显示,人机界面友好且易于操作,具有很好的使用价值。 关键词: DDS 信号调制 DAC FPGA NIOS
目 录
摘 要 1
目 录 2
1. 实验任务及要求 3
1.1 实验任务 3
1.2 实验要求 3
1.2.1 基本要求 3
1.2.2 发挥部分 3
汇聚路由器
2. 设计方案选择 4
2.1 方案比较 4
2.2 系统设计方案 4
3. 分模块设计与实现 5
3.1 硬件部分实现 5
3.2 DDS的设计实现 6
3.3 AM的设计实现 7
3.4 FM的设计实现 7
3.5 2ASK的设计实现 8
3.6 2PSK的设计实现 9
3.7 Quartus硬件设计 10
3.8 NIOS软核控制 11
3.9 人机界面设计 11
4. 调试效果图 12
5. 问题及解决方案 14
6. 组员分工 14
7. 总结与感想 14
参考文献 15
附录 16
1. 实验任务及要求
1.1 实验任务
设计一个可输出正弦波,频率可调的简易信号发生器。
1.2 实验要求
1.2.1 基本要求
1、 正弦波输出频率范围:1KHz~10MHz;
2、 具有频率设置功能,频率步进为100Hz;
3、 输出信号稳定度:优于10-4;
4、 输出电压幅度:在负载电阻50Ω上的电压峰-峰值Vopp≥1V;
5、 失真度:用示波器观察时无明显失真;
6、 独立焊接、调试DAC904电路
1.2.2 发挥部分
在完成基本要求任务的基础上,增加如下功能:
1、 增加输出电压幅度:在频率范围内负载电阻上正弦信号输出电压的峰-峰值Vopp=6V±1V;
2、 产生模拟幅度调制(AM)信号:在1MHz—10MHz范围内调制度ma可在10%~100%之间程控调节,步进量10%,正弦调制信号频率为1kHz,调制信号自行产生;
3、 产生模拟频率调制(FM)信号:在100kHz—10MHz频率范围内产生10kHz最大频偏,且最大频偏可分为5kHz/10kHz二级程控调节,正弦调制信号频率为1kHz,调制信号自行产生;
4、 产生二进制PSK、ASK信号:在100kHz固定频率载波进行二进制键控,二进制基带序列
码速率固定为10kbps,二进制基带序列信号自行产生;
5、 良好人机界面:具有键盘控制频率(步进可调)和波形输出、LCD/串口/数码管显示频率和输出波形类型功能。
2. 设计方案选择
2.1 方案比较
系统分为软件设计和硬件设计两部分,软件部分主要是基于MATLAB、FPGAH和NIOS的程序设计,硬件部分包括D/A 转换和增益放大电路。对于本次系统的设计,有以下三种设计方案:
● 方案一:微处理器+压控振荡器(VCO)+LC正弦谐振电路;
自攻丝
● 方案二:专用的DDS 芯片(如AD9851)+主控电路;
● 方案三:FPGA+DAC904高速DA;
方案一采用数控电压控制的压控振荡器(VCO),运用电感和变容二极管构成LC 正弦谐振电路,通过微处理器改变变容二极管的控制电压,达到电容值改变,从而实现正弦信号输出频率的数字控制。方案一电路复杂,受变容二极管的变容比限制,数控VCO 的频率变化范围不宽, 很难达到1 KHz~10 MHz 范围要求。
汇聚路由器
方案二采用专用的DDS 芯片。芯片外围电路简单, 功耗低, 性价比高。而且相位也可以通过写入控制字进行控制, 可以方便地实现PSK功能,但是专用DDS芯片价格昂贵,而且系统电路较为复杂,集成度不高。方案三是在FPGA内部实现高速的多位数相位累加器, 输出地址信号, 控制读出波形存储器中存放的正弦波幅度数字信号,通过改变相位累加器的相位增量M, 即地址间隔的改变, 控制读出波形存储器一个周期正弦波幅值的数目, 达到输出频率的控制。该方案对D/A速率要求高,电路集成度高。
2.2 系统设计方案
本系统是以方案三为主导思想,以DDS原理为设计核心,首先采用MATLAB中DSP库的相
应组件设计不同的模块,然后导出模块VHDL代码,在Quartus编程环境下生成并添加相应模块,最后通过NIOS软核编程控制。基本设计框架如图棘轮棘爪2-1。
图 2-1
3. 分模块设计与实现
3.1 硬件部分实现
硬件主要包括FPGA开发板、D/A转换、增益放大。位于波形输出ROM后的D/A单元,是将数字量形式的波形幅值转换成所要求的合成频率的模拟量形式信号。由于储存波形的ROM
具有14bit的输出,所以采用工作时钟为100M的14位高速DAC芯片DAC904将FPGA输出的数字信号转换成模拟信号。DAC904是TI德州仪器推出的一款高速D/A数模转换芯片,拥有特性:1、14位并行电流型DA;
2、最高刷新率最高数据刷新率165 MSPS;
3、供电:模拟+5V,数字+3.3V;
4、低功耗:5V下功耗为170mw;
DAC904连接如图3-1所示。
图 3-1
3.2 DDS的设计实现
1971 年,美国学者提出了以全数字技术,从相位概念出发直接合成所需波形的一种新的频率合成原理, 称之为直接数字频率合成器(DDS)。
直接数字频率合成的理论依据是采样定理, 即先对一个完整周期的正弦波进行N点采样, 然后把采样点存储在ROM中构成一个查表, 频率合成时,相位累加器在参考时钟的作用下控制ROM 中数据的输出。ROM的输出经过D/A 转换, 将一个阶梯化的信号( 即采样信号) 通过一个理想的低通滤波器, 就得到符合要求的模拟信号。
只要对正弦信号相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的相位增量量化值决定了信号的输出频率fout,并呈现简单的线性关系。直接数字合成器DDS就是根据上述原理而设计的数字控制频率合成器。
图3-2所示是一个基本的DDS结构,主要由相位累加器、相位调制器、正弦ROM查表和D/A构成。图中的相位累加器、相位调制器、正弦ROM查表是DDS日盲紫外探测器结构中的数字部分,由于具有数控频率合成的功能,又合称为NCO(Numerically Controlled Oscillators)。
图 3-2
相位累加器由N位加法器与N位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将频率控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的
输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字k相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。
DDS在MATLAB的设计电路如图3-3。
图 3-3
3.3 AM的设计实现
振幅调制就是用低频调制信号去控制高频载波信号的振幅,使载波的振幅随调制信号成正比地变化。普通调幅信号可以表示为 :
ma称为调幅系数或调幅度,表示载波振幅受调制信号控制的程度,ma <1, 若ma > 1幅波产生失真,这种情况称为过调幅。
根据AM原理,在已完成的DDS模块的基础上,将生成的1KHZ调制信号,先乘以一个多路选择器控制大小的系数ma,然后对正弦波添加直流分量,最后与DDS信号相乘,输出即为AM信号,MATLAB仿真效果如图3-4。
图 3-4
3.4 FM的设计实现
FM同样也是利用低频调制信号去控制高频载波信号,不同的是FM调制是使载波的频率随调制信号的变化而变化,而振幅保持不变。在FM调制中,调制信号的幅度决定载波的偏移量,而调制信号的频率则决定载波的偏移变化率。FM输出波表达式如下:
Mf为调频波的最大相移,又称调频指数,频率偏移为Mf乘以调制信号频率。根据FM原理,在MATLAB里,在已完成的DDS的基础上,将生成的绝缘阻抗测试1KHZ调制信号乘以Mf,加到DDS的相位上,也即正弦索引表之前,此时输出即为FM信号,调节Mf可调节频偏大小,MATLAB仿真效果如图3-5所示。
图 3-5
3.5 2ASK的设计实现
振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制。当数字基带信号为二进制时,则为二进制振幅键控。
二进制振幅键控信号可以表示成具有一定波形形状的二进制序列(二进制数字基带信号)与正弦型载波的乘积,通常二进制振幅键控信号的产生方法有两种,一般的模拟幅度调制方法与数字键控方法实现,2ASK信号的波形随着的通断变化,所以又称为通断键控信号(缩写为OOK)。二进制振幅键控信号调制器如图3-6所示。
图 3-6
M序列(即De Bruijn序列)又叫做伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。