基于fpga多功能波形发生器的设计与实现

基于fpga多功能波形发生器的设计与实现

ID:33921488

大小:199.06 KB

页数:4页

时间:2019-02-28

基于fpga多功能波形发生器的设计与实现_第1页
基于fpga多功能波形发生器的设计与实现_第2页
基于fpga多功能波形发生器的设计与实现_第3页
基于fpga多功能波形发生器的设计与实现_第4页
资源描述:

《基于fpga多功能波形发生器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第19卷第2期2007年5月宁德师专学报(自然科学版)JournalofNingdeTeachersCollege(NaturalScience)Vbl.19No.2Mav2007基于FPGA多功能波形发生器的设计与实现郑文斌(福建工程学院,福建福州350014)摘要:介绍了一种以FPGA为核心,应用VHDL技术的多功能波形发生器软件和硬件的设计与实现.该系统可以产生正弦波、三角波、方波,以及编辑生成上述3种波形(同周期)的任意波形的线性组合波形,并实现幅度、频率可调.关键词:压控振荡器;VHDL;FPGA中图分类号:四319文献标识码:A文章编号:1004—2911(

2、2007)02—0138一03目前,波形发生器大多由振荡器、放大器、衰减器、指示器和调制器组成.这种传统设计方法的特点是硬件和软件截然不同,设计中不可相互替代,而且硬件连线复杂,可靠性较差.硬件描述语言VHDL和可编程ASIC器件的广泛应用打破了硬件和软件的屏障.基于VHDL语言,以EDA技术作为开发手段,采用现场可编程I'-lY0FPGA作为控制核心实现的波形发生器,与传统的设计相比较,不仅简化了硬件控制,提高了系统的整体性能和工作可靠性,也为进一步提高系统集成创造了条件.1系统原理及组成系统组成原理见图1.其核心是一片Altera公司FLEXIOKIO系列的EPFl0K10

3、LC84-4芯片.圈垮困专[四昔圈哥回图1波形发生器原理框图2FPGA功能模块设计波形发生器的控制核心FpGA由3个功能模块组成:分频器(FENP)模块、信号产生器(FASQ)模块和混合器(CHOOSE31)模块.软件系统构成见图2.2.1分频器(FENP)模块FENP功能是对外部时钟进行分频,作为提供给系统各个模块的工作时钟.通过改变对外部时钟的分频参数实现输出波形频率可调.参数计算公式如下:y一!!丝1—2×64×厂其中以。。是晶振频率,是输出信号频率,l,是分频系数.2.2波形产生器(FASQ)图2多功能波形发生器软件结构图模块FASQ功能是产生正弦波、三角波和方波.每种

4、波形数字化描述频率均采用波形频率的64倍,以保证产生的波形稳定且不失真.三角波的产生:通过由全0不断加同一个数,到全1之后再不断减同一个数来实现.方波的产生:通过交替输出全0和全1,给以适当的延时实现.收稿13期:2006—12一lO作者简介:郑文斌(1980一),女,助教,福建三明人,现从事电子与通信技术与研究万方数据第2期郑文斌等:基于FPGA多功能波形发生器的设计与实现。139·正弦波的产生:通过预先计算出一个正弦波表,然后查表输出实现.2.3混合器(CHOOSE31)模块CHOOSE31功能是输出3种波形中的一种或其任意线性组合的波形(同周期).为了使输出波形的幅度稳定

5、,在波形进行叠加之后需要进行线性除法运算.3种波形叠加的线性除法运算的VHDL实现如下:begin=a(8downto1);when“111”=>a:=“00”&dhatmp:=dlt&sqr&sin;+sqra;casetmpisb:2a+sina;when“100”=>q<=dha:when“010”=>q<=sqra:when“001”=>q<=sina:when“110”=>a:=“00’’&dha+sqra;q<=a(8downto1);when“101”=>a:=“00”&dha+sina;q<=a(8downtoI);when“01l”=>at2“00”&sqra

6、+sina:q<3软件系统的逻辑仿真C:=“00”&b(9downto2);d:=“0000”&b(9downto4);e:=“000000”&b(9downto6);a:2c+d;b:2a+e:q<=b(7downtoO);whenotllers=>null:endcase;FPGA中的3个功能模块进行综合仿真后,生成配置文件.其系统逻辑功能仿真波形见图3,各信号的逻辑功能和时序配合完全达到设计要求.4硬件电路的实现多功能波形发生器硬件电路的原理及实现,见图4.5综合调试的结果该系统调试成功,可以产生正弦波、三角波、方波,以及可用开关输入编辑生成上述同周期3种波形的任意2种或

7、3种的线性组合波形,并且实现频率以100Hz步迸可调,幅度在0~5V.6实现难点及使用VHDL应注意的一些问题由于VHDL语言是描述硬件行为的,相对其它开发软件的高级语言而言,在编程过程中有一些特殊性,所以,经常会出现语法正确却无法综合的问题.其原因多半因为编程者对硬件内部的工作原理不够了解,写出的代码硬件无法实现.以下是运用VHDL语言应注意的几个问题:(1)在一个进程中只允许一个信号上升沿作为触发条件.信号值改变后要经过一个小的图3多功能波形发生器功能仿真图4000Ⅵ117图4多功能波形

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。