AD9833型高精度可編程波形發(fā)生器及其應(yīng)用
關(guān)鍵詞:AD9833;直接數(shù)字頻率合成;可編程;數(shù)字信號(hào)處理器
1 引言
AD9833是ADI公司生產(chǎn)的一款低功耗、可編程波形發(fā)生器,能夠產(chǎn)生正弦波、三角波、方波輸出。波形發(fā)生器廣泛應(yīng)用于各種測(cè)量、激勵(lì)和時(shí)域響應(yīng)領(lǐng)域。AD9833無(wú)需外接元件,輸出頻率和相位都可通過(guò)軟件編程,易于調(diào)節(jié)。頻率寄存器是28位的,主頻時(shí)鐘為25 MHz時(shí),精度為0.1 Hz;主頻時(shí)鐘為1 MHz時(shí),精度可以達(dá)到0.004 Hz。
可以通過(guò)3個(gè)串行接口將數(shù)據(jù)寫(xiě)入AD9833,這3個(gè)串口的最高工作頻率可以達(dá)到40NHz,易于與DSP和各種主流微控制器兼容。AD9833的工作電壓范圍為2.3 V~5.5 V。
AD9833還具有休眠功能,可使沒(méi)被使用的部分休眠,減少該部分的電流損耗。例如,若利用AD9833輸出作為時(shí)鐘源,就可以讓DAC休眠,以減小功耗。該電路采用10引腳MSOP型表面貼片封裝,體積很小。
AD9833的主要特點(diǎn)如下:
頻率和相位可數(shù)字編程;
工作電壓為3 V時(shí),功耗僅為20mW;
輸出頻率范圍為0 MHz~12.5 MHz;
頻率寄存器為28位(在25 MHz的參考時(shí)鐘下,精度為0.1 Hz);
可選擇正弦波、三角波、方波輸出;
無(wú)需外接元件;
3線(xiàn)SPI接口;
溫度范圍為-40℃~+105℃。
2 AD9833的結(jié)構(gòu)及功能
2.1 電路結(jié)構(gòu)
AD9833是一塊完全集成的DDS(Direct Digital Frequency Synthesis)電路,僅需要1個(gè)外部參考時(shí)鐘、1個(gè)低精度電阻器和一些解耦電容器就能產(chǎn)生高達(dá)12.5 MHz的正弦波。除了產(chǎn)生射頻信號(hào)外,該電路還廣泛應(yīng)用于各種調(diào)制解調(diào)方案,這些方案全都用在數(shù)字領(lǐng)域。采用DSP技術(shù)能夠把復(fù)雜的調(diào)制解調(diào)算法簡(jiǎn)單化,而且很精確。
AD9833的內(nèi)部電路主要有數(shù)控振蕩器(NCO)、頻率和相位調(diào)節(jié)器、Sine ROM、數(shù)模轉(zhuǎn)換器(DAC)、電壓調(diào)整器,其功能框圖如圖1所示。AD9833的核心是28位的相位累加器,它由加法器和相位寄存器組成,每來(lái)1個(gè)時(shí)鐘,相位寄存器以步長(zhǎng)增加,相位寄存器的輸出與相位控制字相加后輸入到正弦查詢(xún)表地址中。正弦查詢(xún)表包含1個(gè)周期正弦波的數(shù)字幅度信息,每個(gè)地址對(duì)應(yīng)正弦波中0°~360°范圍內(nèi)的1個(gè)相位點(diǎn)。查詢(xún)表把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號(hào),驅(qū)動(dòng)DAC輸出模擬量。相位寄存器每經(jīng)過(guò)228/M個(gè)MCLK時(shí)鐘后回到初始狀態(tài),相應(yīng)地正弦查詢(xún)表經(jīng)過(guò)一個(gè)循環(huán)回到初始位置,這樣就輸出了一個(gè)正弦
波。輸出正弦波頻率為:
其中,M為頻率控制字,由外部編程給定,其范圍為0≤M≤228-1。
VDD引腳為AD9833的模擬部分和數(shù)字部分供電,供電電壓為2.3 V~5.5 V。AD9833內(nèi)部數(shù)字電路工作電壓為2.5 V,其板上的電壓調(diào)整節(jié)器可以從VDD產(chǎn)生2.5 V穩(wěn)定電壓。注意:若VDD小于等于2.7 V,引腳CAP/2.5V應(yīng)直接連接至VDD。
2.2 功能描述
AD9833有3根串行接口線(xiàn),與SPI、QSPI、MI-CROWIRE和DSP接口標(biāo)準(zhǔn)兼容。在串口時(shí)鐘SCLK的作用下,數(shù)據(jù)是以16位的方式加載到設(shè)備上。時(shí)序圖如圖3所示。FSYNC引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),F(xiàn)SYNC引腳必須置低,要注意FSYNC有效到SCLK下降沿的建立時(shí)間t7的最小值。FSYNC置低后,在16個(gè)SCLK的下降沿?cái)?shù)據(jù)被送到AD9833的輸入移位寄存器,在第16個(gè)SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的數(shù)據(jù)保持時(shí)間t8的最小和最大值。當(dāng)然,也可以在FSYNC為低電平的時(shí)候,連續(xù)加載多個(gè)16位數(shù)據(jù),僅在最后一個(gè)數(shù)據(jù)的第16個(gè)SCLK的下降沿的時(shí)將FSYNC置高。最后要注意的是,寫(xiě)數(shù)據(jù)時(shí)SCLK時(shí)鐘為高低電平脈沖,但是,在FSYNC剛開(kāi)始變?yōu)榈蜁r(shí)(即將開(kāi)始寫(xiě)數(shù)據(jù)時(shí)),SCLK必須為高電平(注意t11這個(gè)參數(shù))。
當(dāng)AD9833初始化時(shí),為了避免DAC產(chǎn)生虛假輸出,RESET必須置為1(RESET不會(huì)復(fù)位頻率、相位和控制寄存器),直到配置完畢,需要輸出時(shí)才將RESET置為0;RESET為O后的8~9個(gè)MCLK時(shí)鐘周期可在DAC的輸出端觀察到波形。
AD9833寫(xiě)入數(shù)據(jù)到輸出端得到響應(yīng),中間有一定的響應(yīng)時(shí)間。每次給頻率或相位寄存器加載新的數(shù)據(jù),都會(huì)有7~8個(gè)MCLK時(shí)鐘周期的延時(shí)之后,輸出端的波形才會(huì)產(chǎn)生改變。有1個(gè)MCLK時(shí)鐘周期的不確定性,因?yàn)閿?shù)據(jù)加載到目的寄存器時(shí),MCLK的上升沿位置不確定。
3 AD9833的引腳功能及時(shí)序
AD9833的引腳排列如圖2所示,各個(gè)引腳的功能描述見(jiàn)表1。
AD9833的時(shí)序特性如圖3、圖4和表2所示。
4 AD9833的內(nèi)部寄存器功能
AD9833內(nèi)部有5個(gè)可編程寄存器,其中包括1個(gè)16位控制寄存器,2個(gè)28位頻率寄存器和2個(gè)12位相位寄存器。
4.1 控制寄存器
AD9833中的16位控制寄存器供用戶(hù)設(shè)置所需的功能。除模式選擇位外,其他所有控制位均在內(nèi)部時(shí)鐘MCLK的下沿被AD9833讀取并動(dòng)作。表3給出控制寄存器各位的功能。要更改AD9833控制寄存器的內(nèi)容,D15和D14位必須均為0。
4.2 頻率寄存器和相位寄存器
AD9833包含2個(gè)頻率寄存器和2個(gè)相位寄存器,其模擬輸出為
其中:FREQEG為所選頻率寄存器中的頻率字;該信號(hào)會(huì)被移相:
其中,PHASEREG為所選相位寄存器中的相位字。
頻率和相位寄存器的操作如表4所示。
5 應(yīng)用設(shè)計(jì)
AD9833可應(yīng)用在Ll5型飛機(jī)控制盒配套的檢測(cè)盒中,利用AD9833產(chǎn)生頻率可調(diào)的正弦波,以模擬機(jī)輪速度傳感器的速度信號(hào),從而對(duì)控制盒的剎車(chē)防滑通道能否正常的剎車(chē)防滑進(jìn)行檢測(cè)。
5.1 AD9833的硬件電路連接
檢測(cè)盒設(shè)計(jì)以TI公司的TMS320LF2407A型DSP作為核心控制器,應(yīng)用中需要2路速度信號(hào),因此需要檢測(cè)盒給出2路可獨(dú)立調(diào)節(jié)的頻率,圖5示出TMS320LF2407A與AD9833的硬件連接。
外接有源晶體振蕩器的輸出送給2個(gè)AD9833作為主頻時(shí)鐘,DSP的SPI口采用主動(dòng)工作方式,即用SPISIMO口發(fā)送數(shù)據(jù)。為了與AD9833的時(shí)序相配合,DSP的接口時(shí)鐘(SPICLK信號(hào))方式選擇有延時(shí)的下降沿。IOPC3和IOPC5作為電路選通信號(hào),IOPC3為低電平時(shí)U2被選通,此時(shí)對(duì)U1寫(xiě)數(shù)據(jù)無(wú)效;同理,IOPC53為低電平時(shí)U1被選通,此時(shí)對(duì)U2寫(xiě)數(shù)據(jù)無(wú)效。
5.2 軟件程序
圖6示出了AD9833的軟件流程。
不論是寫(xiě)控制寄存器、頻率寄存器還是相位寄存器,在寫(xiě)數(shù)據(jù)之前都需要把選通信號(hào)置為有效狀態(tài),這樣寫(xiě)入的數(shù)據(jù)才會(huì)有效,否則無(wú)效。在DSP發(fā)送完1個(gè)數(shù)據(jù)字后將產(chǎn)生SPI中斷請(qǐng)求,本設(shè)計(jì)中未使用中斷方式,而是通過(guò)查詢(xún)中斷標(biāo)志來(lái)跳出,并虛讀DSP的接收緩沖器清除中斷標(biāo)志。