AD9850簡介
DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),廣泛使用在電信與電子儀器領(lǐng)域,是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。
隨著數(shù)字技術(shù)的飛速發(fā)展,用數(shù)字控制方法從一個(gè)參考頻率源產(chǎn)生多種頻率的技術(shù),即直接數(shù)字頻率合成(DDS)技術(shù)異軍突起。美國AD公司推出的高集成度頻率合成器AD9850便是采用DDS技術(shù)的典型產(chǎn)品之一。
AD9850采用先地蝗CMOS工藝,其功耗在3.3V供電時(shí)僅為155mW,擴(kuò)展工業(yè)級(jí)溫度范圍為-40~80℃,采用28腳SSOP表面封裝形式。AD9850的引腳排列如圖1所示,圖2為其組成框圖。圖2中層虛線內(nèi)是一個(gè)完整的可編程DDS系統(tǒng),外層虛線內(nèi)包含了AD9850的主要組成部分。
AD9850內(nèi)含可編程DDS系統(tǒng)和高速比較器,能實(shí)現(xiàn)全數(shù)字編程控制的頻率合成。一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計(jì)算器三個(gè)部分(如Q2220)。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相位累加器根據(jù)dds頻率控制碼在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對(duì)該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號(hào)。
相位寄存器每過2N/M個(gè)外部參考時(shí)鐘后返回到初始狀態(tài)一次,相位地正弦查詢表每消費(fèi)品一個(gè)循環(huán)也回到初始位置,從而使整個(gè)DDS系統(tǒng)輸出一個(gè)正弦波。輸出的正弦波周期To=Tc2N/M,頻率fout=Mfc/2N,Tc、fc分別為外部參考時(shí)鐘的周期和頻率。
AD9850采用32位的相位累加器將信號(hào)截?cái)喑?4位輸入到正弦查詢表,查詢表的輸出再被截?cái)喑?0位后輸入到DAC,DAC再輸出兩個(gè)互補(bǔ)的電流。DAC滿量程輸出電流通過一個(gè)外接電阻RSET調(diào)節(jié),調(diào)節(jié)關(guān)系為ISET=32(1.148V/RSET),RSET的典型值是3.9kΩ。將DAC的輸出經(jīng)低通濾波后接到AD9850內(nèi)部的高速比較器上即可直接輸出一個(gè)抖動(dòng)很小的方波。其系統(tǒng)功能如圖3所示。
AD9850在接上精密時(shí)鐘源和寫入頻率相位控制字之間后就可產(chǎn)生一個(gè)頻率和相位都可編程控制的模擬正弦波輸出,此正弦波可直接用作頻率信號(hào)源或經(jīng)內(nèi)部的高速比較器轉(zhuǎn)換為方波輸出。在125MHz的時(shí)鐘下,32位的頻率控制字可使AD9850的輸出頻率分辨率達(dá)0.0291Hz;并具有5位相位控制位,而且允許相位按增量180°、90°、45°、22.5°、11.25°或這些值的組合進(jìn)行調(diào)整。
2 AD9850的控制字與控制時(shí)序
AD9850有40位控制字,32位用于頻率控制,5位用于相位控制。1位用于電源休眠(Power down)控制,2位用于選擇工作方式。這40位控制字可通過并行方式或串行方式輸入到AD9850,圖4是控制字并行輸入的控制時(shí)序圖,在并行裝入方式中,通過8位總線A0…D7將可數(shù)據(jù)輸入到寄存器,在重復(fù)5次之后再在FQ-UD上升沿把40位數(shù)據(jù)從輸入寄存器裝入到頻率/相位數(shù)據(jù)寄存器(更新DDS輸出頻率和相位),同時(shí)把地址指針復(fù)位到第一個(gè)輸入寄存器。在串行輸入方式,W-CLK上升沿把25引腳的一位數(shù)據(jù)串行移入,當(dāng)移動(dòng)40位后,用一個(gè)FQ-UD脈沖即可更新輸出頻率和相位。
AD9850的復(fù)位(RESET)信號(hào)為高電平有效,且脈沖寬度不小于5個(gè)參考時(shí)鐘周期。AD9850的參考時(shí)鐘頻率一般遠(yuǎn)高于單片機(jī)的時(shí)鐘頻率,因此AD9850的復(fù)位(RESET)端可與單片機(jī)的復(fù)位端直接相連。圖5是相應(yīng)的控制字串行輸入的控制時(shí)序圖。
值得一提的是:用于選擇工作方式的兩個(gè)控制位,無論并行還是串行最好都寫成00,并行時(shí)的10、01和串行時(shí)的10、01、11都是工廠測試用的保留控制字,不慎使用可能導(dǎo)致難以預(yù)料的后果。
3 單片機(jī)與AD9850的接口
AD9850有兩種與微機(jī)并行打印口相連的評(píng)估版,并配有Windows下運(yùn)行的軟件,可以作為應(yīng)用參考,但運(yùn)用單片機(jī)實(shí)現(xiàn)對(duì)DDS的控制與微機(jī)實(shí)現(xiàn)的控制相比,具有編程控制簡便、接口簡單、成本低,容易實(shí)現(xiàn)系統(tǒng)小型化等優(yōu)點(diǎn),因此普遍采用MCS51單片機(jī)作為控制核心來向AD9850發(fā)送控制字。
單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片微型計(jì)算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。
3.1 I/O方式并行接口
I/O方式的并行接口電路比較簡單,但占用單片機(jī)資源相對(duì)較多,圖8是I/O方式并行接口的電路圖,AD9850的數(shù)據(jù)線D0~D7與P1口相連,F(xiàn)Q-UD和W-CLK分別與P3.0(10引腳)和P3.1(11引腳)相連,所有的時(shí)序關(guān)系均可通過軟件控制實(shí)現(xiàn)。
將DDS控制字從高至低存放于30H至34H中,發(fā)送控制字的程序清單如下:
在程序中,每將一字節(jié)的數(shù)據(jù)送到P1口后,必須將P3.1(W-CLK)置高。在其上升沿,AD9850接收到P1口相連的數(shù)據(jù)線上的數(shù)據(jù),然后將P3.1置低,并準(zhǔn)備下一字節(jié)的發(fā)送,連續(xù)發(fā)送5個(gè)字節(jié)后,須將P3.0(FQ-UD)再次置高,以使AD9850根據(jù)則輸入的控制字更改頻率和相位輸出,隨后再置P3.0為低,準(zhǔn)備下一組發(fā)送。單片機(jī)的P3.0、P3.1引腳為串行口,當(dāng)被占用時(shí),W-CLK和FQ-UD引腳也可與其它I/O腳相連,這時(shí)需要修改相應(yīng)的發(fā)送程序。
3.2 總線方式并行接口
總線方式并行接口占用的單片機(jī)資源較少,在這種方式下,AD9850僅作為一擴(kuò)展芯片而占用RAM的一段地址,必須時(shí)也可以只占用一個(gè)地址。圖7是總線方式并行接口的電路原理圖。同樣將DDS控制字從高至低存放于30H至34H中,發(fā)送控制字的程序清單如下:
AD9850的W-CLK和FQ-UD信號(hào)都是上升沿有效,用MOVX @DPTR,A指令向AD9850傳送控制字時(shí),由74F138將高八位地址的低三位譯碼,其輸出經(jīng)反相并與反相后的信號(hào)相與得到一上升沿送至AD9850的W-CLK腳,此時(shí)已送到總線上的數(shù)據(jù)將被AD9850接收,連續(xù)五次將40位的控制字全部發(fā)送以后,用MOVA A,@DPTR指令產(chǎn)生FQ-UD信號(hào),使AD9850更改輸出頻率和相位,此時(shí)讀入到單片機(jī)內(nèi)的數(shù)據(jù)實(shí)際上無任何意義。圖7中AD9850的地址為0700H。
上述兩種接口方式經(jīng)實(shí)際應(yīng)用證明:工作可靠,效果良好。單片機(jī)與AD9850的串行接口可參照有關(guān)資料進(jìn)行設(shè)計(jì)。上述接口電路和程序也適用于與AD9850腳對(duì)腳兼容的AD9851,值得注意的是:AD9851的控制字與AD9850控制遼中別位的定義稍有區(qū)別,編程時(shí)應(yīng)予以注意。