新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CORDIC 2FSK调制器的FPGA设计

基于CORDIC 2FSK调制器的FPGA设计

作者:时间:2011-06-03来源:网络收藏

1.2 流水线结构

算法的实现方式有2种:简单状态机法和高速全流水线处理器法。如果计算时间的要求不严格,可以采用状态机结构。这一结构中最复杂的就是两个桶状移位器,而桶状移位器的面积大约和它所包含的传输门的数目成正比。尽管可以通过改进算法来减小CORDIC处理器的总面积,但桶状移位器所占的面积并不能减小。另外,这种结构由于只在时间上复用资源,因此,数据吞吐率不高。

由于CORDIC算法的内部数据流规则,决定了在CORDIC处理器解决方案中非常适合采用流水线型微旋转结构。采用流水线可将一个算术操作分解成一些小规模的加减法和移位操作,并在多个比较高速的时钟内完成。另一方面,输出信号的精度只与CORDIC算法的旋转次数或流水单元数有关,即与级数有关。如需提高精度,只需简单地增加流水单元即可,其扩展性很好,而且这并不会大量增加的资源耗费。CORD-IC流水线结构的每一级迭代旋转的硬件实现基本单元如图2所示。

基于CORDIC算法2FSK调制器的FPGA设计

2 基于CORDIC算法正弦载波发生器的总体结构

正弦载波发生器系统结构如图3所示。

基于CORDIC算法2FSK调制器的FPGA设计

在该系统结构图中,CORDIC计算单元是核心。CORDIC计算单元的输入由相位加法器提供。相位加法器不间断地产生角度值,由CORDIC计算单元计算出相应的三角函数值,即可在其输出端产生连续的数字正弦载波。

通过频率控制字,改变相位累加器的步长,这样即可改变正弦载波的频率。具体的数学推导如下:

设相位累加器的字长为N,频率控制字即步长为step,则2N就相当于2π rad,N位中的最低有效位相当于2π/2N rad,即最小的相位增量,step对应的相位为step×(2π/2N)rad,完成一个周期的正弦载波输出需要2N/step个参考时钟周期。所以输出正弦载波的周期为:

基于CORDIC算法2FSK调制器的FPGA设计

可见改变相位累加器的步长step,可以改变正弦载波的频率;改变相位累加器的字长N,可控制正弦载波的频率分辨率。在相位累加器后加入相位加法器,通过改变相位控制字P,可以控制输出信号的相位;通过设置幅度控制字A,可控制最终输出的正弦载波的幅度大小。因此,通过对相位控制字、频率控制字或幅度控制字进行多路选择,可以形成不同进制的调制方式。可以看出,使用该结构可以很容易实现频率调制、相位调制和幅值调制。

3 设计

图4为顶层工程原理图。该原理图主要由三个模块组成:2选1数据选择器MUX21、相位累加器adder、正弦载波生成模块eor-dic。其中,clk为系统时钟信号,rst为系统清零信号,step1,step2为2个不同的频率控制字,s为系统频率控制字选通端。2选1数据选择器的选通端s受基带信号控制,当基带信号为‘0’时,选通控制字step1;当基带信号为‘1’时,选通控制字step2。通过对step1,step2的选择,可以实现频率的切换。

基于CORDIC算法2FSK调制器的FPGA设计

在QuartusⅡ环境中,三个子模块均用VHDL语言进行设计,系统顶层工程采用原理图进行设计,对系统顶层工程进行器件选择、引脚锁定、编译、综合后下载到Cyclone系列EP1C12Q240C8器件中,通过在频率控制字的引脚选择不同参数即可在器件中完成的设计。

4 系统硬件实时测试

调制器的输出信号为数字信号,经D/A转换后可以通过示波器进行测试,也可以直接采用QuartusⅡ软件中的嵌入式逻辑分析仪Signal-TapⅡ进行测试。

采用SignalTapⅡ进行芯片测试,用户无需外接专用仪器,就可以对FPGA器件内部所有信号和节点进行捕获分析,而又不影响原硬件系统的正常工作。经测试得到的实时波形如图5所示。测试结果表明,基于FPGA和CORDIC算法的2FSK调制器设计方案是正确可行的,且波形流畅,在转换处能快速进行切换。

基于CORDIC算法2FSK调制器的FPGA设计

5 结语

用FPGA和CORDIC算法实现信号调制,既克服了传统方法耗费资源、运行速度低等缺点,还具有静态可重复编程和动态在系统重构的特性,极大地提高了电子系统设计的灵活性和通用性,大大缩短了系统的开发周期。

fpga相关文章:fpga是什么



上一页 1 2 下一页

关键词: CORDIC FPGA 2FSK调制器

评论


相关推荐

技术专区

关闭