- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的直接数字频率合成技术设计
作者:张华桦????文章来源:国外电子元器件
摘要:介绍了利用现场可编程逻辑门阵列FPGA实现直接数字频率合成(DDS)的原理、电路结构和优化方法。重点介绍了DDS技术在FPGA中的实现方法,给出了采用ALTERA公司的ACEX系列FPGA芯片EP1K30TC进行直接数字频率合成的VHDL源程序。
直接数字频率合成(Direct Digital Fraquency Syn-thesis即DDFS,一般简称DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面已远远超过了传统频率合成技术。当累加器的N很大时,最低输出频率可达Hz、mHz甚至μHz。也就是说:DDS的最低合成频率接近于零频。如果fc为50MHz, 那么当N为48位时,其分辨率可达179nHz。转换时间最快可达10ns的量级,这都是传统频率合成所不能比拟的。但它的不足之处是最高工作频率会受限、噪声和杂波不够理想。
本设计采用ALTERA 公司的FPGA芯片EP1K30TC-144来实现DDS技术。EP1K30芯片属ALTERA 公司的ACEX系列,该系列是ALTERA公司着眼于通信、音频处理及类似场合应用而推出的FPGA器件系列芯片,它采用0.22/0.18微米混合工艺,密度从10000门到100000门。所有ACEX系列器件均兼容64bit、66MHz的PCI,并支持锁相环电路。ACEX 1K采用查找表(LUT)和EAB(嵌入式阵列块)相结合的结构,可用来实现存储器、专用逻辑功能和通用逻辑功能,每个EBA能提供4096比特的存储空间,每个LE包含4个输入LUT、一个可编程的触发器、进位链和一个层叠链。合理运用进位链能够提高系统运行速度。
EP1K30TC-144的最大系统门数为119000,它有1728个逻辑宏单元数和5个嵌入式阵列块,最大可提供2kB的ROM/RAM位,因而可完全满足DDS设计的要求。1 DDS的实现过程
图1为DDS系统的基本原理图,图中的相位累加器由N位全加器和N位累加寄存器级联而成,可对频率控制字的2进制码进行累加运算,是典型的反馈电路,产生的累加结果的高M位作为ROM查找表的取样地址值,而此查找表中储存了一个周期的正弦波幅度值。显然,此处存储器ROM可以看作一个从相位到正弦幅值的转换器。这样,用ROM的输出值来驱动DAC,然后经滤波即可转换成所需要的模拟正弦波形;同时N位累加输出又可作为全加器的下一轮数据与频率数据相加,直到相位累加器加满产生溢出,从而完成一个周期,也就是DDS信号的频率周期。2 DDS在FPGA中的实现
考虑到本系统的规模以及以后的扩展需要,该系统中的DDS电路采用VHDL硬件描述语言来实现,因为VHDL语言设计的电路模块可以方便地移植到不同的FPGA芯片中。由于硬件原因,本系统的最高频率为100kHz,因此,采用常规设计即可满足要求,但若要应用于高速系统,还要采用一些提高系统运行速度的措施,如采用流水线技术,即在设计中把延时较大的组合逻辑块切割成两块大致相等的组合逻辑块,并在这两个逻辑块中插入触发器,也可通过多个触发器时钟来提高系统速度,还可以采用ALTREA 公司的FPGA器件所特有的进位链来设计高速电路。??? 图2所示为一个具有频率、相位与幅度调制的DDS系统的FPGA组成框图。它的频率调制可以在调谐寄存器与相位累加器之间插入一加法器来实现,频率调制与相位调制有相同的分辨率,因此,频率可以覆盖整个调谐频段。相位调制器可通过在相位累加器后插入一个加法器来实现。幅度调制则是在正弦查找表后插入一个乘法器来实现。该系统具有高精度、高稳定性等特点。
2.1 ROM查找表的设计
ROM查找表在整个设计中是一个比较重要的部分。为了保证波形的平滑,设计时可将一个周期分为1024个点。但是,点数太多时,用文本方式输入可能有很多困难。因此,应当用C语言描述正弦方程式,最后再将其转化为所需的mif文件。以下是其C语言的源程序:
main()
{int i;float s;
for(i=0;i<1024;i++)
{ s = sin(atan(1)*8*i/1024);
......
2.2 DDS主模块设计
DDS主模块部分可根据上述原理,采用VHDL来描述,以下是部分源程序:
BEGIN
PROCESS (clk)
BEGIN
IF(clk'event AND clk='1') THEN
\\时钟上升沿触发
freqw<=freqin;
acc<=acc+freqw; \\开始累加
END IF;
END PROCESS;
romaddr<=acc(adder width-1 do
文档评论(0)