数字控制振荡器(NCO)的FPGA实现

发布者:风轻迟最新更新时间:2011-04-29 来源: 电子技术应用关键字:NCO  FPGA 手机看文章 扫描二维码
随时随地手机看文章

摘要:介绍了NCO数字控制振荡器的工作原理,详细分析了数控振荡器的性能指标和其在FPGA中的实现方法,最后给出了新设计的数控振荡器在QUARTUSII中的仿真结果。
关键词:数控振荡器(NCO);无杂散动态范围(SFDR);FPGA;频率控制字

0 引言
    NCO(N umerically Controlled Oscillator)是用于产生一个理想的、数字可控的正弦或余弦波的数字控制式振荡器,其实现方法有实时计算法和查表法等多种。实时计算法的正弦波样本以实时计算产生,该方法因其计算需要耗费很多时间,因而只能产生较低频率的正弦波,而且存在计算精度与计算时间的矛盾。由于在需要产生高速的正交信号时,实时计算法将无法实现。因此,在实际应用中一般采用最有效、最简单的查表法,即事先根据各个NCO正弦波的相位计算好相位的正弦值,并按相位作为地址信息存储该相位的正弦值数据。

1 NCO的基本原理
    在通过相位累加产生地址信息时,通常需要输出当前时刻的相位值所对应的正弦值,即以参考频率源对相位进行等可控间隔采样。众所周知,理想的正弦波信号S(t)可以表示成:
    a.JPG
    式(1)说明,信号s(t)在振幅A和初相φ确定之后,其频率可以由相位来唯一确定。即:
    b.JPG
    NCO就是利用式(2)中φ(t)与时间t成线性关系的原理来进行频率合成的,也就是说,在时间t=△t间隔内,正弦信号的相位增量△φ与正弦信号的频率f可构成一一对应关系,也就是说,对式(2)两端进行微分后有:c.JPG
    由上面的讨论可知:
    i.jpg
    其中,△θ为一个采样间隔△t之间的相位增量,采样周期d1.jpg。故式(3)可改写为:
    d2.jpg
    由式(4)可知,如果可以控制△θ,就可以控制不同的频率输出。由于△θ受频率控制字FCW的控制,即:d4.jpg,所以,改变FCW就可以得到不同的输出频率f0,然后经代换处理可得如下方程:
    d3.jpg
    式(5)和式(6)中的L为相位累加器的位数。根据Nyquist准则,允许输出的频率最高为FCLK/2,即d5.jpg。但在实际工程中,由于受到低通滤波器的限制,一般输出的频率d.JPG



2 NCO的性能指标
    NCO的性能指标包括信号频率分辨率、信噪比(SNR)、无杂散动态范围(SFDR)和输出的信号正交性。这些性能指标取决于NCO的数据位数。NCO的数据位数包括用于表示相位数据的位数n和表示相位的正弦值数据的位数nb,二者之间存在nb取决于n的关系,且前者必须能够表示相位变化时其相位正弦值变化的最小值和最大值。而这又分为两种情况:
    第一种情况是相位最小变化值的正弦值最小变化发生在π/2-△φ~π/2,π/2~π/2+△φ,3π/2-△φ~3π/2,3π/2~3π/2+△φ,同时其相位的取值是在0~2π间且等间隔地分为2n爪取值点,因此,由正弦波的特性可知:只需要讨论相位在π/2-△φ与π/2取值点的正弦值之差:
    e1.jpg
    第二种情况是相位最小变化值的正弦值的最大变化发生在0~△φ,π-△φ~π,π~π+△φ,2π-△φ~2π取值点处。该情况可以通过类似于第一种情况的推导方法得到:
    e.JPG
    设计时可以根据式(9)和式(10)较好地取值n和nb,以避免相位的分辨率发生钝化,并很好地达到设计要求。
    NCO的噪声是因为存在正弦值的量化误差而引入的,且量化误差由表示正弦值的位数决定,其近似关系为:
   f.JPG
    式中,B是作为寻址ROM的地址的舍位位数,n是相位位数。NCO的另一个性能参数是频率分辨率△f,该参数取决于相位位数,其关系式为:
    g.JPG

3 NCO在FPGA中的实现
    NCO的查找表是一个正弦值表,该表的正弦值是按照相位作为存储地址来进行存储的,而且一般以相位递增的方式存储。利用正弦波的奇偶对称性,可以把2π相位分成4等份,然后利用各等份之间的对称性来实现地址信息的映射,通常只存储[0,π/2]象限内的幅度码。
    相位累加器可完成相位累加,即每来1个时钟就累加1次φ=φ+△φ,且采用流水线方式工作。本设计采用QUARTUS II中IP核自带的一种32位累加器来实现相位的累加。
    逻辑转换完成后,可采用小表结构功能块把相位累加器产生的最高2位信号转换为地址控制信号和象限转换控制信号。其中地址控制信号是根据最高两位信号来控制地址从0开始递增方式产生还是从2L开始以递减方式产生。
    正弦表是每来一个时钟输出一个大于零的正弦值数据,这些数据可作为象限变换器的输入,由象限变换器完成数据的象限变换。其转换原则是:象限控制信号根据正弦信号的对称性把查表得到的数据转换为正负数据,并对于正弦信号的1、2象限数据进行加零操作,而对3、4象限的数据进行求补运算。余弦数据也同样,在1、4象限对数据进行加零操作,2、3象限数据进行求补运算。

4 仿真结果
    利用上述小表结构实现的NCO可以输出多种频率信号并减少资源消耗,影响系统输出频率的因素主要是工作频率和器件性能。
    图1所示是整个NCO在QUARTUS II中的仿真波形图。

h.JPG


    在图1所示的波形图中,CLK是时钟输入频率(为65.6 MHz),CLR为系统复位信号,相位累加器的位数L为32位,输出信号幅度位数为12位(包括符号位),相位宽度为12位,这样,由式(5)便可得到频率控制字FCW为269591793,图1中的COS_OUT与SIN_OUT是系统输出信号,频率为4.08 MHz。
    由式(11)、(12)、(13)可得,此系统的信噪比和SFDR分别为74 dB和84 dB。
    图2所示是将波形文件中的正弦余弦数据读入MATLAB中所显示出来的波形。

5 结束语
    本文通过分析数控振荡器的实现原理和性能,给出了通过FPGA来实现NCO的具体方法,同时通过QUARTUSⅡ中的仿真验证了本设计的正确性。结果证明,用该方法设计的NCO可以输出多种频率的信号,同时也可以减少资源消耗。

关键字:NCO  FPGA 引用地址:数字控制振荡器(NCO)的FPGA实现

上一篇:开发套件 简化消费电子应用的设计【莱迪思】
下一篇:一种用于数字下变频的高阶分布式FIR滤波器及FPGA实现

推荐阅读最新更新时间:2024-05-02 21:22

Sumavision在其增强型多媒体路由器3G DTV产品中选用Altera Cyclone III FPGA
Altera公司 (NASDAQ: ALTR)今天宣布,Sumavision公司在其增强型多媒体路由器(EMR) 3G DTV产品中选用了Altera的Cyclone® III FPGA。Cyclone III FPGA是高性价比嵌入式处理解决方案,提供多种密度、存储器、嵌入式乘法器和封装选择。在广播市场上,Cyclone III器件实现了设计集成,提高性能,降低功耗,缩短了产品面市时间,同时满足低成本需求。 Sumavision公司在数字电视前端系统解决方案和数字视频广播行业IP解决方案上居于业界领先地位。Sumavision的EMR是功能强大的数字信号工作平台,具有灵活的置入卡结构,通过各种插卡实现了DTV前端功
[嵌入式]
基于遗传算法的组合逻辑电路设计的FPGA实现
摘要:基于遗传算法的组合逻辑电路的自动设计,依据给出的真值表,利用遗传算法自动生成符合要求的组合逻辑电路。由于遗传算法本身固有的并行性,采用软件实现的方法在速度上往往受到本质是串行计算的计算机制约,因此采用硬件化设计具有重要的意义。为了证明基于FPGA的遗传算法的高效性,设计了遗传算法的各个模块,实现了基于FPGA的遗传算法。 关键词:遗传算法;组合逻辑电路;FPGA;随机数 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初是由美国Michigan大学J.Holland教授于1975年首先提出来的。随着经济
[嵌入式]
基于遗传算法的组合逻辑电路设计的<font color='red'>FPGA</font>实现
FPGA在智能仪表中的应用
随着微电子技术的发展,采用现场可编程门阵列(FPGA)进行数字信号处理得到了飞速发展。由于FPGA具有现场可编程的特点,可以实现专用集成电路,因此越来越受到硬件电路设计工程师们的青睐。 目前,在自动化监测与控制仪器和装置中,大多以8位或16位MCU为核心部件。然而伴随着生产技术的进步和发展,对监测与控制的要求也在不断提高,面对日益复杂的监测对象和控制算法,传统的MCU往往不堪重负。把FPGA运用到这些仪表和设备中,可以减少这些仪器、设备的开发周期,大幅度提升这些仪器的性能,减少总成本和体积。 在低阻值、高精度线圈电阻测试仪中关键部分用FPGA硬件电路来实现,可以节省系统的面积开销、减少所用的芯片数和PCB板块数,提升系统性能,并
[应用]
基于FPGA的汽车ECU设计充分符合AUTOSAR和ISO 26262标准(一)
汽车产业利用可重配置硬件技术,可灵活地综合车载功能。   当今的汽车制造商正在把越来越多的高级功能添加到汽车电子控制单元 (ECU)中,以改善驾驶体验,增强安全性,当然还期望超过同类竞争产品的销量。在这种情况下,汽车开放系统架构 (AUTOSAR) 计划和功能安全国际标准 ISO26262 正在快速成为汽车 ECU 设计的技术和架构基础。   为了满足新车型日益提高的功能需求,汽车电子产品的密度不断增大,FPGA 厂商也正在不断推出更大型的器件。这些器件能够集成所有的应用,而且与前代器件相比,功耗更低,价格更具竞争力。这种趋势意味着可重配置计算技术在汽车产业将会得到进一步推广和应用。   我们推出了一种具有开创性的方法,即使
[模拟电子]
基于<font color='red'>FPGA</font>的汽车ECU设计充分符合AUTOSAR和ISO 26262标准(一)
赛灵思推出XPE便携版,随时评估FPGA的系统功耗
日前,赛灵思(Xilinx)的PPE(XPower Estimator)推出了便携版,用户可利用iPhone、IPAD随时随地估算系统功耗及对比不同FPGA选型功耗,可直接在itunes里搜索并下载Xilinx PPE。详细信息请点击苹果官网: http://t.cn/aRadDR 这款由David Shao开发的app,大小仅为0.1MB,目前版本为1.0。 在用户评论中,rwiegard给出了5星,他表示,这款软件可以很方便的评估不同系列产品的功耗,winnypooh则写到,“这是一款伟大的产品,将为Xilinx提供开放的商业机会,软件界面美观并且易于使用,一个FPGA业界的全新产品出现了。”
[嵌入式]
赛灵思推出XPE便携版,随时评估<font color='red'>FPGA</font>的系统功耗
基于FPGA的SPI Flash控制器的设计方案
本文提出一个基于FPGA的SPI Flash读写硬件实现方案,该方案利用硬件对SPI Flash进行控制,能够非常方便地完成Flash的读写、擦除、刷新及预充电等操作,同时编写的SPI Flash控制器IP核能够进行移植和复用,作为SOC芯片的功能模块。SPI Flash控制器采用VHDL语言进行编写,在Modelsim 6.5g上通过功能仿真,并且在XUPV5-LX110TFPGA开发板上通过硬件测试,实现结果表明方案的可行性。   1.引言   Flash是一种具有电可擦除的可编程ROM,按接口可以分为两大类:并行Flash和串行 Flash.并行Flash存储量大,速度快;而串行Flash存储量相对较小,但体积小,连线简
[模拟电子]
基于<font color='red'>FPGA</font>的SPI Flash控制器的设计方案
基于FPGA的帧同步系统设计方案
在Xilinx的FPGA器件XC3S200-4FT200上对方案中设计的帧同步系统进行了实现,利用Modelsim 6.0软件进行了仿真测试。仿真结果表明,本方案设计的同步系统工作稳定,满足性能要求。 0 引言 在数字通信系统中,发送端一般以一定数目的码元组成一个个“字”或“句”,即组成一个个数据帧进行传输,因此帧是数据传输的基本单位。不同的通信系统具有不同的帧结构。帧一般分为帧同步码和数据两部分,帧同步码用于标志帧的起始位置;数据则是需要传输的有效码元。帧同步码组的插入方法主要有两种:集中式插入法和间隔式插入法。集中式插入法就是在每帧的开头集中插入帧同步码组的方法;间隔式插入法则是将帧同步码组分散插入到数据流中,即每隔一定数量的
[电源管理]
基于<font color='red'>FPGA</font>的帧同步系统设计方案
新型 FPGA 服务器提供双倍密度的计算资源和网络资源
BittWare 的 TeraBox 1400B FPGA 服务器在 1U 机架式机箱中封装四块电路板 Molex旗下BittWare公司推出 TeraBox™ 1400B 服务器,在 1U 高的机架安装机壳上支持四块双宽度的 FPGA 电路板。该服务器配有 BittWare 的 XUP-VV8 电路板,提供的 FPGA 密度和网络密度可达到标准的八电路板 4U 服务器的两倍。BittWare 的 1400B 服务器面向的是在 FPGA 资源和网络端口方面需要达到最高密度的高端计算、网络和信号处理加速领域的用户。 BittWare 营销副总裁 Craig Petrie 表示:“我们最新的 TeraBox 服务器围绕着 FP
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved