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