基于DDS的信号发生器的设计毕业论文 联系客服

发布时间 : 星期日 文章基于DDS的信号发生器的设计毕业论文更新完毕开始阅读75551841591b6bd97f192279168884868662b859

电流,需外接一个电阻Rset,其调节关系是Iset=32(1.248V/Rset),满量程电流为10~20mA[14]。

(2)采用低频正弦波DDS单片电路的解决方案:

Micro Linear公司的电源管理事业部推出低频正弦波DDS单片电路ML2035以其价格低廉、使用简单得到广泛应用。ML2035特性:(1)输出频率为0~25KHZ,在时钟输入为12.352MHZ时频率分辨率可达到1.5HZ(-0.75~+0.75HZ),输出正弦波信号的峰-峰值为Vcc;(2)高度集成化,无需或仅需极少的外接元件支持,自带3~12MHZ晶体振荡电路;(3)兼容的3线SPI串行输入口,带双缓冲,能方便地配合单片机使用;(4)增益误差和总谐波失真很低。

ML2035为DIP-8封装,各引脚功能如下:  (1)Vss:-5V电源; 

(2)SCK:串行时钟输入,在上升沿将串行数据锁入16位移位寄存器; (3)SID:串行数据输入,该串行数据为频率控制字,决定6脚输出的频率; (4)LATI:串行数据锁存,在下降沿将频率控制字锁入16位数据锁存器; (5)VCC:+5V电源;  (6)VOUT:模拟信号输出; 

(7)GND:公共地,输入、输出均以此点作为参考点;  (8)CLK IN:时钟输入,可外接时钟或石英晶体。

ML2035生成的频率较低(0~25KHZ),一般应用于一些需产生的频率为工频和音频的场合。如用2片ML2035产生多频互控信号,并与AMS3104(多频接收芯片)或ML2031/2032(音频检波器)配合,制作通信系统中的收发电路等。

可编程正弦波发生器芯片ML2035设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛,适合需要低成本、高可靠性的正弦信号的场合。

(3)自行设计的基于FPGA芯片的解决方案:

DDS技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、可编程,以及有强大EDA软件支持等特性,十分适合实现DDS技术。Altera是著名的PLD生产厂商,多年来一直占据着行业领先的地位。Altera的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP核、宏功能库等,因此Altera的产品获得了广泛的应用。Altera的产品有多个系列,按照推出的先后顺序依次为Classic系列、MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、APEX(Advanced Logic Element Matrix)系列、ACEX系列、Stratix系列以及Cyclone等[15]。

虽然有的专用DDS芯片的功能也比较多,但控制方式却是固定的,因此不一定是我们所需要的。而利用FPGA则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用DDS芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA也能输出较高质量的信

-15-

号,虽然达不到专用DDS芯片的水平,但信号精度误差在允许范围之内。 2.1.2 移相方案

要实现两路信号具有确定的相位差,采用数字移相技术,这是目前移相技术的潮流。数字移相技术的核心是先将模拟信号数字化,移相后再还原成模拟信号。

数字移相主要有两种形式:一种是先将正弦波信号数字化,并形成一张数据表存入ROM芯片中,此后可通过两片D/A转换芯片在单片机的控制下连续地循环输出该数据表,就可获得两路正弦波信号,当两片D/A转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。另一种是先将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号。以延时的长短来决定两信号间的相位值。这种处理方式的实质是将延时的时间映射为信号间的相位值。

综合各方面考虑本设计采用前一种方式,具体调整方法如下:

可预置计数器的初值不同,从ROM中读出周期信号函数采样信号时的起始地址就不同,对应的信号相位也就不同。故只要在初始时刻,通过对计数器预置不同的初值即可形成两路信号间不同的相位差,从而达到调节信号间相位的目的。 2.1.3 存储器方案 (1)波形表存储器

因为本设计是采用FPGA实现DDS的功能,所以使用FPGA作为数据转换的桥梁,将波形数据存储到其内部的RAM中,并由DDS系统产生波形输出。需存储在RAM中的波形数据是由单片机采集外部数据,对ROM中存储的标准波形进行各种相应的运算而得到。波形表存储器ROM有三种方法实现。

方法一:外接ROM用单片机来完成。可采用并行两片32K的EEPROM存储器AT28C256,共16位位宽,可以实现12位波形表存储,150ns读取速度完全满足20KHZ的工作频率。实现方案:将归一化的正弦波存储在32KEEPROM中,波形存储64个点。然后由单片机根据键盘输入的不同要求,对各点数据乘相应系数并叠加,再将所得到的新数据存储在RAM中,此时便得到了所需要的波形数据表。

方法二:由逻辑方式在FPGA中实现。

方法三:利用Altera公司的含于EAB器件中的兆功能模块LPM_ROM,通过VHDL语言编程来实现。

第一种方法容量最大,但速度最慢,且编程比较麻烦;第二种方法速度最快,但容量非常小;第三种方法兼顾了两者的优点,克服了其缺点。在选用FPGA芯片时,本设计选用的是Altera公司的FLEX10K系列芯片EPF10K10LC84_4, 有LPM_ROM模块,因此ROM

-16-

选用第三种方法。

(2)外存储器

由于本设计选用的单片机为MSC-51系列的8051,它相对于高速的FPGA来说速度太慢,因此对单片机扩展外部数据存储器和波形存储器。

半导体存储器可分为三类:只读存储器(ROM、PROM、EPROM),随机存储器(SRAM、DRAM),不挥发性读写存储器(EEPROM、NOVRAM)。本设计要实现编辑功能,故必须选择随机存储器或不挥发性读写存储器。

方案一:采用SRAM(6264:8KRAM)和EEPROM(2817:2KROM),通过总线隔离的办法实现,既能通过CPU改变存储器数据,又能通过相位累加实现读取波形存储器数据的功能。

方案二:采用特殊存储器双口RAM。双口RAM有左右两套相同的I/O口,即两套数据总线,分别有两套地址、控制总线,并有一套竞争仲裁电路。它可通过左右两边的任一组I/O进行异步的存储器读写操作,避免了系统总线隔离[17]。

对比上述两种方案,方案一的硬件电路虽较复杂,但设计简单,成本低,容量大,故采用此方案。

2.1.4 存储器寻址方案

方案一:采用移位寄存器74164对BCD乘法器14527进行设置。BCD乘法器14527接成加法级联方式,输入频率由晶振提供,级联输出频率为:

f?10000?k1?1000?k2?100?k3?10?k4?k510000 (2.1)

式中K1、K2、K3、K4、K5为BCD乘法器置数。根据置数不同,可以输出不同的频率的计数脉冲,再经计数器计数对存储器寻址,频率控制寻址频率,从而控制输出波形的频率。此方案硬件接线复杂,频带不易拓宽。

方案二:运用FPGA构成的相位累加器对EEPROM进行寻址。由单片机控制步长即可控制寻址频率,而相移也可方便地由单片机控制相位累加器的初始值来设定。

比较两种方案,方案二设计简单,易于单片机控制,故选方案二。

2.2模块结构划分

本次设计所研究的就是对所需要的某种波形输出对应的数字信号,在通过D/A转换器和单片机部分的转换输出一组连续变化的0~5V的电压脉冲值。在通过显示部分显示其频率,和波形。在设计时分块来做,按照波形设定,D/A转换,51单片机连接,键盘控制和显示五个模块的设计。最后通过联调仿真,做出电路板成品。从而简化人机交互的问题,具体设计模块如图

-17-

模块介绍:

1.波形设定:对任意波形的手动设定

2.D/A转换:主要选用DAC0832来把数字信号转换为模拟信号,在送入单片机进行处理。

3.单片机部分:最小系统

4.键盘:用按键来控制输出波形的种类和数值的输入 5.显示部分:采用LCD显示波形的频率

系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。考虑单片机部分(有最小系统,D/A转换,键盘接口,扩展部分显示等部分)的功耗大小,机器体积小,价格便宜,耗电少,频率适中,便于携带。 2.2.1 DDS的基本原理

直接数字频率合成器(DDFS)的基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形[10]。它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图2.2所示。

图2.2 直接数字频率合成器原理框图

相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图2.3所示。每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路(即图2.1

-18-