三、AD9850工作方式
1、控制字的加載
AD9850有40位控制字,32位用于頻率控制,5位用于相位控制,1位用于電源休眠,2位用于選擇工作方式,詳見表1。這40位控制字可通過并行或串行方式輸入到AD9850,圖4是控制字并行輸入的時序圖。在并行裝入方式中,通過8位總線D0-D7可將數據輸入到寄存器。在W-CLK的上升沿裝入8位數據,并把指針指向下一個輸入寄存器,在重復5次之后,再在FQ-UD上升沿把40位數據從輸入寄存器裝入到頻率/相位數據寄存器(更新DDS輸出頻率和相位),同時把地址指針復位到第一個輸入寄存器。連續5個W-CLK上升沿后,W-CLK的邊沿就不再起作用,直到復位信號或FQ-UD上升沿把地址指針復位到第一個寄存器。
在串行輸入方式,W-CLK上升沿把25(D7)引腳的一位數據串行移入,當移動40位后,用一個FQ_UD脈沖即可更新輸出頻率和相位。圖5是相應的控制字串行輸入的控制時序圖。AD9850的復位(RESET)信號為高電平有效,且脈沖寬度不小于5個參考時鐘周期。AD9850的參考時鐘頻率一般遠高于單片機的時鐘頻率,因此復位端(22)可與單片機的復位端直接相連。
2、相位控制字的計算
AD9850中有5bit用于相位控制,相位控制的精度為360°/25=11.25°,用二進制表示為00001,根據實際需要,設置不同的相位控制字就可以實現精確的相位控制。表2給出了相移與相位控制字之間的對應關系,允許相位按增量11.25°、22.5°、45°、90°、180°移動或者這些值進行組合。
3、頻率控制字的計算
輸出信號的頻率由頻率控制字內的相位增加量來決定。設相位累加器的位數為N,頻率控制字內的相位增量為K,參考時鐘頻率為CLKIN,AD9850的頻率控制字為△Freq,則DDS系統輸出信號的頻率fOUT為:fOUT=(CLKIN×K)/2N,輸出信號的頻率分辨率為△fOUT=CLKIN/2N,對于一個相位累加器的位數N=32,參考時鐘頻率為CLKIN=125MHz,當相位增量K=1時,輸出信號頻率,fOUT最低,其值約為0.03Hz,這個值也是輸出信號的頻率分辨率△fOUT;K的值不能太大,否則會出現失真波形。fOUT的最大值理論上至少應少于CLKIN/2,當相位增量K=231時,輸出信號頻率fOUT最高,其值可達62.5MHz。所以要向提高輸出頻率的最大值,就得靠提高系統的外部時鐘CLKIN。
當給定DDS系統輸出信號的頻率為fOUT,AD9850的頻率控制字為:△Freq=K=(fOUT×2N)/CLKIN。AD9850的頻率控制字位數N為32位,當參考時鐘頻率CLKIN=20MHz,輸出信號頻率位1kHz,則向AD9850寫入頻率控制字為:△