《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于DDS的程控信號(hào)發(fā)生器設(shè)計(jì)
基于DDS的程控信號(hào)發(fā)生器設(shè)計(jì)
尚建榮 西安郵電學(xué)院
摘要: 采用了直接數(shù)字頻率合成技術(shù)(DDS)和計(jì)算機(jī)控制技術(shù),選擇美國(guó)Analog Devices公司的高度集成DDS芯片AD9851和AT89S52單片機(jī)作為控制器件,設(shè)計(jì)了一種基于DDS的程控信號(hào)發(fā)生器。用C語(yǔ)言進(jìn)行了軟件應(yīng)用設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,該信號(hào)發(fā)生器能較好地產(chǎn)生較高穩(wěn)定度的激勵(lì)信號(hào),具有較高的實(shí)用價(jià)值。
Abstract:
Key words :

    信號(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ā)生器很難滿(mǎn)足特定的要求,本文運(yùn)用計(jì)算機(jī)控制技術(shù)和直接數(shù)字頻率合成技術(shù)(Direct Digital Frequency Synthesis)開(kāi)發(fā)出基于DDS的程控信號(hào)源。

1 系統(tǒng)總體設(shè)計(jì)
    AD9851可以與多種單片機(jī)連接,以完成數(shù)據(jù)傳遞與控制等。本設(shè)計(jì)采用Atmel的單片機(jī)AT89S52。
    AD9851與AT89S52的接口電路如圖1所示。

a.jpg


    該系統(tǒng)的硬件設(shè)計(jì)包含四個(gè)模塊:
    (1)數(shù)據(jù)傳送控制電路。數(shù)據(jù)傳送控制電路的主要功能是將AD9851所需要的頻率/相位控制字通過(guò)AT89S52微處理器以并行方式或串行方式輸入到AD9851的控制字寄存器。根據(jù)電路設(shè)計(jì)的整體思路和資源配置,這個(gè)電路可采用并行輸入方式為AD9851輸送40位頻率/相位控制字。
    (2)鍵盤(pán)控制電路。利用鍵盤(pán)可以實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令、切換功能等。鍵盤(pán)可分為獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán),本設(shè)計(jì)采用4×8矩陣式鍵盤(pán)。
    (3)顯示電路。鍵盤(pán)和LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中實(shí)現(xiàn)人機(jī)對(duì)話(huà)的一種基本方式。在該頻率顯示系統(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位頻率/相位控制字可通過(guò)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位頻率/相位控制字是通過(guò)AD9851的8位數(shù)據(jù)輸入端(D0~D7)與AT89S52的P0口的8個(gè)引腳(P0.0~P0.7)連接,由AT89S52經(jīng)過(guò)P0口分5次傳送。
    數(shù)據(jù)傳送過(guò)程如下: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)過(guò)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)過(guò)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)過(guò)頻率更新控制信號(hào)脈沖,W0~W4共五組數(shù)據(jù)由AD9851的數(shù)據(jù)輸入寄存器輸入到AD9851的頻率/相位寄存器,刷新頻率/相位寄存器中的原有數(shù)值。由此,AD9851的21腳(IOUT端)就輸出由W0~W4決定的一定頻率和相位的正弦波。
2.2 鍵盤(pán)控制電路
    鍵盤(pán)是人工干預(yù)單片機(jī)進(jìn)行控制的重要手段,可以實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令、切換功能等。鍵盤(pán)可分為獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán),獨(dú)立式鍵盤(pán)結(jié)構(gòu)簡(jiǎn)單,各個(gè)鍵彼此獨(dú)立,每個(gè)按鍵與一根數(shù)據(jù)輸入線相連。該結(jié)構(gòu)簡(jiǎn)單,使用方便,但是,隨著按鍵數(shù)量的增加所占用的I/O口線也同時(shí)增加。
2.3 顯示電路
    鍵盤(pán)和LED(Light Emitting Diode)顯示是單片機(jī)應(yīng)用系統(tǒng)實(shí)現(xiàn)人機(jī)對(duì)話(huà)的基本方式。頻率顯示電路主要由移位寄存器74HC164、數(shù)碼管以及發(fā)光二極管組成,根據(jù)數(shù)碼管驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多。實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。
    由于編程簡(jiǎn)單,且I/O口可以滿(mǎn)足需要,本設(shè)計(jì)選用靜態(tài)顯示方式。在靜態(tài)的顯示方式下,每位數(shù)碼管的a~h端與一個(gè)8位的I/O口相連。當(dāng)要在某一個(gè)數(shù)碼管上顯示字符時(shí),只要從對(duì)應(yīng)的I/O口輸出并鎖存其顯示代碼即可。
    AD9851輸出的正弦波最大頻率為70 MHz,分辨率為0.04 Hz,所以本設(shè)計(jì)選擇6個(gè)數(shù)碼管顯示,同時(shí)選擇6個(gè)移位寄存器74HC164。74HC1 64是8位串行輸入并行輸出移位寄存器,每接一片74HC164可以擴(kuò)展一個(gè)8位并行輸出口,作為L(zhǎng)ED顯示器的8根段選線。顯示電路因由6個(gè)數(shù)碼管組成,因此有6個(gè)74HC164級(jí)聯(lián)在一起,前一級(jí)74HC164的QH端同時(shí)作為下一級(jí)74HC164的串行數(shù)據(jù)輸入端。最左邊的74HC164的數(shù)據(jù)輸入端的數(shù)據(jù)是由AT89S52的P3.0腳模擬串行輸入數(shù)據(jù),所有的74HC164的同步時(shí)鐘輸入端(Clock)連接在一起,由單片機(jī)的P3.1腳模擬時(shí)鐘輸入。
    但是如果只有6個(gè)數(shù)碼管顯示是不夠的,因此,加入3個(gè)發(fā)光二極管,把輸出頻率數(shù)值分為Hz,kHz,MHz三個(gè)檔。3個(gè)發(fā)光二極管分別經(jīng)過(guò)200 Ω的電阻由單片機(jī)的P3.4,P3.5,P3.6控制。例如,當(dāng)輸出頻率應(yīng)以kHz為單位時(shí),“kHz”發(fā)光二極管亮,則數(shù)碼管顯示的頻率數(shù)值是以kHz為單位的,這樣就能精確顯示0~70 MHz的頻率范圍。
2.4 AT89S52和AD9851最小應(yīng)用系統(tǒng)設(shè)計(jì)
    單片機(jī)最小應(yīng)用系統(tǒng)是指沒(méi)有外圍器件及外設(shè)接口擴(kuò)展的單片機(jī)系統(tǒng)。它是單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)基礎(chǔ),包括最小系統(tǒng)結(jié)構(gòu)選擇、時(shí)鐘系統(tǒng)設(shè)計(jì)和復(fù)位系統(tǒng)設(shè)計(jì)。通常情況下,單片機(jī)最小應(yīng)用系統(tǒng)分三種結(jié)構(gòu):
    (1)總線型總線應(yīng)用的最小系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)由總線型單片機(jī)、復(fù)位電路、時(shí)鐘電路、I/O口及并行擴(kuò)展總線組成。
    (2)總線型非總線應(yīng)用的最小系統(tǒng)結(jié)構(gòu),是只有單片機(jī)、復(fù)位電路構(gòu)成的最簡(jiǎn)單的電路,并行總線不用于外圍擴(kuò)展;可作為應(yīng)用系統(tǒng)的I/O口使用。
    (3)非總線型單片機(jī)的最小系統(tǒng)結(jié)構(gòu)。本設(shè)計(jì)中的電路連接圖(圖1)屬于總線型非總線應(yīng)用的最小系統(tǒng)結(jié)構(gòu)。
    最小應(yīng)用系統(tǒng)設(shè)計(jì)中單片機(jī)的選擇一般遵循以下原則:
    (1)所選的單片機(jī)應(yīng)最大程度的滿(mǎn)足構(gòu)成單片機(jī)最小應(yīng)用系統(tǒng)的要求,即性能/配置比約為1。
    (2)根據(jù)產(chǎn)品要求,優(yōu)先選擇專(zhuān)業(yè)型單片機(jī)。最小系統(tǒng)的結(jié)構(gòu)與所選的單片機(jī)型號(hào)有關(guān)。
2.4.1 AT89S52單片機(jī)的時(shí)鐘系統(tǒng)設(shè)計(jì)
    AT89S52的振蕩器有兩種組成方式,即片內(nèi)振蕩器和片外振蕩器。本設(shè)計(jì)選擇片內(nèi)振蕩器的組成方式。
2.4.2 AT89S52單片機(jī)的復(fù)位系統(tǒng)設(shè)計(jì)
    復(fù)位即是在復(fù)位端加不小于指定寬度的低電平(低電平復(fù)位)或高電平(高電平復(fù)位)信號(hào)使單片機(jī)的硬件處于初始狀態(tài)。單片機(jī)復(fù)位有低電平復(fù)位和高電平復(fù)位兩種,電平復(fù)位引腳定義為RST或RESET。
    單片機(jī)的復(fù)位通常有上電復(fù)位,信號(hào)復(fù)位和運(yùn)行監(jiān)控復(fù)位三種方式。本電路設(shè)計(jì)采用按鍵電平復(fù)位方式,實(shí)際上屬于上電復(fù)位和按鍵手動(dòng)復(fù)位形式。
2.4.3 AD8951應(yīng)用設(shè)計(jì)
    AD9851可以產(chǎn)生一個(gè)頻譜純正,頻率和相位均可編程控制且穩(wěn)定度很好的模擬正弦波,AD9851的應(yīng)用設(shè)計(jì)圖如圖2所示。在電路中,40位的頻率/相位控制字由AT89S52的P0口輸入AD9851的數(shù)據(jù)輸入端(D0~D7),采用并行方式傳送數(shù)據(jù)。在AD9851中,為了避免要求高速參考時(shí)鐘振蕩器,在AD9851的內(nèi)部有一個(gè)6倍頻參考時(shí)鐘乘法器,這就減少了由于外部頻率源過(guò)高而產(chǎn)生的相位噪聲,外部只需30 MHz的有源振蕩器。AD9851內(nèi)部的高速比較器可接收DAC外部的低通濾波器的輸出,產(chǎn)生一個(gè)低抖動(dòng)輸出脈沖,這個(gè)脈沖的頻率和相位可以通過(guò)程序來(lái)進(jìn)行調(diào)解。

e.jpg



3 DDS信號(hào)發(fā)生器軟件設(shè)計(jì)
3.1 總體流程圖
    總體流程圖如圖3所示。

d.jpg


3.2 部分模塊子程序設(shè)計(jì)
    數(shù)據(jù)傳送控制電路的程序設(shè)計(jì):
    b.jpg
    c.jpg
4 結(jié)論
    在現(xiàn)代科研,教學(xué)實(shí)驗(yàn),通信系統(tǒng)以及各種電子測(cè)量系統(tǒng)中,具有高精度,頻率可調(diào),高穩(wěn)定度,頻率輸出范圍大的信號(hào)源是非常重要的。本文基于DDS技術(shù),選擇了Analog Devices公司的高度集成芯片AD9851,采用AT89S52單片機(jī)作為控制,以此為基礎(chǔ),分別進(jìn)行了系統(tǒng)的硬件部分(包括數(shù)據(jù)傳送電路,鍵盤(pán)控制電路,頻率顯示電路和最小應(yīng)用系統(tǒng)設(shè)計(jì))和基于C語(yǔ)言的軟件設(shè)計(jì),電路輸出波形具有高穩(wěn)定度,高精度,高分辨率,可靠性強(qiáng),頻率輸出范圍大且可調(diào),相位連續(xù)等優(yōu)點(diǎn)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。