欢迎来到天天文库
浏览记录
ID:36453686
大小:306.50 KB
页数:8页
时间:2019-05-10
《基于CEETEDAI实验箱的DDS信号源设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于CEET-EDA-I实验箱的DDS信号源设计一、设计题目:基于CEET-EDA-I实验箱的DDS信号源设计二、主要技术指标:最小频率分辨率1.4hz可调频率范围1-70khz输出电压幅度0-5v三、实验用仪器:TDS1002数字存储示波器一台,EDA实验箱一台四、电路工作原理:系统方框图:图(1)该设计主要由51单片机、FPGA、8位数码管、4×4矩阵键盘和8位ADC0800构成。其中FPGA完成键盘扫描、正弦数字信号的产生和数码管的动态显示。单片机负责将FPGA获得的键值进行处理,数码管的显示数据和DDS的频率控制字。ADC负责将FPGA输出的正弦数字信号转化为模拟信号。1、DDS的基本
2、原理DDS的原理框图如图所示。图中相位累加器可在每一个时钟周期来临时将频率控制字(TUNINGWORD)所决定的相位增量M累加一次,如果记数大于2N,则自动溢出,而只保留后面的N位数字于累加器中。正弦查询表ROM用于实现从相位累加器输出的相位值到正弦幅度值的转换,然后送到DAC中将正弦幅度值的数字量转变为模拟量,最后通过滤波器输出一个很纯净的正弦波信号。8DDS的原理框图图(2)2、DDS的基本参数计算公式由于相位累加器是N比特的模2加法器,正弦查询表ROM中存储一个周期的正弦波幅度量化数据,所以频率控制字M取最小值1时,每2N个时钟周期相位累加器溢出一次。所以此时有:fs=fC/2N(3.1
3、)式中fs为累加器溢出信号的频率,fC为时钟频率,N为累加器的位数。更一般的情况,频率控制字是M时,每2N/M个时钟周期累加器溢出一次。所以此时有:fs=M×fC/2N(3.2)式(3.2)为DDS系统最基本的公式之一。由此可以得出:最小溢出频率为:fsmin=fC/2N(3.3)最大溢出频率为:fsmax=Mmax×fC/2N(3.4)假设DAC每信号周期输出的点数为k,那么输出信号频率为fo=fs/k当k比较大时,可以保证输出信号波形比较平滑。k越大,根据采样定理可知,信号的失真越小。本设计中通过软件和硬件设计,将其采样点数固定为256点,虽然最高频率得到限制,但可以保证较好的波形质量。3
4、.累加器和ROM波形表的FPGA实现:ALTERA公司提供的MAXPLUSⅡ软件提供了丰富的参数化(LPM)模块,通过直接调用这些模块可以方便的组成累加器和ROM波形表。首先来实现累加器模块:打开MAXPLUSⅡ软件,新建一个原理图文件(.gdf)在原理图的空白处双击鼠标左键,出现添加对象的窗口,选择c:maxplus2max2libmega_lpm库,在库中选择lpmadd_sub模块,点击OK可以添加此模块,在弹出的对话框中可以配置该模块的参数。根据需要,我们将时钟clock[]、两路数据dataa[]和datab[]和时钟clock设置为used其他设为unsed。配置clock时
5、,Inversion的配置,选择(bin,0),在Parameters栏,设置LPM_WIDTH为24bit,由于输入使用了时钟,必须配置LPM_PIPELINE(流水线)=1项,如图(4)所示。8配置完成的累加器模块:环形累加器模块电路:8添加仿真激励后,仿真波形如图:累加器输出的结果在每个时钟的上升沿和当前的结果相加。LPM_ROM的配置:配置同累加器的配置基本相同,选择输入、输出、输入时钟即可。波形数据hex文件可以用keil编译生成,然后添加到LPM_FILE中。配置好的ROM如图所示:我们把环形累加器的高8位输出作为ROM的地址输出,ROM的8位数据输出作为DAC的地址输入得到DDS
6、的核心电路:4.4×4矩阵键盘的设计:矩阵键盘的基本结构如上图所示,移位时钟控制移位寄存器进行移位,每次寄存8器只有一位输出为0,当某时刻有按键按下的时候,假设按下的是第5个按键(第2行第一列),那么当移位寄存器扫描到第二行的时候,它会将第一列的输出拉为0(在没有按键按下的时候,由于所有列线都接有上拉电阻,呈现高电平),当检测到列线有低电平的时候,移位使能输出为0,停止移位,并且发出中断信号,通知控制电路读取键值。移位寄存器的输出和键盘的列线通过编码生成4位BCD码。键盘属于人机接口部件,必须充分考虑到人自身的特性,键盘扫描速率即不能太快也不能太慢,太快会导致一次按键多次触发中断,太慢,按键会
7、有失灵的现象。这样就给键盘的设计带来了困难。按键在按下的时候由于抖动的影响,键值在几个ms到几十ms之间会有高低电平变化,并且按键的新旧程度对这个结果有很大的影响,但是,在刚按下的那一时刻,它一定是低电平,如果把这个时候的键值锁存返回,那么就可以保证键值的正确性。然后等待按键释放,延时后再发出中断,就可以避免由于抖动引起的反复触发扫描。电路如图:没有按键按下的时候,D触发器输出为高,移位寄存器在时
此文档下载收益归作者所有