<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > DDS的優(yōu)化設計介紹

DDS的優(yōu)化設計介紹

作者: 時(shí)間:2012-11-11 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/185570.htm

當MSB-1為‘0’(一,三象限)時(shí),對查找地址phase(5...0)不做任何處理;當其為‘1’(二,四象限)時(shí),對phase(5...0)取反。ROM的輸出為10位數據,其中最高位為符號位。當MSB為‘0’(一,二象限)時(shí),輸出信號符號位為‘0’,低9為ROM中的幅度數據;當其為‘1’(三,四象限)時(shí),輸出信號符號位為‘1’,低9位為ROM中的幅度數據的相反數的補碼。ROM的VHDL實(shí)現的主要部分如下:

architecture Behavioral of rom is

signal sin:STD_LOGIC_VECTOR(8 downto 0);

signal temp:STD_LOGIC_VECTOR(5 downto 0);

begin

temp=phase when MSB-1=′0′ else

not phase;

process(temp)

begin

case temp is

when ″000000″=>

sin=″000000000″;

…… --正弦查找表由MATLAB生成

end case;

end process;

data_out=″0″ sin when MSB=′0′ else

″1″ not sin+″000000001″;

end Behavioral;

2.3 同步接口電路設計

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

異步接口同步處理電路

3 硬件實(shí)現及仿真結果

本文使用VHDL 語(yǔ)言對各個(gè)模塊及DDS系統進(jìn)行描述。頂層文件如下所示:

Entity dds is

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

fre:in std_logic_vector(7 downto 0);

--頻率控制字輸入

clk:in std_logic;

--系統時(shí)鐘

fwwrn:in std_logic;      --頻率控制字寫(xiě)信號

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        --流水線(xiàn)累加器塊

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進(jìn)行評估,將以上設計在Xilinx公司的開(kāi)發(fā)軟件中進(jìn)行了設計及優(yōu)化,目標器件為其最新的90nm工藝器件Spartan3E中最小器件XC3S100E-4VQ100C,該設計所占用的FPGA資源如表2所示。

44.jpg

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

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

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: DDS 優(yōu)化設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>