《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 基于AD9850的信号发生器的设计与实现
基于AD9850的信号发生器的设计与实现
摘要: 介绍ADI公司出品的AD9850芯片,给出芯片的引脚图和功能。并以单片机AT89S52为控制核心设计了一个串行控制方式的正弦信号发生器的可行性方案,给出了单片机AT89S52与AD9850连接电路图和调试通过的源程序以供参考。该电路设计方案正确可行,频率容易控制,操作简单灵活,且具有广阔的应用前景。
Abstract:
Key words :

    直接數(shù)字頻率合成技術(shù)(DDS)是20世紀末迅速發(fā)展起來的一種新的頻率合成技術(shù),它將先進的數(shù)字處理技術(shù)與方法引入信號合成領(lǐng)域,表現(xiàn)出優(yōu)越的性能和突出的特點。由于DDS器件采用高速數(shù)字電路和高速D/A轉(zhuǎn)換技術(shù),具有頻率轉(zhuǎn)換速度快、頻率分辨率高、相位噪聲低、頻率穩(wěn)定度高等優(yōu)點,此外,DDS器件很容易實現(xiàn)對信號的全數(shù)字式調(diào)制。因此,直接數(shù)字頻率合成器以其獨有的優(yōu)勢成為當今電子設(shè)備和系統(tǒng)頻率源的首選器件。本文介紹了ADI公司出品的AD- 9850芯片,以單片機AT89S52為控制核心完成正弦信號發(fā)生器的可行性設(shè)計方案,并給出了調(diào)試通過的源程序以供參考。

1 AD9850芯片性能及管腳功能
    AD9850采用了先進的CMOS工藝,支持5 V和3.3 V兩種供電電壓,在3.3 V供電時功耗僅為155 mW,擴展工業(yè)級溫度為-40~+80 oC。支持并行或串行輸入控制接口形式,最大支持時鐘頻率為125MHz,此時輸出的頻率分辨率達0.029 1 Hz。采用28腳SSOP表面封裝形式,其管腳功能如圖1所示。


    AD9850分為可編程序DDS系統(tǒng)、高性能數(shù)/模變換器(DAC)和高速比較器三部分,其中可編程DDS系統(tǒng)包含輸入寄存器、數(shù)據(jù)寄存器和高速DDS三部分。高速DDS包括相位累加器和正弦查找表,其中相位累加器由一個加法器和一個32位相位寄存器組成,相位寄存器的輸出與一個5位的外部相位控制字相加后作為正弦查找表的地址。正弦查找表包含一個正弦波周期的數(shù)字幅度信息,每一個地址對應(yīng)正弦波中O~360范圍的一個相位點。查找表輸出后驅(qū)動10 b的DAC轉(zhuǎn)換器,輸出兩個互補的電流,其幅度可通過外接電阻Rset來調(diào)節(jié),輸出電流可由Iset=32(1.248 V/Rset)來計算,Rset的典型值為3.9 kΩ。輸出信號經(jīng)過外部的一個低通濾波器后接到AD9850內(nèi)部自帶的高速比較器,即可產(chǎn)生一個與正弦波同頻率且抖動很小的方波。

2 AD9850的控制字及控制時序
    AD9850的控制字有40位,其中32位是頻率控制位,5位是相位控制位,1位是電源休眠控制位,2位是工作方式選擇控制位。在應(yīng)用中,工作方式選擇位設(shè)為00,因為01,10,11已經(jīng)預(yù)留作為工廠測試用。相位控制位按增量180°,90°,45°,22.5°,11.25°或這些組合來調(diào)整。頻率控制位可通過下式計算得到:

其中:fout要輸出的頻率值;fr為參考時鐘頻率;W為相應(yīng)的十進制頻率控制字,然后轉(zhuǎn)換為十六進制即可。

AD9850有串行和并行兩種控制命令字寫入方式。其中串行寫入方式是采用D7作為數(shù)據(jù)輸入端,每次W_CLK的上升沿把一個數(shù)據(jù)串行移人到輸入寄存器,40位數(shù)據(jù)都移入后.FQ_UD上升沿完成輸出信號頻率和相位的更新。串行控制字的寫入時序如圖2所示。但是要注意的是,此時數(shù)據(jù)輸入端的三個管腳不可懸空,其中DO,D1腳接高電平,D2腳要接地。

 


3 硬件電路設(shè)計
    AD9850控制字的寫入方式有串行和并行兩種。并行寫入方式的優(yōu)點是數(shù)據(jù)傳輸?shù)乃俣瓤?,能夠提升整個系統(tǒng)的處理速度,但占用的單片機的I/O口資源太多。與并行方式相比,串行寫入方式在數(shù)據(jù)傳輸?shù)乃俣壬弦髢?yōu)點是能節(jié)省很多I/O口資源。所以,本系統(tǒng)采用AT89S52單片機作為控制核心,通過串行寫入控制字的方式控制AD9850芯片,加上鍵盤和LED顯示部分等外圍電路,構(gòu)成整個系統(tǒng)電路。為了詳細介紹AD9850的用法,這里重點給出本系統(tǒng)中AT89S52單片機與AD9850芯片連接電路,如圖3所示,其中R1=3.9 kΩ,R2=50Ω,R3=25Ω,單片機晶振選用12 MHz,電容采用20 pF經(jīng)典值。單片機采用12 MHz晶振時,它的高電平時間能夠滿足AD9850復(fù)位要求,故可將AD9850的復(fù)位端與單片機的復(fù)位端直接相連。


4 軟件部分設(shè)計
    軟件程序的功能就是通過程序使整個系統(tǒng)按照人們的設(shè)想要求工作起來,本系統(tǒng)中最主要的部分就是將AD9850的40位控制字通過單片機寫入到AD9850芯片內(nèi),系統(tǒng)的程序流程圖如圖4所示。要根據(jù)寫入控制字方式的不同嚴格按照A9850的時序圖來編寫控制字寫入子程序。本文主要給出串行寫入方式的匯編源程序以供讀者調(diào)試參考。

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單片機設(shè)計了一個串行控制方式的正弦信號發(fā)生器可行性方案,并給出了部分重要電路圖和調(diào)試源程序。最后筆者通過實際電路的測試表明,該電路設(shè)計方案正確可行,頻率容易控制,操作簡單靈活,且具有廣闊的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容