FPGA学习任意波函数信号发生器的设计(基于quartus II13.0)

这篇具有很好参考价值的文章主要介绍了FPGA学习任意波函数信号发生器的设计(基于quartus II13.0)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA任意波形函数信号发生器的设计

平台: quartus II 13.0
仿真:signal tap II
语言:VHDL
方式:原理图bdf输入
芯片:Cyclone IV E: EP4CE6E22C8



实验目的

设计一任意波函数信号发生器,具备以下两功能:
①能输出标准正弦波波形。
②能输出任意函数波形。


一、实验系统框图

基于fpga的任意信号发生器,fpga开发

二、顶层设计文件

创建工程,新建bdf文件,绘制原理图

基于fpga的任意信号发生器,fpga开发

三、用到的宏模块介绍

首先明确实验用到的宏模块操作是在tool——MeGaWizard Plug-In Manager中(如下图)

各种宏模块的参数设置根据想要的设置就行,这里就不过多展示
基于fpga的任意信号发生器,fpga开发

该顶层文件大致分为5个模块,根据上面的顶层文件从左到右依次介绍:
sxh——锁相环,由MeGaWizard Plug-In Manager中的ALTPLL宏模块构成。(如下图)
将板子上的pin25(我用的板子上pin25引脚是时钟信号clk,晶振20mhz)进行分频,这次仿真里我用的c1是扩大了25倍,倍频后送到adder32模块中
基于fpga的任意信号发生器,fpga开发

adder32——32位加法器,由LPM_ADD_SUB宏模块构成。设置了2阶流水线结构,使其在时钟控制下有更高的运算速度和输入数据稳定性。
基于fpga的任意信号发生器,fpga开发
LPM_DFF——32位寄存器,由LPM_DFF宏模块构成;ADDER32和LPM_DFF一起构成一个32位的相位累加器。其高10位A[31..22]作为波形ROM的地址。注意其中参数的设置,因为数据是32位的LPM_WIDTH参数就设为32
基于fpga的任意信号发生器,fpga开发
ROM0、ROM1——波形数据存在ROM中,由ROM-PORT1宏模块构成。
ROM0我放入的是锯齿波,ROM1为正弦波数据。
基于fpga的任意信号发生器,fpga开发
由于该数据的生成需要靠.mif文件生成一个周期内的波形数据,在这里我推荐一个mif文件自动生成的工具叫mifmaker,可以自行百度下载,如下图,可以自己选择数据和波形。
基于fpga的任意信号发生器,fpga开发

m2——多路选择控制器,由LPM_MUX宏模块构成
由于本次设计是按下K1键后可以切换波形,需要一个2选一选择控制器来控制输入的数据
基于fpga的任意信号发生器,fpga开发

四、本实验DDS原理

频率控制字B[31..0]与由DAC[9…0]驱动的DAC正弦信号的频率关系为:
f(out) = { B[31..0]/(2^32) } * f(clk)
其中f(out)为DAC输出的正弦波信号频率, f(clk)为CLK的时钟频率。直接输入是20MHz,接入锁相环可以达到更高的频率,且频率上限要看DAC的速度。且数据输入频率需要一个相同的工作时钟驱动,即为图中的DAC_CLK,它作用于外部DAC的工作时钟

五、Singal tap II仿真

仿真前需要将文件编译一遍,锁定好引脚,将仿真文件添加到工程中再编译一遍,最后下载到板子中进行仿真
仿真中需要注意的是setup设置好采样深度,尽可能多观察到一些周期,且需要将数据线性模拟,如下设置:
基于fpga的任意信号发生器,fpga开发
仿真结果:不按下K1为锯齿波
基于fpga的任意信号发生器,fpga开发
按下K1为正弦波:
基于fpga的任意信号发生器,fpga开发


总结

本文是关于FPGA学习实验中任意波形函数信号发生器的设计和仿真,仅供参考,本人新手一枚,如有错误还望各位在评论区指正;有疑问可以评论区提,虽然我也不一定知道(^ △ ^)文章来源地址https://www.toymoban.com/news/detail-780539.html

到了这里,关于FPGA学习任意波函数信号发生器的设计(基于quartus II13.0)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程 可产生正弦波

    基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程  可产生正弦波、方波、锯齿波以及三角波   频率幅度可调节   代码+原理图 在现代电子技术领域,针对各种应用的信号发生器是一种非常核心的设备,而基于现场可编程逻辑门阵列(FPGA)的直接数字合成(

    2024年04月27日
    浏览(59)
  • 基于FPGA的信号发生器(四)

         基于FPGA的信号发生器的硬件电路通常需要以下组件: FPGA芯片:FPGA芯片是这个电路的核心部件,用于实现信号生成算法和控制逻辑。选择合适规模的FPGA芯片以满足你的信号发生器的性能和功能需求。 时钟源:信号发生器需要一个稳定的时钟源,以确定信号的频率和采

    2024年04月14日
    浏览(48)
  • fpga课设-多功能信号发生器

    1绪论 1.1 背景 信号发生器作为一种历史悠久的测量仪器,早在20年代电子设备刚出现时就产生了。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使得信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。同时还出现了可用来

    2024年02月05日
    浏览(44)
  • 基于FPGA的DDS信号发生器

        两个礼拜前就像写这个文档了,但是一直鸽到现在,主要是人摆了。还有个技术上的原因是,我想用串口屏显示波形,在串口调试助手上返回的数据是对的,但是发到串口屏上啥反应没有,人就很麻,如果这个弄不出来,前面 HMI 串口屏的工程、人机交互界面就白做了。

    2024年02月06日
    浏览(45)
  • FPGA实现10M多功能信号发生器

    方案一:采用模拟锁相环实现。模拟锁相环技术是一项比较成熟的技术。应用模拟锁相环,可将基准频率倍频,或分频得到所需的频率,且调节精度可以做到相当高、稳定性也比较好。但模拟锁相环模拟电路复杂,不易调节,成本较高,并且频率调节不便且调节范围小,输出

    2023年04月09日
    浏览(40)
  • 基于FPGA的信号发生器(三角波、方波、正弦波)

    目录 DDS实现原理 DDS整体设计框图​ Quartus II 仿真​ modelsim仿真 顶层代码 DDS(Direct Digital  Frequency Synthesizer) 直接数字频率合成器 ,也可叫DDFS。  DDS是从相位的概念直接合成所需波形的 一种频率合成技术 。  不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。  主

    2024年02月04日
    浏览(56)
  • 可变频率正弦信号发生器的FPGA实现(Quartus)

    实现平台:Quartus17.1、MATLAB2021a和Modelsim SE-64 10.4 1. 产生一个完整周期的正弦波信号,并保存为*.mif文件; 2. 设计一个ROM,将正弦波信号文件初始化如该ROM中; 3. 设计一正弦波信号发生器,按照读取步长,产生频率可变的正弦波信号; 4.编写测试文件,通过modelsim查看波形。 (

    2024年01月16日
    浏览(48)
  • 信号发生器:Intel FPGA DDS(NCO)+双路DAC(AD9767)输出正余弦信号

    Quartus18.1 小梅哥AC620开发板+ACM9767模块 示波器 ACM9767模块使用的是ADI公司的AD9767芯片,14位CMOS 双通道DAC,125Msps转换率。 输出形式为差分电流输出,输出电流满量程范围为可设置为 2~20mA。 AD9767的两路DA输出都为补码形式的电流输出IoutA和IoutB。当AD9767数字输入为满量程时(DAC的

    2024年03月24日
    浏览(58)
  • 正弦信号发生器设计——VHDL

    (1)学习并掌握Quartus II的使用方法 (2)学习简单时序电路的设计和硬件测试。 (3)学习使用VHDL 语言方法进行逻辑设计输入 (4)进一步熟悉QuartusⅡ及其 LPM_ROM 与 FPGA硬件资源的使用方法,学习较复杂的数字系统设计方法,并在实验开发系统上熟悉运行输入及仿真步骤原理

    2024年02月02日
    浏览(43)
  • FPGA实验报告 Verilog HDL:7人表决器 巴克码信号发生器 FPGA数字时钟

    写在前面:本文提供以下三个任务的思路讲解和代码实现, 如需参考引脚配置说明,可以点击下方链接跳转查看完整实验报告 ;本实验使用的是Altera公司的cycloneⅢ类型的芯片。 Verilog HDL实现:7人表决器 信号发生器 多功能数字时钟 实验目标:实现7人投票表决电路,支持人

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包