ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:157.95KB ,
资源ID:10116798      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10116798.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FPGAASIC低频三相函数信号发生器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGAASIC低频三相函数信号发生器.docx

1、FPGAASIC低频三相函数信号发生器低频两相函数信号发生器(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产生可控频率和相位的信号波原理本系统不仅要求输出单相正弦波和两相正弦波,而且要求输出正弦波的频率与相位均可预置和步进,这就要求增加相位控制字和频率控制字,频率控制字和相位控制字均由单片机

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 系统整体原理框图三、模块方案论证和选择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。本系统要求单片机要能输出多位频率控制字和相位控制字,显然有限的普通I/O口资源无法满足要求,这就要靠单片的串口来实现,由两种方案单片机的晶振频率知,

8、方案二的串行通信效果明显优于方案一,故选择方案二。2FPGA模块方案一:选用CycloneII系列EP2C5T144 FPGA AlteraCycloneII系列GPGA 采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化,Cyclone II 器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。而CycloneII系列EP2C5T144 FPGA含4608个逻辑宏单元、两个锁相环,约20万门、约12万RAM bit,并且含全兼容8051核,其主频最高可达250MHz,是普通8051单片机速度的20倍!因此可以完成语音级的DS

9、P处理,还可进行SOC系统设计。其内部含DDS函数信号发生器IP核,可直接调用。方案二:选用CycloneII EP2C15系列FPGA 该系列内部集成14448个逻辑单元,总比特殊高达239616,含4个锁相环PLL。CycloneII EP2C15系列FPGA的性能要优于EP2C5T144,同时前者的价格也比后者贵的多。本系统,只要求在FPGA内部嵌入累加器、加法器和波形数据存储器ROM,方案一已足以满足要求,对本系统来讲,方案二的资源不能得到充分利用,方案一有更高的性价比,故选择方案二。3D/A转换模块方案一:DAC900D/A转换器 DAC900的采样频率为十位,内部为先进的段式结构,

10、该芯片无论对单通道音频信号还是多通道音频信号都具有卓越的无假信号动态范围。DAC900独立的输出电流可达20mA,单电源(2.7V 5.5V)供电。方案二:DAC0832D/A转换器 DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。 DAC0832的转换精度为0.0039(1/28),已满足赛题要求输出的电压精度,且DAC0832的输入特性比DAC900要优越的多,在价格上方案一也高于方案二,故方案二具有更高的性价比,本系统选用DAC0832D/A。4键

11、盘模块按键模块主要实现频率和相位等的步进和预置,传统4*4键盘已可完全满足要求,且性价比较高,故选择4*4键盘。5显示模块方案一:采用动态数码管显示 此方案是靠人眼的视觉暂留效应和循环扫描的方式实现动态显示的,这种显示方案具有实现简单、显示亮度高和显示稳定等优点。但系统需要显示的信息量较大,并且要显示英文字母等信息,采用数码管显示技术很难实现这一要求。方案二:1602液晶显示 该显示器是一款比较常用的液晶显示器,驱动程序简单,使用方便,显示效果优于数码管。但是该显示模块显示内容较少,无法显示汉字信息,不能满足本系统的显示要求。方案三:采用LCD12864显示 此液晶显示器具有功耗低、无辐射、可

12、平面直角显示和影像稳定等特点,以及可方便显示英文字母、汉字和图像等优点,只需用一块LCD12864就可以在一个平面上一次性显示该系统所需显示的全部内容。就本系统而言,其性价比要优于前两个方案。基于以上分析,我们选择方案三。三、理论分析与计算DDS模块合成波频率:若累加寄存器的位数为N,频率控制字为PSW,时钟基准为fc,则合成波形的频率为fo=1/(2n/PSW)*(1/fc)=PSW*fc/2n,其中1/fc为每输出一个波形数据所需时间,2n/PSW为一个完整的输出波形所含的波形数据数。基准时钟:N位全加器、加法器、寄存器和存储器等逻辑电路均内嵌在FPGA的内部,寄存器和存储器的时基fc由F

13、PGA提供。CycloneII系列EP2C5T144C8外接20MHz外部晶体振荡器,可通过内部锁相环PLL电路将其倍频到250MHz,系统设计时我们将20MHz的时钟倍频到35MHz作为时钟基准fc。累加器位数:累加器是DDS电路工作的最关键部分,累加器的工作速度决定了输出波形的频率精度,由f=fmin=fc/2n知,累加器的位数决定了频率最小分辨率,设计中fc为FPGA的工作频率,取fc=35MHz。发挥部分要求,频率可实现1Hz的步进,即频率最小分辨率可达1Hz。现取输出频率的最小分辨率为1Hz,易知2n =fc=35000000,可算得n=25.2,我们取n=28位,这样累加器的最小分

14、辨率可达35MHz/228=0.347,连接时将低2位置1(分辨率变为30.347=1.041),这样在频率步进时可达到发挥部分步进1Hz的要求。频率控制字位数:由以上内容知f=fmin=0.347,输出频率为30KHz的波形时频率控制字FSW由下式得出:FSW=fo/f=86455.33215=32768,实际设计时取频率控制字的位数为16位。相位控制字位数:两相正弦波相位之差是靠键盘预置和步进的方法来实现的,移相最大精度与波形表地址精度有关,本系统波形数据存储器ROM中存储了28个数据,则最大移相精度为360o/256=1.4度,与题目步进1度的要求有0.4度的误差,此误差可以通过增加波形

15、数据数来消除,但这会增加硬件开销。ROM波形数据表:在一个周期内t的取值范围为02,对应y=f(x)形式,即0 x2,则y=sinx(0x2)。ROM地址范围的大小取决于所要求的数据表精度,地址范围越大数据表越精确,但需要的存储空间越大。在Excel表格中可以用下拉单元格的方式迅速生成地址,本设计中生成256个数据的数据表,地址范围0255,即波形表中每种波形每周期取256点。首先在A1和B1两格中输入0和2,然后选中此两格,用下拉菜单的方法向后拖动,直到拖到最后一格刚好生成256个数据为止。然后在A2格输出公式“=sin(A1/256)*2* 3.1415926 ) ”,再利用下拉单元格的方

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

17、成,主要由累加器部分、加法器部分和波形数据存储器部分,此部分各原理图见附录部分。五、硬件电路设计1D/A转换模块本系统数模转换器采用DAC0832,数模转换模块如下图4所示。输出的模拟量 与输入的数字量(DN-1*2N-1+D0*20)成正比,这就实现了从数字量到模拟量的转换。输入可有28(=256)个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,只能是256个可能值中的一个。本系统要求输出量是电压,而DAC0832输出的是电流量,所以还必须经过一个外接的运算放大器转换成电压,这里选用OP07集成运放,此运放具有极低的输入失调电压、极低的失调电压温漂能长期稳定工

18、作等特点。图4 D/A转换模块2低通滤波模块巴特沃思低通滤波电路,在通频带内外都有平稳的幅频特性,滤波输出的信号总会在第一个周期略微有些失真,但往后的幅频特性就非常的好。为了减少运放对滤波电路的负载效益,同时便于调整,我们选择两个二阶巴特沃思低通滤波器串联的方法,构成一个四阶巴特沃思低通滤波器,其原理如图5。电路中各参数可通过差表式软件Filterlab生成,并稍加修改即可。图5 四阶巴特沃思滤波电路3波形移位和电压放大模块DDS合成输出的波形的幅值全都大于零,因此要设计一波形移位电路将幅值为零的点全部移到X坐标轴上,波形移位原理如下图6。波形移位部分,其核心部分是一电压跟随器,电压跟随器的输

19、出Vo1=(Vin-Vp),所以输出的Vo1就相当于在输入Vin的基础上下移了Vp伏,而Vp又受可变电阻器Rw1的控制,通过划动此变阻器理论上可将Vin的波形向Y轴负方向下移012V。赛题要求输出的电压的峰峰值在10k的电阻上不小于20V,而波形移位模块输出波形的峰峰值最大仅有3.3V(FPGA的I/O输出电压只有3.3V),所以要加一电压放大电路,放大模块的核心器件为集成运放OP37,由模拟电路知识知,Vout=-Vin*Rw2/R3,Rw2/R3的范围是010,因此通过调节Rw2可以使输出波形的峰峰值在010Vo1间变化,即输出信号的峰峰值最小可到0V,最大可达33V,这足以满足赛题20V

20、的要求。另外,易知此放大电路为反相比例放大类型,由于理想运放的输出电阻ro趋近于零,所以输出电阻Ro也趋近于零,则输出电压基本上不会受负载的影响。 图6 波形移位和电压放大原理图六、单片机软件设计1.设计思想单片机主要控制频率控制字与相位控制字的传送、按键的识别和显示等。按键识别部分:通过P1对16个按键进行扫描,判断有无按键按下以及哪一个或哪几个按键被按下,根据按键扫描的值进入相应的处理程序,案件的扫描可采用线反转的方法实现。液晶显示部分:根据要显示的内容,控制显示内容的位置和相关汉字提示。串口传输频率控制字和相位控制字:根据按键扫描的值确定是否需传送控制字,以及是传送相位控制字还是频率控制

21、字,并通过单片机的串行口将其传出。2.软件流程图图6 单片机主程序流程图七、系统测试1基本部分测试基本部分测试主要包括频率步进和频率预置,结果如下表1:表1 基本要求测试频率预置频率步进波形峰峰值(10k电阻)设置频率输出频率误差/%当前频率步进步进的频率值130Hz3002Hz0.62500Hz501Hz0.2342.发挥部分测试发挥部分要求测试如下表2、表3:表2 输出两相正弦波频率预置和步进测试输出波形相数频率预置频率步进波形峰峰值(10k电阻)设置频率输出频率误差当前频率步进步进的频率值1234表3 两相正弦波相位测试初始相位相位差预置相位差步进A相B相A相B相相位差步进A相B相相位差

22、12343.测试结果分析1)由表1可知,预置频率与实际输出频率的误差分别为 平均误差为 满足频率精度为0.1的要求;步进频率与实际输出频率增加量间的误差分别为 平均误差为 也满足频率精度为0.1的要求。2)由表2可知,3)由表3可知,4.误差分析由以上测试结果可知,本系统存在的误差主要有频率步进误差、频率预置误差、相位步进误差和相位预置误差。频率步进于预置误差:本系统频率控制字为10为,累加器输出为28位,由“理论分析与计算”的内容知,步进一步频率增加或减少1.04度,与步进1度的要求有0.04度的误差。而预置的频率也只能是1.04度的若干整数倍,故存在这一误差。相位步进和相位预置误差:系统相

23、位控制位为8位,由“理论分析与计算”的相关内容可知,步进一次,两项波形的相角差增加或减少1.4度,这与步进1度的要求有0.4度误差,同样预置的两相波形的相位差也只能是1.4度的整数倍,故存在相位步进和相位预置的误差。八、总结经过一个星期的努力,我们设计并制作了一低频两相信号发生器,系统可输出频率范围20Hz20kHz单项正弦波和频率范围1Hz30kHz两相正弦波,并且可输出载波频率约为10kHz的频率范围在100Hz1kHz内的调频信号波,而且各波形输出频率可预置和步进,两相正弦波相位之差也可实现预置和步进的功能。综合测试表明,本系统满足赛题所有的要求。参考文献1 电子技术基础 模拟部分康华光 编 高等教育出版社2 电子技术基础 数字部分康华光 编 高等教育出版社3 全国大学生电子设计竞赛获奖作品精选全国大学生电子设计竞赛组委会 编 北京理工大学出版社4 全国大学生电子设计竞赛试题精选 陈永真 等编著 电子工业出版社附录附录1:生成正弦信号VHDL原理图附录2:产生调制信号RTL原理图附录3:单片机源程序

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1