AD9850實(shí)現嵌入式信號源設計
軟件設計主要分為菜單操作和頻率控制值計算兩部分。在系統中通過(guò)外接4×4軟鍵盤(pán)輸入設定頻率和調整步進(jìn)。一共16個(gè)按鍵,不同的按鍵代表著(zhù)不同的數字和功能,除了正常的10個(gè)數字鍵0~9外,為了方便頻率值的輸入,還設計了菜單鍵、刪除鍵、步進(jìn)一、步進(jìn)十、確認鍵、輸出鍵等功能鍵。通過(guò)輸入0~9數字鍵,輸入設定頻率;按下確認鍵,輸出相應頻率的波形;按下菜單鍵,可根據需要按下1,2,3數字鍵,分別選擇1 Hz,10 Hz,100 Hz三個(gè)檔位的頻率步進(jìn);按下確認鍵,此后按下步進(jìn)+、步進(jìn)一即可對輸出信號進(jìn)行頻率的步進(jìn)調整;欲重新設定頻率只需按下刪除鍵,再次輸入預設的頻率即可。
該系統中單片機與AD9850采用串行通信方式連接。其中,頻率控制字的計算:AD9850的時(shí)鐘信號采用30 MHz,根據式(1)得:

式中:fo為從鍵盤(pán)上輸入的頻率值。式(3)計算的結果在不影響精度的情況下舍去小數部分,轉換為32位的頻率控制字。AD9850有40位控制字,32位用于頻率控制,5位用于相位控制,1位用于電源休眠(PowerDown)控制,2位用于選擇工作方式。這40位控制字可通過(guò)并行方式或串行方式輸入到AD9850。實(shí)際應用中,工作方式選擇位通常設定成00,該系統中AD9850的40位控制字高8位設置為00H。串行接口方式下需滿(mǎn)足的時(shí)序關(guān)系為:在W_CLK的上升沿,引腳D7上的數據自最低有效位開(kāi)始逐位串行移人輸入寄存器,40位數據輸入結束后,任何W_CLK上升沿到來(lái),都會(huì )造成數據順序移出并導致原來(lái)數據無(wú)效。此時(shí),FQ_UD端的上升沿將40位數據裝入頻率/相位控制寄存器,更新芯片的輸出頻率和相位,同時(shí)把地址指針復位到第一個(gè)輸入寄存器,等待下一組新數據的寫(xiě)入。AD9850的控制字串行輸入時(shí)序圖如圖6所示。

該系統的總程序框圖如圖7所示,程序開(kāi)始后,運行初始化程序,包括初始化單片機MSP430F149、初始化AD9850、初始化液晶顯示模塊1602等。然后掃描鍵盤(pán)狀態(tài),檢查到有鍵按下就運行鍵值處理程序,對按鍵值進(jìn)行查表處理,之后執行相應的子程序。輸入的信號相關(guān)信息通過(guò)運行液晶顯示程序,在LCD上顯示正確的輸入數據和提示字符。在按下確認鍵后,MSP430F149計算出所需信號的數據或控制命令,將其傳送到AD9850,輸出最終信號。

3 系統測試與結果分析
為了檢驗本系統的實(shí)際性能,在完成所有設計后,使用HDSTO22M型示波表對該系統進(jìn)行實(shí)測,經(jīng)過(guò)實(shí)驗測試系統達到下列性能指標:輸出信號頻率范圍為1 Hz~10 MHz;步進(jìn)調整為1 Hz,10 Hz,100 Hz三檔步進(jìn);失真度無(wú)明顯失真;輸出電壓峰峰值為1~10 V;頻率穩定度優(yōu)于10-4。
4 結 語(yǔ)
在此給出一種基于DDS芯片AD9850和MSP430F149單片機的嵌入式信號源設計方法,該信號源可輸出頻率范圍為1 Hz~10 MHz的正弦波和方波,且具有頻率設定1 Hz,10 Hz,100 Hz多檔步進(jìn)調整和幅度調節的功能??梢酝ㄟ^(guò)按鍵進(jìn)行頻率值設定,并有LCD顯示波形的頻率等信息,經(jīng)實(shí)驗測試,在1 Hz~10 MHz頻率范圍內,得到的正弦波方波信號具有頻率穩定性好,頻率準確度高及頻率分辨率高等特點(diǎn)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論