基于FPGA的直接数字频率合成器的设计与实现.docVIP

基于FPGA的直接数字频率合成器的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的直接数字频率合成器的设计与实现.doc

  基于FPGA的直接数字频率合成器的设计与实现 ok3os工艺生产的高性能和多功能的dds芯片(其中应用较为广泛的是ad公司的ad985x系列),为电路设计者提供了多种选择。然而在某些场合,专用的dds芯片在控制方式、置频速率等方面与系统的要求差距很大,这时如果用高性能的fpga器件设计符合自己需要的dds电路就是一个很好的解决方法。   acex 1k是altera公司着眼于通信、音频处理及类似场合的应用而推出的fpga器件芯片系列,总的来看将会逐步取代flex 10k系列,成为首选的中规模器件产品。它具有如下特点:   (1)acex 1k采用查找表(lut)和eab(嵌入式阵列块)相结合的结构,特别适用于实现复杂逻辑功能存储器功能,例如通信中应用的数字信号处理、多通道数据处理、数据传递和微控制等。   (2)典型门数为1万到10万门,有多达49152位的ram(每个eab有4096位ram)。   (3)器件内核采用2.5v电压,功耗低,能够提供高达250mhz的双向i/o功能,完全支持33mhz和66mhz的pci局部总线标准。   (4)具有快速连续式延时可预测的快速通道互连(fast track);具有实现快速加法器、计数器、乘法器和比较器等算术功能的专用进位链和实现高速多扇入逻辑功能的专用级连接。   acex ep1k50具有典型门数50000门,逻辑单元2880个,嵌入系统块10个,完全符合单片实现dds电路的要求。因此采用它设计dds电路,设计工具为altera的下一代设计工具quartus软件。   1 dds电路工作原理   图1所示是一个基于的dds电路的工作原理框图。   dds的工作原理是以数控振荡器的方式产生频率、相位可控制的正弦波。电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、d/a转换器和低通滤波器(lpf)。频率累加器对输入信号进行累加运算,产生频率控制数据x(frequency data或相位步进量)。相位累加器由n位全加器和n位累加寄存器级联而成,对代表频率的2进制码进行累加运算,是典型的反馈电路,产生累加结果y。幅度/相位转换电路实质上是一个波形寄存器,以供查表使用。读出的数据送入d/a转换器和低通滤波器。   具体工作过程如下:   每来一个时钟脉冲fclk,n位加法器将频率控制数据x与累加寄存器输出的累加相位数据相加,把相加后的结果y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据x相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路(即图1中的波形存储器),幅度/相位转换电路根据这个地址输出相应的波形数据。最后经d/a转换器和低通滤波器将波形数据转换成所需要的模拟波形。   相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是dds信号的一频率周期。   dds输出信号的频率由下式给定:   fout=(x/y) ×fclk   假定基准时钟为70mhz,累加器为16位,则y=2 16=65536   fclk=70mhz   再假定x=4096,则   fout=(4096/65536) ×70=4.375mhz   可见,通过设定相位累加器位数、频率控制字x和基准时钟的值,就可以产生任一频率的输出。dds的频率分辨率定义为:   fout=fclk/y (2)   由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。如上面的例子,相位累加器为16位,那么频率分辨率就可以认为是16位。位数越多,分频率越高。   2 利用fpga设计dds电路   在用fpga设计dds电路的时候,相位累加器是决定dds电路性能的一个关键部分,小的累加器可以利用acex器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的lab(逻辑阵列块)和le(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。   另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。   综合考虑后,相位累加器采用进位链和流水线技术相结合的办法来证明,这样既能保证较高的资源利用率,又能大幅提高系统的性有和速度。   相位/幅度转换电路是dds电路中的另一个关键部分,设计中面临的主要问题就是资源的开销。该电路通常采用rom结构,相位累加器的输出是一种数字式锯齿波,通

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档