基于FPGA和DDS的數(shù)控信號源的設(shè)計與實現(xiàn)
2.3 地址信號發(fā)生器的設(shè)計
考慮到ROM的結(jié)構(gòu)和每周期采樣點數(shù)相同的需要,設(shè)計的地址信號發(fā)生器需要在提供ROM尋址的同時完成波形選擇的功能。當(dāng)波形選擇鍵“wave”按下時,完成波形種類選擇功能。波形種類轉(zhuǎn)換采樣狀態(tài)機來完成,其狀態(tài)圖如圖5所示。圖中共有4種狀態(tài)S00,S0,S1,S2。當(dāng)復(fù)位信號有效時為S00狀態(tài),此時輸出正弦波,否則每當(dāng)按下“wave”鍵就從當(dāng)前狀態(tài)轉(zhuǎn)換到下一狀態(tài)。狀態(tài)S0輸出正弦波,狀態(tài)S1輸出方波,狀態(tài)S2輸出三角波。當(dāng)“wave”鍵沒有按下,且相位累加器溢出時,地址信號發(fā)生器就是一個N進制的計數(shù)器,使ROM表順序地讀出當(dāng)前波形數(shù)據(jù)。本文引用地址:http://m.butianyuan.cn/article/177446.htm
2.4 外圍電路的實現(xiàn)
外圍電路包括幅度控制、顯示以及輸入模塊等部分。
幅度控制通過調(diào)節(jié)比例放大電路來實現(xiàn)。顯示模塊由LED數(shù)碼管和指示燈組成,其中8位數(shù)碼顯示頻率,指示燈顯示波形種類。用動態(tài)掃描方式依次點亮8位數(shù)碼管。
輸入模塊用于輸出波形選擇和波形頻率設(shè)置,均由4×4鍵盤完成。波形選擇只用一個按鍵完成,按下后循環(huán)選擇“正弦波→方波→三角波→正弦波”,同時輸出相應(yīng)波形種類指示燈信號。
根據(jù)系統(tǒng)中DDS結(jié)構(gòu),輸出波形的頻率為
式(1)中,fclk為系統(tǒng)時鐘頻率;Fword為頻率控制字;Mode為相位累計器的模,N為每種波形數(shù)據(jù)的字長。由于fclk,Mode,N均為定值,所以輸出頻率與相位控制是比例關(guān)系,可用一個乘法器來實現(xiàn)。文中取fclk=50 MHz,Mode=5×107,N=32,則f0=Fword/32,輸出波形頻率精度為0.03 Hz。根據(jù)采樣定理,輸出頻率f0最高為fclk的1/2,但是實際上f0低于fclk的40%時,輸出波形的穩(wěn)定性才比較好。
鍵盤電路如圖6所示,由鍵盤、鍵盤控制和按鍵處理3部分組成。鍵盤控制完成鍵掃、按鍵去抖和按鍵標(biāo)志產(chǎn)生功能。按鍵處理部分對數(shù)字鍵和功能鍵的處理。頻率設(shè)置時,輸入的數(shù)字作為波形的輸出頻率,并轉(zhuǎn)換成對應(yīng)的頻率控制字送入DDS模塊。設(shè)置頻率的同時,輸入的設(shè)置值送入顯示模塊顯示。
按鍵說明:“←”鍵表示刪除最后一位輸入的數(shù)字,“esc”鍵表示放棄當(dāng)前輸入的數(shù)字,“#”鍵表示確定輸入,“wave”鍵表示波形種類選擇,“reset”鍵為復(fù)位鍵,“clear”鍵為清零鍵。輸出頻率設(shè)置操作為從鍵盤輸入需要輸出的頻率值,最后按下確認(rèn)鍵“#”即可。
評論