基于FPGA的直接数字频率合成器的设计/实现
扫描二维码
随时随地手机看文章
摘要:介绍了Altera公司的即FPGA器件ACEXEPlK50的主要特点,给出了由ACEXEPlK50实现直接数字频率合成的工作原理、设计思路、电路结构和改进优化方法。
关键词:直接数字频率合成(DDS); 现场可编程门阵列(FPGA); ACEXEPlK50
分类号:TN741 文献标识码:B 文章编号:1006-6977(2003)01-0004-02
1概述
直接数字频率合成技术(Direct Digital FrequencySynthesis.即DDFS,一般简称DDS)是从相位直接合成所需波形的一种新的频率合成技术。近年来,DDS技术和器件水平的不断发展,使得DDS合成技术也得到了飞速的发展。目前,该技术在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力以及集成化等一系列性能指标已远远超过了传统的频率合成技术所能达到的水平,从而完成了频率合成技术的又一次飞跃,同时也已成为目前运用最广泛的频率合成技术。
随着新型直接频率合成技术的发展,各大芯片制造厂商都相继推出了采用先进CMOS工艺生产的高性能、多功能DDS芯片(其中应用较为广泛的是AD公司的AD985X系列)。从而为电路设计者提供了多种选择。但在某些场合,专用DDS芯片在控制方式、置频速率等方面与系统的要求仍然有很大差距,在这种情况下,采用高性能的FPGA器件设计符合自己需要的DDS电路无疑是一种很好的解决方法。
ACEX 1K器件是Altera公司着眼于通信、音频处理及类似场合的应用而推出的芯片系列,ACEX1K器件正逐步取代FLEX l0K系列成为首选的中规模器件产品。它具有如下优越性:
(1)高性能
ACEX 1K器件采用查找表(LUT)和EAB(嵌入式阵列块)相结合的结构形式,可实现复杂逻辑功能和存储器功能,如通信应用中的DSP、多通道数据处理、数据传递和微控制等。
(2)高密度
ACEX lK器件的典型门数在1万到10万门之间,带有多达49152位的RAM(每个EAB有4096位的RAM)。
(3)具有系统级性能
器件内核采用2.5V电压,功耗低,能够提供高达250MHz的双向I/O功能,完全支持33MHz和66MHz的PCI局部总线标准。
(4)灵活的内部互联
ACEX lK系列器件具有快速连续式延时可预测的快速通道互连(Fast Track),提供有实现快速加法器、计数器、乘法器和比较器等算术功能的专用进位链和实现高速多扇入逻辑功能的专用级连链。
本设计采用的是ACEX EPlK50,它的典型门数为50000门,逻辑单元有2880个,嵌入系统块有10个,因此,可完全符合使用单片实现DDS电路的基本要求。其设计工具为Altera的下一代设计工具Quartus软件。
2 基于FPGA的DDS设计
2.1相位累加器的设计
用FPGA设计DDS电路时,相位累加器是决定DDS性能的一个关键部分。小的累加器可以通过ACEX器件的进位链得到快速、高效的电路设计。然而,由于进位链必须位于临近的LAB(逻辑阵列块)和LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统的运行速度。
另一种提高速度的办法是采用流水线技术,即把一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。流水线技术比较适合于开环结构(open-loop)的电路,而在累加器这样的闭环反馈(close-loop feed-back)电路中,使用时必须谨慎考虑,以保证设计的准确无误。
经综合考虑,这一部分设计采用进位链和流水线技术相结合的办法,这样既能保证较高的资源利用率,又能大幅度提高系统的性能和速度。
2.2相位/幅度转换电路
相位/幅度转换电路是DDS电路中的另一个关键部分,设计中面临的主要问题是资源的开销。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,它的高若干位可作为ROM的地址输入,而后通过查表(LUT)和运算,ROM便可输出所需波形的量化数据。ROM一般在FPGA(针对Altera公司的器件)中由EAB实现,由于ROM表的尺寸随着地址位数或数据位数的增加而成指数递增关系,因此,在满足信号性能的前提下,如何减少资源的开销就成为一个重要的问题,在实际设计时,笔者充分利用了信号周期内的对称性和算术关系来减少EAB的开销。
2.3控制电路
在实际设计中,笔者参照项目的具体要求设计了一个系统控制电路。图1所示是综合以上考虑后,利用ACEX EPlK50设计的DDS电路的功能框图。
3 设计说明
采用Verilog硬件描述语言来实现整个电路不仅有利于设计文档的管理,而且可以方便设计的修改和扩充,同时还可在不同的FPGA器件之间进行移植。
图1中,整个系统只加入了一级流水线来提高速度。需要说明的是:在ROM和系统控制电路之间也可以加入流水线,但实际仿真表明,其效果并不明显,而且消耗了更多的资源,因此,本设计只加入了一级流水线。
为了进一步提高速度,在对DDS电路的相位累加器模块和加法器模块进行设计时,并没有采用,FPGA单元库中的16-32位加法器,尽管利用它们可以很容易的实现高达32位的相位累加器,但当工作频率较高时,这种方法不可取,因为它们具有较大的延时而不能满足速度要求。因此,具体实现时,笔者分别用了4个和8个4位累加器,并以流水线方式来实现16位和32位累加器和加法器。比较仿真结果表明:采用流水线技术可以大大提高系统的工作速度。
相位/幅度变换电路也是比较难以实现的部分,因为设计时不仅要解决速度问题,还要考虑节省资源的问题。因此,如何有效利用FPGA有限的资源是实现相位/幅度变换电路的最关键的一点。
在实际设计中,笔者将着眼点主要放在了节省资源上,相位/幅度转换电路中的主要问题是ROM的大小。由于本设计的DDS主要用于数字视频编码,因此,只需输出余弦(正弦)波,由于余弦波信号对于X=π直线成偶对称,所以可以将ROM表减至原来的1/2,再利用左半周期内波形对于点(π/2,0)成奇对称的特性来进一步将ROM表减至最初的1/
4,这样通过一个正弦码表的前1/4周期就可以变换得到正弦和余弦的整个周期码表,从而节省了将近3/4的资源而使系统得到了优化,同时,其效果也非常可观。
系统控制电路主要是根据是否需要相位调制(BPSK)及频率调制(BFSK)、系统时钟是否需要分频以得到所需的基准时钟、频率码的输入方式是串行、并行还是微机接口方式以及如何控制输出等具体要求来设计的。这一部分可以灵活设计,以凸现FPGA的优点。
虽然有些专用DDS芯片的功能也比较多,但控制方式却是固定的,而利用ACEX EPlK50器件则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,因而具有良好的实用性。
参考文献
1.张厥盛,曹丽娜.锁相与频率合成技术 .成都:电子科技大学出版社
2.A Direct-Digital Synthesizer with lmproved Spectral Performance,IEEE Tran,On Communication.Vol 39 No 7.July 1991
3.徐立成.直接数字合成技术的应用.舰用雷达和对抗,1991(2)
4.Altera lnc.DATA BOOK.Altera Corporation,2001
5.夏宇闻.复杂数字电路与系统的Verilog HDL设计技术.北京:北京航空航天大学出版社,1998
6. ACEX1Kdatasheethttp://www.dzsc.com/datasheet/ACEX1K_1307867.html.
7. PCIdatasheethttp://www.dzsc.com/datasheet/PCI_1201469.html.
8.ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
来源:零八我的爱0次