EDN China > 设计实例 > EDA工具与服务 > IP核 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于NCO IP core的Chirp函数实现设计

董亮 汪敏 高亦菲 高冠男?? 2009年12月02日 ?? 收藏0

  0 引 言

  IP就是知识产权核或者知识产权模块的意思。在EDA技术和开发领域具有十分重要的作用,在半导体产业中IP定义为用于ASIC或FPGA/CPLD中预先设计好的电路功能模块。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所示。

基于FPGA的射电宇宙信号处理

  该设计就是通过实时的改变NCO IP core的输入频率控制字的办法,数控频率输出的办法实现Chirp函数。

  1 系统总体设计

  Chirp函数根据输出频率的递变规律一般分为两种:线性Chirp函数和非线性Chirp函数,以下是两种Chirp函数在频域上的表现如图2,图3所示。

两种Chirp函数在频域上的表现

  从图2,图3可以看出Chirp函数的频率输出与时间的f-t关系可以总结为:

  对于线性Chirp函数:

  在连续域时间域内有关系式:

Chirp函数的频率输出与时间的f-t关系
??
式中:k为常数;f0为初始输出频率;t为连续时间。

  在离散时间域有关系式:

线性Chirp函数
??
式中:k为常数;f0为初始输出频率;n为采样点。

  对于非线性Chirp函数:在连续域时间域内有关系式:

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

  在离散时间域有关系式:

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

算法框图

  2 NCO IP Core

  数字压控振荡器知识产权核(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的计算如下:

ψINC的计算

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

所需输出频率的

  值得注意的是:在MegaWizard Plug-In Manage中,ψINC的精度只保留到了百位。

  3 频率控制字寄存器及驱动单元的设计

  频率控制字寄存器为一个保存有N个输出频率所需的相位累加控制字的片上ROM单元,其作用在驱动单元输入地址控制字的作用下实时向NCOIP Core调入所需要的ψINC,在该设计中Chirp函数的频率变化规律是从1 MHz步进1 MHz输出到16 MHz。在该设计中选择的累加器精度为32 b,为此选择的逻辑单元的规律为如表1所示。

逻辑单元的规律


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

NCO? Chirp函数? FPGA?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈