基于FPGA的波形产生方法研究Word文档下载推荐.docx

上传人:b****8 文档编号:22303629 上传时间:2023-02-03 格式:DOCX 页数:17 大小:2.43MB
下载 相关 举报
基于FPGA的波形产生方法研究Word文档下载推荐.docx_第1页
第1页 / 共17页
基于FPGA的波形产生方法研究Word文档下载推荐.docx_第2页
第2页 / 共17页
基于FPGA的波形产生方法研究Word文档下载推荐.docx_第3页
第3页 / 共17页
基于FPGA的波形产生方法研究Word文档下载推荐.docx_第4页
第4页 / 共17页
基于FPGA的波形产生方法研究Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于FPGA的波形产生方法研究Word文档下载推荐.docx

《基于FPGA的波形产生方法研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于FPGA的波形产生方法研究Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

基于FPGA的波形产生方法研究Word文档下载推荐.docx

硬件部分采用凌阳FPGA实验箱,最后我们用40M的模拟示波器对所得波形进行测试。

项目总体方案设计

2方案论证

2.1可变时钟计数器寻址方式

采用可变时钟计数器寻址波形存储表,该方法是一种传统型任意波形发生器。

通过改变频率发生器的频率设定值,实现调整计数器产生的地址变化速率,从而改变输出的任意波形的频率。

计数器产生的地址码提供读出存储器中波形数据所需的地址信号,波形数据依次读出后送至高速D/A转换器,将之转变为模拟量,经低通滤波器后输出所需的波形。

这种传统方式的任意波形发生器采用可变时钟和计数器寻址波形存储表,可以产生连续的地址,输出波形质量高。

但是取样时频率较高,对硬件的要求也较高。

而且常需多级分频或采用高性能的锁相环,采用分频式的任意波形发生器频率分辨率低,锁相式的任意波形发生器频率切换速度慢。

2.2直接数字频率合成方式

直接数字频率合成方式(DireetDigitalSynthesizer)简称DDS。

是在一组存储器单元中按照信号波形数据点的输出次序存储了所需的波形数据。

在控制电路的协调下,以一定的速率周而复始的将波形数据依次发送给D/A转换器转换成相应的模拟信号。

该方法用频率控制寄存器和相位累加器取代了分频器和锁相环电路,信号输出稳定度高,提高了频率输出分辨率和转换时间。

本项目最开始采用了可变时钟计数器寻址方式制作,通过改变锁相环和时钟分频数来改变输出波形的频率,这种方法频率输出分辨率低、转换速度慢、稳定性不高。

后改用DDS方式产生,可直接通过试验箱的按键改变频率控制寄存器的值来改变输出波形的频率,提高了频率分辨率、减少转换时间。

2.3DDS原理

DDS(DirectDigitalSynthesizer)即直接数字合成器,是一种新型的频率合成技术,具有较高的频率分辨率,可以实现快速的频率切换,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅度的数字控制。

因此,在现代电子系统及设备的频率源设计中,尤其是在通信领域,直接数字频率合成器的应用尤为广泛。

DDS其基本结构主要由相位累加器、寄存器、波形ROM、D/A转换器四个部分组成,

图1DDS结构原理图

系统在系统时钟的作用下工作通过改变频率控制字的值,使相位累加器改变读取波形ROM中数据的速度从而改变波形输出频率。

DDS通过相位累加器来控制频率完成波形输出。

对于正弦信号发生器其输出可以用下面的表达式进行描述:

式中,

是指该信号发生器的输出信号波形,

是指输出信号对应的频率。

用基准时间信号clk进行抽样,令正弦信号的相位为

在一个clk周期

,相位

的变化量为:

指clk的频率对于

可以理解成“满”相位,为了对

进行数字量化,把

切割成

份,由此每个clk周期的相位增量

用量化值

来表述:

为整数。

即可解得:

即:

显然,信号发生器的输出描述为:

指前一个clk周期的相位值。

同样可以得出:

由上面的推导可以看出,只要对相位的量化值进行简单的累加加运算,即可以得到正弦信号的当前相位值,而用于累加的相位增量量化值

决定了信号的输出频率

,并呈现简单的线性关系。

我们可以利用上述原理设计数字控制频率合成器。

 

3基于FPGA的DDS模块的实现

3.1现场可编程门阵列(FPGA)简介

现场可编程逻辑门阵列(英语:

FieldProgrammableGateArray,FPGA),是一个含有可编辑元件的半导体设备,可供使用者现场程序化的逻辑门阵列元件,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

主要特点:

1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5)FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA芯片结构:

FPGA芯片主要由7部分完成,分别为:

可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。

3.2波形发生器的FPGA实现

3.2.1相位累加器模块

图2相位累加器结构图

如图相位累加器由加法器和寄存器构成,在FPGA中我们采用32位的加法器由LPM_ADD_SUB宏模块构成

图332位累加器

32位寄存器由LPM_FF宏模块担任。

图432位寄存器

32位寄存器和32位累加器共同构成了32相位累加器连接如图

图532位相位累加器

其中高6位A[31..26]作为波形ROM的地址输入。

3.2.2ROM查找表模块

图6波形查找表结构图

ROM查找表由LPM_ROM宏模块担任,设置为8位64个字

图7波形ROM

在rom.mif文件中录入波形数据,我们可以通过MATLAB生成任意我们想要得到的波行数据;

图8正弦波rom.mif文件数据

q[7..0]接D/A的数据口即可将ROM表中的数据转化为模拟量输出。

图9系统整体原理图

时钟信号接电路上的50M晶振然后经过分频为电路提供时钟信号。

3.3硬件平台简介

3.3.1DAC0832

本实验硬件平台使用凌阳FPGA试验箱,FPGA为Altera公司的EP2C35F672C6,芯片主频50M。

图10凌阳FPGA实验箱

实验采用的DAC芯片为DAC0832,分辨率8位,转换时间为1us。

通过DA将数据量装换为模拟量再经过低通滤波器得到所需波形。

图11DAC0832引脚图

表1DAC0832引脚功能图

3.3.2系统引脚配置

图12系统引脚配置

用QuartusII设计好FPGA程序以后需要将所用管脚与硬件电路锁定,可以通过程序控制实验箱相应部分电路,其中P[0..7]接DAC0832数据口,CS、ILE接DAC0832的使能端CS和ILE。

CLK接板子50晶振脚为系统提供时钟信号。

B[16..23]接按键可通过改变按键改变输出频率。

图13按键原理电路

4调试运行

4.1系统仿真

采用QuartusII自带的仿真工具进行仿真,首先建立波形仿真文件,时钟信号CLK输入为1us占空比为50%,频率控制字为33554431仿真结果如下图,显然各个功能模块工作正常,按时序输出,同时P[0..7]按照预想输出了所需波形数据仿真图如下:

图14系统仿真结果

4.2系统性能测试

通过实验测试,得出能够稳定输出频率范围:

150HZ~44K

以下是在不同频率下的常见波形:

4.2.1正弦波

(1)频率为20K的波形输出波形稳定,当频率大于44K或小于150HZ时输出波形跳动无法得到稳定波形,有时会出现某个点的跳变。

当频率较高时会出现毛刺。

到频率到达200多K以后波形变形变成三角波。

图15频率为150HZ的正弦波形图16频率为44K的正弦波形

图17频率为250K时的正弦波形

4.2.2方波

对于方波当频率较高时会出现上升时间的延迟导致波形变形(

图18频率为20K的方波图19频率为2K的方波

4.2.3三角波

对于三角波同样由于频率的增加导致波形出现毛刺和在某些节点出现跳变。

图20频率为2K的波形三角波形图21频率为20K的三角波形

4.2.4锯齿波

图20频率为2K的波形锯齿波形图21频率为20K的锯齿波形

4.3系统性能分析

通过实验我们发现我们通过测试得到的频率并不能达到我们FPGA的输如时钟频率、我们得到的波形频率并不是特别的精准,不会特别低和高。

主要原因如下:

(1)采样频率和时钟频率并不相同

根据奈奎施特采样定理只有当采样频率带到原波形频率的2倍以上波形才能够比较真实的还原,所以会有时钟频率和波形频率的差异,使输出的波形频率不为时钟频率。

(2)硬件电路限制波形

我们采用的试验箱DAC0832芯片分辨率为8位,建立时间为1us。

从理论上来说可以到达的最高输出频率为1M。

由于奈奎施特采样定理可知我们能够到达的频率要小得多。

同时8位的DAC分辨率较低得到的波形在频率过高和过低会长生毛刺、变形等情况。

(3)程序设计缺陷

我们的ROM表精度为8位深度为64。

这个表的精度较低我们考虑到DAC为8位所以我们的表精度为8位。

同时为了综合考虑输出波形的速度,我们ROM表的深度只有64.这样精度不是特别高也是导致波形变形的原因。

5结论

通过QuartusII设计FPGA程序,研究基于FPGA的波形产生方法。

我们通过DDS方法成功设计出了任意波形的产生,并进行了系统仿真与测试能够产生正弦波、锯齿波、三角波、方波,经测试在150HZ—44K之间波形稳定。

通过改变波形ROM的数据即可产生150—44K频率范围类的任意波形。

同时我们可以根据试验箱的按键对输出波形频率进行在线调节。

通过本次试验我们熟悉掌握了FPGA的使用,能够通过DDS方法产生任意波形,为我们的设计提供支持。

参考文献

1.周润景,苏良碧基于QuartusⅡ的数字系统VerilogHDL设计实例详解

2.潘松,黄继业,陈龙EDA技术与VerilogHDL编著

3.毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现

4.基于FPGA的任意波形发生器的研究与设计

5.使用QUARTUSII做FPGA开发全流程%2C傻瓜式详细教程

7附件

7.1附件一:

FPGA电路文件

7.2附件二:

波形数据MATLAB文件

%functionwave_rom

%%产生函数信号发生器的数据

clearall

clc

closeall

N=64;

a(1:

1:

N)=0;

%%存储8位的波形数据(0--255)

%%正弦波

%forb=1:

64

%a(b)=round(127*cos(2*pi*(b-1)/63))+127

%end

%figure

(1)

%stem(1:

64,a(1:

64));

%%锯齿波

forb=1:

a(b)=4*(b-1)

end

figure

(2)

stem(1:

%%方波

32

%a(b)=255

%a(b+32)=0

%figure(3)

64))

%%三角波

%a(b)=(b-1)*8

%a(b+32)=8*(32-b)

%figure(4)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1