基于DDS的程控信號(hào)發(fā)生器設(shè)計(jì)
摘要:采用了直接數(shù)字頻率合成技術(shù)(DDS)和計(jì)算機(jī)控制技術(shù),選擇美國(guó)Analog Devices公司的高度集成DDS芯片AD9851和AT89S52單片機(jī)作為控制器件,設(shè)計(jì)了一種基于DDS的程控信號(hào)發(fā)生器。用C語言進(jìn)行了軟件應(yīng)用設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,該信號(hào)發(fā)生器能較好地產(chǎn)生較高穩(wěn)定度的激勵(lì)信號(hào),具有較高的實(shí)用價(jià)值。
關(guān)鍵詞:DDS;信號(hào)發(fā)生器;AD9851;AT89S52
信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)實(shí)驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。信號(hào)的頻率和穩(wěn)定度是信號(hào)發(fā)生器的重要指標(biāo),一般的信號(hào)發(fā)生器很難滿足特定的要求,本文運(yùn)用計(jì)算機(jī)控制技術(shù)和直接數(shù)字頻率合成技術(shù)(Direct Digital Frequency Synthesis)開發(fā)出基于DDS的程控信號(hào)源。
1 系統(tǒng)總體設(shè)計(jì)
AD9851可以與多種單片機(jī)連接,以完成數(shù)據(jù)傳遞與控制等。本設(shè)計(jì)采用Atmel的單片機(jī)AT89S52。
AD9851與AT89S52的接口電路如圖1所示。
該系統(tǒng)的硬件設(shè)計(jì)包含四個(gè)模塊:
(1)數(shù)據(jù)傳送控制電路。數(shù)據(jù)傳送控制電路的主要功能是將AD9851所需要的頻率/相位控制字通過AT89S52微處理器以并行方式或串行方式輸入到AD9851的控制字寄存器。根據(jù)電路設(shè)計(jì)的整體思路和資源配置,這個(gè)電路可采用并行輸入方式為AD9851輸送40位頻率/相位控制字。
(2)鍵盤控制電路。利用鍵盤可以實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令、切換功能等。鍵盤可分為獨(dú)立式鍵盤和矩陣式鍵盤,本設(shè)計(jì)采用4×8矩陣式鍵盤。
(3)顯示電路。鍵盤和LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中實(shí)現(xiàn)人機(jī)對(duì)話的一種基本方式。在該頻率顯示系統(tǒng)的設(shè)計(jì)電路中,主要是由6個(gè)數(shù)碼管、移位寄存器和3個(gè)LED指示等組成。
(4)單片機(jī)最小系統(tǒng)設(shè)計(jì)。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 數(shù)據(jù)傳送控制電路
如前所述,AD9851所需要的40位頻率/相位控制字可通過AT89S52微處理器以并行方式或串行方式輸入到AD9851的控制字寄存器。AD985 1的7腳(FQ_UD:頻率更新控制),8腳(W_CLK:字輸入時(shí)鐘端),和22腳(RESTET:主復(fù)位端)分別由AT89S52單片機(jī)的三個(gè)I/O口P2.1,P2.0和P2.7控制,以更新AD8951的頻率信號(hào),字輸入時(shí)鐘信號(hào)和主復(fù)位信號(hào),電路連接如圖1所示。
40位頻率/相位控制字是通過AD9851的8位數(shù)據(jù)輸入端(D0~D7)與AT89S52的P0口的8個(gè)引腳(P0.0~P0.7)連接,由AT89S52經(jīng)過P0口分5次傳送。
數(shù)據(jù)傳送過程如下:AD9851需要的40位頻率/相位控制字(W0,W1,W2,W3,W4)首先預(yù)存儲(chǔ)在AT89S52內(nèi)部指定的5個(gè)8位存儲(chǔ)器中。
(1)將AT89S52的P2.1,P2.0和P2.7全部置零,準(zhǔn)備傳送數(shù)據(jù)。AD9851的22腳(RESTET:主復(fù)位端)為高電平有效,當(dāng)其為高電平時(shí)會(huì)將AD9851寄存器的所有數(shù)據(jù)清零。
(2)AD9851把W0數(shù)據(jù)傳送到P0口,使AD9851的8個(gè)數(shù)據(jù)輸入端(D0~D7)的數(shù)值賦為W0。
(3)然后,將單片機(jī)的P2.0置為高電平“1”,再將其置“0”,經(jīng)過AD9851的字輸入時(shí)鐘脈沖W_CLK,W0的數(shù)值就進(jìn)入了AD9851的40位數(shù)據(jù)輸入寄存器。
(4)AD9851把W1數(shù)據(jù)傳送到P0口,將單片機(jī)的P2.0置為高電平“1”,再將其置“0”,經(jīng)過AD9851的字輸入時(shí)鐘脈沖W_CLK,W0的數(shù)值就進(jìn)入了AD9851的40位數(shù)據(jù)輸入寄存器。如此5次之后,W0~W4五組數(shù)據(jù)就全部傳送到AD9851的數(shù)據(jù)輸入寄存器之中。
(5)再將單片機(jī)的P2.1置為高電平“1”,使得AD9851的頻率更新控制端(FQ_UD)經(jīng)過頻率更新控制信號(hào)脈沖,W0~W4共五組數(shù)據(jù)由AD9851的數(shù)據(jù)輸入寄存器輸入到AD9851的頻率/相位寄存器,刷新頻率/相位寄存器中的原有數(shù)值。由此,AD9851的21腳(IOUT端)就輸出由W0~W4決定的一定頻率和相位的正弦波。
評(píng)論