首页 » 技术文章 » Chirp函数的Nios Ⅱ嵌入式实现

Chirp函数的Nios Ⅱ嵌入式实现

作者:  时间:2010-05-27 11:14  来源:EDN

  0

  SoC(System on(2hip)20世纪90年代提出的概念,它是将多个功能模块集成在一块硅片上,提高芯片的集成度并减少外设芯片的数量和相互之间在PCB上的连接,同时系统性能和功能都有很大的提高。随着FPGA芯片工艺的不断发展,设计人员在FPGA中嵌入软核处理器成为可能,AlteraXilinx公司相继推出了SoPC(System on a Programmable Chip)的解决方案,它是指在FPGA内部嵌入包括(PtJ在内得各种IP组成一个完整系统,在单片FPGA中实现一个完整地系统功能。与SoC相比,SoPC具有更高的灵活性,FPGA的可编程特性使之可以根据需要任意定制SoC系统;与ASIC相比,SoPC具有设计周期短,设计成本低的优势,同时开发难度也大大降低。由于电磁波在传输过程中,经过色散介质如不均匀的波导,高空电离层时会发生色散现象,Chirp函数在射电天文信号的消色散处理中发挥着重要的作用,研究在FPGA中实现Chirp函数是基于FPGA的射电宇宙信号处理的重要组成部分。

  l 系统总体设计

  图1为基于FPGA的射电宇宙信号处理框图。

  该设计是基于SoPC技术设计的Chirp函数信号发生器,该系统把微处理器模块和DDs模块集成到单片FPGA芯片内部,通过在嵌入式操作系统μCOS-编写的程序,实时控制微处理器对DDS的控制字输出,DDS模块根据频率控制字的不同,输出不同的数字化正弦波。使之符合Chirp函数的时变频率特征。Chirp函数根据输出频率的递变规律一般分为两种:线性Chirp函数和非线性Chirp函数,以下是两种Chirp函数在频域上的表现图如图2,图3所示。

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

  (1)对于线性Chirp函数

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

  式中:k为常数;f0为初始输出频率;t为连续时间。

  在离散时间域有关系式:

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

  (2)对于非线性Chirp函数

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

  式中:f为非线性函数;f0为初始输出频率;t为连续时间。

  在离散时间域有关系式: 

  式中:f为非线性函数;f0为初始输出频率;n为采样点。

  因此该Chirp信号源的功能是:在NiosⅡ中建立的微控制器;使用嵌入式操作系统μCOS-Ⅱ建立对DDS频率控制字输出实时改变的任务;根据线性和非线性Chirp函数的特点控制字的输出根据需要线性或者非线性输出,并且在此设计中将该任务的优先级设置为最高。利用VHDL语言编写DDS模块,首先根据Matlab计算出需要的正弦数据,然后将这些数据存储于ROM中供DDS模块调用,并且通过微控制器中的Jtag_uart传输模块在编程监视窗口实时观测当前输入频率的大小,具体结构如图4所示。

  2 DDS模块的设计

  数字式频率合成器(DDS)模块的工作原理是:将O的正弦函数值分为N份,将各点的幅度值存入ROM中,再用一个相位累加器每次累加相位值ωT,得到当前的相位值,通过查找ROM得到当前的幅度值。其系统框如图5所示。

  DDS的几个主要参数是:系统时钟频率,频率控制字长,频率分辨率,ROM单元数,ROM字长。该设计的DDS32位的,时钟频率为50 MHz,频率控制字长为32位,ROM单元数为211次方,ROM字长为16位。而且有如下关系:

  频率分辨率=系统时钟频率/232

  频率控制字(FTW)=f×232T

  其中:f为要合成的频率;T为系统时钟。

  DDS的工作过程为:每次时钟的上升沿到来时,相位累加器(32)中的值累加上频率寄存器(32)中的值,再利用累加器的高11位作为地址进行ROM查表,输出相应的幅值数字信号。

  如果是扫频工作,只需要根据一定的规律实时修改频率控制字,就可以达到扫频输出的目的。但是该系统的性能受到以下两个方面的制约:ROM单元数和ROM数值的有限字长。由于ROM大小的限制,ROM的单元地址位数一般都远小于相位累加器的位数,这样只能取相位累加器的高位作为ROM的地址进行查询,这就相当于引入了一个相位误差。而且ROM的有限字长,不能精确表示幅度值,相当于引入了一个量化误差。因此应根据系统的性能要求选择合理的ROM。为了解决ROM的受限问题,该设计采用ROM压缩技术。因为正弦函数存在对称和反转特性,即:

  对于O2兀的幅度值,可以只存储Oπ2的部分。这样原本需要的211次方个单元的ROM现在只需要29次方个单元的ROM就可以实现。在MatIab中产生16512点的Oπ2正弦波数据的命令如下:

  将Y数据依次存入Altera公司提供的Megawiz-ard宏单元实现的ROM中即可。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点