基于DDS技術(shù)的正弦交流信號(hào)源的設(shè)計(jì)
摘要:以設(shè)計(jì)和實(shí)現(xiàn)可以進(jìn)行功率輸出的正弦波信號(hào)源為目的,提出了一種基于DDS技術(shù),以單片機(jī)為控制核心、AD9850芯片為頻率合成器的正弦交流電流信號(hào)源的設(shè)計(jì)方法。該正弦交流電流信號(hào)源可以產(chǎn)生頻率穩(wěn)定且頻率范圍為1~100 Hz,電流幅值可調(diào)的正弦電流信號(hào),具有一定的帶負(fù)載和功率輸出能力。該產(chǎn)品創(chuàng)造性地運(yùn)用單片機(jī)向D/A寫入電壓控制字的方式間接控制和改變AD公司生產(chǎn)的AD603芯片對(duì)正弦波信號(hào)電壓幅值的增益,實(shí)現(xiàn)對(duì)于同一負(fù)載輸出交變電流的有效值可調(diào)節(jié)的功能,為同類信號(hào)源產(chǎn)品的功能改進(jìn)開辟了新的思路。
關(guān)鍵詞:DDS AD9850;正弦波;信號(hào)源
0 引言
直接數(shù)字合成技術(shù)(Direct Digital Syn-thesizer,DDS)是一種用數(shù)字控制方法,從一個(gè)參考頻率源產(chǎn)生多種頻率的技術(shù),這種合成技術(shù)具有換頻速度快、分辨率高、相位噪聲低、信號(hào)純度高、可控制相位等優(yōu)點(diǎn),被廣泛應(yīng)用于航空、航天、通信、雷達(dá)等領(lǐng)域。美國(guó)AD公司推出的高集成度的頻率合成器AD9850是DDS技術(shù)的典型產(chǎn)品之一,AD9850是高穩(wěn)定度的直接數(shù)字頻率合成器件,內(nèi)部包含數(shù)據(jù)輸入寄存器、頻率相位數(shù)據(jù)寄存器、可編程DDS系統(tǒng)、高性能數(shù)/模轉(zhuǎn)換器(DAC)和高速比較器,能實(shí)現(xiàn)全數(shù)字編程控制的頻率合成器和時(shí)鐘發(fā)生器。如在AD9850上接入精密時(shí)鐘源,可產(chǎn)生一個(gè)頻譜純凈,頻率、相位都可編程控制的正弦波信號(hào)。本文基于DDS技術(shù)的原理和AD9850芯片的優(yōu)良性能,設(shè)計(jì)并論述了一種可產(chǎn)生一定頻率,可調(diào)范圍為0~100 Hz的正弦波信號(hào),且具有一定的帶載能力,電流幅值可調(diào)節(jié)(最大可控制輸出電流幅值為1 A)的交流信號(hào)源。該產(chǎn)品相比于以往的同類產(chǎn)品,進(jìn)一步改進(jìn)了其性能,有頻率可調(diào)、信號(hào)穩(wěn)定的優(yōu)點(diǎn),并創(chuàng)造性的使用單片機(jī)對(duì)D/A的控制,間接實(shí)現(xiàn)了對(duì)輸出電流幅值的調(diào)節(jié),從而實(shí)現(xiàn)了可調(diào)節(jié)的功率(電流)輸出。
1 正弦交流信號(hào)源的整體設(shè)計(jì)思路
該信號(hào)源以AVR的ATmega16單片機(jī)為核心、AD9850芯片為主體,采用HD7279芯片作為鍵盤、顯示接口。用戶可用鍵盤設(shè)定信號(hào)頻率和輸出電流的數(shù)值,由單片機(jī)將設(shè)定頻率轉(zhuǎn)換為AD9850的頻率控制字并送給AD9850,產(chǎn)生相應(yīng)頻率的正弦波信號(hào),同時(shí)單片機(jī)將對(duì)A/D采集到的電流值與用戶設(shè)定值進(jìn)行比較,對(duì)輸出電流進(jìn)行閉環(huán)反饋控制,最終將輸出電流調(diào)節(jié)為設(shè)定值。電路中的低通濾波電路可以有效濾除頻率過(guò)高的信號(hào),輸出環(huán)節(jié)中設(shè)有放大環(huán)節(jié)和有源濾波環(huán)節(jié),可以有效保證正弦波電流信號(hào)的帶載能力和頻率的純正。電路中還設(shè)有信號(hào)調(diào)理電路,用于將電流互感器測(cè)得的交變電流信號(hào)電位調(diào)整為單片機(jī)A/D模塊模擬輸入的點(diǎn)位。該產(chǎn)品的整體結(jié)構(gòu)圖如圖1所示。
2 硬件電路設(shè)計(jì)
2.1 ATmega16單片機(jī)的選用
該信號(hào)源采用AVR的ATmega16單片機(jī),在結(jié)構(gòu)上,該款單片機(jī)由兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器,一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC,4通道PWM,8路10位ADC,8個(gè)單端通道,TQFP封裝的7個(gè)差分通道,2個(gè)具有可編程增益(1x,10x,200x)的差分通道,面向字節(jié)的兩線接口,2個(gè)可編程的串行USART,可工作于主機(jī)/從機(jī)模式的SPI串行接口,具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器,片內(nèi)模擬比較器等組成。
在性能上,該款單片機(jī)具有高性能、低功耗的8位AVR微處理器,先進(jìn)的RISC結(jié)構(gòu);具有131條指令,大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期;32個(gè)8位通用工作寄存器,全靜態(tài)工作;具有非易失性程序和數(shù)據(jù)存儲(chǔ)器,16 KB的系統(tǒng)內(nèi)可編程FLASH;具有獨(dú)立鎖定位的可選Boot代碼區(qū),通過(guò)片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程;真正的同時(shí)讀/寫操作;具有512 B E2PROM,1 KB的片內(nèi)SRAM,可以對(duì)鎖定位進(jìn)行編程。
運(yùn)用ATmega16單片機(jī)實(shí)現(xiàn)對(duì)AD9850的控制編程簡(jiǎn)便,接口簡(jiǎn)單,成本較低,同時(shí)該款單片機(jī)體積較小,易實(shí)現(xiàn)小型化。因此采用AVR ATm ega16單片機(jī)作為該系統(tǒng)的控制核心來(lái)向AD9850發(fā)送控制字。在本產(chǎn)品中,單片機(jī)接人的晶振頻率為7.3728MHz。
2.2 AD9850芯片接口電路的設(shè)計(jì)
AD9850內(nèi)含可編程DDS系統(tǒng)和高速比較器,可實(shí)現(xiàn)全數(shù)字編程控制的頻率合成??删幊藾DS系統(tǒng)的核心是相位累加器,由1個(gè)加法器和1個(gè)N位相位寄存器組成,N一般為24~32。每來(lái)一個(gè)外部參考時(shí)鐘,相位寄存器便以步長(zhǎng)M遞加。相位寄存器的輸出與相位控制字相加后可輸入到正弦查詢表地址上。正弦查詢表包含一個(gè)正弦波周期的數(shù)字幅度信息,每一個(gè)地址對(duì)應(yīng)正弦波中0°~360°范圍的一個(gè)相位點(diǎn)。查詢表把輸入地址的相位信息映射成正弦波幅度信號(hào),然后驅(qū)動(dòng)DAC輸出模擬量。
AD9850有40位控制字,32位用于頻率控制(低32位),5位用于相位控制,1位用于電源休眠(Power-down)控制,2位用于選擇工作方式。這40位控制字可通過(guò)并行或串行方式輸入到AD9850。本產(chǎn)品采用并行裝入方式,通過(guò)8位總線D0~D7將數(shù)據(jù)輸入到寄存器,在W_CLK的上升沿裝入8位數(shù)據(jù),并把指針指向下一個(gè)輸入寄存器,在重復(fù)5次之后再在FQ_UD上升沿把40位數(shù)據(jù)從輸入寄存器裝入到頻率/相位數(shù)據(jù)寄存器(更新DDS輸出頻率和相位),同時(shí)把地址指針復(fù)位到第一個(gè)輸入寄存器。其中AD9850的頻率控制字?jǐn)?shù)值的計(jì)算公式為:
fOUT=(△Phase×CLKIN)/232 (1)
AD9850芯片的接口電路設(shè)計(jì)圖如圖2所示。圖中數(shù)據(jù)線DB0~DB7通過(guò)總線與ATmega16單片機(jī)的PB0~PB7相連,用以單片機(jī)向AD9850寫入頻率控制字;W_CLK和FQ_UD分別接在單片機(jī)的PA6和PA7上,用于并行通信中時(shí)序和傳輸?shù)目刂?。該產(chǎn)品的設(shè)計(jì)輸出頻率范圍為1~100 Hz,選用晶振為50MHz。
2.3 濾波電路的設(shè)計(jì)
采用DDS技術(shù)的信號(hào)發(fā)生器具有良好的頻率分辨率和快速、連續(xù)的變頻性能,帶寬也相對(duì)較寬,但是,DDS技術(shù)有一個(gè)明顯的缺點(diǎn),輸出頻率越接近時(shí)鐘頻率的1/2,采樣點(diǎn)數(shù)就越少,輸出地雜散干擾就越大。所以必須要為DDS設(shè)計(jì)低通濾波器,以提高輸出正弦波頻率的穩(wěn)定性和輸出波形的質(zhì)量。
在該信號(hào)源的設(shè)計(jì)中,設(shè)有兩個(gè)低通濾波器模塊,分別采用以LC并聯(lián)諧振為原理的無(wú)源低通濾波器和以集成運(yùn)放為基礎(chǔ)的RC低通有源濾波器,其電路分別如圖3,圖4所示。無(wú)源低通濾波器用于濾除AD9850產(chǎn)生的直流正弦信號(hào)波中的雜質(zhì)頻率,有源低通濾波器用于濾除經(jīng)放大環(huán)節(jié)和電容隔直通交所產(chǎn)生的正弦交流信號(hào)中的雜質(zhì)頻率。由于本產(chǎn)品的設(shè)計(jì)頻率范圍為1~100 Hz,故在圖3所示的無(wú)源低通濾波器中采用兩級(jí)LC并聯(lián)結(jié)構(gòu),其上限頻率分別為200 Hz和100 Hz,用來(lái)濾除超過(guò)100 Hz的諧波,在圖4所示的有源低通濾波器中,依據(jù)公式:
fL=1/(2πRC) (2)
可確定上限頻率為100 Hz的有源低通濾波器的R,C參數(shù)的選擇。
2.4 信號(hào)放大環(huán)節(jié)電路設(shè)計(jì)
為了保證本產(chǎn)品產(chǎn)生的交流信號(hào)具有帶載能力和功率輸出能力,必須對(duì)AD9850芯片產(chǎn)生的經(jīng)過(guò)低通濾波后的正弦直流信號(hào)進(jìn)行放大。在本環(huán)節(jié)中選用AD公司的AD603芯片,這是一種低噪聲、電壓控制增益的新型運(yùn)放,其傳輸帶寬高達(dá)90 MHz,增益最高可達(dá)51 dB,最低達(dá)-11 dB,具有良好的性能。并用受單片機(jī)控制的D/A輸出一定范圍的電壓對(duì)其增益進(jìn)行控制,以達(dá)到輸出電壓幅值可調(diào)節(jié)的功能,即采用單片機(jī)以電壓控制字控制D/A的電壓模擬輸出,從而達(dá)到調(diào)節(jié)AD603的增益,進(jìn)而達(dá)到了調(diào)節(jié)電壓幅值的效果,對(duì)于同一負(fù)載,即電流的幅值是可變的。
D/A選用DAC0832芯片,這是一個(gè)8位分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)D/A芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。將DAC0832的片選信號(hào)CS接單片機(jī)的PC7,將XFER接PA1、ILE接PA2、WR1接PA3、WR2接PA4,將DAC0832的8位數(shù)字輸入分別與單片機(jī)的PB0~PB7相連接,用于單片機(jī)向D/A寫入電壓控制字,使用單片機(jī)控制DAC0832給AD603芯片差分輸入高電平端GPOS管腳輸入0~5 V的電壓,可以調(diào)節(jié)AD603的增益為21~51 dB,,最終可使輸出端空載時(shí)的電壓峰峰值在2.24~4 V的范圍內(nèi)無(wú)失真縮放。
2.5 交流輸出放大環(huán)節(jié)電路和信號(hào)調(diào)理電路設(shè)計(jì)
為了保證該交流信號(hào)源具有一定的電流輸出能力和帶載能力,在利用電容的隔直通交性質(zhì)將AD9850產(chǎn)生的直流正弦信號(hào)變?yōu)榻涣髡倚盘?hào)后,應(yīng)對(duì)電壓進(jìn)一步放大,這樣可以保證輸出端口接入不同的負(fù)載均有一定的電流輸出。在本環(huán)節(jié)中選用德州儀器的OPA548運(yùn)放,這是一款功率運(yùn)放,最大可以持續(xù)輸出3 A的電流,可以在有效放大電壓的基礎(chǔ)上通過(guò)大電流。
在輸出端口上設(shè)置有電流互感器,用于電流值的采樣,采樣電流值通過(guò)信號(hào)調(diào)理電路接入AVR單片機(jī)A/D模塊的模擬輸入端。AVR ATmega 16單片機(jī)的模擬輸入端口的輸入電壓范圍是0~4.6 V,所以必須對(duì)電流互感器采集來(lái)的信號(hào)進(jìn)行電平轉(zhuǎn)換,接入單片機(jī)的A/D模擬輸入接口。圖5為信號(hào)調(diào)理電路的設(shè)計(jì)圖,采集來(lái)的電壓信號(hào)經(jīng)過(guò)電壓跟隨器的隔離和緩沖作用后,經(jīng)反向放大電路和求和電路將信號(hào)的電平調(diào)整為0~4.6V。
3 系統(tǒng)軟件流程設(shè)計(jì)
3.1 總設(shè)計(jì)流程圖
系統(tǒng)軟件總設(shè)計(jì)流程圖如圖6所示,系統(tǒng)軟件由系統(tǒng)初始化程序、按鍵中斷服務(wù)程序、AD9850控制程序、顯示子程序、電流閉環(huán)調(diào)節(jié)程序等模塊組成,均由C語(yǔ)言編寫而成。對(duì)于本產(chǎn)品而言,其特色之處在于按鍵中斷服務(wù)子程序和電流幅值閉環(huán)調(diào)節(jié)程序的設(shè)計(jì),成功地實(shí)現(xiàn)了頻率可調(diào)可顯示,并在電流值可調(diào)可顯示的基礎(chǔ)上,實(shí)現(xiàn)了一定的控制精度。
3.2 按鍵中斷服務(wù)子程序流程的設(shè)計(jì)
在按鍵中斷服務(wù)子程序中,軟件系統(tǒng)依托鍵盤顯示接口HD7279芯片,設(shè)定了以下功能:具有模式轉(zhuǎn)換鍵,可以在頻率顯示與電流顯示之間進(jìn)行切換;具有設(shè)定按鍵,可在顯示模式和設(shè)定模式下進(jìn)行轉(zhuǎn)換,且設(shè)定位閃爍;設(shè)有“+1”、“-1”、左移鍵,可以設(shè)置不同位上的數(shù)值;具有確定鍵,在設(shè)計(jì)結(jié)束后可以將設(shè)定值送入單片機(jī)處理;具有復(fù)位鍵,可以實(shí)現(xiàn)復(fù)位,恢復(fù)初始化設(shè)置。設(shè)計(jì)流程如圖7所示。
3.3 電流幅值閉環(huán)調(diào)節(jié)程序流程設(shè)計(jì)
該環(huán)節(jié)利用定時(shí)器的定時(shí)器控制采樣間隔,將采樣值儲(chǔ)存在一個(gè)數(shù)組變量中,當(dāng)采集完一個(gè)信號(hào)周期規(guī)定的點(diǎn)數(shù)后,計(jì)時(shí)器產(chǎn)生中斷,單片機(jī)對(duì)數(shù)組進(jìn)行處理,計(jì)算出產(chǎn)生的正弦交變電流的有效值,并與設(shè)定電流有效值進(jìn)行比較:如果電流設(shè)定值連續(xù)20次等于實(shí)測(cè)計(jì)算值,則該環(huán)節(jié)結(jié)束,程序繼續(xù)向下運(yùn)行;若電流設(shè)定值不等于實(shí)測(cè)計(jì)算值,清零電流相等標(biāo)志位IE;若電流設(shè)定值大于實(shí)測(cè)計(jì)算值,則令D/A的電壓控制字加1,反之則減1。單片機(jī)將電壓控制字寫入D/A,以調(diào)節(jié)電流幅值的大小,然后反復(fù)進(jìn)行測(cè)量,與設(shè)定值對(duì)比,直至相等20次之后。程序設(shè)計(jì)流程圖如圖8所示。
4 測(cè)試與結(jié)果分析
在此對(duì)設(shè)計(jì)的交流正弦信號(hào)源輸出波形的頻率使用數(shù)字示波器進(jìn)行測(cè)試,設(shè)計(jì)頻率范圍為1~100 Hz,具備頻率設(shè)定功能,且頻率步進(jìn)可分為1 Hz和10 Hz兩個(gè)檔位,測(cè)試數(shù)據(jù)表如表1所示。
從表中的數(shù)據(jù)分析可以看出該信號(hào)源即使在較低的頻率也能具有較高的信號(hào)穩(wěn)定度。
在電流幅值調(diào)節(jié)測(cè)試中,使用2Ω/10W的大功率電阻作為測(cè)試負(fù)載,輸出電流有效值可在1~999 mA范圍內(nèi)以1 mA步進(jìn)調(diào)節(jié)設(shè)置,由于采用閉環(huán)系統(tǒng)控制電流幅值,輸出電流有效值穩(wěn)定度可達(dá)10-3。
5 結(jié)語(yǔ)
本文基于DDS技術(shù)設(shè)計(jì)了一款正弦交流信號(hào)源,采用單片機(jī)和AD603等產(chǎn)生的信號(hào)穩(wěn)定度高,達(dá)到了預(yù)期目標(biāo)。