当前位置:首页 > DDS信号发生器原理
方案一:采用模拟锁相环实现。
模拟锁相环技术是一项比较成熟的技术。应用模拟锁相环,可将基准频率倍频,或分频得到所需的频率,且调节精度可以做到相当高、稳定性也比较好。但模拟锁相环模拟电路复杂,不易调节,成本较高,并且频率调节不便且调节范围小,输出波形的毛刺较多,得不到满意的效果[13]。
方案二:采用直接数字频率合成,用单片机作为核心控制部件,能达到较高的要求,实现各种波形输出,但受限于运算位数和运算速度,产生的波形往往达不到满意效果,并且频率可调范围小,很难得到较高频率,并且单片机的引脚少,存储容量少,这就导致了外围电路复杂[4]。
方案三:采用直接数字频率合成,用FPGA器件作为核心控制部件,精度高稳定性好,得到波形平滑,特别是由于FPGA的高速度,能实现较高频率的波形。控制上更方便,可得到较宽频率范围的波形输出,步进小,外围电路简单易实现。因此采用方案三。
4 DDS信号发生器的实现
4.1 硬件电路的制作
根据设计要求,本论文选用EDA比赛套件中:EDA-SOPC核心板、LCD 1602、RS232&PS2及DDS_BOARD四个模块。电源采用5V直流电源及±5V电源供电。
各模块连接如图4所示:
图4 各模块连接示意图
LCD1602 LCD1602 模块 DDS模块 LCD接口 RS232&PS2 模块 RS &P S2 接口 DA及IO接口 FPGA PS/2小键盘 SDRAM 电源
4
各模块功能如下:
一、由EDA-SOPC核心板提供的FPGA及SDRAM为本系统的核心器件。主要完成功能:
1、采用DDS技术基于FPGA设计信号发生模块,产生要求的信号序列; 2、利用SDRAM配合FPGA构成片上系统,建立NIOS控制系统,完成任务调度及人机交互控制。核心板分别通过相关接口与其它三个功能模块相连。
二、RS232&PS2模块通过8-PIN双排线与核心板的PORT2CP接口相连。将PS2接口的数字小键盘连接到该模块的PS/2接口上,实现按键输入功能。
三、LCD1602模块通过16-PIN双排线与核心板的PORT12-LCD接口相连。将液晶LCD1602连接到该模块的液晶接口上,实现人机交互的显示功能[14]。
四、DDS模块分别通过14-PIN双排线与核心板的PORT14-DA接口相连及通过16-PIN双排线与核心板的PORT16-IO接口相连。该模块实现两路D/A,其中一路产生信号,另一路实现信号幅度的调整,模块的BNC接头直接输出信号。 4.2 硬件模块的介绍 4.2.1 EDA-SOPC核心板
EDA-SOPC核心板主芯片使用了Cyclone II系列芯片EP2C8Q208C8,具有8256个逻辑单元(LE),可以满足更多、更大的系统需求;18个18*18位乘法器,可以实现数字信号处理(DSP功能);2个增强型锁相环(PLLs),能够提供先进的时钟管理能力,如频率合成、可编程移相、外部时钟输出、可编程占空比、锁定检测、可编程带宽、输入时钟扩频和支持高速差分输入输出时钟信号;具有138个用户 I/O,能够满足大多数系统需求。使用了1个16位SDRAM内存,组建成一个片外8Mbytes系统内存电路;配备了4Mbytes的Flash,用来保存用户数据、系统工程等;使用EPCS4作为配置芯片;丰富的外围设备,供用户进行高级设计[12]; 选用大功率电源芯片来保障系统稳定工作。在此硬件平台上SOPC系统频率达到110MHz,但建议使用的系统频率为85MHz,这样会使系统能更稳定的运行。 4.2.2 LCD1602模块
LCD1602模块是由液晶LCD1602为核心,提供16×2字符显示的电路模块。该模块可通过16针接口连接到EDA-SOPC核心板上,使用方便。该模块电路指底板电路,主要提供EDA-SOPC核心板与LCD1602液晶接口及液晶所需的负压调节及背光控制电路。该接口采用16针接口与核心板PORT12-LCD接口相连。具体如下:
5
图5 与EDA-SOPC核心板接口
4.2.3 RS232&PS2模块
RS232&PS2模块由RS232电平转换电路和PS2键盘接口电路两部分组成,用于完成RS232串口通信和PS2接口通信,可实现与计算机串口通信、PS键盘扩展等功能。该模块可通过8针接口连接到EDA-SOPC核心板上。 4.2.4 DDS_BOARD模块
DDS_BOARD模块包括DA转换、驱动等电路组成。该模块输入端有两组DA数据,一路数据经DA转换后成作为信号输出,另一路数据经DA转换后成作为输出信号的幅度调节。经合EDA-SOPC核心板的DDS技术可实现任意波形,一定频率、一定幅度范围的信号输出[7]。该模块可分别通过14针和16针两条数据线连接到EDA-SOPC核心板上。
与EDA-SOPC核心板接口,该接口采用14针和16针两条数据线分别与核心板PORT10-DA和PORT12-IO接口相连。具体如下:
图6 与EDA-SOPC核心板接口
5 软件设计
5.1 设计的原理图
信号发生器的原理图如附录所示,图中涉及到相位累加器、正弦波查询、波形输出等模块的设计,并由各个模块之间的连接构成满足产生正弦波的信号发生器。通过
6
选择波形输出模块的波形选择端sel就可实现方波和三角波的产生,改变频率控制字的大小就可实现调频,在时钟频率一定时,相位累加器的位数越大,频率调节就越精细[2]。
相位累加器的输出端与波形输出模块的10位地址输入端(addr[9..0])相连,正弦波查询表的输出端与波形输出模块的10位数据输入端(qin[9..0])相连。波形输出模块的输出端(qout[9..0])为正弦波的离散信号。 5.2 软件各模块设计 5.2.1 相位累加器设计
xiangleidin[31..0]clkdout[9..0]inst3 图7 相位累加器模块示意图
相位累加器如图7所示,32位的din[31..0]输入为相位累加器频率控制字输入端,改变频率控制字,即可改变输出频率。clk为时钟输入,本例中选用32MHz。dout[9..0]接正弦查询表的地址输入端,产生10位的地址查询码。 5.2.2 正弦波查询表
romaddress[9..0]clockinst14q[9..0] 图8 正弦波查询模块示意图
正弦查询表如图8所示,是由一个ROM模块构成,输入为10位地址,在时钟的作用下,输出存储的正弦数据[7]。本模块采用QuartusII软件定制的LPM_ROM 模块。正弦数据由Matlab生成,并以mif的文件格式存储后加载到ROM模块中。文件为sin10bit.mif。 5.2.3 波形输出模块
7
共分享92篇相关文档