采用EDA技术的波形发生器的设计(4)

2019-01-26 18:54

常州大学本科生毕业设计(论文)

与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机 甚至CPU。FPGA在抗干扰,速度上有很大优势。 4.1.3

电路设计中FPGA的应用

连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识.在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗. 4.1.4

产品设计

把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建"首发团队"的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇 4.1.5

系统级应用

系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用Xilinx V-4, V-5系列的FPGA,实现内嵌POWER PC CPU, 然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINUX等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成FPGA大型系统来讲是很有帮助的。这种"山寨"味很浓的系统早期优势不一定很明显,类似ARM系统的境况但若能慢慢发挥出FPGA的优势,逐渐实现一些特色系统也是一种发展方向。若在系统级应用中,开发人员不具备系统的扩充开发能力,只是搞搞编程是没什么意义的,当然设备驱动程序的开发是另一种情况,搞系统级应用看似起点高,但不具备深层开发能力,很可能会变成爱好者,就如很多人会做网页但不能称做会编程类似以上是几点个人开发,希望能帮助想学FPGA但很茫然无措的人理一理思路。这是一个不错的行业,有很好的个人成功机会。但也肯定是一个竞争很激烈的行业,关键看的就是速度和深度当然还有市场适应能力。

第11页 共34页

常州大学本科生毕业设计(论文)

5 系统设计

5.1 系统组成及工作原理

完整的系统由4个部分组成:波形发生控制电路,波形数据ROM,D/A转换和滤波电路。波形发生控制电路由FPGA来完成,正弦波在一个周期内的波形可以通过数字采样,即用N个幅值离散的等间隔采样点表示。如图5.1为正弦波采样的原理,设其周期为T,采样点数为N,采样间隔为△t,T=N*△t。那么就可以得到图示的数字信号。要改变其频率只需要改变其采样的时间间隔△t,由于采样点数N不变,N=△t*T,因此,△t越小,T就越大,对应的频率就越大。再通过数模转换,便可以得到光滑的正弦波波。

图5.1 正弦波采样原理图

FPGA波形发生控制电路通过外来控制信号和高速时钟信号,向波形数据ROM发出地址信号,ROM的大小由采样点的个数决定。波形ROM中存有发生器的波形数据,如正弦波或三角波数据。当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据。取出采样点的幅值,这样就可以产生数字化的波形。采样点越多,那么得到的波形就越光滑,但是相应的存储器的容量就需要得越大,因此,需要正确的选择采样点数。

图5.2 系统工作原理图

图5.2为其系统工作原理框图。D/A转换器负责将ROM输出的数据转换为模拟信号,经滤波电路后输出。输出波形的上限频率和D/A器件的转换速度有重要关系,采用的是TLC5620作为D/A转换器件。

第12页 共34页

常州大学本科生毕业设计(论文)

6 FPGA实现与仿真

根据第三章中讨论的系统方案,本章进行详细设计,完成VHDL代码的编写、调试和仿真。本课题采用自顶向下的设计方法,首先按照系统方案,将整个系统划分为几个独立的功能模块,然后分别实现各个模块。本章的第一小节给出顶层模块图,之后的每个小节给出各个模块的功能描述,VHDL代码和仿真波形图,并在最后一节对仿真结果进行分析。

6.1 顶层模块图

根据系统方案,采用自顶向下的方法来完成FPGA实现。整体方案划分为如下几个主要模块:时钟分频模块、按键去抖模块、主控模块、波形存储模块、TLC5620驱动模块和LCD显示模块。

图6.1 顶层模块图

6.2 模块详细设计

6.2.1

主控模块

3. 模块原理

主控模块完成本设计的主要控制功能,包括波形幅度和频率的控制、LCD显示控制和DAC芯片控制等。 4. 模块主要代码

begin

process(clk) begin

if (rst_n = '0') then amp_out <= 0; fre_out <= 1;

第13页 共34页

常州大学本科生毕业设计(论文)

elsif rising_edge(clk) then amp_inc_tmp <= amp_inc; -- 把输入信号进行延迟 amp_dec_tmp <= amp_dec; fre_inc_tmp <= fre_inc; fre_dec_tmp <= fre_dec; ws_tmp <= ws;

if amp_inc = '0' and amp_inc_tmp = '1' and amp_out < 3 then -- 下降沿触发,在0到3之间变化

amp_out <= amp_out+1;

elsif amp_dec = '0' and amp_dec_tmp = '1' and amp_out > 0 then amp_out <= amp_out-1; else NULL; end if;

if fre_inc = '0' and fre_inc_tmp = '1' and fre_out < 3 then -- 下降沿触发,在1到3之间变化

fre_out <= fre_out+1;

elsif fre_dec = '0' and fre_dec_tmp = '1' and fre_out > 1 then fre_out <= fre_out-1; else NULL; end if;

if ws = '0' and ws_tmp = '1' and ws_out < 3 then -- 下降沿触发,在0到2之间变化

ws_out <= ws_out+1;

elsif ws = '0' and ws_tmp = '1' and ws_out = 3 then ws_out <= 0; else NULL; end if; end if; end process;

5. 仿真波形图

在Active HDL中对上面的代码进行仿真,得到如下波形图。如图所示,波形的幅度和频率可以通过输入信号来调整,实现控制功能。

第14页 共34页

常州大学本科生毕业设计(论文)

图6.2主控模块仿真图

当信号幅度增大按键“amp_inc”出现上升沿时,幅度控制信号“amp_adj”数字增加,当信号幅度减小按键“amp_dec”出现上升沿时,幅度控制信号“amp_adj”数字减小,说明幅度控制正常。同理,当信号频率增大按键“fre_inc”出现上升沿时,幅度控制信号“fre_adj”数字增加,当信号幅度减小按键“fre_dec”出现上升沿时,幅度控制信号“fre_adj”数字减小,说明频率控制正常

6.2.2

时钟分频模块

1. 模块原理

由于电路板上面的时钟为50MHz,频率较高,所以需要对板载时钟进行分频,得到各种需要的时钟频率,下面以产生50KHz的时钟分频模块为例,说明本模块的基本功能。

2. 模块主要代码 begin

reg: process(clk,full)

variable cnt:std_logic_vector(15 downto 0):=\ begin

if clk'event and clk ='1' then

if cnt =\ --8分频0111 ;4分频0011。

cnt :=\ else cnt:=cnt+1;

第15页 共34页


采用EDA技术的波形发生器的设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某某医院生活污水处理设计方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: