基于DDS芯片AD9850的全數(shù)控函數(shù)信號發(fā)生器的設(shè)計與實(shí)現(xiàn)
單片機(jī)與AD9850的接口既可采用并行方式,也可采用串行方式。為了充分發(fā)揮芯片的高速性能和節(jié)約單片機(jī)資源,本設(shè)計選擇并行方式將AT89S52的P0口經(jīng)74HC373鎖存器擴(kuò)展后接至DDS的并行輸入控制端(D0~D7)。AD9850外接120 MHz的有源晶振,產(chǎn)生的正弦信號經(jīng)低通濾波器(LPF)去掉高頻諧波后即可得到波形良好的模擬信號。這樣,將D/A轉(zhuǎn)換器的輸出信號經(jīng)低通濾波后,接到AD9850內(nèi)部的高速比較器上,即可直接輸出一個抖動很小的方波。再將方波信號加至積分電路,即可得到三角波信號。另外,也可通過鍵盤編輯任意波形的輸出信號。
3.2鍵盤輸入接口及LCD接口電路
本系統(tǒng)中的數(shù)字輸入設(shè)置電路采用2×8矩陣鍵盤。由于LCD具有顯示內(nèi)容多,電路結(jié)構(gòu)簡單,占用單片機(jī)資源少等優(yōu)點(diǎn),本系統(tǒng)采用RT1602C型LCD液晶顯示屏來顯示信號的類型、頻率大小和正弦波的峰一峰值,圖4所示是鍵盤輸入及LCD接口電路圖。
同樣,考慮到AT89S52單片機(jī)的IO引腳資源有限,本系統(tǒng)的鍵盤輸入及LCD輸出均通過74HC245連接到AT89S52單片機(jī)的P0端口,從而實(shí)現(xiàn)端口擴(kuò)展和復(fù)用。
3.3信號幅度數(shù)控預(yù)置電路
為了實(shí)現(xiàn)對輸出的正弦模擬信號幅度的數(shù)字控制和預(yù)置,本系統(tǒng)采用了AD811高速運(yùn)放、數(shù)字電位器衰減、真有效值轉(zhuǎn)換、以及A/D轉(zhuǎn)換等電路,具體電路圖如圖5所示。
數(shù)字電位器X9C102是實(shí)現(xiàn)信號幅度數(shù)字可調(diào)的關(guān)鍵器件。真有效值轉(zhuǎn)換模塊AD637主要負(fù)責(zé)信號的TRMS/DC轉(zhuǎn)換,然后經(jīng)TLC2453模數(shù)轉(zhuǎn)換向單片機(jī)輸送正比于正弦波信號幅度的數(shù)字量,以便單片機(jī)輸出合適的幅值控制指令。
3.4積分電容自動切換控制電路
三角波是常用信號之一,本系統(tǒng)采用RC積分電路將方波信號轉(zhuǎn)換成三角波。由于信號頻率很寬(低頻達(dá)1 Hz以下,高頻達(dá)60 MHz以上),為了完成不同頻段的線性積分,需要不同的積分電容(10pF、100pF、1 nF、10nF、100nF、1 μF、10 μF、100μF)。基于數(shù)控和自動切換的需要,本系統(tǒng)采用如圖6所示的CD4051八選一電路。
CD4051的八選一控制信號來源于AT89S52的P0~P3接口,74HC373P也是考慮復(fù)用P0端口而設(shè)置的。AD9850輸出的方波經(jīng)積分電路轉(zhuǎn)換為三角波后,經(jīng)AD811高速運(yùn)放可提高其負(fù)載能力。
4系統(tǒng)軟件設(shè)計
4.1 主程序
主程序可控制整個系統(tǒng),包括控制系統(tǒng)的初始化、顯示、運(yùn)算、鍵盤掃描、頻率控制、幅度控制等子程序,其主程序流程如圖7所示。
評論