關 閉

        新聞中心

        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)的電路中必須謹慎考慮,以保證設計的準確無誤。

          綜合考慮后,這一部分決定采用進位鏈和流水線技術相結合的辦法,這樣既能保證較高的資源利用率,又能大幅提高系統的性能和速度。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙游县| 乐东| 六盘水市| 台中县| 洪洞县| 谷城县| 绥阳县| 松阳县| 海安县| 海盐县| 鹰潭市| 嵊州市| 讷河市| 武清区| 航空| 井研县| 普陀区| 宁海县| 迁西县| 澄江县| 仪征市| 马关县| 奈曼旗| 黑水县| 星座| 镇江市| 铜梁县| 阿巴嘎旗| 廉江市| 怀柔区| 河曲县| 通城县| 绵阳市| 合水县| 谢通门县| 嘉义县| 类乌齐县| 六盘水市| 达日县| 仲巴县| 迭部县|