波形發(fā)生器實例篇,AD9833波形發(fā)生器設(shè)計
波形發(fā)生器具備諸多應(yīng)用,因此波形發(fā)生器的存在意義重大。基于不同使用場景,波形發(fā)生器具有多種類型,如任意波形發(fā)生器、Arduino波形發(fā)生器等。本文中,將為大家介紹AD9833型號高精度可編程波形發(fā)生器的設(shè)計方案,如果你對本文內(nèi)容存在興趣,不妨繼續(xù)往下閱讀。
1.AD9833波形發(fā)生器介紹
AD9833是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ù)能夠把復雜的調(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接口標準兼容,在串口時鐘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的最小和最大值。當然,也可以在FSYNC為低電平的時候,連續(xù)加載多個16位數(shù)據(jù),僅在最后一個數(shù)據(jù)的第16個SCLK的下降沿的時將FSYNC置高,最后要注意的是,寫數(shù)據(jù)時SCLK時鐘為高低電平脈沖,但是,在FSYNC剛開始變?yōu)榈蜁r,(即將開始寫數(shù)據(jù)時),SCLK必須為高電平(注意t11這個參數(shù))。
當AD9833初始化時,為了避免DAC產(chǎn)生虛假輸出,RESET必須置為1(RESET不會復位頻率、相位和控制寄存器),直到配置完畢,需要輸出時才將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&TImes;FREQEG (2)
其中:FREQEG為所選頻率寄存器中的頻率字,該信號會被移相:
2π/4096&TImes;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è)計中未使用中斷方式,而且通過查詢中斷標志來跳出,并虛讀DSP的接收緩沖器清除中斷標志。
以上便是小編此次帶來的所有內(nèi)容,希望大家喜歡。