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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于FPGA信号发生器的设计文档格式.docx

1、在传统的信号发生器中,大都使用分立元件,而且体积庞大携带不便,且大部分只能输出一种脉冲信号波形。在设计领域,不管采用什么技术生产,生产的产品用在哪里,其产品设计的宗旨都是离不开以下几点:实用性高、成本低、可升级、功能完善可扩展等!使用专用的数字电路设计的信号发生器,设备成本高、使用复杂。基于以上考虑,在中小型数字电路的设计和测试中,迫切需要设计一种小型易用成本低廉的信号发生器。此课题的设计以小型经济,集成度高,性能稳定,使用方便为指导,在功能上力求完善实用,同时兼顾商业价值与应用价值的体现。第2章 设计方案2.1 总体设计思路2.1.1 设计步骤此设计将按模块式实现,据任务书要求,设计总共分四

2、大步份完成:(1)产生波形(三种波形:方波、三角波和矩形波)信号;(2)波形组合;(3)频率控制;(4)幅度控制。2.1.2设计思想利用VHDL编程,依据基本数字电路模块原理进行整合。系统各部分所需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入端应满足输入脉冲信号的要求。组合波形信号经显示模块输出。具备幅度和频率可调功能,幅度可通过电位器调整,频率控制模块则是一个简易的计数器,控制步径为100HZ的可调频率,最终送至脉冲发生模块输出脉冲信号,达到设计课题所要求的输出波形频率可调及幅度可调功能。幅度可调功能由于比较简单,可以在FPGA外部利用硬件电路实现。总体设计框图如下图1所示:控制电

3、路正弦波、方波、三角波信号产生模块频率控制模块/计数器模块输出电路波形组合选择模块滤波电路幅度控制/电位器100HZ1KHZ1KHZFPGA图1 总体设计框图2.2 方案论证2.2.1方案一采用DDS(直接数字频率合成器)来设计,设计总体框图如图2所示。在设计界里众所周知,DDS器件采用高速数字电路和高速D/A转换技术,具有频率转换时间短、频率分辨率高、频率稳定度高、输出信号频率和相位可快速程控切换等优点,所以,我们可以利用DDS具有很好的相位控制和幅度控制功能,另外其数据采样功能也是极具精确和完善的,它可以产生较为精确的任何有规则波形信号,可以实现对信号进行全数字式调制。用FPGA和DDS实

4、现信号调制,既克服了传统的方法实现带来的缺点,若采用它来编程设计,必定会事半功倍,且使设计趋于理想状态。但鉴于DDS的占用RAM空间较大,我们设计是采用FPGA10K10器件,总共只有一万门的逻辑门数量,而整个DDS设计下来,大概最少会占用3-4万门的数量,所以在性价比方面不合理,这样也使得我们的设计会有些不切实际。相位累加器低通滤波D/A变换 频率控制字 信号输出 ROM 时钟 图2 DDS与FPGA总体设计图 2.2.2方案二采用震荡器频率合成方案。具体方案如下:首先通过频率合成技术产生所需要频率的方波,通过积分电路就可以得到同频率的三角波,再经过滤波器就可以得到正弦波。其优点是工作频率可

5、望做得很高,也可以达到很高的频率分辨率;缺点是使用的滤波器要求通带可变,实现很难,高低频率比不可能做得很高。2.2.3方案三采用VHDL语言来编程,然后下载文件到FPGA来实现。VHDL语言是电子设计领域的主流硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设计效率和可靠性,要比模拟电路快得多。该方案是利用FPGA具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,而且大大缩短了系统的开发周期。2.3 方案确定 由上述三个方案对比,采用第三种方案:通

6、过FPGA软件扫描方式将波形数据读出传输给DAC0832产生波形输出。这种方法在软、硬件电路设计上都简单,且与我们的设计思路紧密结合。由于幅度控制部分在设计需要用到数字电子,这样有要经过D/A转换器再输出,必将占用大量资源,造成不必要的开销。鉴于有设计经验的同学和老师的建议,采用一个电位器代替,虽然精确度不够,但是也弥补了性价比方面的不足。波形组合如果采用分开式模块实现,也必将导致占用大量的资源,而且模块设计复杂度提高,只要采用重复调用一个模块的设计方法,既可以降低资源的占用率,也使得设计更加灵活且有针对性。此信号发生器的特点及功能集成度高,因采取整体模块式设计,在此也考虑到实际应用中,万一F

7、PGA的逻辑门数量不够,特准备了一套备用方案。备用方案:将波形数据存放在6116RAM中,6116的存储容量大,且可重复使用,虽用单片机在速度方面远不及FPGA,但是这样是在出现上述状况后的最佳补偿方式。综合以上涉及方面的分析,因此本次课题采用此方案进行设计。第3章 软件设计3.1 波形产生模块本设计用VHDL语言根据傅立叶函数采集点进行扫描,分别产生正弦波、三角波和矩形波。以下介绍各种常用周期信号的傅立叶函数展开式。3.1.1正弦波(1)设计思想 正弦波发生分为两个步骤,即正弦波幅值采样存储和正弦波波形的还原输出。幅值采样是将一个周期正弦波进行64等分,如图3所示,将64个采样点进行量化处理

8、,量化值=255*sin360/64(V),将64点量化值存入存储器。正弦波形的产生是通过循环反复将存储器中的64点采样值通过DAC0832进行还原输出,得到幅值正比于64点采样值的正弦波。f(t)tT图4 方波采样图图3 正弦波采样图 (2)VHDL实现1正弦信号波形数据文件建立正弦波波形数据由64个点构成,此数据经DAC0832,可在示波器上观察到正弦波形。源程序如下程序1所示: 程序1WIDTH=8; -表示数据输出位宽是8DEPTH=64; -表示共有64个8位数据点ADDRESS_RADIX=HEX; -表示地址信号用十六进制数表示DATA_RADIX=DEC; -表示输出数据是十进

9、制数CONTENT BEGIN 00:255;01:254;02:252;03:249;04:245;05:239;06:233;07:225; 08:217;09:207;0A:197;0B:186;0C:174;0D:162;0E:150;0F:137; 10:124;11:112;12: 99;13: 87;14: 75;15: 64;16: 53;17: 43; 18: 34;19: 26;1A: 19;1B: 13;1C: 8;1D: 4;1E: 1;1F: 0; 20:21:22:23:24:25:26:27: 28:29:2A:2B:2C:2D:2E:2F: 30:31:32:3

10、3:34:35:36:37: 38:39:3A:3B:3C:3D:3E:3F: END;2定制ROM源程序如下所示:SINDATA.VHD:LIBRARY ieee;USE ieee.std_logic_1164.all;entity sindata isport(address:in std_logic_vector(5 downto 0);inclock:in std_logic;q:out std_logic_vector(7 downto 0);end sindata;architecture syn of sindata issignal sub_wire0 :std_logic_v

11、ector(7 downto 0);component 1pm_romgeneric(1pm_width :natural;1pm_widthid :1pm_address_control:string;1pm_outdata:1pm_file:string);out std_logic_v ector(7 downto 0);end component;beginq8,lpm_widthad=6,lpm_address_comtrol=registered,lpm_outdata=unregistered,lpm_file=D:/SIN_G/DATA/sin_data.mif)port ma

12、p(address=address,inclock=inclock,q=sub_wire0);end syn;正弦波信号发生器顶层设计源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigend.all;entity signt isport(clk:dout:out std_logic_vector(7 downto 0);endarchitecture dacc of singt iscomponent sindataend conponent;signal q1:std_logic_vector(5 do

13、wnto 0);process(clk)if clkevent and clk=1then q1q1,q=dout;in clock=clk);end;3.1.2 矩形波1设计思路矩形波的实现较之正弦波发生简单,由于矩形波是两个电平值间的交替变换,因此波形采样值的预存只要有两个不同的数值就行了,为了使矩形波发生的频率灵活可调,采用60个采样值扫描输出来实现,每半个矩形波周期采用三十个采样值,循环反复将存储器中的60点采样值通过DAC0832进行还原输出,得到幅值正比于点采样值的矩形波。采样图如图4所示。2 VHDL实现源程序见附录。3.1.3 三角波由于三角波是线性的,比较简单就可以产生,如果

14、最低电压设为15V,最高是255V,那么根据它的公式255/15=17,每个点的电压只要依次加17就可以得到,一个波形所以采用简单的加减算法就可实现,如图5所示三角波的采样图:图5 三角波采样图 2 VHDL实现具体源程序见附录。3.1.4 基波通过VHDL编程产生的正弦波、方波、三角波三种周期性波形即为基波。3.1.5谐波的产生采用与基波产生的同样原理,编程产生三种波形的谐波,所不同的是一个波形的周期采样的点数不同,如果基波采样点为63个,谐波采样点数则为21个,其每点的电压值为255*(sin360/60+sin360/20)(V),在对其进行循环扫描即可实现基波与谐波的线性叠加。3.1.

15、6 波形模块图 最终波形的设计模块图如图6所示,L1是三角波,L2是方波,L3是正弦波,L4是谐波。3.2 频率控制模块 本课题要求频率控制是在100HZ-1KHZ,步进为100HZ。在本题设计中只需借助FPGA便可完成。根据用户需要的频率,通过编程把频率控制数值传送给各个模块,从而实现频率的控制。如下图7所示:3.3 选择波形模块这一部分主要是通过一个按键对波形进行循环选择,按下确认按钮后进行波形的调用。设计流程图如下图8所示图6 波形模块图键按下否? 图7 频率控制模块流程图确认键按下否? 图8 选择波形电路设计流程图3.4 分频器模块3.4.1 设计思路分频器模块将输入的高频脉冲降频得到

16、各模块所需的低频脉冲,分频器模块利用计数器的原理进行设计,通过对预设的分频值进行比较计数,实现输入高频时钟脉冲的分频输出功能。本次课题的设计方案中使用了十组分频器,其设计原理完全相同,将对应的频率用8421BCD码对其进行编程赋值,如100HZ则对应的二进制数是“0000”,200HZ则是“0001”1KHZ则是“1010”。现选取其中的500分频分频器进行简单说明。具体程序见附录。3.4.2 VHDL实现 PROCESS(CLK_IN) BEGIN IF(CLK_INEVENT AND CLK_IN=0) THEN IF Step249 THEN 分频值 Step=Step+1; ELSE=

17、0; 循环累加 CLK_OUT=NOT CLK_OUT; 计数满,输出翻转 END IF; END IF; END PROCESS;3.4.3 分频值计算分频值(输出时钟脉冲周期输入时钟脉冲周期)21输入时钟脉冲频率1KHz,周期1ms;输出时钟脉冲频率2Hz,周期500ms分频值(500ms1ms)212493.4.4 分频器模块及初步仿真图分频器模块及初步仿真图如图9所示。第4章 硬件电路设计4.1 硬件设计注意事项此次设计利用EDA试验箱实现硬件功能,试验箱设计可靠,干扰小,能使系统在良好的环境中正常工作。但是实际制作硬件电路时,就应考虑到干扰所带来的负面影响。为了避免干扰信号影响系统正

18、常工作,未分配功能的FPGA引脚必须接地,在FPGA器件的电源端必须并连一0.01uF的退耦电容,在所有的输入引脚上串联100欧姆左右电阻减弱干扰信号影响,如有必要还应在输入端设置上拉或下拉电阻。4.2滤波电路如图10所示,设计D/A输出后,通过滤波电路、输出缓冲电路,使信号平滑且具有负载能力。正弦波的输出频率小于262kHz,为保证262kHz 频带内输出幅度平坦,又要尽可能抑制谐波和高频噪声,综合考虑取 R1=1k,R2=1k,C1=100pF,C=100pF运放选用宽带运放LF351,用 Electronics Workbench 分析表明:截止频率约为1MHz,262KHz 以内幅度平

19、坦。 为保证稳幅输出,选用AD817,这是一种低功耗、高速、宽带运算放大器 , 具有很强的大电流驱动能力。实际电路测量结果表明:当负载100、输出电压峰-峰值1OV时,带宽大于500kHz,幅度变化小于土1%。图10 滤波电路4.3 幅度控制电路幅度控制电路采用初定方案来设计,即用一个电位器来控制波形的输出幅度。电位器的型号为10K 欧。4.4 FPGA器件引脚分配为了方便硬件设计,降低硬件设计的复杂度,对FPGA的输入输出引脚进行分配,将关联的引脚集中排布,将同一组内的引脚按顺序排布,将需要输入高频时钟脉冲的端口安排在时钟输入端,以提高其信号接收能力。分配如下: CLKUSR PIN62。C

20、S0 PIN67。CS1 PIN68BEV_CLK PIN76.BEV_OE PIN72 IN PIN31、33、73、75。D0 PIN1TD0 PIN9TD1 PIN4CE0 PIN64CE1 PIN3CONFIG PIN23CONF_DONE PIN65RS PIN70WS PIN69TMS PIN46TRST PIN45TCK PIN66DCLK PIN2STATUS PIN44MSEL0 PIN20MSEL1 PIN21INIT_DONE PIN58RDY_BUSY PIN59DEV_OE PIN72DEV_CLR PIN774.5 硬件电路实现此次设计硬件部分通过FPGA/CPLD实验箱完成,如今后需制作单独的硬件电路,亦可以依照实验箱各部分结构进行设计。第5 章 调试

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

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