新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AD9833型高精度可編程波形發生器及其應用

        AD9833型高精度可編程波形發生器及其應用

        ——
        作者:劉國良,廖力清,施進平 時間:2007-01-26 來源:《國外電子元器件》 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/21226.htm

        ad9833是adi公司生產的一款低功耗,可編程波形發生器,能夠產生正弦波、三角波、方波輸出。波形發生器廣泛應用于各種測量、激勵和時域響應領域,ad9833無需外接元件,輸出頻率和相位都可通過軟件編程,易于調節,頻率寄存器是28位的,主頻時鐘為25mhz時,精度為0.1hz,主頻時鐘為1mhz時,精度可以達到0.004hz。

        可以通過3個串行接口將數據寫入ad9833,這3個串口的最高工作頻率可以達到40mhz,易于與dsp和各種主流微控制器兼容。ad9833的工作電壓范圍為2.3v-5.5v。

        ad9833還具有休眠功能,可使沒被使用的部分休眠,減少該部分的電流損耗,例如,若利用ad9833輸出作為時鐘源,就可以讓dac休眠,以減小功耗,該電路采用10引腳msop型表面貼片封裝,體積很小。

        ad9833的主要特點如下:

        頻率和相位可數字編程;

        工作電壓為3v時,功耗僅為20mw;

        輸出頻率范圍為0mhz-12.5mhz;

        頻率寄存器為28位(在25mhz的參考時鐘下,精度為0.1hz);

        可選擇正弦波、三角波、方波輸出;

        無需外界元件;

        3線spi接口;

        溫度范圍為-40℃-+105℃。

        2 ad9833的結構及功能

        2.1 電路結構

        ad9833是一塊完全集成的dds(direct digital frequency synthesis)電路,僅需要1個外部參考時鐘、1個低精度電阻器和一個解耦電容器就能產生高達12.5mhz的正弦波。除了產生射頻信號外,該電路還廣泛應外于各種調制解調方案。這些方案全都用在數字領域,采用dsp技術能夠把復雜的調制解調算法簡化,而且很精確。

        ad9833的內部電路主要有數控振蕩器(nco)、頻率和相位調節器、sine rom、數模轉換器(dac)、電壓調整器,其功能框圖如圖1所示。

        ad933的核心是28位的相位累加器,它由加法器和相位寄存器組成,每來1個時鐘,相位寄存器以步長增加,相位寄存器的輸出與相位控制字相加后輸入到正弦查詢表地址中。正弦查詢表包含1個周期正弦波的數字幅度信息,每個地址對應正弦波中0°-360°范圍內的1個相位點。查詢表把輸入的地址相位信息映射成正弦波幅度的數字量信號,去dac輸出模擬量,相位寄存器每經過228/m個mclk時鐘后回到初始狀態,相應地正弦查詢表經過一個循環回到初始位置,這樣就輸出了一個正弦波。輸出正弦波頻率為:

        fout=m(fmclk/228) (1)

        其中,m為頻率控制字,由外部編程給定,其范圍為0≤m≤228-1。

        vdd引腳為ad9833的模擬部分和數字部分供電,供電電壓為2.3v-5.5v。ad9833內部數字電路工作電壓為2.5v,其板上的電壓調節器可以從vdd產生2.5v穩定電壓,注意:若vdd小于等于2.7v,引腳cap/2.5v應直接連接至vdd。

        2.2 功能描述

        ad9833有3根串行接口線,與spi、qspi、mi-crowire和dsp接口標準兼容,在串口時鐘sclk的作用下,數據是以16位的方式加載到設備上,時序圖如圖3所示,fsync引腳是使能引腳,電平觸發方式,低電平有效。進行串行數據傳輸時,fsync引腳必須置低,要注意fsync有效到sclk下降沿的建立時間t7的最小值。fsync置低后,在16個sclk的下降沿數據被送到ad9833的輸入移位寄存器,在第16個sclk的下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的數據保持時間ts的最小和最大值。當然,也可以在fsync為低電平的時候,連續加載多個16位數據,僅在最后一個數據的第16個sclk的下降沿的時將fsync置高,最后要注意的是,寫數據時sclk時鐘為高低電平脈沖,但是,在fsync剛開始變為低時,(即將開始寫數據時),sclk必須為高電平(注意t11這個參數)。

        當ad9833初始化時,為了避免dac產生虛假輸出,reset必須置為1(reset不會復位頻率、相位和控制寄存器),直到配置完畢,需要輸出時才將reset置為0;reset為0后的8-9個mclk時鐘周期可在dac的輸出端觀察到波形。

        ad9833寫入數據到輸出端得到響應,中間有一定的響應時間,每次給頻率或相位寄存器加載新的數據,都會有7-8個mclk時鐘周期的延時之后,輸出端的波形才會產生改變,有1個mclk時鐘周期的不確定性,因為數據加載到目的寄存器時,mclk的上升沿位置不確定。

        3 ad9833的引腳功能及時序

        ad9833的引腳排列如圖2所示,各個引腳的功能描述見表1。



        ad9833的時序特性如圖3、圖4和表2所示。





        4 ad9833的內部寄存器功能

        ad9833內部有5個可編程寄存器,其中包括3個16位控制寄存器,2個28位頻率寄存器和2個12位相位寄存器。

        4.1 控制寄存器

        ad9833中的16位控制寄存器供用戶設置所需的功能。除模式選擇位外,其他所有控制位均在內部時鐘mclk的下沿被ad9833讀取并動作,表3給出控制寄存器各位的功能,要更改ad9833控制寄存器的內容,d15和d14位必須均為0。

        4.2 頻率寄存器和相位寄存器

        ad9833包含2個頻率寄存器和2個相位寄存器,其模擬輸出為

        fmclk/228×freqeg (2)

        其中:freqeg為所選頻率寄存器中的頻率字,該信號會被移相:

        2π/4096×phaserec (3)

        其中,phaserec為所選相位寄存器中的相位字。

        頻率和相位寄存器的操作如表4所示。



        5 應用設計

        ad9833可應用在l15型飛機控制盒配套的檢測盒中,利用ad9833產生頻率可調的正弦波,以模擬機輪速度傳感器的速度信號,從而對控制盒的剎車防滑通道能否正常的剎車防滑進行檢測。

        5.1 ad9833的硬件電路連接

        檢測盒設計以ti公司的tms320lf2407a型dsp作為核心控制器,應用中需要2路速度信號,因此需要檢測盒給出2路可獨立調節的頻率,圖5示出tms320lf2407a與ad9833的硬件連接。

        外接有源晶體振蕩器的輸出送給2個ad9833作為主頻時鐘,dsp的spi口采用主動工作方式,即用spisimo口發送數據,為了與ad9833的時序相配合,dsp的接口時鐘(spiclk信號)方式選擇有延時的下降沿,iopc3和iopc5作為電路選通信號,iopc3為低電平時u2被選通,此時對u1寫數據無效;同理,iopc53為低電平時u1被選通,此時對u2寫數據無效。

        5.2 軟件程序

        圖6示出了ad9833的軟件流程。

        無論是寫控制寄存器、頻率寄存器還是相位寄存器、在寫數據之前都需要把選通信號置為有效狀態,這樣寫入的數據才會有效,否則無效。在dsp發送完1個數據字后將產生spi中斷請求,本設計中未使用中斷方式,而且通過查詢中斷標志來跳出,并虛讀dsp的接收緩沖器清除中斷標志。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沂南县| 阿瓦提县| 奉化市| 安塞县| 开封县| 虎林市| 大方县| 牡丹江市| 江川县| 阿克| 崇阳县| 凤山县| 无为县| 云梦县| 凤庆县| 青海省| 丹棱县| 翁源县| 湘潭市| 泰州市| 通榆县| 邮箱| 文水县| 清苑县| 广南县| 平果县| 濮阳县| 沧源| 宁南县| 泰和县| 合水县| 南城县| 石阡县| 襄汾县| 宁阳县| 晋宁县| 略阳县| 故城县| 忻州市| 兴城市| 松阳县|