FPGA典型设计方案精华汇总

上传人:桔**** 文档编号:487091610 上传时间:2023-01-06 格式:DOC 页数:30 大小:58.50KB
返回 下载 相关 举报
FPGA典型设计方案精华汇总_第1页
第1页 / 共30页
FPGA典型设计方案精华汇总_第2页
第2页 / 共30页
FPGA典型设计方案精华汇总_第3页
第3页 / 共30页
FPGA典型设计方案精华汇总_第4页
第4页 / 共30页
FPGA典型设计方案精华汇总_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《FPGA典型设计方案精华汇总》由会员分享,可在线阅读,更多相关《FPGA典型设计方案精华汇总(30页珍藏版)》请在金锄头文库上搜索。

1、.FPGA典型设计方案精华汇总(一)2012年05月30日11:40来源:电子发烧友网作者:电子大兵我要评论(1)标签:FPGA(1786)FPGA设计(1)信号发生器(121)一、基于FPGA的DDS信号发生器设计引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器的实现方法通常是采用分立元件或单片专用集成芯片,但其频率不高,稳定性较差,且不易调试,开发和使用上都受到较大限制。随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟,利用DDS原

2、理在FP-GA平台上开发高性能的多种波形信号发生器与基于DDS芯片的信号发生器相比,成本更低,操作更加灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化。本文研究了基于FPGA的DDS信号发生器设计,实现了满足预定指标的多波形输出。1DDS基本原理DDS建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经DA转换器转换为模拟量,将保存的波形重新合成出来。DDS基本原理框图如图1所示。除了滤波器(LPF)之外,DDS系统都是通过数字集成电路实现的,易于集成和小型化。系统的参考时钟源通常是一个具有高稳定性的晶体振荡器,为

3、各组成部分提供同步时钟。频率控制字(FSW)实际上是相位增量值(二进制编码)作为相位累加器的累加值。相位累加器在每一个参考时钟脉冲输入时,累加一次频率字,其输出相应增加一个步长的相位增量。由于相位累加器的输出连接在波形存储器(ROM)的地址线上,因此其输出的改变就相当于查表。这样就可以通过查表把存储在波形存储器内的波形抽样值(二进制编码)查找出来。ROM的输出送到DA转换器,经DA转换器转换成模拟量输出。2系统总体方案设计该设计以FPGA开发平台为核心,将各波形的幅值相位量化数据存储在ROM内,按照设定频率,以相应频率控制字k为步进,对相位进行累加,以累加相位值作为地址码读取存放在存储器内的波

4、形数据,经DA转换和幅度控制、滤波即可得到所需波形。波形发生器采取全数字化结构,用硬件描述语言Verilog设计实现其频率可调可显示。经开发平台的DA转化和外加滤波整形处理波形数据,理论上能够实现任意频率的各种波形。系统总体设计方框图如图2所示。系统按工作原理和控制对象的先后分为三个功能单元:波形数据产生单元、DA转化单元和滤波整形处理单元。波形数据产生单元除具有波形数据输出功能外,还有频率设置和输出显示功能。波形信号频率可设置范围为099999999Hz,系统时钟采用外接晶体振荡器40MHz时钟脉冲,频率稳定度优于10-4输出采用8位LED数码循环动态显示。DA转换单元负责对从ROM表里读取

5、的波形数据进行DA转换,对DA转换器件的选用从建立时间、位数、转化误差和转换时间等四个方面考虑。滤波整形处理单元完成对DA转换的模拟波进行平滑,滤除杂波和高频干扰,补偿频带损耗和幅度损失,最终输出低误差、高质量、满足题设要求的波形。3系统功能单元实现31波形数据产生单元波形数据产生单元是信号发生器设计的主体。在此,采用DDS原理设计的信号发生器能完成三种波形(正弦、三角和方波)数据的产生,而且根据控制信号还可完成选定波形指定频率的输出。波形数据产生单元按功能实现上的相互联系可划分为频率控制字生成模块、相位累加器模块和波形数据ROM表模块,如图3所示。其中,频率控制字生成模块可根据输入产生指定频

6、率字,同时显示输入频率数字。相位累加器模块负责对所选波形的相位寻址,以频率控制字作为步长反复进行累加运算。波形数据ROM表模块存放三种波形的幅值相位量化值,通过地址选择相应波形的数据。系统输入控制使用44键盘键盘主要按键功能介绍如下:“09”:数字键,设定信号频率;“确定”:用于对波形信号设置的确认,波形信号的设置必须“确定”后才有效;“”:删除已输入信号频率数字的最后一位,用于修改设置的频率;“清零”:将频率数字快速全部清零;“”:步进增大控制;“”:步进减小控制。设定频率输出范围为1kHz10MHz,频率步进为50Hz。系统输出采用8个LED数码管,以扫描方式显示(单位为Hz)频率数字。根

7、据DDS原理,以步进值50Hz作为频率控制字1,那么最大值10MHz对应的频率控制字为200000,用18位二进制数值就可以表示(218200000)。从抽样值恢复出原波形数据,理论上每个周期波形数据至少抽取2个点,考虑到实际应用时受频率损耗、线间串扰等因素的限制,该设计采用22b的频率控制字和相位累加器,4Kb的8位波形ROM表,取相位累加器输出的高12b寻址波形数据,三种波形按幅值相位对应关系分别存储782个数据。故各波形数据单位周期有800768(782210)个相位状态,完全满足任一波形在单位周期内取4个幅值点的要求,可保证即使输出最大频率的波形仍能达到较好的效果。波形选择功能由两位开

8、关组合实现,共有四种状态,其中三组用来表征不同的波型,另一组留作扩展波形用。32DA转换单元数模转换单元是继波形数据产生单元之后,将数字量形式的波形幅值转换成所要求的合成频率的模拟量形式信号。DAC输出信号实际上是阶梯模拟信号,需在数模转换后利用低通滤波器对波形进行平滑处理。在此,采用ADI公司生产的单片双8位CMOS乘法数模转换器AD7528,线性度达到12,转换时间达到纳秒级,可以很准确地进行10MHz信号的量化运算。33滤波处理单元滤波器是一种能通过有用频率信号而同时抑制(或衰减)无用频率信号的电子装置。由于运算放大器具有近似理想的特性,且可以省去电感,得到接近理论预测的频率响应特性。构

9、成有源滤波电路后还具有一定的电压放大和缓冲作用,并能减小体积。综合考虑,系统采用运算放大器SL560构成二阶低通滤波器。4系统功能仿真和验证分析41频率控制字生成模块仿真与分析频率控制字的生成直接影响着波形数据的寻址,该模块负责快速记录并实时显示输入的频率数字,准确计算得到相应的频率控制字。系统键盘为高速动态扫描(频率为200Hz),采用状态机设计,设置了按键去抖动功能。在FPGA开发平台对该模块进行功能验证,整体无误操作产生,几乎没有时滞效应,按键的防抖动效果也良好,达到了预期的目的。42相位累加器模块仿真与分析相位累加器用于实现相位累加,并存储其累加结果。当前,相位累加器的值和时钟周期到来

10、后的相位累加器的值相差k(k为频率控制字)。该模块的仿真波形如图4所示。43实验波形观测与误差分析信号发生器功能验证无误,用示波器观测实验波形如图5所示。检测输入频率为010MHz时,波形形状均良好,未出现明显失真。计算理论误差为0095,在实测中发现,波形数字的误差相对很小,不足01。由于滤波整形电路存在高频耦合通路,产生线间串扰,对滤波效果形成了不利影响,因此滤波器设计必须满足频带宽,截止特性好,抗干扰性强等特性。5结语介绍了以直接数字频率合成技术(DDS)为基础的波形信号发生器工作原理和设计过程,并在FPGA实验平台上设计实现了满足各功能指标的信号发生器。系统硬件除需外加滤波整形电路外,

11、其余部分均可在FPGA开发实验系统KH310上集成开发,系统软件可在Quartus下编写代码,实现数据信息处理和控制操作等功能。整体开发环境成熟,应用工具齐全,随着FPGA性价比的不断提高,基于FPGA平台开发信号发生器将逐步走向标准化、规模化和产品化。现代电子和通信技术的发展,对信号发生器提出了更高、更严格的要求。除了对信号频率范围、带宽和频率分辨率的严格限制外,对信号的波型及调制特性等也有着苛刻的规定。研究和开发具有更高性价比的信号发生器将是当前和今后一段时间内亟需解决的课题。这里旨在建立一种基于FPGA的简单数字信号发生器设计方法。若能充分利用FPGA强大的数据运算处理能力以及编程灵活、

12、运行速率快等优点,合理整合IP核资源和SoPC技术,简化设计结构,一定可以设计出功能多样、性能更加出色的信号发生器。FPGA典型设计方案精华汇总(一)(2)2012年05月30日11:40来源:电子发烧友网作者:电子大兵我要评论(1)标签:FPGA(1786)FPGA设计(1)信号发生器(121)二、基于FPGA的信号发生器设计以FPGA芯片为载体,通过QuartusII的LPM_ROM模块和VHDL语言为核心设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波、递减锯齿波、三角波、阶梯波和方波等5种信号,通过QuartusII软件进行波形仿真、定时分析,仿真正确后,利用实验板提供的

13、资源,下载到芯片中实现预定功能。信号发生器又称为波形发生器,是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。它是科研及工程实践中最重要的仪器之一,以往多用硬件组成,系统结构比较复杂,可维护性和可操作性不佳。随着计算机技术的发展,信号发生器的设计制作越来越多的是用计算机技术,种类繁多,价格、性能差异很大。用FPGA或CPLD来实现,它的优点是可以进行功能仿真,而且FPGA和CPLD的片内资源丰富,设计的流程简单。用FPGA所构成的系统来产生波形信号,这个系统既能和主机系统相连,用相应的上层软件展示波形信号,又方便程序的编写,而且还有A/D0809接口可以产生模拟信号的输出和外

14、面的示波器相连。1正弦信号发生器的LPM定制正弦信号发生器由计数器或地址发生器(6位)、正弦信号数据ROM(6位地址线,8位数据线,含有64个8位数据,一个周期)、原理图顶层设计和8位D/A(实验中用DAC0832代替)。其框图如图1所示。其中信号产生模块将产生所需的各种信号,这些信号的产生可以有多种方式,如用计数器直接产生信号输出,或者用计数器产生存储器的地址,在存储器中存放信号输出的数据。信号发生器的控制模块可以用数据选择器实现,用8选1数据选择器实现对5种信号的选择。图1信号发生器结构框图最后将波形数据送入D/A转换器,将数字信号转换为模拟信号输出。用示波器测试D/A转换器的输出,可以观

15、测到5种信号的输出。1.1定制初始化数据文件QuartusII能接受的LPM_ROM模块中的初始化数据文件的格式有两种:。mif格式文件和。hex格式文件。实际应用中只要使用其中一种格式的文件即可。下面采用。mif格式文件,调出产生ROM数据文件大小的选择窗。根据64点8位正弦数据的情况,可选ROM的数据数Number为64,数据宽Wordsize取8位。单击OK按钮,将出现图2所示的空的。mif数据表格,表格中的数据格式可通过鼠标右键单击窗口边缘的地址数据弹出的窗口选择。图2.mif数据表格将波形数据填入mif文件表中也可以使用QuartusII以外的编辑器设计MIF文件,其格式如下:#includeSTdio.h#include“math.h”main()inti;floats;for(i=0;i1024;i+)s=sin(atan(1)*8*i/1024);printf(“%d:%d;n”,i,(int)(s+1)*1023/2);把上述程序编译成程序后,可在DOS命令行下执行命令:romge

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号