毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc

上传人:文库蛋蛋多 文档编号:3979121 上传时间:2023-03-30 格式:DOC 页数:37 大小:4.57MB
返回 下载 相关 举报
毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc_第1页
第1页 / 共37页
毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc_第2页
第2页 / 共37页
毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc_第3页
第3页 / 共37页
毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc_第4页
第4页 / 共37页
毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA的实用多功能信号发生器的设计与制作.doc(37页珍藏版)》请在三一办公上搜索。

1、基于FPGA的实用多功能信号发生器的设计与制作基于FPGA的实用多功能信号发生器的设计与制作摘 要多功能信号发生器已成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(DDS)是二十世纪七十年代初提出的一种全数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高函数发生器的性能,降低生产成本。本文首先介绍了函数信号发生器的研究背景和DDS的理论。然后详尽地叙述了利用Verilog HDL描述DDS模块的设计过程,以及设计过程中应注

2、意的问题。文中详细地介绍了多种信号的发生理论、实现方法、实现过程、部分Verilog HDL代码以及利用Modelsim仿真的结果。文中还介绍了Altera公司的DE2多媒体开发平台的部分功能及使用,并最终利用DE2平台完成了多功能信号发生器的大部分功能。包括由LCD显示和按键输入构成的人机界面和多种信号的发生。数字模拟转换器是BURR-BROWN公司生产的DAC902。该信号发生器能输出8种不同的信号,并且能对输出信号的频率、相位以及调制信号的频率进行修改设定。关键词:信号发生器;DDS;FPGA;DE2Practical FPGA-based multi function signal g

3、enerator design and productionAbstractMulti function signal generator has become the most widely used in modern testing field of general instrument, and has represented one of the development direction of the source. Direct digital frequency synthesis (DDS) is a totaly digital frequency synthesis te

4、chnology, which been put forward in the early 1970s. Using a look-up table method to synthetic waveform, it can satisfy any requirement of waveform produce. Due to the field programmable gates array (FPGA) with high integrity, high speed, and large storage properties, it can realize the DDS technolo

5、gy effectively, increase signal generators performance and reduce production costs.Firstly, this article introduced the function signal generator of the research background and DDS theory. Then, it described how to design a DDS module by Verilog HDL, and introduced various signal occurs theory, meth

6、od and the implementation process, Verilog HDL code and simulation results.This paper also introduces the function of DE2 multimedia development platform, and completed most of the functions of multi-function signal generator on DE2 platform finally. Including the occurrence of multiple signal and t

7、he man-machine interface which composed by LCD display and key input. Digital-to-analog converters is DAC902, which produced by company BURR-BROWN.This signal generator can output eight different kinds of signals, and the frequency of the output signal, phase and modulation frequency signal also can

8、 be modifyed.Key Words: Signal generator; DDS; FPGA; DE2目 录论文总页数:34页1 引言11.1课题背景11.2国内外波形发生器的发展现状11.3本文研究的主要内容22 信号发生器原理22.1直接数字频率合成技术的基本原理22.2 相位偏移控制32.3多种信号的发生32.3.1方波的发生32.3.2三角波发生42.2.3锯齿波发生42.3.4 PWM信号发生42.3.5 SPWM信号发生52.3.6 AM信号发生52.3.7 FM信号发生62.4 DDS 的特点72.4.1 DDS 的优点72.4.2 DDS 系统的缺点73 系统整体设计

9、83.1硬件部分83.1.1 DE2实验板83.1.2 LCD模块93.1.2 DAC902113.2基于VERILOG的FPGA设计123.3软件工具123.3.1 Modelsim123.3.2 Quartus123.4系统设计133.4.1 系统初始化模块133.4.2按键模块和LCD模块133.4.3 RAM模块143.4.4数据转换模块153.4.5 DAC驱动模块153.4.6系统的运行154 VERILOG HDL代码实现与仿真154.1信号发生器模块154.1.1频率控制字和相位累加器154.1.2 相位偏移控制164.1.3正弦波发生模块174.1.4 方波发生模块174.1

10、.5 三角波发生模块184.1.6 锯齿波发生模块184.1.7 PWM信号发生模块194.1.8 SPWM信号发生模块194.1.9 AM信号发生模块204.1.10 FM信号发生模块214.2 按键输入模块224.3 LCD显示模块234.4 RAM模块244.5 数据转换模块255 系统测试265.1 控制及显示部分测试275.2 输出频率测试275.3信号发生测试285.3.1 正弦波、方波、三角波、锯齿波测试285.3.2 PWM信号测试295.3.3 SPWM信号测试295.3.4 AM信号测试295.3.5 FM信号测试30结 论31参考文献32致 谢33声 明341 引言1.1

11、课题背景传统的信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间。它能够提供正弦波、余弦波、方波、三角波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,但是模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点。而且要产生的信号波形越复杂,则电路结构也会越复杂。同时还有两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。现代科学技术的飞速发展对信号源提出了越来越高的要求。这些要求主要表现在高分辨率、高输出频率、任意波形等方面。此时传统的信号发生器已经无法满足要

12、求。直接数字频率合成1(Direct Digital Synthesizer简称DDS)技术是一种新的全数字的频率合成原理,它从相位的角度出发直接合成所需波形。这种技术由美国学者JTiercy,MRader和BGold于1971年首次提出,但限于当时的技术和工艺水平,DDS技术仅仅在理论上进行了一些探讨,而没有应用到实际中去。但是随着电子技术的飞速发展,微处理器性能大幅提高,高速的DA以及随机存储器大量涌现,DDS技术已经变得很容易实现。它已广泛应用于通讯、雷达、遥控测试、电子对抗以及现代化的仪器仪表工业2等许多领域。将其与简单电路相结合就可以精确模拟仿真各种信号。不论是在生产、实验还是在科研

13、与教学上,多功能信号发生器都是用于仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,多功能信号生器己成为测试仪器中至关重要的一类,因此开发多功能信号发生器具有重大意义。1.2国内外波形发生器的发展现状早在1978年,由美国Wavetek公司和日本东亚电波工业公司公布了最高取样频率为5MHz,可以形成256点波形数据,垂直分辨率为8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源。经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,信号发生器的性能有了飞速的提高。信号发生器变得操作越来越简单而输出波形的能力越来越强。90

14、年代末,出现几种真正高性能、高价格的函数发生器,如HP公司推出了型号为HP770S的信号模拟装置系统。它由HP9770A任意波形数字化和HPl776A波形发生软件组成。HP8770A实际上也只能产生8种波形,而且价格昂贵。不久以后,Analogie公司推出了型号为Data-2020的多波形合成器,Lecroy公司生产的型号为9100的任意波形发生器等。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可达到GHz水平的DDS芯片,同时也推动了函数波形发生器的发展。2003年,Agilent公司的产品33220A能够产生17种波形,最高频率可达到20M,2005年的产品N6030A能

15、够产生高达500MHz的频率,采样的频率可达1.25GHz。1.3本文研究的主要内容(1) 熟悉FPGA技术,学习verilog语言及仿真工具modelsim 和综合工具Quartus II的使用;(2) 熟悉DE2平台的使用,并学会利用DE2平台进行系统设计和开发;(3) 对DDS理论进行研究和分析,选择一种适合于FPGA实现的方案;(4) 设计一个完整的实用的信号发生器系统,包括多种信号的发生、LCD显示及按键控制等;(5) 利用DE2平台实现信号发生器系统。2 信号发生器原理2.1直接数字频率合成技术的基本原理 直接数字频率合成技术是根据奈奎斯特取样定理,从连续信号的相位出发将一个信号取

16、样、量化、编码,最后形成一个信号函数表,并且事先存于ROM 中。在信号合成时,通过改变相位累加器的频率控制字,来改变相位增量,而相位增量的不同将导致一个周期内取样点的不同,从而改变频率。具体的DDS实现时,是通过在采样频率不变的情况下,改变相位累加器的频率控制字,将这种变化的相位、幅值量化的数字信号通过DA变换及滤波,最终得到合成的模拟信号。图2-1 DDS的基本结构图DDS主要由相位累加器、波形ROM、DAC以及低通滤波器等组成,如图2-1所示。位相位累加器的位数为N,每一个取样时钟相位累加器都会对频率控制字K进行累加。相位累加器的高位输出作为波形 ROM 的地址,从而实现了波形相位到幅值的

17、转换。波形数据经DAC转换得到阶梯状的信号,通过滤波器输出相对平滑的波形。 如果相位累加器的长度为 N 位,时钟脉冲频率为,频率控制字为 K,这时可得 DDS 的输出频率如公式2-1所示。 (2-1)由公式2-1可以看出,相位累加器的长度N决定了累加器输出的数字阶梯波的频率精度。而且N越大,得到波形的频率精度就越高。另 K=1,即可得到 DDS 的频率分辨率如公式2-2所示。 (2-2)由DDS的结构可以看出DDS输出信号的频率分辨率是由相位累加器的位数N决定,相位分辨率由ROM的寻址位数决定,而幅值分辨率是由DAC的数据位数所决定。2.2 相位偏移控制由相位累加器送出的相位(地址)经过查表进

18、行从相位到幅度的转换就可以得到需要的正弦波。若在相位累加器的输出相位上加上一个小的数值,那么查表后得到的数据也会相应的超前,也就是说此时的输出波形的相位会相对于原来的波形超前。而且这个超前的相位值应该是和在相位加器输出相位上加的数值成正比的。设相位累加器输出的相位是n位,当在当前相位累加器输出的相位上叠加一个大小为p的数值后,现在输出波形的相位相对于先前的相位就超前,如公式2-3所示。 (2-3)2.3多种信号的发生对于正弦波的发生,通常都采用上述查表的方法。当然这种方法也实用于其它的波形的发生。但是考虑到各种不同的波形的特点,也可以采用更为简便的方法得到。2.3.1方波的发生同样取相位累加器

19、的最高几位作为方波发生器的地址。根据相位累加器的原理可知,该地址是随时间线性变化的,如图2-2所示。假设ob正好为输出波形的一个周期,那么在b点时地址应该刚好计满,即地址的每一个二进制位都是1。那么可知在ob的中点a处以前地址的最高位都为0,而在a点以后的地址最高位都为1。图2-2 方波的发生利用这一特点,可以随时检查地址的最高位的电平。当最高位为低电平时(为0时),则说明此时处于方波前半个周期,这时输出全部置1,输出波形为高电平。反之,当地址的最高位为高电平(为1)时,输出全部置0,输出波形为低电平。这样便可得到占空比为50%的标准方波,而且该方波的频率正好等于相位累加器的溢出率。2.3.2

20、三角波发生同样取相位累加器的最高几位作为三角波发生器的地址。设ob正好为一个周期。图2-3 三角波的发生在前半个周期输出波形与地址的波形是一致的。利用这一点可以直接将地址信号作为输出信号送出。在后半周期地址信号波形与输出波形不相同,但是可以明显的看出二者的斜率正好相反。此时若将地址信号全部按位取反,就可以得到输出波形,如图2-3所示。检查地址信号的最高位的电平变化情况。当最高位为低电平时,直接将地址信号作为输出信号送出;当最高位为高电平时,将地址信号全部按位取反再输出。这样就可以得到一个频率正好等于相位累加器的溢出率的标准三角波。2.2.3锯齿波发生锯齿波的波形与三角波的前半个周期相同,因此可

21、以采用同样的发生方式。取相位累加器的最高几位作为地址,并将地址信号直接输出就可以得到锯齿波。同理,产生的锯齿波的频率也正好等于相位累加器的溢出率。2.3.4 PWM信号发生脉冲宽度调制(PWM),是英文Pulse Width Modulation的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。实际应用中通常是使用一个高精度的计数器来实现的。图2-4 PWM信号的发生这里直接取相位累加器的最高几位作为计数器。同时还需要一个寄存器用于存放脉宽值。将计数器的值与寄存器的值作比较。当计数器值小于寄存器值的时候,

22、输出为高电平;当计数器的值大于寄存器的值的时候,输出翻转为低电平。这样就能得到一个PWM信号,而且该信号的脉宽取决于寄存器中数值的大小。当寄存器值增加,则输出波形脉宽增大;当寄存器值减小,则输出波形的脉宽减小,如图2-4所示。2.3.5 SPWM信号发生所谓SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规率排列,这样输出波形经过适当的滤波可以做到正弦波输出。它广泛地用于直流交流逆变器等,比如高级一些的UPS就是一个例子。三相SPWM是使用SPWM模拟市电的三相输出,在变频器领域被广泛的采用。图2-5 SPWM信号的发生SPWM信号可以通过一个频率较低的正弦信号与另一

23、个频率较高的三角波信号做比较得到。把正弦波看作调制信号,三角波看作载波,将二者经过比较器调制得到SPWM信号。但是这种方法比较麻烦,所以这里借鉴了前面所用过的PWM的发生方式。产生PWM波形的时候需要一个寄存器用于存放脉宽值,通过修改该寄存器的值就可以修改输出波形的脉宽。那么,如果当该寄存器的值按正弦规律变化的话,输出波形的脉宽值也会按正弦规律变化,如图2-5所示。同样取相位累加器的最高几位作为计数器,而该相位累加器的溢出率就相当于是载波的频率。调制信号的发生可以采用前面的正弦波的发生方式。但是这里需要另外一个独立的相位累加器专门为正弦波发生器提供地址信号,该相位累加器的溢出率就是调制信号的频

24、率。再将正弦波值送到控制脉宽的寄存器,经过与计数器的比较就可以得到一个SPWM信号。2.3.6 AM信号发生在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。不但在频域中已调波频谱是基带调制信号频谱的线性位移,而且在时域中,已调波包络与调制信号波形呈线性关系。 设调制信号为 (2-4)载波信号为 (2-5)根据调幅波的振幅与调制信号成正比,所以可得调幅波的表达式为 4 (2-6)调幅系数为 (2-7)在这里的正弦波的变化范围都是从到,如图2-6(a)所示。但是实际制作时的正弦波需要由前面讲过的正弦波发生器来产生,它的变化范围是0到(n为ROM中存储的数据的位数),

25、如图2-6(b)所示。令,则可得到图2-6 两种正弦波 (2-8)于是调幅波的表达式可以表示为 (2-9)由于输出信号不能小于零,所以还要在上叠加一个大小为的一个直流分量。同时令=1,则可得 (2-10)其中,是调制信号, 是载波信号,两路信号都必须由两个完全独立的电路产生。2.3.7 FM信号发生FM信号即频率调制信号,它的特点是载波的频率会随调制信号的幅度变化而发生相应的偏移。设调制信号为 (2-11)载波信号为 (2-12)则调频信号可以表示为 (2-13)但是实际上这样做起来会十分地复杂。根据前面的正弦波发生原理,输出正弦波的频率是由频率控制字来决定,而且输出频率是随频率控制字的变化做

26、线性变化。所以将调制信号直接作用于频率控制字就可以输出调频信号。设在没有调制信号的时候频率控制字为,当输入调制信号后就可得到 (2-14)在实际的正弦波发生器中产生的正弦波的变化范围是0到(n为ROM中存储的数据的位数),所以可得到 (2-15)其中调制信号必须由另外的独立的电路来产生。2.4 DDS 的特点 2.4.1 DDS 的优点 由于 DDS 自身的数字化结构,它具有下列优点: (1)频率分辨率高。从公式2-2可知,相位累加大的位数越多,输出的信号的精度就会越高。 (2)频率转换时相位保持连续。在进行频率转换时只需要修改频率控制字,而相位累加器中的值不会发生跳变。因此输出的信号的相位也

27、不会发生跳变。 (3)频率切换时间短。通常频率控制字的传输时间及以低通滤波为主的器件响应时间很短,因此高速 DDS 系统的频率切换时间可以达到 ns 级。 (4)输出的频率范围宽。DDS输出的频率最低一般可达到几Hz,有的甚至可以达到1Hz以下。而输出的最高频率可达到系统时钟的一半。(5)可以用于产生任意波形。通过事先在RAM中存储波形,或通过一些数字合成的方式,DDS可以产生任意波形。2.4.2 DDS 系统的缺点 从理论上说,DDS的最高输出频率只能达到系统时钟频率的一半,而且在实际应用中还要小于此值。要想获得较高的输出频率,就必须提高系统的时钟频率,那么 DDS 系统的相位累加器、波形存

28、储器、D/A 转换器等都必须同时工作在较高的时钟频率下。这样的话,它的实现就依赖于高速数字电路和高速 D/A 转换器。这也是 DDS 系统在早期没有得到重视,直到最近几年才迅速发展的原因。同时,DDS 系统先采用数字技术构成离散信号,再将该离散信号变换成模拟信号输出。在此过程中必然会产生一定的误差,尤其是要产生相位截断误差,因而噪声和杂散是不可避免的。3 系统整体设计3.1硬件部分3.1.1 DE2实验板DE2开发板是Altera公司针对大学教学及研究机构推出的FPGA多媒体开发平台。DE2为用户提供了丰富的外设及多媒体特性,并具有灵活而可靠的外围接口设计。DE2能帮助使用者迅速理解和掌握实时

29、多媒体工业产品设计的技巧,并提供系统设计的验证。DE2平台的设计和制造完全按照工业产品标准进行,可靠性很高3。图3-1 DE2实验板DE2平台上提供的资源如下:(1) Altera Cyclone II系列的EP2C35F672C6 FPGA,内含35 000个逻辑单元(LE);(2) 主动串行配置器件EPCS16U30;(3) 板上内置用于编程调试和用户API设计的USB Blaster,支持JTAG模式和AS模式;(4) 512K字节SRAM;(5) 8M字节SDRAM;(6) 1M字节闪存(可升级至4M字节);(7) SD卡接口;(8) 4个按键KEY0KEY3;(9) 18个拨动开关S

30、W0SW17;(10) 9个绿色LED灯LEDG0LEDG8;(11) 18个红色LED灯LEDR0LEDR17;(12) 两个板上时钟源(50MHz晶振和27MHz晶振),也可以使用外部时钟;(13) 24位CD品质音频的编/解码器WM8371,带有麦克风的输入插座、线路输入插座和线路输出插座;(14) VGA DAC ADV7123 (含有3个10位高速DAC)及VGA输出接口;(15) 支持MTSC和PAL制式的TV解码器ADV7181及TV接口;(16) 10M/100M以太网控制器DM9000AE及网络接口;(17) USB主从控制器ISP1362及接口;(18) RS232收发器M

31、AX232及接口; (19) PS2鼠标/键盘连接器;(20) IRDA收发器;(21) 带二极管保护的两个40脚扩展端口GPIO;(22) 216字符的LCD模块;(23) 平台通过插座接入直流9V供电,并有电源总开关;图3-2 DE2板上的资源3.1.2 LCD模块数据显示采用DE2板上自带的LCD。该LCD模块能显示各种ASCII字符,每一行能显示16个字符,共显示两行,一共能显示32个字符。模块内部带有ASCII码字库,不需要外部提供。模块提供了8位并行和串行两种通信方式,使用灵活。图3-3 LCD结构LCD模块内部有一个指令寄存器和一个数据寄存器,分别用于存入指令和数据。当管脚RS为

32、0时,对模块内部的指令寄存器操;当管脚RS为1时,对模块内部的数据寄存器操作。管脚R/W为0明表示对模块进行写操作,管脚R./W为1时表示对模块进行读操作。这里只对模块进行写操作,具体的时序如图3-4所示。图3-4 LCD写时序表3-1 LCD写时序中的各种时间的意义及值的大小3.1.2 DAC902DAC902是高速的12位数字模拟转换器,最高转换速率可达165MSPS。DAC902输出电流信号,有较高的输出阻抗(200k),输出电流可达20mA。DAC902的输出电流是两路互补输出的电流的总和。 (3-1)具体的输出电流决定于送入DAC数据的大小, (3-2) (3-3)其中,Code是D

33、AC的数据输入字符的十进制表示形式。此外,是参考电流的100000倍,是由参考电压和外部设置电阻,电流设置确定的。 (3-4)在输出时需要一个负载电阻将电流信号转化面电压信号。那么最终输出为公式3-5和公式3-6。 (3-5) (3-6) DAC902的写操作非常简单。将12位数据送到数据端口,通过控制时钟信号的变化就可以将数据写入,如图3-5所示。图3-5 DAC写时序表3-2 DAC写时序中的各时间的意义SYMBOLDESCRIPTIONMINTYPMAXUNITSt1Clock Pulse High Time3.0nst2Clock Pulse Low Time3.0nstSData S

34、etup Time1.5nstHData Hold Time2.5nstPDPropagation Delay Time(t1+t2)+1nstSETOutput Setting Time to 0.1%30.0ns3.2基于VERILOG的FPGA设计Verilog HDL是目前应用最为广泛的硬件描述语言。Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述。Verilog HDL进行设计最大的优点是其工艺无关性。这使得工程师在功能设计,逻辑验证阶段可以

35、不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路。Verilog HDL是一种硬件描述语言(hardware description language),为了制作数字电路而用来描述ASICs和FPGA的设计之用。Verilog 的设计者想要以 C 编程语言为基础设计一种语言,可以使工程师比较容易学习。3.3软件工具3.3.1 ModelsimMentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一

36、内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。3.3.2 QuartusAltera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络

37、编辑性能,而且提升了调试能力。QuartusII design 提供完善的 timing closure 和 LogicLock基于块的设计流程。QuartusII design是唯一的一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受

38、到数字系统设计者的欢迎。3.4系统设计系统的设计主要是基于DE2实验平台,具有友好的人机交互界面。具体包括了按键输入、LCD显示、系统初始化、RAM、数据转换处理、信号发生器、DAC转换几个模块,如图3-6所示。系统时钟选用DE2上自带的50MHz时钟信号。图3-6 系统总框图3.4.1 系统初始化模块当系统刚启动时,RAM中并没有任何数据。但是其它几个模块的运行却必须依赖于RAM中的数据。为解决这个问题,这里专门设计了一个系统初始化模块。模块内部包括一块ROM和RAM的写时序控制电路。ROM包括32个8位的静态存储器,能存放32个ASCII代码,用于存放初始化数据。该初始化数据主要用于LCD

39、显示,其中包括了频率、相位和波形发生方式的默认值。RAM的写时序控制电路用于将ROM中的数据写入RAM。3.4.2按键模块和LCD模块DE2实验板上共有四个按键,分别是KEY0到KEY3,如图3-7所示。在普通模式下KEY1和KEY2用于波形发生模式的切换,并能过波形发生模式的切换输出不同的波形。在此模式下按下KEY0就可以进入编程模式。在该模式下可以通过KEY1和KEY2对频率或相位进行修改。KEY3可以使光标向左移动。在此模式下专门增加了一个拨码开关SW0用于光标在上下行之间的切换。此时按下KEY0可以返回普通模式,同时还可以将设定好的波形输出。图3-7 按键示意图图3-8 初始化时的LC

40、D显示LCD显示模块会不停的将RAM中的ASCII数据送到LCD显示。图3-8所示为刚初始化完成时LCD显示内容。第一行显示的数值为输出信号的频率,在SPWM、AM、FM三种波形发生模式下表示载波频率。第二行左边的数值在不同的波形发生模式下表示不同的意义。在正弦波、方波、三角波、锯齿波四种波形发生模式下,该数据表示输出波形的偏移相位(数据范围是0到360,单位是度);在PW波形发生模式下该数据表示输出波形的占空比(数据范围是0%到100%);在SPWM、AM、FM发生模式下该数据表示调制信号的频率(单位是Hz)。各种波形发生方式的显示内容如表3-3所示。表3-3 各种波形发生模式与LCD显示的

41、对照3.4.3 RAM模块在系统的7个模块中,RAM处于中心位置。它是由32个8位存储器构成,能存储32个ASCII代码。它在系统中起着数据存储、各模块间数据交流以及协调各模块间的有序运行的作用。RAM的数据交流功能包括:(1)在系统启动时由初始化模块将初始化数据写入RAM;(2)LCD显示模块从RAM中读出数据并显示;(3)按键模块从RAM中读出数据,修改后又写回RAM;(4)数据处理模块从RAM中读出数据并转换。RAM它的协调作用包括:(1)在系统初始化完成之前禁止其它所有模块对它的所有读写操作;(2)当有按键操作时关闭LCD显示模块和数据转换模块;(3)当数据处理模块运行时关闭LCD显示

42、模块;(4)协调各模块间的地址和数据信号。例如:LCD显示时,需要将LCD显示地址送入,同时将得到的数据送到LCD的数据端口;而在数据处理时则需要将要处理数据的地址送入,同时将得到的数据送到数据处理模块的相应端口。3.4.4数据转换模块RAM中存储的数据全部为ASCII数据,数据转换模块会将RAM中对应位置的ASCII数据转换为二进制的频率或相位数据。3.4.5 DAC驱动模块要实现DA转换首先需要将数字信号送到DAC的数字输入端。这里利用DE2实验板上提供的普通IO口(GPIO_1)作为与DAC芯片的连接端口。其中DAC时钟采用系统时钟。图3-9 GPIO与DA的连接3.4.6系统的运行系统

43、的运行主要包括以下几种情形:(1) 系统刚启动时,系统初始化模块将初始化数据写入RAM;(2) LCD显示模块实时将RAM中的ASCII字符直接显示出;(3) 在按键操作时直接修改RAM中的相应数据;(4) 在按键操作完成后,数据转换处理模块要将RAM中的ASCII代码转换成相应的频率值或相位值,同时将该频率值或相位值送到信号发生器;(5) 信号发生器根据得到的频率或相位值产生相应的信号,该信号最后将通过DAC驱动模块送到外部DAC进行DA转换。4 Verilog HDL代码实现与仿真4.1信号发生器模块4.1.1频率控制字和相位累加器根据公式2-1可得 (4-1)取相位累加器的位数N=32,

44、Verilog HDL代码如下:module fre_ctrl(fre, fre_word); input 19:0fre; /频率值 output 31:0fre_word; /频率控制字 assign fre_word = 64h1_0000_0000 * fre / 32d50_000_000;endmodule为相位累加器代码如下:module phase_adder(clk, rest,fre_word, add_phase); input clk,rest; input 31:0fre_word; output 12:0add_phase; reg 31:0A; /累加器寄存器 assign add_phase = A31:19; / 输出地址 always(posedge clk,negedge rest) begin if(!rest) A = 32h0; else A = A + fre_word; endendmodule两个模块的modelsim仿真结果如图4-1所示。图4-1 相位累加器的仿真结果4.1.2 相位偏移控制由式公式2-3可得公式4-2。 (4-2)取相位累加器的输出相位位宽为n=13得到Verilog HDL代码如下:module phase_ctrl(set_phase,ad

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号