版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、可編程波形發(fā)生器設(shè)計(jì)與制作院 別:信息科學(xué)與工程學(xué)院專 業(yè) 班:通信工程0901班姓 名: 學(xué) 號(hào):指導(dǎo)老師:2013年5月可編程波形發(fā)生器設(shè)計(jì)與制作the design and production of programable waveform generator摘要本系統(tǒng)是基于ad9833芯片的可編程波形發(fā)生器。采用ad9833芯片作為波形產(chǎn)生的核心,外圍采用控制電路(at89s52)、按鍵和液晶顯示器等。通過按鍵控制可產(chǎn)生方波、三角波、正弦波等,同時(shí)液晶顯示器指示其對(duì)應(yīng)的頻率。其設(shè)計(jì)簡(jiǎn)單、性能優(yōu)好,可用于多種需要波形發(fā)生器的場(chǎng)所,具有一定的實(shí)用性。各種各樣的信號(hào)是通信領(lǐng)域的重要組成部分
2、,其中正弦波、三角波和方波等是較為常見的信號(hào)。在科學(xué)研究及教學(xué)實(shí)驗(yàn)中常常需要這幾種信號(hào)的發(fā)生裝置。為了實(shí)驗(yàn)、研究方便,研制一種靈活適用、功能齊全、使用方便的波形發(fā)生器是十分必要的。本文介紹的是利用ad9833芯片和at89s52單片機(jī)產(chǎn)生所需不同信號(hào)的中高頻信號(hào)源,其信號(hào)頻率是可以按要求控制的。文中簡(jiǎn)要介紹了ad9833芯片的結(jié)構(gòu)原理和使用方法,at89s52的基礎(chǔ)理論,以及液晶顯示器的工作原理。文中著重介紹了如何利用單片機(jī)控制ad9833芯片產(chǎn)生上述信號(hào)的硬件電路和軟件編程。本次關(guān)于產(chǎn)生不同信號(hào)的中高頻的波形發(fā)生器設(shè)計(jì)方案,不僅在理論和實(shí)踐上都能滿足實(shí)驗(yàn)的要求,而且具有很強(qiáng)的可行性。該波形發(fā)
3、生器的特點(diǎn)是:體積小、價(jià)格低廉、性能穩(wěn)定、實(shí)現(xiàn)方便、功能齊全。關(guān)鍵詞:ad9833 at89s52 液晶顯示器 按鍵 abstractthis system is based on the programmable waveform generator of the ad9833 chip.using the ad9833 chip as the core of waveform generator,its peripheral circuit contain control circuit (at89s52), buttons and lcd display etc.it can produ
4、ce square wave, triangle wave, sine wave and so on,through the button control.,at the same time lcd display indicates the corresponding frequency. its design is simple, performance is good, which can be used for a variety of needs of waveform generator and has a certain practicality.all kinds of sig
5、nals is an important part in the field of communication, especially sine wave, triangular wave and square wave signals are more common. the scientific research and teaching experiments often need the several kinds of signal generator. for the convenience of experiment and research ,developping one k
6、ind of waveform generator which includes flexible application, complete functions, convenient use is very necessary.this article describes the use of the ad9833 chips and at89s52 microcontroller to generate the signal source of required different frequent signals , the signal frequency can be contro
7、lled according to the requirements. it introduces the structure principle and using method of ad9833 chip ,the based theory of at89s52 based th, and the working principle of lcd.the waveform generator design on generating signals of different frequencies, not only in theory and practice can meet the
8、 requirements of the experiment, but also has a strong feasibility. the waveform generator features are: small size, low price, stable performance, convenient, full-featured.key words: ad9833 at89s52 lcd buttons目 錄摘要.abstract.緒論.11 系統(tǒng)總體設(shè)計(jì)21.1 設(shè)計(jì)方案比較與選定.21.1.1 設(shè)計(jì)方案一.21.1.2 設(shè)計(jì)方案二. .31.1.3 設(shè)計(jì)方案三.31.1.4
9、 設(shè)計(jì)方案的選定.31.2 系統(tǒng)總體框圖設(shè)計(jì).42 系統(tǒng)硬件設(shè)計(jì)52.1 元器件的選擇.52.2 系統(tǒng)硬件總體設(shè)計(jì).82.3 各模塊電路說明.92.3.1 波形的產(chǎn)生及處理部分電路.92.3.2 人機(jī)交互電路.112.3.3 液晶顯示電路.123 系統(tǒng)軟件設(shè)計(jì).143.1 總體方案.143.2 程序流程圖.153.3 主要程序說明.153.3.1 主程序.153.3.2 初始化程序.163.3.3 液晶顯示程序.173.3.4 按鍵程序.193.3.5 ad9833程序.214 制作與調(diào)試.244.1 硬件電路制作.244.1.1 總體特點(diǎn).244.1.2 焊接.244.2 調(diào)試.254.2.
10、1 液晶顯示調(diào)試254.2.2 ad9833波形輸出調(diào)試.26結(jié)論29致謝30參考文獻(xiàn)31緒論波形發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)試驗(yàn)領(lǐng)域。它是一種為電子測(cè)量和計(jì)算工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。傳統(tǒng)信號(hào)發(fā)生器一般用以下三種方法設(shè)計(jì):用分立元件組成的函數(shù)發(fā)生器;由晶體管、運(yùn)放ic等通用器件制作,更多的則是用專門的函數(shù)信號(hào)發(fā)生器ic產(chǎn)生;利用單片集成芯片的函數(shù)發(fā)生器。19世紀(jì)70年代,有的科學(xué)家提出利用直接數(shù)字頻率合成技術(shù)(dds)制作信號(hào)發(fā)生器。限于當(dāng)時(shí)的技術(shù)和器件水平,它的性能指標(biāo)尚不能與已有技術(shù)相比,故未受到重視。近年來隨著數(shù)字集成電路和微電子技術(shù)的進(jìn)步,
11、這種結(jié)構(gòu)獨(dú)特的頻率合成技術(shù)得到了充分的發(fā)展。該技術(shù)在相對(duì)帶寬、頻率轉(zhuǎn)換時(shí)間、相位連續(xù)性、正交輸出、高分辨力以及集成化等一系列性能指標(biāo)已遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)的頻率合成技術(shù)所能達(dá)到的水平。本次畢業(yè)設(shè)計(jì)的波形發(fā)生器基于dds數(shù)字頻率合成技術(shù),相比于傳統(tǒng)的設(shè)計(jì)方法,它有諸多優(yōu)勢(shì)。基于dds技術(shù)的信號(hào)發(fā)生器即利用頻率合成技術(shù)制成的信號(hào)發(fā)生器,也稱為合成信號(hào)發(fā)生器,具有輸出頻率穩(wěn)定、準(zhǔn)確,波形質(zhì)量好和輸出頻率范圍寬等一系列獨(dú)特的優(yōu)點(diǎn),雖然它也有一些缺點(diǎn),比如工作頻帶受限,相位噪聲,雜散抑制差,但是相比于傳統(tǒng)波形發(fā)生器頻率不高,工作不穩(wěn)定,調(diào)節(jié)方式不夠靈活,已經(jīng)具有很大的進(jìn)步。 該波形發(fā)生器必需達(dá)到的技術(shù)指標(biāo):能
12、產(chǎn)生正弦波、三角波和方波信號(hào),并通過按鍵切換波形類型;通過按鍵可以以一定的步進(jìn)改變頻率;輸出波所能達(dá)到頻率范圍為010mhz。通過初步的研究與思考,該波形發(fā)生器的難點(diǎn)在于:硬件的具體工作原理,特別是dds的基本原理以及所選芯片的內(nèi)部的結(jié)構(gòu)與引腳的功能;軟件與硬件到底是怎樣進(jìn)行結(jié)合的,基于dds技術(shù)所選的芯片與寫程序所選芯片的數(shù)據(jù)位是否相容;軟件的設(shè)計(jì),因?yàn)楸仨毨贸绦驅(qū)︻l率以及頻率的步進(jìn)值進(jìn)行設(shè)置。 1 系統(tǒng)總體設(shè)計(jì)1.1 設(shè)計(jì)方案比較與選定依據(jù)應(yīng)用場(chǎng)合需要實(shí)現(xiàn)的波形種類,波形發(fā)生器的具體指標(biāo)要求會(huì)有所不同。依據(jù)不同的設(shè)計(jì)要求選取不同的設(shè)計(jì)方案。通常,波形發(fā)生器需要實(shí)現(xiàn)的波形有正弦波、方波、三
13、角波和鋸齒波。有些場(chǎng)合可能還需要任意波形的產(chǎn)生。各種波形共有的指標(biāo)有:波形的頻率、幅度要求,頻率穩(wěn)定度,準(zhǔn)確度等。對(duì)于不同波形,具體的指標(biāo)要求也會(huì)有所差異,例如,占空比是脈沖波形特有的指標(biāo)。波形發(fā)生器的設(shè)計(jì)方案多種多樣,大致可以分為三大類:純硬件設(shè)計(jì)法、純軟件設(shè)計(jì)法和軟硬件結(jié)合設(shè)計(jì)法。1.1.1 設(shè)計(jì)方案一波形發(fā)生器設(shè)計(jì)的純硬件法早期,波形發(fā)生器的設(shè)計(jì)主要是采用運(yùn)算放大器加分立元件來實(shí)現(xiàn)1。實(shí)現(xiàn)的波形比較單一,主要為正弦波、方波和三角波。工作原理嗍也相對(duì)簡(jiǎn)單:首先是產(chǎn)生正弦波,然后通過波形變換(正弦波通過比較器產(chǎn)生方波,方波經(jīng)過積分器變?yōu)槿遣?實(shí)現(xiàn)方波和三角波。在各種波形后加上一級(jí)放大電路,
14、可以使輸出波形的幅度達(dá)到要求,通過開關(guān)電路實(shí)現(xiàn)不同輸出波形的切換,改變電路的具體參數(shù)可以實(shí)現(xiàn)頻率、幅度和占空比的改變。通過對(duì)電路結(jié)構(gòu)的優(yōu)化及所用元器件的嚴(yán)格選取可以提高電路的頻率穩(wěn)定性和準(zhǔn)確度。純硬件法中,正弦波的設(shè)計(jì)是基礎(chǔ),實(shí)現(xiàn)方法也比較多,電路形式一般有l(wèi)c、rc和石英晶體振蕩器三類。lc振蕩器適宜于產(chǎn)生幾hz至幾百mhz的高頻信號(hào);石英晶體振蕩器能產(chǎn)生幾百khz至幾十mhz的高頻信號(hào)且穩(wěn)定度高;對(duì)于頻率低于幾mhz,特別是在幾百hz時(shí),常采用rc振蕩電路。rc振蕩電路又分為文氏橋振蕩電路、雙t網(wǎng)絡(luò)式和移相式振蕩電路等類型。其中,以文氏橋振蕩電路最為常用2,11。目前,實(shí)現(xiàn)波形發(fā)生器最簡(jiǎn)單
15、的方法是采用單片集成的函數(shù)信號(hào)發(fā)生器。它是將產(chǎn)生各種波形的功能電路集成優(yōu)化到一個(gè)集成電路芯片里,外加少量的電阻、電容元件來實(shí)現(xiàn)。采用這種方法的突出優(yōu)勢(shì)是電路簡(jiǎn)單,實(shí)現(xiàn)方便,精度高,性能優(yōu)越;缺點(diǎn)是功能較全的集成芯片價(jià)格較貴。實(shí)際中應(yīng)用較多的單片函數(shù)信號(hào)發(fā)生器有max038(最高頻率可達(dá)40mhz)和icl8038(最高頻率為300khz)。1.1.2 設(shè)計(jì)方案二波形發(fā)生器設(shè)計(jì)的純軟件法 波形發(fā)生器的設(shè)計(jì)還可以采用純軟件的方法來實(shí)現(xiàn)。虛擬儀器鞠使傳統(tǒng)儀器發(fā)生了革命性的變化,是21世紀(jì)測(cè)試儀器領(lǐng)域技術(shù)發(fā)展的重要方向。它以計(jì)算機(jī)為基礎(chǔ),軟件為核心,沒有傳統(tǒng)儀器那樣具體的物理結(jié)構(gòu)在計(jì)算機(jī)上實(shí)現(xiàn)儀器的虛
16、擬面板,通過軟件設(shè)計(jì)實(shí)現(xiàn)和改變儀器的功能。例如用圖形化編程工具labview來實(shí)現(xiàn)任意波形發(fā)生器的功能:在labview軟件的前面板通過拖放控件,設(shè)計(jì)儀器的功能面板(如波形顯示窗口,波形選擇按鍵,波形存儲(chǔ)回放等工作界面),在軟件的后面板直接拖放相應(yīng)的波形函數(shù)并進(jìn)行參數(shù)設(shè)置或直接調(diào)用編程函數(shù)來設(shè)計(jì)任意波形以實(shí)現(xiàn)波形產(chǎn)生功能;完成的軟件打包后,可脫離編程環(huán)境獨(dú)立運(yùn)行。實(shí)現(xiàn)任意波形發(fā)生器的功能。采用純軟件的虛擬儀器設(shè)計(jì)思路可以使設(shè)計(jì)簡(jiǎn)單、高效,僅改變軟件程序就可以輕松實(shí)現(xiàn)波形功能的改變或升級(jí)。從長(zhǎng)遠(yuǎn)角度來看,純軟件法成本較低。軟件法的缺點(diǎn)是波形的響應(yīng)速度和精度遜色于硬件法。1.1.3 設(shè)計(jì)方案三軟硬
17、件結(jié)合法軟硬件結(jié)合的波形發(fā)生器設(shè)計(jì)方法同時(shí)兼具軟硬件設(shè)計(jì)的優(yōu)2:既具有純硬件設(shè)計(jì)的快速、高性能,同時(shí)又具有軟件控制的靈活性、智能性。如以單片機(jī)和單片集成函數(shù)發(fā)生器為核心。輔以鍵盤控制、液晶顯示等電路,設(shè)計(jì)出智能型函數(shù)波形發(fā)生器,采用軟硬件結(jié)合的方法可以實(shí)現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生器,同時(shí)還可以擴(kuò)展波形發(fā)生器的功能,比如通過軟件編程控制實(shí)現(xiàn)波形的存儲(chǔ)、運(yùn)算、打印等功能,采用usb接口設(shè)計(jì)。使波形發(fā)生器具有遠(yuǎn)程通信功能等。目前,實(shí)驗(yàn)、科研和工業(yè)生產(chǎn)中使用的信號(hào)源大多采用此方法來實(shí)現(xiàn)。1.1.4 設(shè)計(jì)方案的選定純硬件設(shè)計(jì)法功能較單一,波形改變困難、控制的靈活性不夠,不具備智能性,其中由運(yùn)算放大器
18、加分立元件組成的波形發(fā)生器,除在學(xué)生實(shí)驗(yàn)訓(xùn)練中使用外?;静槐徊捎?。純軟件設(shè)計(jì)法實(shí)現(xiàn)簡(jiǎn)單,程序改變及功能升級(jí)靈活,但實(shí)現(xiàn)的波形精度及響應(yīng)速度不如硬件法高。純軟件法主要適用于對(duì)波形精度、響應(yīng)速度要求不是很高的場(chǎng)合。相比之下,軟硬件結(jié)合的方法可以設(shè)計(jì)出性能最優(yōu)、功能擴(kuò)展靈活、控制智能化的新一代的波形發(fā)生器,可以滿足教學(xué)、科研、工業(yè)生產(chǎn)等各方面對(duì)波形發(fā)生器性能有較高要求的應(yīng)用場(chǎng)合。綜合以上幾種設(shè)計(jì)方案,本設(shè)計(jì)采用方案三的方法軟硬件設(shè)計(jì)法。其方案能夠產(chǎn)生很好的波形,也易實(shí)現(xiàn)。1.2 系統(tǒng)總體框圖設(shè)計(jì)本波形發(fā)生器的設(shè)計(jì)頻率控制模塊及dds處理模塊為核心,配合相應(yīng)的顯示模塊及人機(jī)接口模塊使其組成一個(gè)可編程
19、波形發(fā)生器系統(tǒng)。系統(tǒng)的總體框圖如圖1-1所示。圖1-1 系統(tǒng)總體框圖頻率控制模塊主要功能是通過程序?qū)Σㄐ伟l(fā)生器的頻率進(jìn)行控制;dds處理模塊主要對(duì)產(chǎn)生的信號(hào)波形進(jìn)行采樣和量化處理,使輸出的波形更加平整,不失真;人機(jī)接口模塊負(fù)責(zé)改變波形的輸出方式,而且可以設(shè)置波形的頻率和頻率變化的步進(jìn);顯示模塊的功能是顯示波形的頻率以及類型。 2 系統(tǒng)硬件設(shè)計(jì)2.1 元器件的選擇因?yàn)楸鞠到y(tǒng)的設(shè)計(jì)是以dds處理模塊以及幅度、頻率控制模塊為核心,故而首先選擇這兩個(gè)模塊的元器件,dds處理模塊的主要功能是完成波形的相位、頻率和振幅的數(shù)字調(diào)制,本次設(shè)計(jì)dds處理模塊選用ad9833芯片,外加必要的外圍輔助電路。ad98
20、33是一款采用dds技術(shù)、低功耗、可編程波形發(fā)生器2,3,器件采msop封裝,非常小巧,外圍電路簡(jiǎn)單,僅需要1個(gè)外部參考時(shí)鐘、一個(gè)低精度電阻器和一個(gè)解耦電容器,通過spi接口和單片機(jī)相連,編程可生成正弦波、三角波、方波。輸出頻率可通過軟件編程,易于調(diào)節(jié)。ad9833的主頻時(shí)鐘為25mhz時(shí),精度為0.1hz,主頻時(shí)鐘為1mhz時(shí),精度可以達(dá)到0.004hz。ad9833的引腳圖如圖2-1所示,圖2-1 ad9833的引腳圖ad9833內(nèi)部電路主要有數(shù)控振蕩器(nco)、頻率和相位調(diào)節(jié)器、正弦只讀存儲(chǔ)器(sinerom)、數(shù)模轉(zhuǎn)換器(dac)、電壓調(diào)整器。其核心是28位的相位累加器,它由加法器和
21、相位寄存器組成,每來1個(gè)時(shí)鐘,相位寄存器以步長(zhǎng)增加相位寄存器的輸出與相位控制字相加后輸人到正弦查詢表地址中。正弦查詢表包含1個(gè)周期正弦波的數(shù)字幅度信息,每個(gè)地址對(duì)應(yīng)正弦波中0-360。范圍內(nèi)的1個(gè)相位點(diǎn)。查詢表把輸人的地址相位信息映射成正弦波幅度的數(shù)字量信號(hào),驅(qū)動(dòng)dac輸出模擬量。相位寄存器每經(jīng)過2腳m個(gè)mclk 時(shí)鐘后回到初始狀態(tài),相應(yīng)的正弦查詢表經(jīng)過一個(gè)循環(huán)回到初始位置,這樣就輸出了一個(gè)正弦波。其引腳功能如下表引腳號(hào)符號(hào)功能說明1compdac偏移引腳,該腳用來為dac偏移解耦2vdd電源電壓3cap/2.5v數(shù)字電路電源端4dgnd數(shù)字地5mclk主頻數(shù)字時(shí)鐘輸入端6sdata串行數(shù)字輸
22、入7sclk串行時(shí)鐘輸入8fsync控制輸入,低電平有效9agnd模擬地10vout輸入頻率()表2-1 ad9833的引腳功能輸出正弦波頻率為: (2-1) 其中,m 為頻率控制字,由外部編程給定,其范圍為0-228。vdd引腳為ad9833的模擬部分和數(shù)字部分供電,供電電壓為2.3v一5.5v。ad9833內(nèi)部數(shù)字電路工作電壓為2.5v。ad9833還具有休眠功能,就是沒被使用的部分休眠,減少該部分的電流損耗,例如:若利用ad9833輸出作為時(shí)鐘源,就可以讓dac休眠,以減少功耗。ad9833有3根串行接口線,與spi、qspi、microwire和dsp接口標(biāo)準(zhǔn)兼容,在串口時(shí)鐘sclk的
23、作用下,數(shù)據(jù)是以16位的方式加載到設(shè)備上,fsync引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),fsync引腳必須置低,要注意fsync有效到sclk下降沿的建立時(shí)間t7的最小值4,5。fsync置低后,在16個(gè)sclk的下降沿?cái)?shù)據(jù)被送到ad9833的輸入移位寄存器,在第16個(gè)sclk的下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的數(shù)據(jù)保持時(shí)間ts的最小和最大值。當(dāng)然,也可以在fsync為低電平的時(shí)候,連續(xù)加載多個(gè)16位數(shù)據(jù),僅在最后一個(gè)數(shù)據(jù)的第16個(gè)sclk的下降沿的時(shí)將fsync置高,最后要注意的是,寫數(shù)據(jù)時(shí)sclk時(shí)鐘為高低電平脈沖,但是,在f
24、sync剛開始變?yōu)榈蜁r(shí),(即將開始寫數(shù)據(jù)時(shí)),sclk必須為高電平(注意t11這個(gè)參數(shù))。如圖2-2和圖2-3分別是ad9833的主時(shí)鐘時(shí)序和串行時(shí)序6 。圖2-2 主時(shí)鐘時(shí)序圖2-3 串行時(shí)序 當(dāng)ad9833初始化時(shí),為了避免dac產(chǎn)生虛假輸出,reset必須置為1(reset不會(huì)復(fù)位頻率、相位和控制寄存器),直到配置完畢,需要輸出時(shí)才將reset置為0;reset為0后的89個(gè)mclk時(shí)鐘周期可在dac的輸出端觀察到波形。 ad9833寫入數(shù)據(jù)到輸出端得到響應(yīng),中間有一定的響應(yīng)時(shí)間,每次給頻率或相位寄存器加載新的數(shù)據(jù),都會(huì)有78個(gè)mclk時(shí)鐘周期的延時(shí)之后,輸出端的波形才會(huì)產(chǎn)生改變,有1個(gè)
25、mclk時(shí)鐘周期的不確定性,因?yàn)閿?shù)據(jù)加載到目的寄存器時(shí),mclk的上升沿位置不確定。 ad9833內(nèi)部有5個(gè)可編程寄存器,其中包括3個(gè)16位控制寄存器,2個(gè)28位頻率寄存器和2個(gè)12位相位寄存器。 其中16位控制寄存器供用戶設(shè)置所需的功能。除模式選擇位外,其他所有控制位均在內(nèi)部時(shí)鐘mclk的下沿被ad9833讀取并動(dòng)作,要更改ad9833控制寄存器的內(nèi)容,d15和d14位必須均為0。ad9833包含2個(gè)頻率寄存器和2個(gè)相位寄存器,其模擬輸出為: (2-2) 其中:freqeg為所選頻率寄存器中的頻率字。該信號(hào)會(huì)被移相: (2-3)其中,phaserec為所選相位寄存器中的相位字。 ad9833
26、可運(yùn)作的主時(shí)鐘頻率高達(dá)25mhz。一般25 mhz的振蕩器包含外部電路中,但是這振蕩器也可以刪除,如有需要可以連接到外部cmos時(shí)鐘上11。頻率、幅度控制模塊可以用fpga/cpld或單片機(jī)進(jìn)行設(shè)計(jì),由于對(duì)fpga/cpld語言的接觸較少、不熟悉,故而該模塊選用單片機(jī)以及必要的外圍電路進(jìn)行控制。單片機(jī)選擇at89s52系列,因?yàn)槠浜w了at89c51系列的大部分優(yōu)點(diǎn)并且燒錄程序速度快,性能穩(wěn)定,耐壓值比較高等。至于顯示模塊用1602液晶顯示器,可以明顯的觀察到頻率的步進(jìn)變化以及所選擇的波形類型,人際接口模塊主要是按鍵,控制波形的輸出類型以及頻率。2.2 系統(tǒng)硬件總體設(shè)計(jì) 根據(jù)元器件的特性及外圍
27、必要輔助電路,其硬件總體設(shè)計(jì)如下 圖2-4 硬件總體設(shè)計(jì)圖2.3 各模塊的電路說明2.3.1 波形的產(chǎn)生及處理部分電路波形的產(chǎn)生與控制部分由dds芯片ad9833和單片機(jī)at89s52組成,用戶通過鍵盤輸入的信號(hào)要求被at89s52接收,并經(jīng)其處理后將計(jì)算出的控制字傳送給ad9833,由ad9833產(chǎn)生頻率幅度可控的信號(hào)。ad9833系統(tǒng)模塊是整個(gè)系統(tǒng)的功能核心部分,由此模塊可產(chǎn)生所需要的信號(hào)了產(chǎn)生所需信號(hào),必須對(duì)其進(jìn)行適當(dāng)?shù)脑O(shè)置。具體外圍設(shè)備如下圖示。 圖2-5 ad9833波形處理電路ad9833外圍需要一個(gè)參考時(shí)鐘,即在mclk處接入一個(gè)晶振。因?yàn)楫?dāng)ad9833的主頻時(shí)鐘為25mhz時(shí),
28、精度為0.1hz,主頻時(shí)鐘為1mhz時(shí),精度可以達(dá)到0.004hz,而本次設(shè)計(jì)中對(duì)精度要求不高,為了提高ad9833的操作速度,此處選擇了25mhz的有源晶振。有源晶振有4只引腳,是一個(gè)完整的振蕩器,里面除了石英晶體外,還有晶體管和阻容元件6 。有源晶振不需要dsp的內(nèi)部振蕩器,信號(hào)質(zhì)量好,比較穩(wěn)定,而且連接方式相對(duì)簡(jiǎn)單(主要是做好電源濾波,通常使用一個(gè)電容和電感構(gòu)成的pi型濾波網(wǎng)絡(luò),輸出端用一個(gè)小阻值的電阻過濾信號(hào)即可),不需要復(fù)雜的配置電路。把有源晶振有個(gè)點(diǎn)標(biāo)記的記為1腳,按逆時(shí)針(管腳向下)分別為2、3、4,它的通常的接法為一腳懸空,二腳接地,三腳接輸出,四腳接電壓。 ad9833有3根
29、串行接口線,分別是fsync、sclk和sdata,與spi、qspi、microwire和dsp接口標(biāo)準(zhǔn)兼容,在串口時(shí)鐘sclk的作用下,數(shù)據(jù)是以16位的方式加載到設(shè)備上,fsync引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),fsync引腳置低,在16個(gè)sclk的下降沿?cái)?shù)據(jù)通過sdata引腳被送到ad9833的輸入移位寄存器。因此,此處我們通過3個(gè)100的電阻進(jìn)行限流,并將這3個(gè)引腳接到單片機(jī)at89s52的p3.2、p3.1和p3.0腳,通過單片機(jī)來控制ad9833。ad9833的其他引腳用了諸多電容,主要是為了去藕和濾波,起到穩(wěn)定輸入電壓和輸出波形的作用。 至于單片機(jī)與
30、ad9833連接是,p3.2與ad9833的fsync相連、p3.1與ad9833的sclk相連,p3.0與ad9833的sdata相連,單片機(jī)與ad9833的連接如下:圖2-6 單片機(jī)與ad9833引腳連接圖2.3.2 人機(jī)交互電路人機(jī)交互電路以單片機(jī)at89s52為核心,通過其控制液晶顯示模塊和鍵盤輸入模塊,使其輸出一定的波形。其電路圖如下: 圖2-7 人機(jī)交互電路2.3.3 液晶顯示電路本系統(tǒng)采用的液晶型號(hào)為lcd1602,這是一款飛利蒲公司生產(chǎn)的圖形液晶。該液晶除應(yīng)用于移動(dòng)電話外,也可廣泛應(yīng)用于各類便攜式設(shè)備的顯示系統(tǒng)。該系統(tǒng)中,我們選用lcd1602的三大理由為:一、性價(jià)比高,lcd
31、1602可顯示32個(gè)字符,而lcd5110可顯示15個(gè)漢字,30個(gè)字符。lcd1602一般15元左右,lcd5110一般20元,lcd12864一般5070元;二、lcd1602需11根io線,lcd12864需12根;三、速度快,是lcd12864的20倍,是lcd5110的40倍。在與單片器連接中,將1602的vcc和led引腳接3.3v電壓,因?yàn)?602的最佳工作電壓為3v3.3v,過高會(huì)使其灰度加重,影響顯示效果,過低會(huì)顯示不清晰。另cd-e,lcd-rw,lcd-rs引腳分別與at89s52p1.1p1.3引腳相連,用單片機(jī)控制1602的顯示。圖2-8為1602液晶顯示器和它的連接電
32、路。圖2-8 液晶顯示器與單片機(jī)連接圖3 系統(tǒng)軟件設(shè)計(jì)3.1 總體方案本系統(tǒng)的軟件設(shè)件包括了1602液晶顯示、ad9833模塊、at89s52模塊、按鍵模塊、初始化函數(shù)和主函數(shù)。設(shè)計(jì)時(shí)首先對(duì)系統(tǒng)進(jìn)行初始化,其次顯示lcd,并使系統(tǒng)運(yùn)作起來,由at89s52控制ad9833輸出波形,最后,我們可以通過按鍵模塊對(duì)整個(gè)系統(tǒng)的輸出波形和頻率進(jìn)行變化。ad9833模塊和at89s52模塊是本次軟件設(shè)計(jì)的重點(diǎn)。由于at89s52和ad9833的spi接口速率較高,可達(dá)到1mbps,所以在軟件中需要對(duì)時(shí)序做準(zhǔn)確的設(shè)計(jì)。信號(hào)發(fā)生器至今都是設(shè)計(jì)的一個(gè)熱點(diǎn)話題,本系統(tǒng)較好地實(shí)現(xiàn)了系統(tǒng)的基本功能,而且實(shí)現(xiàn)了系統(tǒng)的小
33、型化和便捷化。3.2 程序流程圖圖3-1 系統(tǒng)軟件設(shè)計(jì)流程圖3.3 主要程序說明3.3.1 主程序:主要液晶輸出程序,包括系統(tǒng)的整個(gè)運(yùn)行流程。液晶的顯示根據(jù)1602.h中字符、數(shù)字以及特殊符號(hào)來顯示,再通過ad9833.h中的定義來輸出各種波。/*主程序*/main() unsigned char i = 0x00; long uint shiyanshuju = 0x00; uchar wave_select = 0x00; lcd_init(); ad9833_initial(); control_register = 0x2000; tmod=0x01; /選擇中斷方式1th0=0xa6
34、; /刷屏的時(shí)間設(shè)置 tl0=0x66; et0 = 1; tr0 = 1;ea = 0x00; frequency_out = 0;/開機(jī)默認(rèn)的頻率輸出值; calculate_control_word(frequency_out);/根據(jù)設(shè)置的頻率換算成將要送入ad9833中的整數(shù)值; control_word_to_ad9833(control_register,(0x4000|(control_word/16384),(0x4000|(control_word%16384),0xd000); display_data(); display_string(0,1,lcdbuf2); /顯
35、示第二行,從第0個(gè)位置開始 anjiancishubiangliang = 0x00;3.3.2 初始化程序:主要是對(duì)單片機(jī)at89s52進(jìn)行初始化,屬于at89s52系列單片機(jī)固有的初始化程序7,包括晶振的選擇,振蕩器的清除以及mclk和smclk時(shí)鐘源的選擇等。另外1602液晶和ad9833等的初始化函數(shù)都在各自的子程序中??赏ㄟ^按鍵實(shí)現(xiàn)頻率的設(shè)置,然后輸出/基本功能全部實(shí)現(xiàn);20091181017#include /調(diào)用頭文件(單片機(jī)內(nèi)部的寄存器定義)#define uchar unsigned char#define uint unsigned int/*本段為硬件i/o口定義*/sb
36、it lcd_e = p11;sbit lcd_rw = p12; sbit lcd_rs = p13; sbit ddsclk = p31; / p3_1,ad9833的dds片選或者寫數(shù)據(jù) 有效信號(hào)sbit ddsen = p32; / p3_2,ad9833的dds片選或者寫數(shù)據(jù) 有效信號(hào)sbit ddsdata = p30; / p3_0,ad9833的dds 數(shù)據(jù)信號(hào)#define lcd_data p2 /lcd data#define lcd_busy 0x80 / 用于檢測(cè)lcd的busy標(biāo)識(shí)(本程序中用的延時(shí),未檢測(cè))/lcd顯示內(nèi)容,定義到代碼段unsigned char
37、code lcdbuf1= frq: hz;unsigned char code lcdbuf2= type:sin;/輸出波形顯示,默認(rèn)為正弦。unsigned char code lcdbuf3= type:tri;/輸出波形顯示:三角波。unsigned char code lcdbuf4= type:sq1;/輸出波形顯示:方波,此時(shí)方波頻率為設(shè)置頻率的值一半。unsigned char code lcdbuf5= type:sq2;/輸出波形顯示:方波,此時(shí)方波頻率和設(shè)置頻率的值相等。/long uint control_word = 0x00;/根據(jù)設(shè)置的頻率換算成將要送入ad98
38、33中的整數(shù)量;3.3.3 液晶顯示程序:先對(duì)1602液晶進(jìn)行了字符、數(shù)字和特殊符號(hào)的設(shè)置,其次介紹了液晶的清屏和初始化程序,最后詳細(xì)介紹了1602的寫入程序,包括寫入漢字、字符以及特殊符號(hào),在結(jié)尾還說明了頻率的書寫方法。/函數(shù)聲明void display_xy(unsigned char x,unsigned char y) if(y=0x01) x = x + 0x40 + 0x80; else x = x+0x80; writecommandlcd(x);/* 函數(shù)名稱: display_char* 入口參數(shù):x(unsigned char型),y(unsigned char型),dat
39、(unsigned char型)* 出口參數(shù):無* 功能描述: 在具體位置顯示單個(gè)字符,x是列號(hào),y是行號(hào)*/ /*void display_char(unsigned char x,unsigned char y,unsigned char dat) display_xy(x,y); writedatalcd(dat); */* 函數(shù)名稱: display_string* 入口參數(shù):x(unsigned char型),y(unsigned char型),s(指針型)* 出口參數(shù):無* 功能描述: 在具體位置顯示字符串,以/0結(jié)束,x是列號(hào),y是行號(hào)3.3.4 按鍵程序:主要是對(duì)接入at89s
40、52的p3口的6個(gè)按鍵程序進(jìn)行說明,其中按鍵1表示閃爍位每按一次就加一,按鍵2表示閃爍位向右移,按鍵3表示閃爍位向左移,按鍵4表示閃爍位每按一次就減一,當(dāng)按鍵5被按下后頻率的數(shù)值被選定,不再閃爍,按鍵6表示波形的切換,其中波形有4種,分別為正弦波、三角波和頻率為正弦波一半的方波和頻率為正弦波一樣的方波,四者循環(huán),頻率的步進(jìn)最小單位值為1hz。scan_key(void) /the subprogram is used to scan keyuchar key = 0;key = p3; /eliminate themost high bit and low three bitskey = ke
41、y & 0xf8; switch(key) case 0xb0: keyzhi = 3 ;break; case 0xa8: keyzhi = 2 ;break; case 0x98: keyzhi = 1 ;break; case 0x70: keyzhi = 6 ;break; case 0x68: keyzhi = 5 ;break; case 0x58: keyzhi = 4 ;break; default: keyzhi=0; return(keyzhi);keychuli() p3_3 = 0x01;p3_5 = 0x01;p3_4 = 0x01;p3_6 = 0x00;p3_7
42、= 0x00;delay(100); if(p3_3&p3_4&p3_5) = 0x00) /delay(1000); if(p3_3&p3_4&p3_5) = 0x00) p3_6 = 0x00;p3_7 = 0x01; dat = scan_key(); if(dat = 0x00) p3_6 = 0x01;p3_7 = 0x00; dat = scan_key(); else dat = 0x00; goto down; /無鍵按下 down:return(dat); 3.3.5 ad9833程序:主要是對(duì)ad9833進(jìn)行spi模擬與單片機(jī)進(jìn)行連接,再根據(jù)按鍵輸入的數(shù)據(jù)分別轉(zhuǎn)換成正弦波、
43、三角波和方波進(jìn)行輸出的程序2。其中轉(zhuǎn)換的格式固定,但是ad9833輸出頻率時(shí)是先低位后高位,區(qū)別于spi模擬時(shí)單片機(jī)給ad9833數(shù)據(jù)時(shí)是先高位后低位。void ad9833_writedata(unsigned int ddsdata) unsigned char data_num=0; unsigned int ddsdata_temp; ddsdata_temp=ddsdata; ddsclk=1; sdelay(4); ddsen=0; /dds able sdelay(4); for(data_num=0;data_num16;data_num+) if(ddsdata_temp &
44、 0x8000 ) ddsdata=1; else ddsdata=0; sdelay(5); ddsclk=0; sdelay(5); ddsdata=0; sdelay(5); ddsclk=1; ddsdata_temp=ddsdata_temp1; if(data_num 15) sdelay(50); ddsen=1;void ad9833_reset() /add code here ad9833_writedata(0x0100); /寄存器復(fù)位 ad9833_writedata(0x2000); /準(zhǔn)備清空頻率寄存器0 ad9833_writedata(0x4000); /fi
45、lled with 0 ad9833_writedata(0x4000); /filled with 0 ad9833_writedata(0x2000); /prepare for clear fre1 ad9833_writedata(0x8000); /filled with 0 ad9833_writedata(0x8000); /filled with 0 ad9833_writedata(0xd000); /clear phs 0 ad9833_writedata(0xf000); /clear phs 1void control_word_to_ad9833(unsigned i
46、nt contr_reg_data,unsigned int fre_msbdata,unsigned int fre_lsbdata,unsigned int phs_data) /add unsigned int fre_msbdata_temp=fre_msbdata; unsigned int fre_lsbdata_temp=fre_lsbdata; unsigned int contr_reg_data_temp=contr_reg_data; unsigned int phs_data_temp=phs_data; ad9833_writedata(contr_reg_data_
47、temp); ad9833_writedata(fre_lsbdata_temp); ad9833_writedata(fre_msbdata_temp); ad9833_writedata(phs_data);/*根據(jù)硬件連接選通at89s52與ad9833的數(shù)據(jù)線路;將ad9833的內(nèi)部數(shù)據(jù)進(jìn)行清零操作*/void ad9833_initial() ddsen=1; /ddsen disable ddsclk=1; /clock high ddsdata=0; ad9833_reset();4 制作與調(diào)試4.1 硬件電路制作4.1.1 總體特點(diǎn)該系統(tǒng)所涉及的各部分硬件電路,總體的特點(diǎn)是:(
48、1) 電路原理較為簡(jiǎn)單,所用的器件均為常用器件,但因?yàn)檫M(jìn)行了投板制作,且器件基本是貼片形式,所以前期必須保證pcb版圖的正確性和可實(shí)施性11; (2) 由于ad9833貼片引腳相當(dāng)密,因此焊接過程中要特別注意,切勿將周圍引腳焊接在一起。所以,應(yīng)合理布線,以降低焊接難度,降低出錯(cuò)率,同時(shí)防止干擾。4.1.2 焊接焊接前應(yīng)熟悉各芯片的引腳,焊接時(shí)參照電路圖,仔細(xì)地連接引腳。先焊接各芯片的電源線和地線,這樣確保各芯片有正確的工作電壓,同類的芯片應(yīng)順序焊接,在一片焊接并檢查好之后,其他的同類芯片便可以參照第一片進(jìn)行焊接。這樣便可大大節(jié)省時(shí)間,也可降低出錯(cuò)率。在大面積的接地(電)中,常用元器件的腿與其連接,對(duì)連接腿的處理需要進(jìn)行綜合的考慮,就電氣性能而言,元件腿的焊盤與銅面滿接為好,但對(duì)元件的焊接裝配就存在一些不良隱患如焊接需要大功率加熱器,容易造成虛焊點(diǎn)。所以兼顧電氣性能與工藝需要,做成十字花焊盤,稱之為熱隔離俗稱熱焊盤,這樣,可使在焊接時(shí)因截面過分散熱而產(chǎn)生虛焊點(diǎn)的可能性大大減少。下圖為焊接完成后的兩張圖 圖4-1 硬件總體圖圖4-2 ad9833及外圍硬件電路圖4.2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45106-2024動(dòng)物鉤端螺旋體病診斷技術(shù)
- 2024幼兒園教職工科技創(chuàng)新與成果轉(zhuǎn)化聘用合同3篇
- 2025年收養(yǎng)協(xié)議范本:專業(yè)版900字3篇
- 2025年房產(chǎn)再抵押借款資金合同3篇
- 2024版影視劇攝制居間合同協(xié)議
- 2025年度成都上灶師父招聘與智慧餐飲技術(shù)應(yīng)用服務(wù)協(xié)議2篇
- 2024版二手房過戶協(xié)議書范本
- 2025年新型城鎮(zhèn)化公共服務(wù)設(shè)施施工合同2篇
- 二零二五版WTO貿(mào)易爭(zhēng)端解決機(jī)制優(yōu)化合同3篇
- 咸陽職業(yè)技術(shù)學(xué)院《智慧工地與智能施工設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 創(chuàng)傷處理理論知識(shí)考核試題及答案
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》測(cè)試題+答案
- Unit 4 同步練習(xí)人教版2024七年級(jí)英語上冊(cè)
- 殘疾軍人新退休政策
- 人教版數(shù)學(xué)三年級(jí)下冊(cè)《簡(jiǎn)單的小數(shù)加、減法》說課稿(附反思、板書)課件
- 稅前工資反算表模板
- 廣東省深圳市2023年中考英語試題(含答案與解析)
- MOOC 電工學(xué)(電氣工程學(xué)概論)-天津大學(xué) 中國(guó)大學(xué)慕課答案
- 室內(nèi)裝飾裝修施工組織設(shè)計(jì)方案
- 洗浴中心活動(dòng)方案
- 送電線路工程施工流程及組織措施
評(píng)論
0/150
提交評(píng)論