嘉興技師學(xué)院 黃漢平
中興通訊 邱 波
隨著數(shù)字大規(guī)模集成電路技術(shù)的發(fā)展,采用數(shù)字電路的直接數(shù)字頻率合成技術(shù)(DDS)具有頻率轉(zhuǎn)換速度快、頻率分辨率高、相位可控、頻率穩(wěn)定度高等優(yōu)點(diǎn)。頻率轉(zhuǎn)換速度快、頻率分辨率高的信號(hào)源在現(xiàn)代電子通訊、航空航天、自動(dòng)控制等領(lǐng)域中是必不可少的,因此DDS信號(hào)源在上述領(lǐng)域獲得廣泛的應(yīng)用。
AD9850是ADI公司生產(chǎn)的低功耗直接數(shù)字頻率合成技術(shù)典型產(chǎn)品之一,AD9850具有頻率轉(zhuǎn)換速度快、頻率分辨率高、相位噪聲低、頻率穩(wěn)定度高等優(yōu)點(diǎn)。本論文設(shè)計(jì)的是以直接頻率合成(DDS)器件AD9850和MCS-51單片機(jī)為核心,配合必要的外圍接口器件,在單片機(jī)軟件控制下,能夠產(chǎn)生給定頻率和起始相位的附加調(diào)制信息的正弦波信號(hào)發(fā)生器。
①最大支持時(shí)鐘頻率為125MHz
②頻率分辨率達(dá)到0.029Hz
③支持兩種供電電壓:+3.3V or +5V
④低功耗:380mW @ 125MHz(+5V)155mW @ 110MHz(+3.3V)
⑤頻率轉(zhuǎn)換時(shí)間:10個(gè)時(shí)鐘周期。比如當(dāng)fs=125MHz時(shí),頻率轉(zhuǎn)換時(shí)間為:10×1/(125×106)≈0.1μs。
⑥輸出的無(wú)雜散動(dòng)態(tài)范圍SFDR大于50dB @ 40MHz
⑦具有相位可控
⑧支持并口和串口輸入控制接口
⑨頻率控制字采用32位二進(jìn)制碼
AD9850采用了先進(jìn)的CMOS工藝,采用28腳SSOP表面封裝形式,其管腳如圖1所示,引腳功能如表1。
AD9850的芯片功能框圖如圖2所示。AD9850芯片內(nèi)包括高速DDS、10位DAC、頻率/相位數(shù)據(jù)寄存器、數(shù)據(jù)輸入寄存器、比較器等,在125MHz參考時(shí)鐘下,AD9850經(jīng)過(guò)高速的DDS核心芯片能產(chǎn)生一個(gè)32位頻率調(diào)整控制字可使AD9850的輸出頻率達(dá)0.0291Hz;并能提供了5bits的相位控制位,它能使輸出相位以180°、90°、45°、22.5°、11.25°或是它們?nèi)我饨M合的增量改變。AD9850的電路結(jié)構(gòu)允許產(chǎn)生頻率值是參考時(shí)鐘的一半的輸出,并且輸出的頻率能用數(shù)控方式以每秒產(chǎn)生23000000個(gè)新頻率的速度變化。AD9850芯片內(nèi)的比較器構(gòu)成能接收經(jīng)外部低通濾波后的DAC轉(zhuǎn)換輸出,可以產(chǎn)生一個(gè)低抖動(dòng)的方波輸出的裝置,因此AD9850用作時(shí)鐘發(fā)生器十分方便。頻率/相位數(shù)據(jù)寄存器、數(shù)據(jù)輸入寄存器在外部的頻率更新時(shí)鐘和字加載時(shí)鐘的控制下進(jìn)行頻率控制字的輸入和更新,使芯片輸出所要求的頻率和相位。
AD9850內(nèi)含可編程DDS系統(tǒng)和高速比較器,可實(shí)現(xiàn)全數(shù)字編程控制的頻率合成。可編程DDS系統(tǒng)由相位累加器和正弦查表組成,其相位累加器由一個(gè)加法器和一個(gè)N位的相位寄存器組成,N一般為24~32;實(shí)質(zhì)上是一個(gè)可變模的計(jì)數(shù)器,即DDS相位增量(△Ψ)的個(gè)數(shù)在計(jì)數(shù)器收到每一個(gè)時(shí)鐘脈沖時(shí)被存儲(chǔ)起來(lái),當(dāng)計(jì)數(shù)器溢出時(shí),它就回到初態(tài)并使用相位累加器輸出到相鄰值。頻率控制字能設(shè)置計(jì)數(shù)器的模,它決定了相位增量(△Ψ)的大小。相位增量(△Ψ)在每個(gè)時(shí)鐘到來(lái)時(shí)便在相位累加器中相加,相位增量(△Ψ)越大,則累加器溢出的速度越快,產(chǎn)生的輸出頻率越高。
表1 AD9850各引腳功能表:
AD9850采用32位的相位累加器,AD9850利用改進(jìn)的,獨(dú)有的算法,把14bits已截?cái)嗟南辔焕奂悠鞯妮敵鲛D(zhuǎn)變成適當(dāng)?shù)挠嘞抑?,?jīng) 片內(nèi)高速的10bit DAC轉(zhuǎn)換器,可得到模擬正弦波。這個(gè)獨(dú)特的算法使用一個(gè)簡(jiǎn)化了的ROM表和DSP技術(shù)等功能,有助于縮小AD9850的體積和功耗。輸入、輸出、參考時(shí)鐘和頻率控制字的關(guān)系如下:
其中:fout:輸出信號(hào)頻率;△Ψ:32位頻率控制字?jǐn)?shù)值;CLKIN:輸入的參考時(shí)鐘頻率。
系統(tǒng)以單片機(jī)8051為控制核心,通過(guò)對(duì)AD9805內(nèi)部的頻率控制字和相位控制字進(jìn)行軟件編程,然后通過(guò)外接低通濾波器達(dá)到所需性能指標(biāo)的正弦波信號(hào)。
系統(tǒng)分為2個(gè)模塊:?jiǎn)纹瑱C(jī)最小系統(tǒng)和DDS模塊。單片機(jī)最小系統(tǒng)包括8051單片機(jī)、2*2中斷鍵盤(pán)矩陣、串口通訊、下載接口。DDS模塊包括核心芯片AD9850和低通濾波器。系統(tǒng)總體框圖如圖3所示。
AD9850與單片機(jī)接口電路,需要考慮以下幾點(diǎn):
①AD9850控制字寫(xiě)入方式選擇。AD9850控制字的寫(xiě)入方式有串行和并行兩種。并行寫(xiě)入方式的優(yōu)點(diǎn)是數(shù)據(jù)傳輸?shù)乃俣瓤?,能夠提升整個(gè)系統(tǒng)的處理速度,為了充分發(fā)揮芯片的高速性能,應(yīng)在單片機(jī)資源允許的情況下盡可能選擇并行方式,所以,本系統(tǒng)采用8051單片機(jī)作為控制核心,通過(guò)并行寫(xiě)入控制字的方式控制AD9850芯片。如圖4所示,AD9850的數(shù)據(jù)線D0~D7與P1口相連。
②FQ UD和W CLK與單片機(jī)連接。AD9850的FQ UD控制信號(hào)和W CLK控制信號(hào)與分別與8051單片機(jī)的P3.0(10引腳)和P3.1(11引腳)相連,所有的時(shí)序關(guān)系均可通過(guò)軟件控制實(shí)現(xiàn)。
③RESET與單片機(jī)連接。AD9850的晶體振蕩器采用100MHz,AD9850的復(fù)位(RESET)信號(hào)為高電平有效,且脈沖寬度不小于5個(gè)參考時(shí)鐘周期。由于單片機(jī)采用12MHz晶振時(shí),它的高電平時(shí)間能夠滿足AD9850復(fù)位要求,故可將AD9850的復(fù)位端與單片機(jī)的復(fù)位端直接相連。
圖1 AD9850的引腳排列
圖2 AD9850功能框圖
圖3 系統(tǒng)總體結(jié)構(gòu)框圖
圖4 單片機(jī)與AD9850芯片連接電路
圖5 系統(tǒng)軟件流程圖
①AD9850作為時(shí)鐘發(fā)生器使用時(shí),要避免混疊或諧波信號(hào)落入有用輸出頻帶內(nèi),并減少外部濾波器的要求,必須要使輸出頻率小于參考時(shí)鐘頻率的33%。
②AD9850參考時(shí)鐘頻率最低為1MHz,低于此頻率,系統(tǒng)自動(dòng)進(jìn)入電源休眠方式;高于此頻率,系統(tǒng)恢復(fù)正常。
③印制線路板應(yīng)采用多層板,要有專(zhuān)門(mén)的電源層和接地層,而且不能有引起層面不連續(xù)的蝕刻導(dǎo)線條。
④印制線路板的頂層應(yīng)留有帶一定間隙的接地面,以便為表面安裝器件提供方便。
⑤印制線路板的AD9850器件下面不能走數(shù)字信號(hào)線,避免把噪聲耦合進(jìn)芯片;避免數(shù)字信號(hào)與模擬信號(hào)交叉,且它們?cè)陔娐钒逑喾磧蓚?cè)上的走線應(yīng)彼此垂直,以減小電路板的饋通影響。
⑥時(shí)鐘等快速開(kāi)關(guān)信號(hào)應(yīng)利用數(shù)字地屏蔽起來(lái),以免向電路板上的其它器件輻射噪聲,并且絕不應(yīng)靠近基準(zhǔn)輸入或位于封裝之下。
⑦要考慮用良好的去耦電路,分別把高質(zhì)量的陶瓷去耦電容接到各自的接地引——去耦電容應(yīng)盡可能靠近器件。
⑧采用獨(dú)立的模擬電源和數(shù)字電源,AD9850電源線路應(yīng)采用盡可能寬的走線,以提供低阻抗路徑,并減小電源線路上的毛刺噪聲影響。
要實(shí)現(xiàn)對(duì)系統(tǒng)的軟件控制,合理安排程序流程尤為重要。系統(tǒng)程序流程圖見(jiàn)圖5。
從低到高的時(shí)鐘信號(hào)從外部輸入,或者由內(nèi)部32位的刷新時(shí)鐘把I/O緩沖寄存器中的控制字傳送到AD9850的DDS內(nèi)核,這樣就可以從寫(xiě)端口寫(xiě)入AD9850的控制字暫時(shí)寄存在I/O緩沖寄存器中;所以,程序設(shè)計(jì)中要特別注意AD9850的時(shí)序要求,正確送出邏輯控制字,注意其刷新時(shí)鐘。
在本設(shè)計(jì)中,所設(shè)定的頻率和初始相位都是通過(guò)2×2鍵盤(pán)輸入的,因此要通過(guò)鍵盤(pán)掃描和按鍵識(shí)別程序?qū)⑤斎氲逆I值處理后送至AD9850。鍵盤(pán)的工作方式一般有循環(huán)查詢(xún)工作方式、定時(shí)中斷掃描工作方式和中斷工作方式。
為了提高CPU的工作效率,可以采用中斷的方法掃描鍵盤(pán),即只有在鍵盤(pán)有鍵按下時(shí),才執(zhí)行鍵盤(pán)掃描并執(zhí)行該按鍵功能程序。如果無(wú)按鍵按下,單片機(jī)將不理睬鍵盤(pán)。子程序流程圖如圖6所示。
并行控制寫(xiě)入過(guò)程如下:FQ UD由高電平轉(zhuǎn)為低電平,單片機(jī)將數(shù)據(jù)W0輸出;之后,單片機(jī)控制W CLK由低電平轉(zhuǎn)為高電平,保持至少3.5ns后,再由高電平轉(zhuǎn)為低電平,此時(shí)寫(xiě)完控制字W0;然后按照寫(xiě)入W0過(guò)程,依次寫(xiě)入W1、W2、W3、W4;最后,單片機(jī)控制FQ UD由低電平轉(zhuǎn)為高電平,完成40位數(shù)據(jù)寫(xiě)入過(guò)程,同時(shí)把地址指針復(fù)位到第一個(gè)輸入寄存器W0,為下次寫(xiě)入頻率/相位控制字作好準(zhǔn)備??刂谱謱?xiě)入流程如圖7所示。
圖6 鍵盤(pán)掃描及識(shí)別流程
圖7 并行控制字寫(xiě)入流程
圖8 1MHz正弦信號(hào)
圖9 10MHz正弦信號(hào)
系統(tǒng)功能的實(shí)現(xiàn)需要CPU與外圍電路的密切配合。為保證系統(tǒng)按照設(shè)計(jì)意圖正常工作,必須對(duì)硬件電路和程序代碼進(jìn)行仔細(xì)調(diào)試,因此系統(tǒng)的調(diào)試在設(shè)計(jì)中占據(jù)著重要的地位。
在系統(tǒng)上電前,需要對(duì)硬件電路板進(jìn)行仔細(xì)測(cè)試,看電源和地之間是否短路,芯片各引腳之間是否短路,芯片各引腳是否與焊盤(pán)連接良好,是否有焊接錯(cuò)誤。主要是采用兩種方法,其一就是利用顯微鏡對(duì)電路板的焊接情況進(jìn)行仔細(xì)檢查,看是否有短路,焊接是否可靠;其二就是利用數(shù)字萬(wàn)用表對(duì)各引腳和測(cè)試點(diǎn)進(jìn)行檢查,保證電路上沒(méi)有短路。
電源電路、晶振電路和復(fù)位電路是保證整個(gè)系統(tǒng)正常工作的基礎(chǔ),雖然其調(diào)試相對(duì)比較簡(jiǎn)單,但也應(yīng)首先保證他們的正常工作。單片機(jī)和AD9850的供電電源是5V。在接入外部電源前。首先要對(duì)外部輸入電壓進(jìn)行測(cè)量,用萬(wàn)用表測(cè)得5v是否符合要求,經(jīng)測(cè)試,電壓值為5V,符合系統(tǒng)供電要求。然后用示波器對(duì)兩個(gè)電源進(jìn)行檢測(cè),看其是否干凈,有沒(méi)有雜散,實(shí)測(cè)5V電壓均很穩(wěn)定。
晶振的調(diào)試就比較簡(jiǎn)單,單片機(jī)使用的是12MHz的溫度補(bǔ)償晶振,用示波器檢測(cè)后,發(fā)現(xiàn)其工作正常。AD9850使用100MHz的溫度補(bǔ)償晶振,用示波器檢測(cè)后,發(fā)現(xiàn)其工作正。
從鍵盤(pán)輸入正弦信號(hào)的頻率和初始相位值,通過(guò)單片機(jī)將輸入的頻率和相位值轉(zhuǎn)換為頻率/相位控制碼,AD9850選擇的是并行數(shù)據(jù)輸入模式,40位的數(shù)據(jù)控制字經(jīng)8位數(shù)總據(jù)線分5次重復(fù)輸入。W CLK端和FQ UD經(jīng)過(guò)5次加載后,輸入了40位的數(shù)據(jù)控制字,W CLK端信號(hào)的上升沿將被忽略,數(shù)據(jù)將不再被加載,直到下一個(gè)復(fù)位信號(hào)或者下一個(gè)FQ UD端信號(hào)的上升沿到來(lái)為止。在FQ UD端信號(hào)的上升沿將40位的控制字加載進(jìn)入相位累加器,并且將地址指針復(fù)位指向第一個(gè)數(shù)據(jù)輸入地址端。每傳輸一次8位的控制碼后,延時(shí)3.5ns,置單片機(jī)引腳P3.3為l,即產(chǎn)生一個(gè)有效的W CLK上升沿信號(hào),將控制碼送入AD9850輸入數(shù)據(jù)寄存器當(dāng)中,重復(fù)5次后,就可將40位的控制碼全部加載到AD9850的輸入數(shù)據(jù)寄存器當(dāng)中,然后再延時(shí)lns,置單片機(jī)引腳P3.2為l,即產(chǎn)生一個(gè)有效的FQ UD上升沿信號(hào),再延時(shí)Ins后,將40位的控制碼全部加載到AD9850中的DDS頻率合成部分中,經(jīng)過(guò)13至118個(gè)周期后,就可以得到所需要的信號(hào)了。圖8為1MHz的正弦信號(hào),圖9為10MHz的正弦信號(hào)。
本文根據(jù)現(xiàn)代電子技術(shù)的發(fā)展需要以及直接數(shù)字頻率合成技術(shù)的特點(diǎn),設(shè)計(jì)出了一套基于DDS的高精度信號(hào)源,該信號(hào)源能夠產(chǎn)生正弦波信號(hào)波形。經(jīng)過(guò)系統(tǒng)的軟件、硬件調(diào)試試驗(yàn),所設(shè)計(jì)的系統(tǒng)能夠產(chǎn)成正弦波形,信號(hào)的頻率、相位、幅度的調(diào)節(jié)精度和抗干擾性等技術(shù)性能指標(biāo)基本上達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。通過(guò)本文設(shè)計(jì)以及對(duì)DDS的研究表明,DDS技術(shù)可以應(yīng)用在高速寬帶頻率合成領(lǐng)域,特別是在對(duì)頻率切換速度、頻率分辨率及相噪、雜散要求較高的場(chǎng)合,DDS技術(shù)顯示了特殊的優(yōu)勢(shì)。本文只是DDS技術(shù)的初步研究,要達(dá)到性能完善,還有很多工作要做。比如電磁兼容的考慮、各種同步信號(hào)的設(shè)計(jì)以及系統(tǒng)穩(wěn)定性問(wèn)題等等。
[1]萬(wàn)隆,巴奉麗.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:清華大學(xué),2010.
[2]閆玉德,俞虹.MCS:51單片機(jī)原理與應(yīng)用:C語(yǔ)言版[M].北京:機(jī)械工業(yè)出版社,2004.
[3]陳桂友.單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.
[4]蔡振江.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[5]何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1990.
[6]彭樹(shù)生.PIC單片機(jī)原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2008.
[7]胡漢才.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2010.
[8]秦志強(qiáng).C51單片機(jī)應(yīng)用及C語(yǔ)言程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009..