利用NCOI Pcore实现Chirp函数
出处:宋业科 发布于:2011-08-26 18:11:15
引 言
随着EDA技术的飞速发展,CPLD/FPGA得到了越来越广泛的应用。IP核(ip core)是指用于产品应用专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)的逻辑块或数据块。将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。IP就是知识产权核或者知识产权模块的意思。在EDA技术和开发领域具有十分重要的作用,在半导体产业中IP定义为用于ASIC或FPGA/CPLD中预先设计好的电路功能模块。IP可以分为软IP,固IP和硬IP三种。下面分别对这三种进行简单的介绍。
软IP内核通常是用某种HDL文本提交用户,它已经过行为级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级网表,并可以进行后续结构设计,具有的灵活性,可以很容易地借助于EDA综合工具与其他外部逻辑电路结合成一体,根据各种不同的半导体工艺,设计成具有不同性能的器件。可以商品化的软IP内核一般电路结构总门数都在5000门以上。但是,如果后续设计不当,有可能导致整个结果失败。软IP内核又称作虚拟器件。
硬IP内核是基于某种半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。
固IP内核的设计深度则是介于软IP内核和硬IP内核之间,除了完成硬IP内核所有的设计外,还完成了门电路级综合和时序仿真等设计环节。一般以门电路级网表形式提交用户使用。
随着电子系统的越来越复杂,PLD设计的越来越庞大,这就增加了市场对IP核的需求,各大FPGA/CPLD厂商陆续推出了许多IP核。例如:FIR(有限冲击响应)数字滤波器core;FFT(快速傅里叶变换)core,NCO(数控振荡器)core等,在设计中如果使用了这些知识产权核可以大大简化 FPGA/CPLD的设计,加速设计速度,缩短研发周期,并且较之于开发者自己的设计程序,这些IP有更好的运算、速度、SFDR参数、SNR参数等,达到良好的效果!
由于电磁波在传输过程中,经过色散介质,如不均匀的波导经过高空电离层时会发生色散现象。Chirp函数在射电天文信号的消色散处理中发挥着重要的作用,研究在FPGA中实现Chirp函数是基于FPGA的射电宇宙信号处理的重要组成部分。如图1所示。

该设计就是通过实时的改变NCO IP core的输入频率控制字的办法,数控频率输出的办法实现Chirp函数。
1 系统总体设计
Chirp函数根据输出频率的递变规律一般分为两种:线性Chirp函数和非线性Chirp函数,以下是两种Chirp函数在频域上的表现如图2,图3所示。

从图2,图3可以看出Chirp函数的频率输出与时间的f-t关系可以总结为:
对于线性Chirp函数:在连续域时间域内有关系式:

式中:k为常数;f0为初始输出频率;t为连续时间。在离散时间域有关系式:

式中:k为常数;f0为初始输出频率;n为采样点。对于非线性Chirp函数:在连续域时间域内有关系式:

式中:f(t)为非线性函数;f0为初始输出频率;t为连续时间。在离散时间域有关系式:

式中:f(n)为非线性函数f0为初始输出频率;n为采样点。由上式可以看出Chirp函数在每一个时刻点具有不同的频率输出,而根据具体的频率变化的需要在每一个时刻点实时的改变其频率控制字是实现Chirp函数的关键。其算法框图如图4所示。

2 NCO IP Core
数字压控振荡器(指输出频率与输入控制电压有对应关系的振荡电路(VCO),频率是输入信号电压的函数的振荡器VCO,振荡器的工作状态或振荡回路的元件参数受输入控制电压的控制,就可构成一个压控振荡器。)知识产权核(Numerically Con-trolled Oscillators Intellectual Property Core,NCO IPCore),通过多种算法--比如相位累加或者CORDIC算法,实现了一个离散幅度和时间的正弦波信号输出。输入控制字和输出频率之间满足以下方程:
s(nT)=Asin[2π(f0+fFM)nT+ψPM+ψDITH)] (5)
式中:T为该模块的工作时钟;f0是由输入频率控制字ψINC决定的初始频率;fFM是由调制频率控制字ψFM决定的调制频率;ψPM为该输出正弦波的调制相位,ψPM=P/2Pwidth,由输入控制字P的比特位数(Pwidth)决定了它的;ψDITH为模块内部自身的不稳定而引起的相位杂散(噪声);幅值量A=2N-1,其中N为幅值取值在4~32之间。该设计中仅采用通过改变频率控制字ψINC,以实现改变频率输出的目的,为此式(5)可以简化为:

式中,f0由给定的频率控制字ψINC决定,满足如下方程:

式中:M为累加器;fclk为该模块的输入时钟频率,单位为Hz。例如:在fclk=100 MHz的情况下,如果需要f0=10 MHz的输出,ψINC的计算如下:

通过Altera公司的FPGA编程软件QuartusⅡ提供的MegaWizard Plug-In Manager功能,在NCO IPCore参数配置中自动对ψINC的计算,很容易得出在输入频率的条件下累加器为32 b的情况下所需输出频率的ψINC,如图6所示。

值得注意的是:在MegaWizard Plug-In Manage中,ψINC的只保留到了百位。 function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 650; if(w
3 频率控制字寄存器及驱动单元的设计
频率控制字寄存器为一个保存有N个输出频率所需的相位累加控制字的片上ROM单元,其作用在驱动单元输入地址控制字的作用下实时向NCOIP Core调入所需要的ψINC,在该设计中Chirp函数的频率变化规律是从1 MHz步进1 MHz输出到16 MHz。在该设计中选择的累加器为32 b,为此选择的逻辑单元的规律为如表1所示。

为此,建立一个深度为16,每个存储单元字长32b位的ROM,将表1内所有ψINC数据保存至NCO_1_16.mif文件中,在ROM建立时调用该mif文件。如图7所示。

在设计中,通过不同时间点向频率控制字寄存器写入不同的地址信号驱动,使存储器输出不同的频率控制字驱动NCO IP Core,产生不同的频率信号输出。该设计中采用两个计数器级联作为驱动单元,首先级计数器将钟频率降至需要的Chirp函数输出某频点的稳定时间范围,将级计数器的进位端作为第二级计数器的时钟输入端;第二级计数器的作用是,产生地址信号以驱动频率控制字存储器输出相应的控制字,当前级进位信号有效时该计数器输出加“1”。以达到改变频率输出的目的,其连接电路图如图9所示。

4 仿真与验证
将该设计通过将程序到Altera公司生产的DSP开发板(型号DK-DSP-2C70N)中进行仿真,其FPGA(型号为EP2C70F672C6)的资源使用情况如图10所示。

并通过该开发板上D/A转换器输出模拟波形(只截取了4个时刻的图样)如图11所示。

通过图11可以看出该设计能很好地完成扫频输出的功能,并且杂波分量很小,干扰很小。
5 结 语
该设计通过采用技术成熟的NCO IP Core完成,其优势主要体现在:
(1)利用了成熟的FPGA知识产权技术,使得设计更加简便并易于移植,可以缩短开发周期,加快产品的上市时间;
(2)利用NCO IP core的高稳定性,使得Chirp函数的各项噪声较之于其他设计更小,有利于对射电天文这样微弱信号的处理,可以相应的减少了处理带来的各种噪声。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









