當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]在深入理解DDS基本原理的基礎(chǔ)上,采用多級流水線控制技術(shù)對DDS的VHDL語言實現(xiàn)進行了優(yōu)化,并進行了異步接口的同步化設(shè)計,給出了DDS系統(tǒng)的時序仿真結(jié)果及其在FPGA中的資源占有率。

新一代的直接數(shù)字頻率合成DDS,采用全數(shù)字的方式實現(xiàn)頻率合成。與傳統(tǒng)的頻率合成技術(shù)相比DDS具有以下特點:(1)頻率轉(zhuǎn)換快。直接數(shù)字頻率合成是一個開環(huán)系統(tǒng),無任何反饋環(huán)節(jié),其頻率轉(zhuǎn)換時間主要由頻率控制字狀態(tài)改變所需的時間及各電路的延時時間所決定,轉(zhuǎn)換時間很短。(2)頻率分辨率高、頻點數(shù)多。DDS輸出頻率的分辨率和頻點數(shù)隨相位累加器位數(shù)的增長而呈指數(shù)增長,分辨率高達μHz。(3)相位連續(xù)。DDS在改變頻率時只需改變頻率控制字(即累加器累加步長),而不需改變原有的累加值,故改變頻率時相位是連續(xù)的。(4)相位噪聲小。DDS的相位噪聲主要取決于參考源的相位噪聲。(5)控制容易、穩(wěn)定可靠。高集成度、高速和高可靠是FPGA/CPLD最明顯的特點,其時鐘延遲可達納秒級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控方面有非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計得當(dāng),將不會存在類似于MCU的復(fù)位不可靠和PC可能跑飛等問題。CPLD/FPGA的高可靠性還表現(xiàn)在,幾乎可將整個系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。所以,本文將在對DDS的基本原理進行深入理解的基礎(chǔ)上,采用多級流水線控制技術(shù)對DDS的VHDL語言實現(xiàn)進行優(yōu)化,同時考慮到系統(tǒng)設(shè)計中的異步接口的同步化設(shè)計問題,把該設(shè)計適配到Xilinx公司的最新90nm工藝的Spartan3E系列的FPGA中。
1 DDS基本原理及工作過程
  一個基本的DDS由相位累加器、波形存儲器ROM、D/A轉(zhuǎn)換器和低通濾波器組成,如圖1所示。


  在圖1中,fc為時鐘頻率,K為頻率控制字(N位),m為ROM地址線位數(shù),n為ROM數(shù)據(jù)線寬度(一般也為D/A轉(zhuǎn)換器的位數(shù)),f0為輸出頻率。DDS的基本工作過程如下:每來一個時鐘
脈沖fc,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。其中相位累加器由N位加法器與N位累加寄存器級聯(lián)構(gòu)成,累加寄存器將加法器在上一個時鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此可見,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。用相位累加器輸出的數(shù)據(jù)作為波形存儲器ROM的相位取樣地址,可把存儲在波形存儲器內(nèi)的波形抽樣值(二進制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。波形存儲器的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號,由低通濾波器濾除雜散波和諧波以后,輸出一個頻率為f0的正弦波。輸出頻率f0與時鐘頻率fc之間的關(guān)系滿足下式:
  

  由式(1)可見,輸出頻率f0由fc和K共同決定,保持時鐘頻率一定,改變一次K值,即可合成一個新頻率的正弦波。DDS的最小輸出頻率(頻率分辨率)△f可由方程△f=f0/2N確定。可見,頻率分辨率在fc固定時,取決于相位累加器的位數(shù)N。只要N足夠大,理論上就可以獲得足夠高的頻率分辨精度。另外,由采樣定理,合成信號的頻率不能超過時鐘頻率的一半,即f0≤f0/2,因此頻率控制值的最大值Kmax應(yīng)滿足Kmax≤2N-1。
2 DDS的優(yōu)化設(shè)計與實現(xiàn)
  采用VHDL硬件描述語言實現(xiàn)整個電路,不僅利于設(shè)計文檔的管理,而且方便了設(shè)計的修改和擴充,還可以實現(xiàn)在不同F(xiàn)PGA器件[4]之間的移植。以下采用VHDL語言,探討對FPGA
實現(xiàn)DDS電路的三點優(yōu)化方法。
2.1 流水線累加器
  在用FPGA設(shè)計DDS電路時,相位累加器是決定DDS電路性能的一個關(guān)鍵部分。為使輸出波形具有較高的分辨率,本系統(tǒng)采用32位累加器。但若直接用32位加法器構(gòu)成累加器,則
加法器的延時會大大限制累加器的操作速度。因此,這里引入了流水線算法,即采用4個8位累加器級聯(lián)結(jié)構(gòu),每級用一個8位累加器實現(xiàn)該部分相位相加,然后將進位值傳給下一級做進一步累加。這樣可大幅提高系統(tǒng)的工作速度。但由于累加器是一個閉環(huán)反饋電路,因此必須使用寄存器,以保證系統(tǒng)的同步、準(zhǔn)確運行。具體實現(xiàn)如圖2所示。


2.2 相位/幅度轉(zhuǎn)換電路
  相位/幅度轉(zhuǎn)換電路是DDS電路中的另一個關(guān)鍵部分,設(shè)計中面臨的主要問題就是資源的開銷。該電路通常采用ROM結(jié)構(gòu),相位累加器的輸出是一種數(shù)字式鋸齒波,通過取它的若
干位作為ROM的地址輸入,而后通過查表和運算,ROM就能輸出所需波形的量化數(shù)據(jù)??紤]到正弦函數(shù)的對稱性:在[0,2π]內(nèi),正弦函數(shù)關(guān)于x=π成奇對稱,在[0,π]內(nèi),關(guān)于x=π/2成軸對稱。因此,在正弦查找表中只須存儲相位在[0,π/2]的函數(shù)值。這樣,通過一個正弦碼表的前1/4周期就可以變換得到整個周期碼表,節(jié)省了近3/4的資源,非??捎^。具體實現(xiàn)如表1所示,為節(jié)省ROM資源,取相位累加器輸出的高8位做為ROM的輸入地址,其中最高位(MSB)控制對輸出信號符號的處理,次高位(MSB-1)控制對輸入地址的處理。


  當(dāng)MSB-1為‘0’(一,三象限)時,對查找地址phase(5...0)不做任何處理;當(dāng)其為‘1’(二,四象限)時,對phase(5...0)取反。ROM的輸出為10位數(shù)據(jù),其中最高位為符號位
。當(dāng)MSB為‘0’(一,二象限)時,輸出信號符號位為‘0’,低9為ROM中的幅度數(shù)據(jù);當(dāng)其為‘1’(三,四象限)時,輸出信號符號位為‘1’,低9位為ROM中的幅度數(shù)據(jù)的相反數(shù)的補碼。ROM的VHDL實現(xiàn)的主要部分如下:
  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è)計
  在使用DDS時,需要為其提供頻率控制字K的值,一般通過中央控制單元MCU來完成,其以數(shù)據(jù)總線及寫時鐘信號的方式與FPGA內(nèi)的DDS實體進行通訊,同時DDS在FPGA內(nèi)部又是在本地時鐘fc驅(qū)動下運行。由于MCU的寫時鐘和FPGA內(nèi)的本地時鐘異步,兩者之間進行通訊難免存在數(shù)據(jù)不穩(wěn)等問題,特別是在通訊速度較高時,這一異步接口問題會更加突出。為了實現(xiàn)異步接口的同步化,本文提出了如圖3所示的接口同步電路。


3 硬件實現(xiàn)及仿真結(jié)果
  本文使用VHDL 語言對各個模塊及DDS系統(tǒng)進行描述。頂層文件如下所示:
  Entity dds is
    Port(reset:in std_logic;--全局復(fù)位信號
    fre:in std_logic_vector(7 downto 0);
                    --頻率控制字輸入
    clk:in std_logic;
                    --系統(tǒng)時鐘
    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進行評估,將以上設(shè)計在Xilinx公司的開發(fā)軟件中進行了設(shè)計及優(yōu)化,目標(biāo)器件為其最新的90nm工藝器件Spartan3E中最小器件XC3S100E-4VQ100C,該設(shè)計所占用的
FPGA資源如表2所示。


  由表2可以看出,本文給出的DDS設(shè)計占用資源很少,由于XC3S100E的市場價格在2美金左右,故本設(shè)計所占的硬件成本可以縮減到0.2美金左右。同時在ISE8.2中該設(shè)計的系統(tǒng)
時鐘最大達到159.6MHz。以上的設(shè)計性能幾乎和現(xiàn)有的專用芯片相當(dāng),但成本下降很多。
  為了進一步驗證本文給出的DDS設(shè)計系統(tǒng)在功能和時序上的正確性,對其進行了時序仿真,使用的仿真軟件為Modelsim6.1。仿真結(jié)果表明,該DDS系統(tǒng)可以運行在較高的工作頻率下。
  本文在對DDS的基本原理進行深入理解的基礎(chǔ)上,通過采用三種優(yōu)化與設(shè)計技術(shù):(1)使用流水線累加器在不過多增加門數(shù)的條件下,大幅提高了芯片的工作速度;(2)壓縮成正
弦查找表,在保證芯片使用精度的情況下減少了近3/4面積,大大節(jié)約了ROM的容量。(3)采用同步接口電路設(shè)計方案,消除了系統(tǒng)的接口不穩(wěn)定性。同時使用VHDL語言實現(xiàn)了優(yōu)化,并把該設(shè)計適配到Xilinx公司的最新90nm工藝的Spartan3E系列的FPGA中,實際結(jié)果表明了本文給出的DDS設(shè)計方案在硬件開銷方面的優(yōu)勢。
參考文獻
[1] TIEREY J,RADER C,GOLD B.A digital frequency synthe-sizer.IEEE trans.Audio and electroacoust.1971,48:57.
[2] VANKKA J,WALTARI M.Direct digital synthesizer with on-Chip D/A-Converter.IEEE J.of SCC,VoL33,1998,218:227.
[3] 褚振勇,翁木云.FPGA設(shè)計及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003:288-293.
[4] 林名權(quán).VHDL數(shù)字控制系統(tǒng)設(shè)計范例[M].北京:電子工業(yè)出版社,2003.
[5] 徐彬,譚征,袁蕾,等.基于DDS技術(shù)的任意波形發(fā)生器[J].電子世界,2001,1:58-60.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉