ROM查表结构的数控振荡器设计及FPGA实现

2016-10-18 04:53:22王猛王粤
枣庄学院学报 2016年5期
关键词:累加器枣庄器件

王猛,王粤

(1.枣庄学院光电工程学院,山东枣庄 277160;2.枣庄广播电视总台,山东枣庄 277100)



ROM查表结构的数控振荡器设计及FPGA实现

王猛1,王粤2

(1.枣庄学院光电工程学院,山东枣庄277160;2.枣庄广播电视总台,山东枣庄277100)

为了满足通信领域数字化技术对频率合成技术的要求,文章设计并实现了基于ROM查表结构的数控振荡器,文章首先简要介绍数控振荡器的技术发展背景及其在数字频率合成技术的应用,其次介绍数控振荡器的技术原理及采用硬件设计的实现方法,重点讨论了基于ROM查表结构实现的数控振荡器,以及该数控振荡器的FPGA设计,最后对相关理论和技术的发展进行讨论和实现.

数控振荡器,FPGA设计,ROM查表结构①

0 引言

数控振荡器(NCO,numerically controlled oscillator)是数字通信领域中一个不可缺少的角色,它通常与直接数字频率合成器(DDS,Direct digital synthesizer)等混为一谈,主要是因为其与直接数字频率合成器技术模块内容基本相近,其实为直接数字频率合成器的主要组成部分,NCO的设计也是采用的数字频率合成器的技术原理来实现的.随着频率合成技术的发展,频率合成技术应用非常之广泛,特别是在现代电子信息系统领域和通信装备技术领域,在生成具有较高稳定度和准确度的频率信号方面已经有了比较成熟的发展过程,从现代技术的意义上来理解的频率合成技术就是把若干个具有稳定性的标准的频率经过四则运算即“加、减、乘、除”来生成一系列具有新的稳定性和准确性的频率的过程.现代信息技术的发展,使得研究者对频率合成技术的性能方面提出了更高的要求,例如在信号的频率稳定性,信号的准确度,信号的频谱纯度等的要求越来越高,因此人们不断研究并对频率合成技术创新,实现将频率合成技术广泛应用到现代科技技术的各个领域中.

1 频率合成及FPGA设计技术

1.1频率合成技术介绍

频率合成技术最早源于国外,在20世纪30年代提出这么一个技术概念,目前可以按照其实现方式分为四种形式,分别为直接类:直接频率合成技术,直接数字频率合成(DDS)技术,间接类:间接频率合成技术(主要是基于锁相环的),混合式频率合成技术(不常用).

直接频率合成技术发展历史最早,实现方面也较容易,主要是由一系列实现频率加减法的器件(如混频器等)、实现频率乘法倍乘的器件(如倍频器),实现频率除法的器件(如分频器)等来构成的,进而得到所需的各种频率,但由于其生成的频率信号在性能方面频谱纯度差,可靠性不好等缺点,并不常用.

直接数字频率合成技术在频率合成技术领域上来说是一种革新,追溯其发展历史来源于1971年,由J.Tierney,和B.Gold第一次提出的,这种技术一提出受到广泛的认可,是一种产生稳定频率信号的理想方法,未来的应用前景会更加广阔.直接数字频率合成器具有计算机驱动的参与频率合成,通过大量的数字信号处理和计算机操作,来实现在时域中进行频率合成,主要优点是输出频率分辨力高,另外由于内部相位累加的原因,结果造成在频率之间的“跳跃”较好,并且变化频率的时候相位是连续的,这是特别重要的,连续相位调制正是基于这一优势特点.

间接频率合成技术是伴随着数字电路技术的发展而衍生的,间接频率合成技术一个重要的表现形式就是锁相频率合成技术,源于1932年德国科学家初次提出的关于锁相环路的描述,直到1947年锁相环用于接受机的同步扫描才开始受到关注,到1970年前后由于集成电路的发展,锁相环使用更加频繁,因为它的成本低,容易使用,所以它被逐渐应用到通信技术领域中,主要应用于调制解调、通信发射与传输、电视机载波提取等民用设备中.其技术的优点是:易于器件生成、成本较低,而且具有良好的跟踪、窄带滤波和记忆功能,特别是在大规模集成电路和数字电路发展的背景下,非常利于小型化、集成化.缺点是由于电子器件的影响,响应速度较慢,另外就是频谱纯度不高,这也是影响频率合成技术共同的性能指标.

1.2基于FPGA硬件设计技术介绍

最早来源于20世纪70年代的硬件设计技术,主要采用的是分立元件,后来随着集成电路以及计算机和电子器件的革新,硬件设计技术步入采用中小规模集成电路初级阶段,但是由于是简单的人工焊电路板,所以布图方法根本就不能满足产品复杂性的要求,并且太不方便,后来美国ACCEL公司开发了一个可以用二维图像逻辑与分析的CAD工具代替,即Tango布线软件.

随着微电子工艺的发展,加上计算机应用技术的发展,美国研究者研究出支持定制单元电路设计的掩膜编程的门阵列,如可编程逻辑器件(PAL和GAL)等一系列微结构,这也是硬件设计器件的第一次出现,代替了具体化的元件图设计,20世纪80年代初推出的硬件设计技术,使设计师能提前预知产品的功能和性能,并且最后生成制造产品的相关文件来进行验证[1].

最后一个阶段就是20世纪90年代以后发展起来的电子系统设计自动化阶段,也叫EDA,EDA技术的发展,使得厂家为满足用户的要求设计出各种各样的规模的可编程逻辑器件,使设计者能够通过设计芯片来实现电子系统的功能,让他们把想设计的电路模型通过系统级设计工具(quartus、modelsim等软件开发工具)和设计语言(Verilog HDL)设计在自己的专用芯片里,实现产品的功能.

上面所述的EDA技术涉及的面比较广,包含了硬件描述语言(如verilog),硬件设计开发工具(如quartus软件),和大规模可编程逻辑器件(如FPGA、CPLD等)等,其中FPGA器件是现代应用最广泛的可编程逻辑器件,应用非常广泛,所谓可编程逻辑器件,就是满足各式各样的用户要求可编程的,另外还能便于实现某种逻辑功能的重要逻辑器件,它们在电子设计领域扮演着非常重要的角色,为未来电子系统的设计提供了更多的可能.可编程逻辑器件最早诞生于上面硬件设计的最初阶段,也即20世纪70年代,在不断发展的过程中,逻辑器件的响应速度不断加快,集成度不断提高,功耗不断减小,可靠性不断提高,结构性不断合理,使用变得更加灵活与方便.

2 基于ROM查表结构的数控振荡器原理

2.1数控振荡器原理

数字控制振荡器即NCO(Numerically Controlled Oscillator)是用于产生一个理想的、数字可控的正弦或余弦波的数字控制式振荡器,在实际的通信系统中,携带数字信息的信号通常是由某种类型的载波调制方式发送的,传送信号的带宽限制在以载波为中心的一个频段上,如双边带调制,或在邻近载波的频段上,如单边带调制.无论何种调制方式,在发送端均需要一个高频载波将信息调制,以减小信号衰落对通信质量的影响,在解调过程中也是同样的原理,需要解调下来,比如相干解调时需要一个与发送端同频同相的高频载波将信息从高频上解调下来.产生这个高频载波的方法,目前在数字电路中主要是采用数控振荡器(NCO),也称为直接数字频率合成器〔DDS),它的输出频率和相位可以受人为控制,从而满足各种需要[2].

目前实现数字控制振荡器有两种常用的方法,一种是实时计算法,由于在需要产生高速的正交信号时,实时计算法有一定的局限性[3].另外一种为查表法,实现起来最有效、最简单,其方法原理是事先根据通信正弦波相位的需求来计算相位的正弦值,从而提取出相位作为地址信息来存储该相位的正弦值数据,该数据就放在查表法的ROM表中[4].

对于基本的正弦信号发生器,它的输出可以用下面的三角函数式来描述,假设一个角频率为ω、幅度为A且初试相位θ=0的正弦信号可以表示为

Sout=Asinωt=Asin(2πfoutt)

(1)

上述公式的表述对于时间t来说是连续的,为了在FPGA中或者说在硬件中实现该表达式的处理,必须对表达式进行离散化处理.令正弦信号的相位:

θ=2πfoutt

(2)

(3)

若将三角函数一个周期的相位2π分成M等份(M=2N),则每一份也即最小相位增量为:

(4)

那么最低输出频率为

(5)

最后得出其输出信号为

(6)

NCO(数控振荡器)电路一般由参考时钟、相位累加器、波形存通滤波器(LPF)组成.其结构如图1所示.

图1 DDS基本结构框图

2.2基于ROM查表结构的数控振荡器

在DDS系统中实现最后的波形生成方式较多,本文主要采用的是基于ROM查找表法来实现波形的生成,ROM查表结构的核心是将事先部分周期的波形幅度值存储在一个ROM中,这样的在DDS中由相位累加器输出的相位序列就可以找到ROM查找表中波形幅度值地址,从而实现波形的生成和相位到幅度的转换.

图2 基于FPGA+查表结构的NCO设计实现框图

ROM查表结构是DDS中非常核心的部分,在数字频率合成器的原理中已有介绍,虽然查表法有一定的缺点,但因其方便快捷的把相位信息转换为幅度信息,逐渐受到国内外研究者的欢迎,ROM查表结构也可以在FPGA上实现,基于FPGA查表法结构实现DDS意味着包括ROM查表程序的编写,相位累加器的生成,都是在FPGA直接生成的,也意味着波形存储器采用ROM结构,在DDS中,由相位累加器的输出的数字相位信息只有经过ROM查找表结构查找进行转换才会变换为正弦波[5].

在ROM查表结构中,存储器的位宽决定着查表法的精度[6],也影响着DDS的性能和输出波形的精度.ROM查表结构通常由matlab软件仿真生成,一般为mif格式,在FPGA中调用ROM时候也要加载mif文件,当然这是Altera公司FPGA调用一般采用的,xilinx公司采用的是coe文件,因此实现ROM查表法生成mif文件是首要的操作.

下一步操作就是设定位宽和深度生成波形存储文件,假定ROM的深度设为1024,ROM的位宽为16,则意味着一个完成正弦信号周期的1024个点量化,量化幅度为16位,生成的量化图如图3.14所示:

图3 对正弦信号的一个周期的1024个点量化图

在matlab软件里输入程序,程序简略如下:

depth= 1024; //表明采用的存储深度

width= 16; //表明采用的位宽

address_radix=dec; //设定地址的格式为十进制

data_radix=dec; //设定数据的格式为十进制

ContentBegin//表明内容开始

0 : 6 ; //地址: 数据

1 : 12 ;

...: ....;

1023;

end;

depth= 1024;

width=16;

x=linspace(0,6.28,1024); %6.28为2π,一个周期内等间隔地取1024个点

y1=cos(x);

y2=sin(x);%计算相应的正余弦值

y1=y1*32678;

y2=y2*32768;%量化操作

fid=fopen('d:/cos.mif', 'wt'); %存放mif文件

fprintf(fid, '%16.0f ',y1); %在写文件时量化成16bit

3 硬件设计及实现

按照上节生成的mif文件后,就可以加载到quartus软件里IPcore,加载到Ipcore后就可以随便调用了,IPcore是一个模块性的设计,通过模块性的设计,存储到核里后,硬件设计就可以免去许多重复性劳动,下一次研究者可以直接调用该模块.加载步骤为:打开quartus软件,新建操作,选择新建BLOCKROM,再选择MegawizardPlug-InManager,选择ROM-1-port, 选择位宽为16、深度为1024,然后选择mif文件并加载到BLOCKROM所生成的ROM中[7].

图4 FPGA上生成ROM示意图

在FPGA实现mif文件的加载后,意味着ROM查表结构的完成,然后只需在quartus软件里编写DDS其他结构的程序即可,最后在原理图中调用生成IP核模块.用Verilog语言编写实现相位累加器的输出,实现相位累加器的步骤为:设定系统的工作频率,这里黑金开发板FPGA内部时钟频率为20Mhz,则DDS模块的输出频率公式为:

其中K为频率控制字,fclk为系统时钟工作频率20MHZ,由公式可以进一步计算出K的值,然后在程序里就可以设定不断地对频率控制字K进行相位累加[8],在每来一次时钟激励下,相位累加器就把频率控制字累加一次,最后得到累加器输出的总数据即为所求信号的相位[9].

在quartus软件中编程,经过仿真运行后,其生成的的RTL原理图如图5:

图5 基于FPGA+ROM的软件设计原理框图

软件仿真生成后如图6所示,

图6 仿真示意图

基于ROM查表结构有其一定的优点,使用便捷,易实现,只需提前计算好相位的正余值,将数据提前存储在表里即可,用的时候一一对照就可以产生相应的正余弦波,是实际应用中最有效最简单的方法.然而其也有一定的缺点,它的局限性主要体现在以下几个方面,一是在硬件资源的消耗较大,比如我们采用20位寻址数据,那么ROM表的容量就得至少达到2的20次方上,因此占用空间较大,更高位的话占用空间会更大,限制了寻址的准确性.二是相位杂散量也较大,在ROM查表结构中,人们总希望查表的精度越高越好,因此希望ROM的容量越大越好,这样相位累加器的输出就可以实现更好的分辨率,信号的频谱纯度也越高,但是由于ROM的容量有所限制,并不能无限期的增大.三是实现精度也低,由于ROM查表结构的位数和硬件存储器的限制[10].

4 结论

本文给出了一种基于FPGA +ROM查表结构来硬件实现NCO的设计,软件基于Quartus软件,在Quartus软件上实现了基于ROM查表结构的NCO设计,并在软件上实现了仿真,在实际应用过程中可参考本文的原理方法和实践设计,从而应用在通信等基础领域中.应用中,只需通过改变频率控制字、系统采样频率、存储正余弦查找表的深度和存储表的位宽[11],即可控制不同频率的输出,对于通信里面调制信号领域非常实用.同时本文分析了该方法实现的缺点,如果涉及需要的精度及频率较高,可以通过改变算法,或者设计FPGA硬件的配合实用,从而达到输出的设计要求.

[1]刘小俊. 基于 EDA 技术的兼容 MCS-51 单片机 IP 核设计[D]. 武汉理工大学, 2005.

[2]吴边. 数字中频扩频收发机的关键技术研究及FPGA实现[D]. 南京航空航天大学, 2004.

[3]杨勋. 软件无线电中上下变频技术的设计和实现[D]. 西安电子科技大学, 2007.

[4]谢英浩, 李绍荣. 基于软件无线电的GMSK通信收发机及其FPGA实现[C].电子科技大学电子科学技术研究院学术交流会. 2007.

[5]王培元, 孙南海. 基于 FPGA 的 DDS 数字调频系统仿真研究[J]. 襄樊学院学报, 2007, 27(5): 76-79.

[6]De Caro D, Napoli E, Strollo A G M. ROM-less direct digital frequency synthesizers exploiting polynomial approximation[C]//Electronics, Circuits and Systems, 2002. 9th International Conference on. IEEE, 2002, 2: 481-484.

[7]隗聪. 基于 FPGA 的三角函数数字发生器设计[J]. 计算机与数字工程, 2010, 38(9): 187-189.

[8]高士友, 胡学深, 杜兴莉, 等. 基于 FPGA 的 DDS 信号发生器设计[J]. 现代电子技术, 2009, 32(16): 35-37.

[9]陈楠. FPGA 在 DDS 技术中的应用[J]. 广西轻工业, 2011 (7): 61-62.

[10]聂强. 基于CORDIC算法的直接数字频率合成器的设计与实现[D]. 西安电子科技大学, 2011.

[11]张阿宁, 赵萍. 基于FPGA的正交数控振荡器(NCO)的设计与实现[J]. 电子设计工程, 2011, 19(17):149-152.

[责任编辑:闫昕]

Design and FPGA Implementation of Numerically Controlled Oscillator

WANG Meng1, WANG Yue2

(1.School of Opto Electronic, Zaozhuang University, Zaozhuang 277160,China;2.Zaozhuang Radio and Television Station,Zaozhuang 277100,China)

In order to meet the requirements of the communication in the field of digital technology on frequency synthesis technology, the article design and realize the ROM look-up table structure of numerically controlled oscillator based on, firstly, this paper briefly introduces numerically controlled oscillator technological development background and application in digital frequency synthesis technology, secondly introduces the numerically controlled oscillator technology principle and the realization method of the hardware design,discussed in detail based on the ROM look-up table structure to achieve the numerically controlled oscillator, and the numerically controlled oscillator FPGA design. Finally, the development of related theories and technologies are discussed and implemented.

numerical controlled oscillator; FPGA design; ROM look up table structure

2016-07-02

2015年枣庄学院校级科研基金项目(项目编号:2015QN05).

王猛(1987-),男,山东枣庄人,枣庄学院光电工程学院助教,工学硕士,主要从事抗干扰通信、硬件实现等方向的研究.

U283.4

A

1004-7077(2016)05-0116-07

猜你喜欢
累加器枣庄器件
密码累加器研究进展及应用
山东枣庄:大白鹅“叫开”致富门
今日农业(2021年10期)2021-11-27 09:45:24
枣庄学院
Fpga的信号发生器设计原理
基于霍夫变换的工位点识别算法设计与实现
物联网技术(2016年8期)2016-12-02 14:27:53
旋涂-蒸镀工艺制备红光量子点器件
枣庄探索公共卫生医联体
中国卫生(2015年3期)2015-11-19 02:53:36
面向高速应用的GaN基HEMT器件
用于时间延迟积分型图像传感器的流水采样列级运放共享累加器*
一种加载集总器件的可调三维周期结构