基于FPGA的简易双相信号发生器的设计

时间:2022-10-25 09:06:02 教案设计 来源:网友投稿

摘要:本系统是以Altera CycloneⅡEP2C8Q208C8N为核心控制器,利用FPGA芯片完成了正弦波和方波信号的发生及其参数的调节功能。该系统主要由四个模块组成:电源模块、控制模块、D/A转换模块及滤波模块。控制部分用VHDL语言实现了一个直接数字频率合成技术(DDS)的信号发生器,该信号发生器在特定的频率范围内可以两路输出正弦波、方波,这是一个频率、幅度和相位可控的简易双相信号发生器,并且可以实现波形输出选择等多种控制功能。

关键词:信号发生器;DA转换;FPGA;DDS

中图分类号:TM933.4文献标识码:A文章编号:1007-9599 (2010) 16-0000-01

FPGA-based Design of Simple Two-phase Signal Generator

Wang Yongqiang

(Harbin Institute of Technology,Harbin150081,China)

Abstract:The system is based on Altera CycloneⅡEP2C8Q208C8N as the core controller,the use of FPGA chips to complete the sine and square wave signals and parameters of the regulatory function occurs.The system consists of four modules:power supply module,control module,D/A converter module and filter module.Control part of the VHDL language with a direct digital frequency synthesis (DDS) signal generator,the signal generator at a specific frequency range for the two output sine wave,square wave,which is a frequency, amplitude and phase can be a simple two-phase control signal generator and the output waveform can choose other control functions.

Keywords:Signal generator;DA conversion;FPGA;DDS

一、设计任务

设计、制作一个简易双相信号发生器,在特定的频率范围内输出正弦波,信号的幅度和相位差可以程控设置,也可以输出方波。

二、设计方案

Altera CycloneⅡEP2C8Q208C8N为核心控制器,利用FPGA芯片完成了正弦波和方波信号的发生及其参数的调节功能。该系统主要由四个模块组成:电源模块、控制模块、D/A转换模块及滤波模块。

(一)控制模块

DDS是数字式的频率合成器,其系统框图如2-1所示。

DDS的工作过程:每次系统时钟的上升沿来时,相位累加器(24位)中的值累加上频率寄存器(12位)中的值,再用累加器作为地址进行ROM查表,查到的值送到D/A进行转换。这个过程需要几个时钟周期,但用VHDL设计,每个周期每部分都在工作,实现了一个流水线的操作,实际计算一个正弦幅度只用一个时钟周期,但是会有几个周期的延时。

控制模块是整个系统的核心部分,控制电路的设计主要是用FPGA实现DDS的核心部分即相位累加器、脉冲产生、波形查找表、波形数据寄存器。

相位累加器:相位累加器的功能是改变输出信号的相位。相位累加器由N位加法器和N位累加器级联构成,每一个时钟脉冲 ,加法器将控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加,相位累加器输出的数据就是合成信号的相位,相位累加器的输出频率就是DDS的输出信号的频率。

ROM波形数据表:在一个周期内ωt的取值范围为0-2π,对应y=f(x)形式,即0

sin(x)=sin(π-x)=-sin(π+x)=-sin(2π-x)(式1)

其中,x位于区间0-π/2。可见其他部分均可以用0-π/2的部分表示。这样可将ROM的大小压缩到原来的1/4。在实现时, 个ROM单元只用 个ROM单元就可以实现。对于基准时钟 为128KHz的DDS模块,如果所用ROM的地址宽度为18位,可截取相位累加器到12位作为ROM地址。截取高12位作为访问ROM一个周期波形数据的最大地址。由此可看出ROM的地址没有被全部占用,这样可使存储器得到充分的利用。

正弦波发生:由于正弦波的非线性,所以对算法有较严的要求。对于一个正弦波,它在一个周期里变化有规律可循,只需要算出1/4个周期的幅值,则可得出其他3/4个周期的幅值,而我们所设计的过程中,也正是采用了这个规律来简化采样点数。

方波发生:由于时钟脉冲输出即是方波波形,所以对方波的设计可以简化为直接输出时钟脉冲信号。

(二)D/A转换模块

从波形ROM中读出的幅度量化数据还只是一个数字信号,要得到最后的输出信号必须经过数模转换器。因此在波形ROM之后要设计一个D/A转换电路。D/A转换芯片要根据很多因素来确定,最主要的就是要考虑字长和转换速度。本系统中的D/A转换及滤波电路是由AD7541转换电路方案来实现,它是高性能的12位分辨率的数模转换芯片。D/A转换电路如图2-2所示。

(三)滤波模块

滤波电路的作用实质上是“选频”,即允许某一部分频率的信号顺利通过,而使另一部分的频率的信号被急剧衰减(即被滤掉)。如图2-3所示的电路能提供低通、带通、高通三种滤波特性。

三、结束语

本系统基于直接数字频率合成技术,实现了频率范围800Hz到1200Hz正弦信号的无失真输出。测试结果表明,基于FPGA的DDS信号发生器具有波形稳定、平滑的特点。用FPGA实现DDS调频,调相信号电路较采用专用DDS芯片更为灵活,只要改变FPGA中的ROM内的数据和控制参数,DDS就可以产生任意调制波形,且分辨率高具有相当大的灵活性。整体而言,系统性能良好,输出信号稳定。

参考文献:

[1]吴继华,王诚.Altera FPGA/CPLD设计.人民邮电出版社,2005

[2]余勇,郑晓林.基于FPGA的DDS正弦信号发生器的设计和实现.电子器件,2005

[3]武军娜,魏金春,钟桂勇.基于FPGA信号发生器的设计.黄石理工学院学报,2008

推荐访问:发生器 简易 设计 FPGA