基于AD9850的信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:介紹ADI公司出品的AD9850芯片,給出芯片的引腳圖和功能。并以單片機(jī)AT89S52為控制核心設(shè)計(jì)了一個(gè)串行控制方式的正弦信號(hào)發(fā)生器的可行性方案,給出了單片機(jī)AT89S52與AD9850連接電路圖和調(diào)試通過的源程序以供參考。該電路設(shè)計(jì)方案正確可行,頻率容易控制,操作簡單靈活,且具有廣闊的應(yīng)用前景。
關(guān)鍵詞:AT89S52;AD9850;直接頻率合成技術(shù);信號(hào)發(fā)生器
直接數(shù)字頻率合成技術(shù)(DDS)是20世紀(jì)末迅速發(fā)展起來的一種新的頻率合成技術(shù),它將先進(jìn)的數(shù)字處理技術(shù)與方法引入信號(hào)合成領(lǐng)域,表現(xiàn)出優(yōu)越的性能和突出的特點(diǎn)。由于DDS器件采用高速數(shù)字電路和高速D/A轉(zhuǎn)換技術(shù),具有頻率轉(zhuǎn)換速度快、頻率分辨率高、相位噪聲低、頻率穩(wěn)定度高等優(yōu)點(diǎn),此外,DDS器件很容易實(shí)現(xiàn)對信號(hào)的全數(shù)字式調(diào)制。因此,直接數(shù)字頻率合成器以其獨(dú)有的優(yōu)勢成為當(dāng)今電子設(shè)備和系統(tǒng)頻率源的首選器件。本文介紹了ADI公司出品的AD- 9850芯片,以單片機(jī)AT89S52為控制核心完成正弦信號(hào)發(fā)生器的可行性設(shè)計(jì)方案,并給出了調(diào)試通過的源程序以供參考。
1 AD9850芯片性能及管腳功能
AD9850采用了先進(jìn)的CMOS工藝,支持5 V和3.3 V兩種供電電壓,在3.3 V供電時(shí)功耗僅為155 mW,擴(kuò)展工業(yè)級溫度為-40~+80 oC。支持并行或串行輸入控制接口形式,最大支持時(shí)鐘頻率為125MHz,此時(shí)輸出的頻率分辨率達(dá)0.029 1 Hz。采用28腳SSOP表面封裝形式,其管腳功能如圖1所示。
AD9850分為可編程序DDS系統(tǒng)、高性能數(shù)/模變換器(DAC)和高速比較器三部分,其中可編程DDS系統(tǒng)包含輸入寄存器、數(shù)據(jù)寄存器和高速DDS三部分。高速DDS包括相位累加器和正弦查找表,其中相位累加器由一個(gè)加法器和一個(gè)32位相位寄存器組成,相位寄存器的輸出與一個(gè)5位的外部相位控制字相加后作為正弦查找表的地址。正弦查找表包含一個(gè)正弦波周期的數(shù)字幅度信息,每一個(gè)地址對應(yīng)正弦波中O~360范圍的一個(gè)相位點(diǎn)。查找表輸出后驅(qū)動(dòng)10 b的DAC轉(zhuǎn)換器,輸出兩個(gè)互補(bǔ)的電流,其幅度可通過外接電阻Rset來調(diào)節(jié),輸出電流可由Iset=32(1.248 V/Rset)來計(jì)算,Rset的典型值為3.9 kΩ。輸出信號(hào)經(jīng)過外部的一個(gè)低通濾波器后接到AD9850內(nèi)部自帶的高速比較器,即可產(chǎn)生一個(gè)與正弦波同頻率且抖動(dòng)很小的方波。
2 AD9850的控制字及控制時(shí)序
AD9850的控制字有40位,其中32位是頻率控制位,5位是相位控制位,1位是電源休眠控制位,2位是工作方式選擇控制位。在應(yīng)用中,工作方式選擇位設(shè)為00,因?yàn)?1,10,11已經(jīng)預(yù)留作為工廠測試用。相位控制位按增量180°,90°,45°,22.5°,11.25°或這些組合來調(diào)整。頻率控制位可通過下式計(jì)算得到:
其中:fout要輸出的頻率值;fr為參考時(shí)鐘頻率;W為相應(yīng)的十進(jìn)制頻率控制字,然后轉(zhuǎn)換為十六進(jìn)制即可。[!--empirenews.page--]
AD9850有串行和并行兩種控制命令字寫入方式。其中串行寫入方式是采用D7作為數(shù)據(jù)輸入端,每次W_CLK的上升沿把一個(gè)數(shù)據(jù)串行移人到輸入寄存器,40位數(shù)據(jù)都移入后.FQ_UD上升沿完成輸出信號(hào)頻率和相位的更新。串行控制字的寫入時(shí)序如圖2所示。但是要注意的是,此時(shí)數(shù)據(jù)輸入端的三個(gè)管腳不可懸空,其中DO,D1腳接高電平,D2腳要接地。
3 硬件電路設(shè)計(jì)
AD9850控制字的寫入方式有串行和并行兩種。并行寫入方式的優(yōu)點(diǎn)是數(shù)據(jù)傳輸?shù)乃俣瓤欤軌蛱嵘麄€(gè)系統(tǒng)的處理速度,但占用的單片機(jī)的I/O口資源太多。與并行方式相比,串行寫入方式在數(shù)據(jù)傳輸?shù)乃俣壬弦?,但它更大?yōu)點(diǎn)是能節(jié)省很多I/O口資源。所以,本系統(tǒng)采用AT89S52單片機(jī)作為控制核心,通過串行寫入控制字的方式控制AD9850芯片,加上鍵盤和LED顯示部分等外圍電路,構(gòu)成整個(gè)系統(tǒng)電路。為了詳細(xì)介紹AD9850的用法,這里重點(diǎn)給出本系統(tǒng)中AT89S52單片機(jī)與AD9850芯片連接電路,如圖3所示,其中R1=3.9 kΩ,R2=50Ω,R3=25Ω,單片機(jī)晶振選用12 MHz,電容采用20 pF經(jīng)典值。單片機(jī)采用12 MHz晶振時(shí),它的高電平時(shí)間能夠滿足AD9850復(fù)位要求,故可將AD9850的復(fù)位端與單片機(jī)的復(fù)位端直接相連。
4 軟件部分設(shè)計(jì)
軟件程序的功能就是通過程序使整個(gè)系統(tǒng)按照人們的設(shè)想要求工作起來,本系統(tǒng)中最主要的部分就是將AD9850的40位控制字通過單片機(jī)寫入到AD9850芯片內(nèi),系統(tǒng)的程序流程圖如圖4所示。要根據(jù)寫入控制字方式的不同嚴(yán)格按照A9850的時(shí)序圖來編寫控制字寫入子程序。本文主要給出串行寫入方式的匯編源程序以供讀者調(diào)試參考。
[!--empirenews.page--]
AD9850數(shù)據(jù)傳送子程序如下:
DDS_DATA BIT P1.3
DDS_WCLK BIT P1.4
DDS_FQUD BIT P1.5
DATAO DATA 30H
DATAl DATA 31H
DATA2 DATA 32H
DATA3 DATA 33H
DATA4 DATA 34H
0RG 0000H
MAIN:
MOV 30H,#OH
MOV 31H,#06H
MOV 32H,#66H
MOV 33H,#66H
MOV 34H,#66H
lcall SEND_DATA
lcall SEND_DATA
SJMP $
END_DATA:
MOV R1,#DATA4
MOV R0,#05H
CLR DDS_FQUD
L00P_SEND_W:
MOV A,@R1
CLR C
SEND_1_BIT:
LOOP_SEND:
CLR DDS_WCLK
RRC A
MOV DDS_DATA,C
DJNZ R2,LOOP_SEND
DEC R1
DJNZ R0,LOOP_SEND_W
SETB DDS_FQUD
RET
End
5 結(jié) 語
本文在介紹經(jīng)典DDS芯片AD9850的基礎(chǔ)上,采用AT89S52單片機(jī)設(shè)計(jì)了一個(gè)串行控制方式的正弦信號(hào)發(fā)生器可行性方案,并給出了部分重要電路圖和調(diào)試源程序。最后筆者通過實(shí)際電路的測試表明,該電路設(shè)計(jì)方案正確可行,頻率容易控制,操作簡單靈活,且具有廣闊的應(yīng)用前景。