蘇州工業(yè)園區(qū)工業(yè)技術(shù)學(xué)校 謝留婉
?
簡(jiǎn)易DDS信號(hào)發(fā)生器設(shè)計(jì)與研究
蘇州工業(yè)園區(qū)工業(yè)技術(shù)學(xué)校 謝留婉
【摘要】本文介紹了一種基于STC12C5A60S2單片機(jī)為核心,結(jié)合8位并口輸入/輸出的28C64存儲(chǔ)器及D/A轉(zhuǎn)換的DDS合成技術(shù)的設(shè)計(jì)方案。主要通過(guò)存儲(chǔ)器存儲(chǔ)波形數(shù)據(jù),單片機(jī)控制存儲(chǔ)器,按照一定的方式,對(duì)指定存儲(chǔ)器區(qū)域的波形數(shù)按照順序循環(huán)輸出給D/A轉(zhuǎn)換電路,再通過(guò)集成運(yùn)算放大器進(jìn)行信號(hào)放大,在輸出級(jí)使用增益可控精密信號(hào)放大器,實(shí)現(xiàn)指定的波形輸出。本設(shè)計(jì)的DDS信號(hào)發(fā)生器,除了可以選擇不同類型的波形輸出,而且還可做到精確控制其輸出的頻率和幅度。
【關(guān)鍵詞】DDS;信號(hào)發(fā)生器;設(shè)計(jì);28C64;STC12C5A60S2
直接數(shù)字頻率合成(DDS)技術(shù)是一種新型的頻率合成技術(shù),具有較高的頻率分辨率,可以實(shí)現(xiàn)快速的頻率切換,并且在改變時(shí)能保持相位的連續(xù),在波形的控制方面實(shí)現(xiàn)連續(xù)的可調(diào)[1]。因此,在現(xiàn)代電子系統(tǒng)及設(shè)備的頻率源設(shè)計(jì)中,其應(yīng)用越來(lái)越廣泛。
信號(hào)發(fā)生器同時(shí)也是電子工程師在電子產(chǎn)品研發(fā)、電路功能調(diào)試時(shí)的必備工具。而采用直接數(shù)字頻率合成型(DDS)技術(shù)的數(shù)字型信號(hào)發(fā)生器設(shè)計(jì)方案,與純硬件電路設(shè)計(jì)的信號(hào)發(fā)生器相比,具有高精度、高可靠性、操作方便、價(jià)格便宜、智能化等特點(diǎn),是智能化儀器的一個(gè)發(fā)展方向,具有一定的很高的實(shí)用價(jià)值。
本系統(tǒng)設(shè)計(jì)思路是采用基于STC12C5A60S2型單片機(jī)作為控制核心,通過(guò)單片機(jī)分析計(jì)算產(chǎn)生需要的任意波形數(shù)據(jù),存儲(chǔ)到28C64存儲(chǔ)器中,然后控制存儲(chǔ)器按照一定的方式輸出波形數(shù)據(jù)給D/A轉(zhuǎn)換電路,最后通過(guò)集成運(yùn)算放大器進(jìn)行信號(hào)放大,實(shí)現(xiàn)指定的波形輸出。為了提高系統(tǒng)的實(shí)用性和一定的性價(jià)比,本系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)定為:可任意選擇輸出三種常規(guī)類型(正弦波、方波、三角波),輸出頻率可調(diào)0~3000Hz,幅度可調(diào)0~5.00V,精度頻率誤差±0.1%,幅度誤差1%,矩形波占空比可調(diào),為了能實(shí)現(xiàn)任意波形輸出,提高信號(hào)發(fā)生器的功能拓展,預(yù)留串口485接口可輸入任意波形數(shù)據(jù),實(shí)現(xiàn)任意波形輸出。以下將根據(jù)技術(shù)指標(biāo),介紹具體器件選型、硬件電路設(shè)計(jì)、軟件設(shè)計(jì)等方案。
2.1硬件電路設(shè)計(jì)
2.1.1STC12C5A60S2芯片簡(jiǎn)介[2]
STC12C5A60S2是STC發(fā)布的一款時(shí)鐘周期為1T的單片機(jī),是加強(qiáng)型的51單片機(jī),能夠兼容原來(lái)的傳統(tǒng)51內(nèi)核,時(shí)鐘速度是傳統(tǒng)51型單片機(jī)的12倍。內(nèi)部集成了上電復(fù)位芯片,兩路PWM輸出,10位 A/D轉(zhuǎn)換輸出,可以對(duì)直接驅(qū)動(dòng)電機(jī)實(shí)現(xiàn)控制,擁有超強(qiáng)的抗干擾能力。
2.1.2存儲(chǔ)器AT28C64簡(jiǎn)介[3]
AT28C64是一種采用CMOS工藝制成的8K×8位28引腳的可用電擦除可編程存儲(chǔ)器E2PROM。其讀寫像SRAM操作一樣,不需要外加任何元器件。ATMEL愛(ài)特梅爾公司的AT28C64的頁(yè)寄存器為64B。目前一般一個(gè)字節(jié)的接除和寫訪問(wèn)時(shí)間為200B或1M,而最大頁(yè)寫入周期(包括擦除和寫入)時(shí)間不超過(guò)10ms。
2.1.3D/A轉(zhuǎn)換器DAC0832簡(jiǎn)介[4]
DAC0832是CMOS工藝制造的8位D/A轉(zhuǎn)換器,屬于8位電流輸出型D/A轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為1us,片內(nèi)帶輸入數(shù)字鎖存器。DAC0832與單片機(jī)接成數(shù)據(jù)直接寫入方式,當(dāng)單片機(jī)把一個(gè)數(shù)據(jù)寫入DAC寄存器時(shí),DAC0832的輸出模擬電壓信號(hào)隨之對(duì)應(yīng)變化。
2.1.4硬件電路組成
根據(jù)設(shè)計(jì)功能要求及技術(shù)指標(biāo)要求,系統(tǒng)設(shè)計(jì)采用STC系列單片機(jī)STC12C5A60S2為核心,采用數(shù)字合成技術(shù)利用單片機(jī)直接產(chǎn)生波形數(shù)據(jù),對(duì)于規(guī)則波形(正弦波、三角波、方波等)可預(yù)先使用存儲(chǔ)器存儲(chǔ)波形數(shù)據(jù),通過(guò)單片機(jī)控制讀取存儲(chǔ)器地址區(qū)域,控制輸出不同類型的波形數(shù)據(jù),同時(shí)還可通過(guò)485串口輸入特殊波形數(shù)據(jù),實(shí)現(xiàn)特殊波形輸出,單片機(jī)控制將數(shù)字量數(shù)據(jù)通過(guò)D/A轉(zhuǎn)換電路,轉(zhuǎn)換為對(duì)應(yīng)波形模擬量信號(hào),考慮到輸出信號(hào)有足夠的幅度和精度,在輸出級(jí)配置高精度信號(hào)放大電路。設(shè)計(jì)系統(tǒng)硬件電路由開(kāi)關(guān)電源電路、單片機(jī)控制電路、存儲(chǔ)器模塊、D/A轉(zhuǎn)換電路、精密信號(hào)放大電路、TTL信號(hào)驅(qū)動(dòng)輸出電路、LCD液晶模塊、矩陣鍵盤、485通訊接口等組成。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
硬件電路主要功能模塊介紹:
單片機(jī)控制模塊:采用STC12C5A60S2型單片機(jī),主要控制各功能模塊電路協(xié)同工作。如:驅(qū)動(dòng)LCD顯示波形輸出狀態(tài)、參數(shù)設(shè)置窗口等信息;讀取矩陣鍵盤鍵碼進(jìn)行波形參數(shù)設(shè)置;判斷波形輸出類型選擇讀取存儲(chǔ)器中的波形數(shù)據(jù);控制D/A轉(zhuǎn)換輸出波形的模擬量信號(hào);控制精密信號(hào)放大器放大增益等。
LCD顯示電路:采用LCM12864點(diǎn)陣液晶顯示器,便于實(shí)現(xiàn)準(zhǔn)確走時(shí)。為系統(tǒng)檢測(cè)出現(xiàn)危險(xiǎn)溫度時(shí)提高可靠時(shí)間依據(jù)。
存儲(chǔ)器:采用AT28C64存儲(chǔ)芯片,它是一種E2PROM存儲(chǔ)器,可以對(duì)波形數(shù)據(jù)進(jìn)行保存,且能做到掉電保護(hù),在波形信號(hào)輸出階段,通過(guò)單片機(jī)控制其指定的存儲(chǔ)區(qū)域,將對(duì)應(yīng)的波形數(shù)據(jù)按照順序輸出給D/A轉(zhuǎn)換電路。
D/A轉(zhuǎn)換模塊:采用DAC0832芯片的八位D/A轉(zhuǎn)換,其具有并行輸入、轉(zhuǎn)換速度快、帶輸入緩存等特點(diǎn),主要負(fù)責(zé)將存儲(chǔ)器中輸出的數(shù)字量波形數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)的模擬量信號(hào),以產(chǎn)生連續(xù)的信號(hào)波形。
485串口通訊接口:實(shí)現(xiàn)特殊波形輸出,主要是對(duì)需要特殊形式的波形,通過(guò)串口直接將波形數(shù)據(jù)輸入到系統(tǒng)中。為系統(tǒng)提供功能拓展,提供信號(hào)產(chǎn)生的多樣性,以使系統(tǒng)能應(yīng)用到更多的場(chǎng)合。
精密信號(hào)放大器:主要負(fù)責(zé)將D/A轉(zhuǎn)換出的波形信號(hào)進(jìn)行線性放大,并能準(zhǔn)確控制放大增益,使輸出信號(hào)的幅度與設(shè)置的信號(hào)輸出幅度保持一致。
2.2軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì),主要目的是使單片機(jī)芯片能實(shí)現(xiàn)控制硬件電路各部件協(xié)同工作,以實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的功能要求,如:波形參數(shù)設(shè)置、波形顯示、波形輸出等功能。軟件設(shè)計(jì)思路是,程序一開(kāi)始先對(duì)各相關(guān)功能模塊進(jìn)行初始化;控制LCD顯示波形參數(shù)設(shè)置界面;接著程序開(kāi)始鍵盤檢測(cè),判讀是否在進(jìn)行波形參數(shù)設(shè)置設(shè)定,根據(jù)當(dāng)前設(shè)定參數(shù)確定輸出波形類型、信號(hào)輸出幅度;系統(tǒng)當(dāng)前開(kāi)始判斷是否被設(shè)置為開(kāi)啟波形輸出允許狀態(tài),若未開(kāi)啟輸出,則系統(tǒng)繼續(xù)循環(huán)重新檢測(cè)按鍵狀態(tài),反之,則根據(jù)設(shè)定的波形輸出類型確定訪問(wèn)存儲(chǔ)器地址區(qū)域,同時(shí)采用定時(shí)器中斷方法控制存儲(chǔ)器輸出的波形數(shù)據(jù)按照設(shè)置的頻率循環(huán)輸出;開(kāi)啟D/A轉(zhuǎn)換,將數(shù)據(jù)通過(guò)D/A轉(zhuǎn)換為平滑的模擬量波形信號(hào)輸出。
具體軟件流程圖如圖2所示:
圖2 軟件流程圖
預(yù)留串口通訊接口,實(shí)現(xiàn)接收上位機(jī)發(fā)送的特殊波形數(shù)據(jù),將需要輸出特定的不規(guī)則波形,可將波形的數(shù)字量數(shù)據(jù)在上位機(jī)軟件上進(jìn)行編輯,然后發(fā)送到系統(tǒng)中,系統(tǒng)在存儲(chǔ)器中劃分出專用的存儲(chǔ)區(qū)域進(jìn)行存儲(chǔ),并按照參數(shù)設(shè)置要求,循環(huán)輸出對(duì)應(yīng)波形等。
為了提高輸出信號(hào)波形的完整性,規(guī)定了一個(gè)完整周期的波形數(shù)據(jù)為200個(gè)點(diǎn),在控制信號(hào)輸出頻率是采用定時(shí)器定時(shí)中斷控制存儲(chǔ)器輸出波形數(shù)據(jù),則輸出信號(hào)的頻率為f,則定時(shí)器的定時(shí)中斷時(shí)間為t=1/200f。對(duì)于矩形波信號(hào)輸出,可直接通過(guò)單片機(jī)的定時(shí)中斷方式輸出高低電平,響應(yīng)速度更快、且占空比的控制可以直接在定時(shí)中斷過(guò)程中進(jìn)行處理。
本設(shè)計(jì)介紹的簡(jiǎn)易DDS信號(hào)發(fā)生器具有波形輸出精度高、頻率穩(wěn)定、響應(yīng)速度快、實(shí)用性強(qiáng)、擴(kuò)展性靈活的特點(diǎn)。同時(shí)本DDS信號(hào)發(fā)生器除了能產(chǎn)生規(guī)則波形輸出如正弦波、三角波、矩形波等,而且還可以通過(guò)串口接收特殊波形數(shù)據(jù),實(shí)現(xiàn)輸出特殊波形,基本實(shí)現(xiàn)任意波形而非輸出。大大提高了信號(hào)發(fā)生器的使用場(chǎng)合。
參考文獻(xiàn)
[1]邵正途,高玉良.DDS/FPGA在信號(hào)產(chǎn)生系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2005,(1)82~84.
[2]STC12C5A60S2 DataSheet[Z] . http://www.stcmcu.com/.
[3]AT28C64 DataSheet[Z].http://www.atmel.com/.
[4]DAC0832 DataSheet[Z].http://www.national.com/.
作者簡(jiǎn)介:
謝留婉(1984-),男,江蘇蘇州人,大學(xué)本科,蘇州工業(yè)園區(qū)工業(yè)技術(shù)學(xué)校講師。