崔唯佳,高磊,陳曉軍
(中北大學(xué)信息探測與處理技術(shù)研究所,山西 太原 030051)
隨著科學(xué)技術(shù)的發(fā)展, 普通的性能單一的波形發(fā)生器已經(jīng)越來越不能滿足實際的需求, 要想實現(xiàn)性能復(fù)雜、波形多樣的發(fā)生器, 頻率合成技術(shù)是一種較好的實現(xiàn)方法。頻率合成技術(shù)分為直接數(shù)字頻率合成技術(shù)( Direct Digital Frequency Synthesis, 簡稱DDS 或DDFS)、間接頻率合成技術(shù)、直接模擬頻率合成技術(shù)?;贒DS的任意波形發(fā)生器對硬件要求低, 頻率切換速度快,很容易提高其頻率分辨率和改變其頻率范圍。本文采用基于DDS技術(shù)結(jié)構(gòu)構(gòu)造正弦波形發(fā)生器, 充分利用單片機靈活的控制、豐富的外設(shè)處理能力和外設(shè)的替代性,實現(xiàn)頻率、幅值可調(diào)的函數(shù)波形輸出,同時可以根據(jù)需要方便地實現(xiàn)各種比較復(fù)雜的調(diào)頻、調(diào)相和調(diào)幅功能, 具有很好的實用性。
DDS的工作原理:DDS是以相位累加器為核心的,它由一個N位字長的二進制加法器和一個N位寄存器組成,作用是對頻率轉(zhuǎn)換字(w )進行線性累加; 正弦查找表中所對應(yīng)的是一張函數(shù)波形查尋表, 對應(yīng)不同的相位碼址輸出不同的幅度編碼。相位累加器累加輸出的序列對查找表尋址,得到一系列離散的幅度編碼。該幅度編碼經(jīng)D/A轉(zhuǎn)換后得到對應(yīng)的階梯波,最后經(jīng)低通濾波器平滑后可得到所需的模擬波形。相位累加器在基準(zhǔn)時鐘的作用下,進行線性相位累加, 當(dāng)相位累加器加滿時就會產(chǎn)生一次溢出,這樣就完成了一個周期,這個周期也就是DDS 的信號的一個頻率周期。輸出頻率 f t0為:
DDS以數(shù)控振蕩器的方式產(chǎn)生頻率、相位可控制的正弦波,主要由基準(zhǔn)時鐘fs、相位累計器、幅度/ 相位轉(zhuǎn)換電路、正弦查找表、D/A轉(zhuǎn)換器組成。如圖1所示,它采用數(shù)字技術(shù)重復(fù)掃正弦查找表來獲取數(shù)據(jù),構(gòu)筑處所希望的波形。
圖1 系統(tǒng)原理框圖
硬件結(jié)構(gòu)總體方案是通過電源芯片對FPGA供電,由JTAG接口作為程序下載口,最后由示波器觀察波形,如圖2所示。
圖2 硬件結(jié)構(gòu)圖
系統(tǒng)軟件設(shè)計采用模塊化思想, 可移植性、可讀性強。DDS算法利用循環(huán)溢出的相位累加器產(chǎn)生正弦函數(shù)的相位變量。相位累加器每溢出一次, 就代表正弦波形的一個周期。相位累加器輸入的頻率控制字控制生成的正弦波形的頻率, 累加器的瞬時相位輸出作為ROM表的地址。ROM表是存有正弦采樣值的存儲器。系統(tǒng)流程圖如圖3所示。
圖3 系統(tǒng)流程圖
2.3.1 地址累加器模塊設(shè)計
地址累加器的作用是將頻率轉(zhuǎn)換字輸出的頻率控制字進行逐步累加,并把結(jié)果送到查找表中進行尋址。部分VHDL源代碼如下:
2.3.2 正弦查找表進程
正弦查找表:表中所對應(yīng)的是一張函數(shù)波形查尋表,對應(yīng)不同的相位碼址輸出不同的幅度編碼。相位累加器累加輸出的序列對查找表尋址,得到一系列離散的幅度編碼。該幅度編碼經(jīng)D/A轉(zhuǎn)換后得到對應(yīng)的階梯波,最后經(jīng)低通濾波器平滑后可得到所需的模擬波形。部分VHDL語言如下(查找表數(shù)據(jù)過多,只羅列一部分?jǐn)?shù)據(jù)):
根據(jù)以上設(shè)計,可得出正弦波信號發(fā)生器的仿真圖,如圖4所示。正弦波模擬信號波形圖,如圖5所示。由此可知實驗方案滿足要求。
圖4 仿真圖
圖5 正弦波
本文論述的基于DDS技術(shù)的正弦信號生成系統(tǒng)簡單易行,具有很強的實用性,通過VHDL語言編寫程序完成各個模塊的產(chǎn)生,進而完成整個系統(tǒng),為相關(guān)領(lǐng)域提供了較好的模型和方法,具有很強的實際使用價值。
[1]李曉芳,常春波,高文華.基于FPGA 的DDS 算法的優(yōu)化[J].儀器儀表學(xué)報,2009(z1):896-898.
[2]傅文斌.遙控遙測系統(tǒng)[M].北京:機械工業(yè)出版社,2007:210-212.
[3]曾繁泰,陳美金.VHDL 程序設(shè)計[M]. 北京:清華大學(xué)出版社,2007:5-22.
[4]鄔楊波,王曙光,胡建平.有限狀態(tài)機的VHDL設(shè)計及優(yōu)化[J].信息技術(shù),2008,28(1):75-78.
[5]張力軍.數(shù)字通信簡介[J].電子工業(yè)大學(xué)學(xué)報,2003:552-552.
[6]夏宇聞.Verilog HDL 數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版,2009.
[7]William,Sandoval.The ZigBee Revolution[DB/OL].[2005-09-23].
[8]林靜宜.基于DDS 的多模式信號發(fā)生器的設(shè)計與實現(xiàn)[D].武漢:華中科技大學(xué), 2008.