低频三相函数信号发生器

上传人:平*** 文档编号:13122069 上传时间:2017-10-22 格式:DOC 页数:10 大小:234KB
返回 下载 相关 举报
低频三相函数信号发生器_第1页
第1页 / 共10页
低频三相函数信号发生器_第2页
第2页 / 共10页
低频三相函数信号发生器_第3页
第3页 / 共10页
低频三相函数信号发生器_第4页
第4页 / 共10页
低频三相函数信号发生器_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《低频三相函数信号发生器》由会员分享,可在线阅读,更多相关《低频三相函数信号发生器(10页珍藏版)》请在金锄头文库上搜索。

1、1低频两相函数信号发生器(B 题)摘要:本系统基于FPGA来开发DDS 函数发生器,以凌阳单片机SPAICE061A为控制核心,并由D/A转换器、四阶巴特沃思低通滤波器、电流电压转换器、lcd12864液晶显示器和波形移位等模块组成,单片机负责显示、键盘识别和频率控制字与相位控制字的串行输出。系统可输出单相正弦波、两相正弦波和调频信号波,具有输出波频率预置和步进、两相输出波相位差可预置和步进等功能。综合测试证明,本系统实现了赛题的所有要求。关键词:低频两相 FPGA DDS 单片机 步进 一、引言目前广泛采用的频率合成技术主要有直接合成、锁相频率合成和直接数字合成三种方式。随着数字技术的飞速发

2、展,高精度大动态范围DAC 的出现和广泛应用,用数字控制方法从一个参考频率源产生多种频率的技术,即直接数字频率合成(DDS) 技术异军突起。DDS技术是一种新型全数字频率合成技术,可直接从相位出发合成所需的波形。它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力等方面具有显著的特性。本系统即是基于直接频率合成(DDS)技术产生低频两相函数信号发生器的设计与制作,整个系统以单片机和CycloneII系列FPGA为控制核心,先把欲产生信号波的波形数据存储在FPGA内定制的ROM中,由单片机的串口发出频率控制字和相位控制字来控制输出波形的频率和相位,控制字的输出可使用单片机的串口来完成,这样

3、可大大节约单片机的I/O资源。二、系统设计方案与论证1系统总体方案方案一:纯单片机方式 由单片机、D/A 转换器及波形数据存储器等组成系统,单片机承担 DDS 信号波形的合成、所有的逻辑和时序控制等工作。此方案除了要求单片机完成基本的处理分析以外,还需要完成信号波数据的存储、按键的处理、信号显示等控制与变换工作。其优点在于系统规模小,有较大的灵活性,但单片机内部资源和处理速度均难满足要求,此方案极难实现。方案二:基于 IP 核技术的 FPGA 由带有 IP 核的 FPGA 来完成采集、存储、显示及 D/A 转换等功能,由 IP 核实现人机交互及信号输出分析等功能。这种方案的优点在于系统高度集成

4、、结构紧凑、操作方便;缺点是调试过程繁琐、难度大,难以在短时间内完成系统设计。方案三:单片机与 FPGA 结合 用单片机完成人机界面、系统控制、处理变换等,而用 FPGA 完成信号输出和生成相应的逻辑控制时序,这种方案结合了单片机和 FPGA 的长处,兼顾了前两个方案的优点。同时大多数 FPGA 都带有内置的EAB 存储阵列,可将波形数据存储在 FPGA 内嵌 ROM 中,这样节省了片外存储器。基于以上分析,我们选择方案三。2基于 DDS 产生可控频率和相位的信号波原理2本系统不仅要求输出单相正弦波和两相正弦波,而且要求输出正弦波的频率与相位均可预置和步进,这就要求增加相位控制字和频率控制字,

5、频率控制字和相位控制字均由单片机控制输出。DDS合成信号波的过程如下(以正弦波为例):首先将正弦波的波形数据存入波形存储器中,并给波形存储器和寄存器同一基准时钟fc,在此同一时钟的控制下寄存器输出的数同相位控制器输出的数相加后形成一N位有效地址来查询波形存储器中的值,并在时钟fc的控制下将对应的波形数据输出。当全加器经过k次循环相加后又回到初始值k,则波形存储器就会输出对应的一个正弦波周期内的波形数据,这样通过ROM可将相位值转换为与之对应的D位幅度码S (n),然后经D/A转换器变成阶梯波S (t),再经过低通滤波器平滑后,就可以得到合成的信号波形。合成的信号波形形状取决于波形存储器ROM中

6、存储的幅度码,而且相位控制字可控制输出波形的相位在0o359o的范围内加减。因此,理论上将DDS可以产生任意波形。图 1 DDS 的工作过程和原理3.两相正弦波产生原理采用 FPGA 设计 DDS 函数发生器可以方便的输出双路信号,而不必增加硬件成本,设计思想如下:设计时将一相的波形数据复制到新建的波形数据 ROM 表中,作为另一项波的波形数据,在第一相查表地址的基础上加上相位增量(由相位控制字决定),所得的值即为第二路信号的查表地址,由此便可实现两相信号波形的输出,其原理如下图 2:图 2 两项正弦波生成原理4系统整体框图由题意知,本系统主要由数模转换模块、显示模块、键盘模块、低通滤波电路模

7、块、电压放大模块和移位电路模块等组成,原理框图如下图 2 所示:3图 3 系统整体原理框图三、模块方案论证和选择1.单片机模块方案一:选用 AT89S52 该单片机为 51 系列增强型 8 位单片机,具有 32个 I/O 口和 8K 的内部存储器,晶振频率为 12MHz,一个指令周期为 1ms。方案二:选用 C8051F005 单片机 该单片机具有 32 个 I/O 口和 32K 的ROM,还具有一个 12 位 8 通道 ADC 和 256 个字节的数据 RAM 以及 2K 的片外 RAM,具有很高的可扩展性,并且其晶振频率为 24MHz,一个指令周期为0.5ms。本系统要求单片机要能输出多位

8、频率控制字和相位控制字,显然有限的普通 I/O 口资源无法满足要求,这就要靠单片的串口来实现,由两种方案单片机的晶振频率知,方案二的串行通信效果明显优于方案一,故选择方案二。2FPGA 模块方案一:选用CycloneII 系列EP2C5T144 FPGA Altera Cyclone II系列GPGA 采用全铜层、低K值、1.2伏SRAM 工艺设计,裸片尺寸被尽可能最小的优化,Cyclone II 器件扩展了 FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone 器件系列的成功。而 CycloneII系列EP2C5T144 FPGA含4608个逻辑宏单元、两个锁相环,约20

9、万门、约12万RAM bit,并且含全兼容8051核,其主频最高可达250MHz,是普通8051单片机速度的20倍!因此可以完成语音级的DSP处理,还可进行SOC系统设计。其内部含DDS函数信号发生器IP核,可直接调用。方案二:选用CycloneII EP2C15系列FPGA 该系列内部集成 14448个逻辑单元,总比特殊高达239616,含4个锁相环PLL。CycloneII EP2C15系列FPGA的性能要优于EP2C5T144,同时前者的价格也比后者贵的多。本系统,只要求在FPGA内部嵌入累加器、加法器和波形数据存储器ROM,方案一已足以满足要求,对本系统来讲,方案二的资源不能得到充分利

10、用,方案一有更高的性价比,故选择方案二。43D/A转换模块方案一:DAC900D/A 转换器 DAC900 的采样频率为十位,内部为先进的段式结构,该芯片无论对单通道音频信号还是多通道音频信号都具有卓越的无假信号动态范围。DAC900 独立的输出电流可达 20mA,单电源(2.7V 5.5V )供电。方案二:DAC0832D/A 转换器 DAC0832 是采样频率为八位的 D/A 转换器件,芯片内有两级输入寄存器,使 DAC0832 具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路 D/A 异步输入、同步转换等)。DAC0832 的转换精度为 0.0039(1/2 8)

11、 ,已满足赛题要求输出的电压精度,且 DAC0832 的输入特性比 DAC900 要优越的多,在价格上方案一也高于方案二,故方案二具有更高的性价比,本系统选用 DAC0832D/A。4键盘模块按键模块主要实现频率和相位等的步进和预置,传统 4*4 键盘已可完全满足要求,且性价比较高,故选择 4*4 键盘。5 显示模块方案一:采用动态数码管显示 此方案是靠人眼的视觉暂留效应和循环扫描的方式实现动态显示的,这种显示方案具有实现简单、显示亮度高和显示稳定等优点。但系统需要显示的信息量较大,并且要显示英文字母等信息,采用数码管显示技术很难实现这一要求。方案二:1602 液晶显示 该显示器是一款比较常用

12、的液晶显示器,驱动程序简单,使用方便,显示效果优于数码管。但是该显示模块显示内容较少,无法显示汉字信息,不能满足本系统的显示要求。方案三:采用 LCD12864 显示 此液晶显示器具有功耗低、无辐射、可平面直角显示和影像稳定等特点,以及可方便显示英文字母、汉字和图像等优点,只需用一块 LCD12864 就可以在一个平面上一次性显示该系统所需显示的全部内容。就本系统而言,其性价比要优于前两个方案。基于以上分析,我们选择方案三。三、理论分析与计算DDS模块合成波频率:若累加寄存器的位数为N,频率控制字为PSW,时钟基准为fc,则合成波形的频率为fo=1/(2 n/PSW)*(1/fc)=PSW*f

13、c/2n,其中1/fc为每输出一个波形数据所需时间,2 n/PSW为一个完整的输出波形所含的波形数据数。基准时钟:N位全加器、加法器、寄存器和存储器等逻辑电路均内嵌在FPGA的内部,寄存器和存储器的时基 fc由FPGA 提供。CycloneII系列EP2C5T144C8外接20MHz外部晶体振荡器,可通过内部锁相环PLL电路将其倍5频到250MHz,系统设计时我们将20MHz的时钟倍频到35MHz作为时钟基准fc 。累加器位数:累加器是DDS电路工作的最关键部分, 累加器的工作速度决定了输出波形的频率精度,由f=fmin=fc/2n知, 累加器的位数决定了频率最小分辨率,设计中fc为FPGA的

14、工作频率,取fc=35MHz。发挥部分要求,频率可实现1Hz的步进,即频率最小分辨率可达1Hz 。现取输出频率的最小分辨率为1Hz,易知2 n =fc=35000000,可算得n=25.2,我们取n=28位,这样累加器的最小分辨率可达35MHz/2 28=0.347,连接时将低2位置1(分辨率变为30.347=1.041) ,这样在频率步进时可达到发挥部分步进1Hz的要求。频率控制字位数:由以上内容知f=fmin=0.347,输出频率为30KHz的波形时频率控制字FSW 由下式得出: FSW=fo/f=86455.33215=32768,实际设计时取频率控制字的位数为16位。相位控制字位数:两

15、相正弦波相位之差是靠键盘预置和步进的方法来实现的,移相最大精度与波形表地址精度有关,本系统波形数据存储器ROM中存储了2 8个数据,则最大移相精度为360o/256=1.4度,与题目步进1度的要求有0.4度的误差,此误差可以通过增加波形数据数来消除,但这会增加硬件开销。ROM波形数据表: 在一个周期内 t的取值范围为02,对应y=f(x)形式,即0 x2 ,则y=sinx(0x2) 。ROM地址范围的大小取决于所要求的数据表精度,地址范围越大数据表越精确,但需要的存储空间越大。在Excel表格中可以用下拉单元格的方式迅速生成地址,本设计中生成256个数据的数据表,地址范围0255,即 波形表中

16、每种波形每周期取 256点。首先在A1和B1两格中输入0和2,然后选中此两格,用下拉菜单的方法向后拖动,直到拖到最后一格刚好生成256个数据为止。然后在A2格输出公式 “=sin(A1/256)*2* 3.1415926 ) ”,再利用下拉单元格的方式,得到各个地址单元所对应得正弦函数值。以上得到的正弦函数表往往不能被D/A转换器直接利用,需要将其值映射到D/A转换器所能接受的数据空间内。设计中所用D/A 转换器为8位,其数据空间是0255,可以在C1格输入公式“=127.5*(1+B1 ) ”来映射数据,映射后的数据为小数,还须对其取整,即在A3格中输入公式“ =INT(C1) ”。最后,为使数据表能直接用于Quartus II程序中还须添加文本。添加语法文本可输入 “=A1” “=&D1”,再用下拉单元格方法,得到完整的数据表。已生成的带有语法文本的函数表,经复制后可以直接粘贴到用户程序中。四、FPGA内部逻辑设计FPGA部分主要负责信号波形的合成,主要由累加器部分、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号