DDS技術作為一種先進的直接數字頻率合成技術,用數字控制的方法從一個頻率基準源產生多種頻率,具有高可靠性、高集成度、高頻率分辨率及頻率變化快、控制靈活等特點,在通信與儀表領域得到了廣泛的應用。采用DDS芯片制作的信號源,輸出信號的頻率和幅度都可由微機來精確控制,調節非常方便,常用的幅度調節方法是在DDS輸出端加數字增益控制電路,或者通過改變DAC的參考電壓或編程電阻來實現。本文介紹一種新的幅度控制方法,通過控制DDS的 DAC滿刻度電流的大小來實現對輸出幅度的調節,能夠保證DDS的無雜散動態輸出范圍(SFDR)指標,而且控制手段更直接、更精確、更靈活。
系統硬件設計與實現
1 總體結構
系統主要由三部分組成:單片機系統,DDS信號產生與濾波部分,幅度控制部分。系統結構如圖1所示。單片機采用AT89C52,作為控制中心,它負責DDS的信號產生和頻率刷新,同時輸出幅度控制信號調節D/A轉換器的輸出電壓,進而實現對DDS輸出信號幅度的靈敏調節。
圖1 系統硬件結構圖
DDS芯片采用美國ADI公司的AD9830。AD9830是一種完整的DDS(complete-DDS)芯片,內部集成了10位的D/A轉換器,采用差分形式輸出,可配置成單端輸出。其SFDR指標高達72dB,采樣速率50MHz,最高輸出頻率可達25MHz。片內還集成兩個頻率寄存器和四個相位寄存器,可方便地應用于數字調制,實現FSK、QPSK和GMSK等多種調制功能。
DDS輸出幅度的控制有多種方法,最傳統的方法是在DDS輸出端加數字增益控制電路,此外,也可以通過改變DAC的參考電壓或編程電阻來實現。 AD9830的47腳(FSADJUST)是其DAC滿刻度輸出電流調整端,通常的用法是在該腳和地之間接一個編程電阻RSET,改變RSET的大小即可以調節AD9830的輸出信號幅度,但這種方法可操作性較差,控制精度也不高。通過分析和實驗,我們發現,改變RSET的實質就是改變FSADJUST支路電流,改變FSADJUST支路電流也就能調節DDS的輸出信號幅度。因而提出了這種新的控制方法。
DDS輸出幅度控制部分主要包括一個12位的D/A轉換器AD7531和運算放大器TL071,通過這部分電路控制AD9830的DAC滿刻度電流的大小,達到改變AD9830的IOUT輸出電流的目的,進而實現對輸出信號幅度的精確控制。
2 硬件電路及接口設計
系統的硬件電路如圖2所示。
圖2 硬件電路圖
由于AD9830的輸入數據線為16根,需要對單片機的數據線進行擴展。將單片機的P0口作為數據總線口,分時輸入到兩片8D觸發器74HC574 中,兩片74HC574的時鐘信號Latch1和Latch2分別由單片機P1口的P1.4、 P1.5提供,這樣實現了數據線由8位到16位的擴展。
單片機P1口的低4位分別控制AD9830的頻率寄存器選擇信號FSELECT、復位信號RESET和相位寄存器選擇輸入信號PSEL0、PSEL1。P2口的低3位作為地址總線,與AD9830的A0~A2相連。復用端口P3的P3.6用作AD9830的寫信號WR。
為滿足D/A轉換器AD7531的12位分辨率要求,采用一片74HC175和一片74HC377實現數據由8位到12位的擴展,74HC175和74HC377的時鐘信號分別由單片機P1口的P1.6、P1.7控制。
D/A轉換器AD7531的參考電壓由AD9830的REFOUT輸出提供,為高穩定的1.21V。
單片機通過緩沖器送12位數據到AD7531,經D/A轉換輸出控制電壓到運放TL071,經放大后輸出到AD9830的47腳(即 FSADJUST端),改變AD7531的控制電壓即改變了AD9830的DAC滿刻度電流的大小,也就改變了AD9830的IOUT輸出電流的大小,因此實現了對DDS輸出信號幅度的精確控制。
軟件設計
軟件部分采用C語言設計,主要包括DDS控制子程序和幅度控制子程序。
DDS控制子程序完成對AD9830工作狀態、工作模式和頻率參數的設置,將單片機送來的數據寫入片內相應的寄存器,控制信號的產生。
幅度控制子程序主要通過計算,往D/A轉換器AD7531中置入適當的幅度控制字,完成對DDS輸出信號幅度的精確和靈活控制。
圖3為主程序流程圖,該流程沒有涉及調頻和調相功能。
圖3 主程序流程圖
調試與實驗結果
在實際制作和調試中,采用四層印制版,中間兩層分別為模擬地和數字地,以加強屏蔽并有利于電源的濾波,在AD9830和AD7531的每個電源端,都采用0.1μF高頻電容濾波,同時注意印刷板合理走線,AD9830的數字地和模擬地分離,且匯總到金屬機殼的一點上,以降低數字部分的干擾,保證系統的噪聲和雜散性能。
在幅度調整電路中,電阻R1起到減少漂移的作用,不可或缺。R4是限流電阻,一般取1kΩ,同時要注意TL071的電壓輸出值VDC不能過大,以保證AD9830的DAC滿刻度輸出電流IOUT不超過最大值21mA,VDC和IOUT滿足以下關系:
IOUT=16×(1.21-VDC)/R4
實驗中,我們用Agilent83620A作為DDS的參考時鐘,驅動AD9830產生頻率為1kHz~10MHz的正弦信號,用HP8592E頻譜儀測量輸出,幅度調節步進量在0.1~1dB之間變化時,信號頻譜質量無變化,無雜散動態輸出范圍達到68dB。
結論
與輸出端加數字增益控制電路的傳統方法以及改變編程電阻的方法相比,本文提出的這種控制DDS輸出幅度的方法更便于實現精確的控制,同時又不影響DDS的其他功能,特別適用于需要改變輸出幅度又要實現數字調相功能的應用場合。