保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


制字X和基准时钟的值,就可以产生任一频率的输出。DDS的频率分辨率定义为:

Fout=Fclk/Y (2)

由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。如上面的例子,相位累加器为16位,那么频率分辨率就可以认为是16位。位数越多,分频率越高。

2 利用FPGA设计DDS电路

在用FPGA设计DDS电路

的时候,相位累加器是决定DDS电路性能的一个关键部分,小的累加器可以利用ACEX器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的LAB(逻辑阵列块)和LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。

另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。

综合考虑后,相位累加器采用进位链和流水线技术相结合的办法来证明,这样既能保证较高的资源利用率,又能大幅提高系统的性有和速度。

相位/幅度转换电路是DDS电路中的另一个关键部分,设计中面临的主要问题就是资源的开销。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。

在FPGA(针对Altera公司的器件)中,ROM一般由EAB实现,并且ROM表的尺寸随着地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提条件下,如何减少资源的开销就是一个重要的问题。在实际设计时我们充分利用了信号周期内的对称性和算术关系来减少EAB的开销。

在实际设计中,根据项目具体要求,还设计了一个系统控制电路。

综合以上考虑,整个DDS电路的电路结构如图2所示。

采用Verilog硬件描述语言实现整个电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同FPGA器件之间实现移植。

由图2可以清楚地看出,整个系统只加入了一级流水线来提高速度。需要说明的是,在ROM和系统控制电路之间也可以加入流水线,但实际仿真表明效果不明显,反而消耗了更多的资源,因此综合考虑后只加入一级流水线。

为了进步提高速度,在设计相位累加器模块和加法器模块时并没有采用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的优点所在。

《基于FPGA的直接数字频率合成器的设计和实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145681.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。