中山市中等專業(yè)學校電子科 許娜芬
中山職業(yè)技術學院 江武志
在通訊、電子測量、電視廣播、雷達、遙控遙測、導航等領域都需要在一定頻率范圍內(nèi)產(chǎn)生符合質量要求的頻率信號。隨著電子技術的發(fā)展,人們對信號源的頻率精確度和頻率穩(wěn)定度以及其他方面的要求越來越高[1-2]。目前,產(chǎn)生一定頻率的信號一般是采用頻率合成技術,隨著技術的發(fā)展,頻率合成器應運而生,這是實現(xiàn)頻率合成技術的電路系統(tǒng)。而直接數(shù)字頻率合成技術(Direct Digital Frequency Synthesis.簡稱DDS)頻率轉換速度快,頻率分辨率精度高,被廣泛使用。有王學鳳等人使用DDS芯片的信號源設計[3];有袁輝使用AD9854和FPGA基于DDS理論設計并實現(xiàn)了多模式多波形雷達信號源[4];有劉健余等設計的基于DDS和PLL的Chirp超寬帶信號源[5]等。DDS技術在各個領域的應用越來越多,越來越廣。
本系統(tǒng)設計制作一個能夠產(chǎn)生正弦波和方波的信號源。其中要求信號頻率在20Hz到20KHz的范圍內(nèi)實現(xiàn)程控步進,步長1Hz,幅度則要求在100mV到3V間實現(xiàn)步長為100mV的程控步進,而方波的占空比要在2%到98%間可實現(xiàn)步長為2%的程控調(diào)整,且要求波形性能良好。綜合以上因素,可知本系統(tǒng)的核心是在于波形的產(chǎn)生(包括頻率和占空比的程控)以及幅度的程控。
要產(chǎn)生一定頻率的信號源,有多種實現(xiàn)方法,如采用像8038這樣的函數(shù)信號發(fā)生器,或者是利用鎖相環(huán)的跟蹤和濾波作用將頻率鎖定在所需要的諧波分量或者組合頻率分量中[1]。但是這兩種方法不是步長難以滿足要求就是輸出頻率范圍達不到要求,不適合產(chǎn)生低頻信號。因此,本設計采用直接數(shù)字頻率合成芯片。DDS(直接數(shù)字頻率合成)是基于相位概念提出的一種直接合成所需波形的頻率合成技術[1],特別適合于生成頻率低、頻帶寬、頻率穩(wěn)定性和準確度較高及波形復雜的場合,可以很方便地生成符合要求的正弦波和方波。
本系統(tǒng)使用美國AD公司推出的高集成度頻率合成器AD9850。其組成原理如圖1所示。
AD9850采用CMOS工藝,供電在3.3V左右。供電時功耗僅為155mW,采用28腳SSOP表面封裝形式,具有125M時鐘頻率。AD9850在接上精密時鐘源及寫入頻率相位控制字之后就可產(chǎn)生一個頻率和相位都可編程控制的模擬正弦波輸出,此正弦波可直接用作頻率信號源或者經(jīng)內(nèi)部的高速比較器轉換為方波輸出[1、6]。
系統(tǒng)原理總圖如圖2所示。
正弦波及方波產(chǎn)生的電路圖如圖3所示。
3.1.1 正弦波產(chǎn)生
AD9850[7-8]的ROM中已預先存入正弦函數(shù)表,其包含一個正弦波周期的數(shù)字幅度信息,每一個地址對應正弦波中0°-360°范圍的一個相位點。查詢表把輸入地址的相位信息映射成正弦波幅值信號,驅動DAC輸出模擬量。工作時,用單片機送入頻率碼。AD9850輸入采用并行方式,8位一個字節(jié),分5次輸入,其中32位是頻率碼,另8位中的5位是相位控制碼,2位是用于選擇工作方式,1位用于電源休眠。改變讀取ROM的數(shù)目,即可改變輸出頻率。AD9850的頻率輸出頻率的一般表達式為:
式中,k為頻率碼,是32位的二進制數(shù)。fc為系統(tǒng)時鐘頻率,即125MHz。本設計中頻率變化范圍在20Hz到20KHz之間,則周期變化范圍為50ms到50us,時鐘周期為0.04us。當輸出頻率最高時,即20kHz,此時最小周期,所以步進寬度為:
3.1.2 方波產(chǎn)生
以DDS芯片產(chǎn)生的正弦波為基波,通過STM32F103ZE單片機對DDS芯片內(nèi)部比較器的控制來改變方波的頻率和占空比的值。
表1 正弦波測試結果
表2 方波測試結果
圖1 AD9850組成原理[1、6]
圖2 系統(tǒng)原理總圖
圖3 正弦波及方波產(chǎn)生的電路圖
圖4 幅值調(diào)制電路圖
圖5 鍵盤接口電路設計圖
圖6 數(shù)碼管顯示電路圖
圖7 軟件設計流程圖
圖8 正弦波輸出實測幅度相對誤差圖
圖9 方波輸出占空比相對誤差圖
采用8位并行D/A轉換器DAC0832來實現(xiàn)正弦波與方波的幅度步進。DAC0832具有價格廉價、接口簡單、轉換控制容易、與微處理器完全兼容的優(yōu)點。將DDS生成的正弦波或方波接到DAC0832的基準電壓輸入端VREF,通過單片機STM32F103ZE來調(diào)整DAC0832的輸入數(shù)字量(N),從而完成正弦波和方波100mv的步進。其對應的輸出電壓為:
其中,N為幅值控制值。
本設計所使用的幅值調(diào)制電路如圖4所示。
系統(tǒng)顯示部分采用10位共陰數(shù)碼管來實現(xiàn),數(shù)碼管顯示數(shù)字清晰且直觀。同時,在鍵盤及顯示的控制上由單片機STM32F103ZE來實現(xiàn),這樣做既節(jié)省了資源,又提高了電路的工作效率。圖5是STM32F103ZE單片機最小系統(tǒng)的鍵盤接口電路設計圖。其中JP1為STM32F103ZE單片機最小系統(tǒng)的PA口的擴展口,鍵盤采用獨立按鍵掃描方式。
10位數(shù)碼管可顯示信號的頻率、幅值等值。電路圖如圖6所示。
STM32F103ZE單片機控制AD9850產(chǎn)生頻率和相位都可控制的正弦波,頻率量由鍵盤決定,步進量為1Hz。AD9850頻率分辨率為0.029104Hz,完全能夠滿足要求。正弦號送入到DAC0832的基準電壓輸入端VREF,單片機控制D/A轉換器的數(shù)字量調(diào)節(jié)其幅值,設置按鍵調(diào)整值實現(xiàn)100mv的步進。設置按鍵調(diào)整占空比和幅值,單片機通過對AD9850內(nèi)部比較器的控制,從而改變方波的占空比和頻率。方波信號送入到DAC0832的基準電壓輸入端,單片機控制D/A轉換器的數(shù)字量調(diào)節(jié)其幅值,設置按鍵調(diào)整幅值可實現(xiàn)100mv的步進。
表1所示為正弦波測試結果,表2所示為方波測試結果。
圖中藍紅青紫色曲線代表預設幅度值分別是0.1V、1V、2V和3V的正弦波輸出的幅度相對誤差。其中一條曲線代表預設幅值確定時,預設不同的頻率時,正弦波輸出的幅值相對誤差。從圖中可以看出相對誤差控制在一定的范圍內(nèi)。而系統(tǒng)輸出的正弦波頻率與預設頻率之間的平均相對誤差約在0.0021%,誤差極小。
從圖中可以看出占空比相對誤差控制在一定的范圍內(nèi),其平均占空比相對誤差約0.31%,大部分相對誤差較小。而方波的輸出頻率與系統(tǒng)的預置頻率之間的平均相對誤差達到約0.005%,誤差率很低。幅值平均相對誤差約0.303%。由此可見,系統(tǒng)輸出的方波相關參數(shù)的誤差均較小。
造成誤差的原因有很多,系統(tǒng)本身的硬件就會產(chǎn)生一定的量化誤差。比如芯片本身所帶來的誤差,還有就是焊接電路時的電路布局和電路走線,這也會引起一定的誤差和干擾。
本系統(tǒng)實現(xiàn)了可控正弦波和方波的生成,并在10位數(shù)碼管顯示其基本要求。DDS芯片AD9850產(chǎn)生的信號源,頻率穩(wěn)定,誤差小。在實踐測試中得知從AD9850輸出的正弦波幅值會隨頻率變化,最后通過軟件編程明顯減少了幅值誤差。關鍵部分在于產(chǎn)生占空比可控的方波,最后通過單片機對DDS內(nèi)部比較器的控制來實現(xiàn)方波的占空比可控,可控結果很理想,誤差很小,精確度高,達到了系統(tǒng)的要求。
[1]楊蕊.基于DDS技術的實用信號源設計[D].華中師范大學,2012,5.
[2]王建明.基于DDS技術的多波形信號源設計[D].南京理工大學,2005,6.
[3]王學鳳等.基于DDS芯片AD9851的信號源設計與實現(xiàn)[J].微計算機信息,2008,24(8-1):111-112.
[4]袁輝.基于FPGA的數(shù)字信號發(fā)生器的設計與實現(xiàn)[J].電子技術應用,2011,37(9):67-69.
[5]劉健余等.一種基于DDS和PLL的Chirp超寬帶信號源設計與實現(xiàn)[J].重慶郵電大學學報(自然科學版),2011,23(1).
[6]Each Manufacturing Company.AD9850[DB/OL].http://datasheet.eeworld.com.cn/pdf/AD/68298_AD9850.pdf.
[7]Analog Devices Inc.CMOS.125MHz complete DDS synthesizer AD9850[M].[S.1.]:Analog Devices Inc.,1999.
[8]牛耕,陳思宇等.基于DDS技術的正弦交流信號源的設計[J].現(xiàn)代電子技術,2012,35(3):52-56.