AD9833型高精度可編程波形發(fā)生器及其應(yīng)用
1 引言
本文引用地址:http://butianyuan.cn/article/21226.htmad9833是adi公司生產(chǎn)的一款低功耗,可編程波形發(fā)生器,能夠產(chǎn)生正弦波、三角波、方波輸出。波形發(fā)生器廣泛應(yīng)用于各種測量、激勵和時域響應(yīng)領(lǐng)域,ad9833無需外接元件,輸出頻率和相位都可通過軟件編程,易于調(diào)節(jié),頻率寄存器是28位的,主頻時鐘為25mhz時,精度為0.1hz,主頻時鐘為1mhz時,精度可以達到0.004hz。
可以通過3個串行接口將數(shù)據(jù)寫入ad9833,這3個串口的最高工作頻率可以達到40mhz,易于與dsp和各種主流微控制器兼容。ad9833的工作電壓范圍為2.3v-5.5v。
ad9833還具有休眠功能,可使沒被使用的部分休眠,減少該部分的電流損耗,例如,若利用ad9833輸出作為時鐘源,就可以讓dac休眠,以減小功耗,該電路采用10引腳msop型表面貼片封裝,體積很小。
ad9833的主要特點如下:
頻率和相位可數(shù)字編程;
工作電壓為3v時,功耗僅為20mw;
輸出頻率范圍為0mhz-12.5mhz;
頻率寄存器為28位(在25mhz的參考時鐘下,精度為0.1hz);
可選擇正弦波、三角波、方波輸出;
無需外界元件;
3線spi接口;
溫度范圍為-40℃-+105℃。
2 ad9833的結(jié)構(gòu)及功能
2.1 電路結(jié)構(gòu)
ad9833是一塊完全集成的dds(direct digital frequency synthesis)電路,僅需要1個外部參考時鐘、1個低精度電阻器和一個解耦電容器就能產(chǎn)生高達12.5mhz的正弦波。除了產(chǎn)生射頻信號外,該電路還廣泛應(yīng)外于各種調(diào)制解調(diào)方案。這些方案全都用在數(shù)字領(lǐng)域,采用dsp技術(shù)能夠把復(fù)雜的調(diào)制解調(diào)算法簡化,而且很精確。
ad9833的內(nèi)部電路主要有數(shù)控振蕩器(nco)、頻率和相位調(diào)節(jié)器、sine rom、數(shù)模轉(zhuǎn)換器(dac)、電壓調(diào)整器,其功能框圖如圖1所示。
ad933的核心是28位的相位累加器,它由加法器和相位寄存器組成,每來1個時鐘,相位寄存器以步長增加,相位寄存器的輸出與相位控制字相加后輸入到正弦查詢表地址中。正弦查詢表包含1個周期正弦波的數(shù)字幅度信息,每個地址對應(yīng)正弦波中0°-360°范圍內(nèi)的1個相位點。查詢表把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號,去dac輸出模擬量,相位寄存器每經(jīng)過228/m個mclk時鐘后回到初始狀態(tài),相應(yīng)地正弦查詢表經(jīng)過一個循環(huán)回到初始位置,這樣就輸出了一個正弦波。輸出正弦波頻率為:
fout=m(fmclk/228) (1)
其中,m為頻率控制字,由外部編程給定,其范圍為0≤m≤228-1。
vdd引腳為ad9833的模擬部分和數(shù)字部分供電,供電電壓為2.3v-5.5v。ad9833內(nèi)部數(shù)字電路工作電壓為2.5v,其板上的電壓調(diào)節(jié)器可以從vdd產(chǎn)生2.5v穩(wěn)定電壓,注意:若vdd小于等于2.7v,引腳cap/2.5v應(yīng)直接連接至vdd。
2.2 功能描述
ad9833有3根串行接口線,與spi、qspi、mi-crowire和dsp接口標(biāo)準(zhǔn)兼容,在串口時鐘sclk的作用下,數(shù)據(jù)是以16位的方式加載到設(shè)備上,時序圖如圖3所示,fsync引腳是使能引腳,電平觸發(fā)方式,低電平有效。進行串行數(shù)據(jù)傳輸時,fsync引腳必須置低,要注意fsync有效到sclk下降沿的建立時間t7的最小值。fsync置低后,在16個sclk的下降沿數(shù)據(jù)被送到ad9833的輸入移位寄存器,在第16個sclk的下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的數(shù)據(jù)保持時間ts的最小和最大值。當(dāng)然,也可以在fsync為低電平的時候,連續(xù)加載多個16位數(shù)據(jù),僅在最后一個數(shù)據(jù)的第16個sclk的下降沿的時將fsync置高,最后要注意的是,寫數(shù)據(jù)時sclk時鐘為高低電平脈沖,但是,在fsync剛開始變?yōu)榈蜁r,(即將開始寫數(shù)據(jù)時),sclk必須為高電平(注意t11這個參數(shù))。
當(dāng)ad9833初始化時,為了避免dac產(chǎn)生虛假輸出,reset必須置為1(reset不會復(fù)位頻率、相位和控制寄存器),直到配置完畢,需要輸出時才將reset置為0;reset為0后的8-9個mclk時鐘周期可在dac的輸出端觀察到波形。
ad9833寫入數(shù)據(jù)到輸出端得到響應(yīng),中間有一定的響應(yīng)時間,每次給頻率或相位寄存器加載新的數(shù)據(jù),都會有7-8個mclk時鐘周期的延時之后,輸出端的波形才會產(chǎn)生改變,有1個mclk時鐘周期的不確定性,因為數(shù)據(jù)加載到目的寄存器時,mclk的上升沿位置不確定。
3 ad9833的引腳功能及時序
ad9833的引腳排列如圖2所示,各個引腳的功能描述見表1。
ad9833的時序特性如圖3、圖4和表2所示。
4 ad9833的內(nèi)部寄存器功能
ad9833內(nèi)部有5個可編程寄存器,其中包括3個16位控制寄存器,2個28位頻率寄存器和2個12位相位寄存器。
4.1 控制寄存器
ad9833中的16位控制寄存器供用戶設(shè)置所需的功能。除模式選擇位外,其他所有控制位均在內(nèi)部時鐘mclk的下沿被ad9833讀取并動作,表3給出控制寄存器各位的功能,要更改ad9833控制寄存器的內(nèi)容,d15和d14位必須均為0。
4.2 頻率寄存器和相位寄存器
ad9833包含2個頻率寄存器和2個相位寄存器,其模擬輸出為
fmclk/228×freqeg (2)
其中:freqeg為所選頻率寄存器中的頻率字,該信號會被移相:
2π/4096×phaserec (3)
其中,phaserec為所選相位寄存器中的相位字。
頻率和相位寄存器的操作如表4所示。
5 應(yīng)用設(shè)計
ad9833可應(yīng)用在l15型飛機控制盒配套的檢測盒中,利用ad9833產(chǎn)生頻率可調(diào)的正弦波,以模擬機輪速度傳感器的速度信號,從而對控制盒的剎車防滑通道能否正常的剎車防滑進行檢測。
5.1 ad9833的硬件電路連接
檢測盒設(shè)計以ti公司的tms320lf2407a型dsp作為核心控制器,應(yīng)用中需要2路速度信號,因此需要檢測盒給出2路可獨立調(diào)節(jié)的頻率,圖5示出tms320lf2407a與ad9833的硬件連接。
外接有源晶體振蕩器的輸出送給2個ad9833作為主頻時鐘,dsp的spi口采用主動工作方式,即用spisimo口發(fā)送數(shù)據(jù),為了與ad9833的時序相配合,dsp的接口時鐘(spiclk信號)方式選擇有延時的下降沿,iopc3和iopc5作為電路選通信號,iopc3為低電平時u2被選通,此時對u1寫數(shù)據(jù)無效;同理,iopc53為低電平時u1被選通,此時對u2寫數(shù)據(jù)無效。
5.2 軟件程序
圖6示出了ad9833的軟件流程。
無論是寫控制寄存器、頻率寄存器還是相位寄存器、在寫數(shù)據(jù)之前都需要把選通信號置為有效狀態(tài),這樣寫入的數(shù)據(jù)才會有效,否則無效。在dsp發(fā)送完1個數(shù)據(jù)字后將產(chǎn)生spi中斷請求,本設(shè)計中未使用中斷方式,而且通過查詢中斷標(biāo)志來跳出,并虛讀dsp的接收緩沖器清除中斷標(biāo)志。
評論