新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于Spartan3E的DDS優化設計

        一種基于Spartan3E的DDS優化設計

        作者: 時間:2011-09-15 來源:網絡 收藏

          在使用DDS時,需要為其提供頻率控制字K的值,一般通過中央控制單元MCU來完成,其以數據總線及寫時鐘信號的方式與內的DDS實體進行通訊,同時DDS在內部又是在本地時鐘fc驅動下運行。由于MCU的寫時鐘和內的本地時鐘異步,兩者之間進行通訊難免存在數據不穩等問題,特別是在通訊速度較高時,這一異步接口問題會更加突出。為了實現異步接口的同步化,本文提出了如圖3所示的接口同步電路。

          

        異步接口同步處理電路

        3 硬件實現及仿真結果

          本文使用VHDL 語言對各個模塊及DDS系統進行描述。頂層文件如下所示:

          Entity dds is

          Port(reset:in std_logic;--全局復位信號

          fre:in std_logic_vector(7 downto 0);

          --頻率控制字輸入

          clk:in std_logic;

          --系統時鐘

          fwwrn:in std_logic;      --頻率控制字寫信號

          gen:in std_logic_vector(0 downto 0);--波形控制字

          amp_out:out std_logic_vector(9 downto 0));

          --正弦波幅度輸出

          end dds;

          architecture Behavioral of dds is

          component fcwld--接口同步模塊

          Port(reset:in std_logic;

          clk:in std_logic;

          fre:in std_logic_vector(7 downto 0);

          fwwrn:in std_logic;

          syncfreq:out std_logic_vector(31 downto 0));

          --合成頻率控制字

          end component;

          component accumulator        --流水線累加器塊

          Port(reset:in STD_LOGIC;

          clk:in STD_LOGIC;

          syncfreq:in STD_LOGIC_VECTOR(31 downto 0);

          phase:out STD_LOGIC_VECTOR(7 downto 0));

          --相位高八位輸出

          end component;

          component rom--波形存儲器模塊

          Port(phase:in STD_LOGIC_VECTOR(7 downto 0);

          gen:in STD_LOGIC_VECTOR(0 downto 0);

          amp_out:out STD_LOGIC_VECTOR(9 downto 0));

          end component;

          為了對DDS進行評估,將以上設計在Xilinx公司的開發軟件中進行了設計及優化,目標器件為其最新的90nm工藝器件Spartan3E中最小器件XC3S100E-4VQ100C,該設計所占用的FPGA資源如表2所示。

          

        一種基于Spartan3E的DDS優化設計

          由表2可以看出,本文給出的DDS設計占用資源很少,由于XC3S100E的市場價格在2美金左右,故本設計所占的硬件成本可以縮減到0.2美金左右。同時在ISE8.2中該設計的系統時鐘最大達到159.6MHz。以上的設計性能幾乎和現有的專用芯片相當,但成本下降很多。

          為了進一步驗證本文給出的DDS設計系統在功能和時序上的正確性,對其進行了時序仿真,使用的仿真軟件為Modelsim6.1。仿真結果表明,該DDS系統可以運行在較高的工作頻率下。

          本文在對DDS的基本原理進行深入理解的基礎上,通過采用三種優化與設計技術:(1)使用流水線累加器在不過多增加門數的條件下,大幅提高了芯片的工作速度;(2)壓縮成正弦查找表,在保證芯片使用精度的情況下減少了近3/4面積,大大節約了ROM的容量。(3)采用同步接口電路設計方案,消除了系統的接口不穩定性。同時使用VHDL語言實現了優化,并把該設計適配到Xilinx公司的最新90nm工藝的Spartan3E系列的FPGA中,實際結果表明了本文給出的DDS設計方案在硬件開銷方面的優勢。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        關鍵詞: FPGA IP 嵌入式 PLD CPLD SoC 數字信號處理 消費電子 FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蒲城县| 长治县| 吉木萨尔县| 大方县| 屯留县| 达州市| 大同县| 龙山县| 龙泉市| 威信县| 肃南| 蓬安县| 绥江县| 霍城县| 荃湾区| 密云县| 庆阳市| 六枝特区| 东乡族自治县| 黔东| 工布江达县| 大姚县| 娄底市| 通榆县| 屏东县| 龙山县| 孝义市| 咸宁市| 象山县| 西宁市| 白山市| 普定县| 高平市| 正阳县| 舟曲县| 行唐县| 黑龙江省| 全州县| 班戈县| 龙里县| 囊谦县|