关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于FPGA的直接数字频率合成器的设计实现

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

作者:时间:2008-11-26来源:网络收藏

  具体工作过程如下:

  每来一个时钟脉冲,N位加法器将频率控制数据X与累加寄存器输出的累加相位数据相加,把相加后的结果 送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路(即图1中的波形存储器),幅度/相位转换电路根据这个地址值输出相应的波形数据。最后经数/模转换和将波形数据转换成所需要的模拟波形。

  相位在基准时钟的作用下,进行累加,当相位累加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是合成信号的一个频率周期。

  输出信号的频率由式(1)给定:

  =(X/Y)× (1)

  例如,我们假定基准时钟为70 MHz,为16位,则:

  Y=216= 65,536

  =70MHz

  再假定X=4096,则:

  =4096/65,536×70

  =4.375MHz

  可见,理论上通过设定相位累加器位数频率控制字X和基准时钟的值,就可以产生任一频率的输出。而DDS的频率分辨率定义为:

  / Y (2)

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

  利用 FPGA(ACEX EP1K50)

  设计DDS

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

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

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



评论


相关推荐

技术专区

关闭