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