第8章--应用VHDL语言方法设计-简易正弦波信号发生器-《EDA技术》-教学课件.ppt
《第8章--应用VHDL语言方法设计-简易正弦波信号发生器-《EDA技术》-教学课件.ppt》由会员分享,可在线阅读,更多相关《第8章--应用VHDL语言方法设计-简易正弦波信号发生器-《EDA技术》-教学课件.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【要求】掌握运用VHDL 语言设计正弦波形发生器的基本方法【知识点】理解函数发生器的含义 理解VHDL 设计正弦波形发生器 理解FPGA 对D/A 的接口和控制技术【重点和难点】VHDL 设计正弦波形发生器 FPGA 对D/A 的接口和控制技术下一页第8 章 应用VHDL 语言方法设计 简易正弦波信号发生器第8 章 应用VHDL 语言方法设计 简易正弦波信号发生器8.1 工作任务的陈述与背景8.2 完成工作任务的引导8.3 相关技术基本知识与基本技能8.3 本章小结上一页 一、工作任务 用VHDL 语言方法设计一个正弦波形发生器。基本要求:学习VHDL 设计正弦波形发生器;掌握FPGA 对D/
2、A 的接日和控制技术。完成波形发生器的设计、仿真测试及实验系统上的硬件测试。二、任务背景 自20 世纪60 年代以来信号发生器有了迅速的发展,出现了函数发生器。作为电子系统的重要组成部分,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。早期的信号发生器多采用模拟电子技术,电路形式有采用运放及分离元件构成,也有采用单片集成函数发 8.1 工作任务的陈述与背景下一页返 回 上一页 8.1 工作任务的陈述与背景生器专用芯片。但采用模拟电路组成的函数信号发生器,一般可靠性较差,频率输出精度、稳定度低,调节不够精确,设计过程复杂、困难,功能不易扩展,尤其对任意波信号产生较为困难,难以满足科研和高
3、精度实验的需要。现代高精度函数发生器设计采用了EDA技术,不但大大缩短了开发研制周期,提高了设计效率,输出信号频率精度和稳定度有很大提升,而目使系统具有结构紧读、设计灵活、实现简单、性能稳定的特点。本章着重介绍采用EDA 技术,应用VHDL 语言,在ALTERA 公司的Quartus 软件环境下,完成频率可调的正弦波发生器的程序设计过程,并进行逻辑综合、仿真和硬件下载,产生正弦波信号。下一页 上一页 频率变化知识。用户通过输入频率控制码来改变输出信号频率。相位变化知识。通过相位累加器根据频率控制码在每个时钟周期内进行相位累加来改变相位值。波形信号产生知识。正弦计算器计算数字化正弦波幅度值,再把
4、幅度值保在芯片的ROM 中。通过查表方式扫描数据输出。3.DAC 控制器的知识 DDS 芯片输出的一般是数字化的正弦波,因此还需经过高速D/A转换器和低通滤波器才能得到一个可用的模拟频率信号。使用DAC 时要考虑DAC 的位数和转换时间。常用的低速八位DAC 为DAC0832。8.2 完成工作任务的引导二、计划 采用DDS 方式设计波形信号发生器,首先要了解DDS 的结构和每个部分的功能,如图8-1 所示,本次设计在CPLD/FPGA 芯片内部由频率控制字、相位累加器、波形数据ROM 二个部分构成,在外部把波形数据循环扫描后输出给DAC 转换成模拟信号,通过低通滤波器平滑波形最后输出所需波形。
5、设计中着重完成以下部分内容。完成频率控制器的设计。此设计可以通过计数器、分频器设计原理完成。相位控制设计。对所查表中每个地址进行数据累加,即可改变信号输出相位。下一页 上一页8.2 完成工作任务的引导 计算正弦波各点的幅度离散值。在此设计中我们把一个正弦波分离成128 个点坐标。由于VHDL 只适合整数运算,此各离散值由计算器或公式求出,并存储在ROM 中。三、决策 根据图8-1 所示的正弦波信号发生器组成框图,分步完成正弦波信号发生器的设计。其设计步骤可参考如下步骤进行。设计一个分频器,要求能进行频率调整。设计一个相位累加器,相位可以前后移位。通过计算求出正弦波128 个离散幅值,并进行储存
6、。将程序下载至FPGA/CPLD 芯片,并和DAC0832 连接。下一页 上一页8.2 完成工作任务的引导下一页 上一页8.2 完成工作任务的引导脉冲数自动减。图8-2 为频率控制的仿真图。clk_o 为输出脚进过分频后的时钟信号,该信号可以接入到下一级相位控制部分,然后进行相位调节。如果仿真结果正确,可以将设计的项日生成一个元件符号备用。其步骤是:选择原理图文件为当前文件后,选择菜单命File Create/LTpdate Create Symbol Files for Current File即可。本电路生成的元件符号如图8-3 所示。频率控制程序参考:process(clk)一基准时钟分
7、频 begin if clkevent and clk=1 then t0=t0+tl;end if;end process;-process(d,f)-频率控制字 begin if devent and d=1 then if f=0 then tl=t1+1;else下一页 上一页8.2 完成工作任务的引导(8-2)在一个clk 周期内,相位的变化为(8-3)其中,foot 指clk 的频率,2 可以理解为“满”相位。为了对其进行数字量化,把2 切割成 份,由此每个clk 周期的相位增量 用量化值 来表示:(8-4)且 为整数。与式(8-3)联立,可得(8-5)下一页 上一页8.2 完成工
8、作任务的引导 相位累加器的输入又可称为频率输入字,事实上当系统基准时钟 为 时,就等于。图8-4 为生成元件图,clk 为系统基准时钟分频后的时钟输入;p 为相位控制字端,每输入一个脉冲,波形前后移一个相位;d 为相位方向控制,当d=0”时,相位后移,相反,当d=1”时,相位前移。相位控制仿真图如图8-5 所示,当d=“0”时,P 输入每个脉冲后,相位地址Y 输出量发生改变,地址向后增加2。相位控制程序参考:process(clk)-相位地址累加进程 begin if clkevent and clk=1 then下一页 上一页8.2 完成工作任务的引导 tt=tt+1;else tt=tt-
9、1;end if;end if;end process;3.波形数据存储 正弦ROM 的查找表完成 的查表转换,在这里可以理解成相位到幅度的转换,它的相位输入是相位调制器的输出,事实上就是ROM 的数据值输出送往D/A,转化成模拟信号。ROM 中的数据为正弦波信号一个周期的离散值,可以通过相关计算求出。下一页 上一页8.2 完成工作任务的引导ROM 中数据与相位地址关系描述:process(a)begin CASE a IS WHEN 00=DDDDDDD=231;End process;下一页 上一页8.2 完成工作任务的引导4.连接DAC0832 设计 DAC0832 是八位D/A 转换器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA技术 应用 VHDL 语言 方法 设计 简易 正弦波 信号发生器 EDA 技术 教学 课件
限制150内