《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 一種用作超聲波信號(hào)源的AWG的研制

一種用作超聲波信號(hào)源的AWG的研制

2009-03-06
作者:張 振1,2,, 朱昌平1,2,

??? 摘? 要: 研制了一種采用單片機(jī)與復(fù)雜可編程邏輯器件(CPLD)相結(jié)合的方法設(shè)計(jì)的任意波形發(fā)生器(AWG),,并詳細(xì)介紹了利用MATLAB獲取波形數(shù)據(jù)的兩種方法,。實(shí)驗(yàn)證明,該系統(tǒng)能輸出頻率和幅度可調(diào)的多種標(biāo)準(zhǔn)函數(shù)波以及任意波形,。在滿足所需頻帶寬度的同時(shí),,提高了頻率的分辨率和準(zhǔn)確度。?

??? 關(guān)鍵詞: AWG,; 超聲波信號(hào)源,; DDS; 單片機(jī),; CPLD?

?

??? 在研究聲化學(xué)的頻率效應(yīng)及超聲流體濃度檢測(cè)的過(guò)程中筆者發(fā)現(xiàn),,傳統(tǒng)的模擬超聲信號(hào)源只能直接產(chǎn)生適當(dāng)頻率的電信號(hào),用以驅(qū)動(dòng)特定的超聲波換能器,,且產(chǎn)生的波形種類十分有限,,系統(tǒng)的智能化控制也不完善。這不僅使得超聲設(shè)備不能被合理利用,,同時(shí)也在實(shí)驗(yàn)過(guò)程中加大了操作人員的工作量,。所以設(shè)計(jì)一個(gè)適用范圍廣、高質(zhì)量,、智能化的超聲信號(hào)源有著非常重要的意義,。?

??? 本文所介紹的任意波形發(fā)生器應(yīng)用于頻率100kHz以下的低頻超聲段。從系統(tǒng)性能,、實(shí)現(xiàn)成本和復(fù)雜程度等方面綜合考慮,,采用了單片機(jī)與CPLD相結(jié)合的方法實(shí)現(xiàn)。其后級(jí)可運(yùn)用B類功放以獲得所需的功率輸出,。?

1 系統(tǒng)原理及特點(diǎn)?

??? AWG的波形合成采用了基于Nyquist采樣定律的DDS技術(shù),。模擬信號(hào)經(jīng)過(guò)采樣、量化后存入數(shù)據(jù)查找表,,控制器通過(guò)對(duì)查找表的尋址獲得波形數(shù)據(jù),,再經(jīng)D/A轉(zhuǎn)換、濾波即可恢復(fù)原波形。其實(shí)現(xiàn)過(guò)程如圖1所示,。?

?

?

??? 在系統(tǒng)時(shí)鐘的作用下,,將頻率控制字(也即累加器步長(zhǎng))送至相位累加器,并與原有的數(shù)據(jù)相加,,這樣,,累加器的輸出是一個(gè)關(guān)于時(shí)間的線性相位函數(shù)。相位函數(shù)的斜率決定了信號(hào)的頻率,,而相位函數(shù)的斜率取決于每個(gè)時(shí)鐘周期相位的增量,。控制每個(gè)周期相位的增量即可控制合成信號(hào)的頻率,。改變累加步長(zhǎng),,即可改變輸出每個(gè)周期的相位增量,從而改變輸出信號(hào)的頻率[1],。?

??? 設(shè)定AWG的性能參數(shù)如下:?

??? (1) 8種波形存儲(chǔ)能力,,每種最大存儲(chǔ)字長(zhǎng)為4KB。?

??? (2) 可輸出包括正弦波,、方波,、三角波的標(biāo)準(zhǔn)函數(shù)波形;可輸出任意波形,,并設(shè)定其復(fù)現(xiàn)頻率,。?

??? (3) 頻率帶寬100kHz,最小分辨率為2Hz,。?

??? (4) 輸出電壓峰峰值分為2.5V,、5V、7.5V和10V四檔,,每檔可再進(jìn)行256級(jí)量化。?

??? (5) 波形數(shù)據(jù)通過(guò)數(shù)字存儲(chǔ)示波器(DSO)采集或通過(guò)MATLAB合成,。?

??? (6) 具備當(dāng)前波形數(shù)據(jù)掉電存儲(chǔ)功能,。?

??? (7) 具備時(shí)控和PC控制功能。?

??? (8) 背光液晶顯示,,良好的操作界面,。?

??? 本系統(tǒng)與傳統(tǒng)的模擬信號(hào)發(fā)生器相比具有頻帶寬、穩(wěn)定性好,、分辨率高,、易于程控等特點(diǎn);而相比于采用AD9851等DDS芯片設(shè)計(jì)的信號(hào)源又具有生成波形靈活多樣的優(yōu)勢(shì),。因此它適合作為小信號(hào)源,,被應(yīng)用于功率超聲和檢測(cè)超聲中。?

2 系統(tǒng)的硬件實(shí)現(xiàn)?

??? AWG的硬件電路可以分為波形發(fā)生、整機(jī)控制和電源三個(gè)模塊,,其原理框圖如圖2所示,。電源的設(shè)計(jì)采用經(jīng)典的線性伺服穩(wěn)壓電路,這種電路的紋波系數(shù)很小,,其速率,、內(nèi)阻以及穩(wěn)定性都優(yōu)于蓄電池,非常適合像信號(hào)源這樣對(duì)噪聲敏感的應(yīng)用場(chǎng)合,。?

?

?

2.1 波形發(fā)生電路的設(shè)計(jì)?

??? 波形發(fā)生模塊是本系統(tǒng)的核心,。CPLD(EPM7128S)接收單片機(jī)發(fā)來(lái)的信息對(duì)波形的各項(xiàng)參數(shù)如波形種類、幅度,、頻率,、濾波通道進(jìn)行控制,通過(guò)查找表的方式實(shí)現(xiàn)波形生成,。?

??? 本系統(tǒng)采用了基于E2PROM的查找表,。器件選用8位并行E2PROM芯片AT28C256,存儲(chǔ)容量為32KB,。其讀寫時(shí)序十分簡(jiǎn)單,,改變尋址地址,即輸出對(duì)應(yīng)數(shù)值,,占用更少的CPLD內(nèi)部宏單元,。?

??? 對(duì)于幅度的控制和波形生成,則采用雙DAC的方法,,如圖3所示,。由于幅度控制對(duì)電流建立時(shí)間要求不高,可采用價(jià)格比較便宜的DAC0832,。將其輸出電壓作為波形生成DAC的參考電壓,,通過(guò)改變DAC0832的輸入來(lái)改變輸出信號(hào)的幅度。而DAC0832的參考電壓則由帶隙電壓基準(zhǔn)源AD584提供,,該芯片可提供四種參考電壓,。?

?

?

??? 在DDS系統(tǒng)中,波形生成DAC的電流建立時(shí)間決定了系統(tǒng)合成信號(hào)的最高頻率,。在本系統(tǒng)的設(shè)計(jì)中,,合成信號(hào)的最高頻率為100kHz,為了保證輸出波形的質(zhì)量,,要求在輸出最高頻率時(shí)的周期點(diǎn)數(shù)不少于64點(diǎn),,則電流建立時(shí)間為:?

?????

??? 為了留有一定的裕度,選用電流建立時(shí)間為100ns的AD7524,。設(shè)AD584輸出5V基準(zhǔn)電壓,,DAC0832的數(shù)字輸入為N1,,則AD7524的參考電壓為:?

?????

??? 設(shè)AD7524的數(shù)字輸入為N2,則經(jīng)電流—電壓轉(zhuǎn)換后的輸出UOUT2為:?

?????

??? 為了減輕雜散干擾,,需要在DDS輸出端加一個(gè)濾波器,。考慮到對(duì)帶內(nèi)幅值平坦性,、多通道控制及電路設(shè)計(jì)復(fù)雜性上的要求[2],,本設(shè)計(jì)采用了巴特沃思二階低通濾波器如圖4所示。其中模擬開關(guān)CD4052將有源二階低通濾波電路組成多頻段濾波電路,,濾波截止頻率分為100Hz,、1kHz、10kHz和100kHz四檔,,根據(jù)輸出波形頻率的不同而選擇一組電阻值進(jìn)行分段濾波,。通道選擇和濾波使能由單片機(jī)直接控制。濾波器中的運(yùn)放OP37構(gòu)成同相比例放大器,。?

?

?

2.2 整機(jī)控制電路的設(shè)計(jì)?

??? 整機(jī)控制模塊以AT89S52單片機(jī)為核心,,并由RS-232驅(qū)動(dòng)器(MAX232)、串行E2PROM(AT24C02),、液晶顯示模塊(LCM1602),、矩陣鍵盤、ADC(ADC0831)及精密電壓參考源(AD586)等部分組成,,其電路如圖5所示,。該模塊在系統(tǒng)中起到以下兩點(diǎn)作用:一是將用戶設(shè)定輸出波形的參數(shù)按照特定的格式發(fā)送給CPLD產(chǎn)生相應(yīng)波形;二是監(jiān)測(cè)當(dāng)前的工作狀態(tài),。?

?

?

??? 鍵盤為14鍵的矩陣鍵盤,,采用線翻轉(zhuǎn)法對(duì)鍵碼進(jìn)行識(shí)別[3]。LCM1602型液晶模塊是本機(jī)的顯示輸出設(shè)備,,它具有功耗低,、顯示質(zhì)量高、體積小,、重量輕等特點(diǎn),。

??? 掉電存儲(chǔ)功能由256B的I2C總線串行E2PROM(AT24C02)實(shí)現(xiàn)。?

??? 本系統(tǒng)內(nèi)置了8位逐次逼近式A/D轉(zhuǎn)換器(ADC0831),,用以采樣換能器兩端的輸出電流,進(jìn)而估測(cè)功率源的輸出功率,。因此通過(guò)軟件掃頻的方式就可以找到換能器的諧振頻率,,實(shí)現(xiàn)頻率跟蹤。?

3 系統(tǒng)的軟件實(shí)現(xiàn)?

3.1 CPLD的邏輯設(shè)計(jì)?

??? 雖然CPLD的內(nèi)部邏輯功能屬于硬件范疇,,但是由于采用了軟件的方法設(shè)計(jì)硬件,,也將其歸為系統(tǒng)的軟件實(shí)現(xiàn)。?

??? 從功能上劃分,CPLD的內(nèi)部邏輯具有四個(gè)底層實(shí)體:控制字接收,、相位累加,、幅度DAC控制和波形DAC控制。它們分別采用MegaFunction單元庫(kù)構(gòu)建并采用Verilog HDL行為描述的方法實(shí)現(xiàn),。圖6的虛線框描述了底層各實(shí)體間的關(guān)系,。?

?

?

??? 底層各實(shí)體的設(shè)計(jì)參數(shù)由系統(tǒng)的性能指標(biāo)決定。系統(tǒng)采用8MHz有源晶振,,則每周期具有64個(gè)采樣點(diǎn)的波形最高復(fù)現(xiàn)頻率為:?

?????

??? 因系統(tǒng)要求的最小分辨率不大于2Hz,,故相位累加器的位數(shù)至少為22位,此時(shí)最小頻率約為:?

?????

??? 因此頻率控制字(FSW)的位數(shù)為以上二者位數(shù)之差,,即16位,。?

??? 波形數(shù)據(jù)查找表28C256的地址總線為15位,其高3位由波形種類控制字(WSW)直接賦值,,8種波形與地址的對(duì)應(yīng)關(guān)系如表1所示,。?

?

?

??? 低12位地址取相位累加器輸出累加和的高12位,相位累加器的行為描述如下:?

??? module PHASE_REG (EN,CLK,PIR,ADD_L12); ?

??? input [15:0] PIR; ?

??? input EN; ?

??? input CLK; ?

??? output [11:0] ADD_L12; ?

??? reg [21:0] sum; ?

??? reg [11:0] ADD_L12; ?

??? always@(posedge CLK) ?

? ? if(EN)?

??? ??? begin ?

??? ?????? sum = sum + PIR; ?

?????    ADD_L12 = sum[21:10]; ?

??????? end ?

??? endmodule?

??? 幅度DAC控制器將8位幅度控制字(ASW)賦給DAC0832并控制其輸出使能,。同樣,,波形DAC控制器將28C256的8位輸出賦給AD7524并分別控制二者的讀使能和輸出使能。?

??? 在本系統(tǒng)中,,CPLD單向接收單片機(jī)發(fā)送的4個(gè)字節(jié)(27位有效)的控制字,,數(shù)據(jù)量少且對(duì)傳輸速度沒(méi)有過(guò)高要求,因此接口設(shè)計(jì)采用SPI0的工作模式,,只需占用三根口線,。SPI0的工作時(shí)序十分簡(jiǎn)單,只需將片選(SS_n)拉低,,然后在每個(gè)時(shí)鐘(SCK)的上升沿送出數(shù)據(jù)(MOSI)即可[4],。串行移位用串入并出的移位寄存器實(shí)現(xiàn),并行數(shù)據(jù)鎖存則用D觸發(fā)器,,二者分別可由Quartus II MegaWizard向?qū)е械腖PM_SHIFTREG和LPM_FF構(gòu)建,,如圖7所示。

?

?

3.2 單片機(jī)的軟件設(shè)計(jì)?

??? 單片機(jī)的程序利用C語(yǔ)言編寫,,可分為驅(qū)動(dòng)程序(包括液晶驅(qū)動(dòng),、鍵盤驅(qū)動(dòng)、SPI總線驅(qū)動(dòng),、I2C總線驅(qū)動(dòng),、串口驅(qū)動(dòng)等)和菜單程序兩部分。圖8為本系統(tǒng)的操作流程圖,。?

?

?

??? 在輸出模式中,,直接進(jìn)入“Last waveform”菜單后就能方便地讀取前一次保存的波形參數(shù),;而在“New waveform”菜單下則可以重新設(shè)置參數(shù)。?

??? 本系統(tǒng)還有兩種特別的控制方式:一是在“RS232 Mode”中,,可由PC機(jī)通過(guò)串口發(fā)送控制字并監(jiān)控其工作狀態(tài),,在上位機(jī)軟件的支持下可以使本機(jī)協(xié)同其他智能儀器高效地完成實(shí)驗(yàn)過(guò)程;二是在“Anolog Mode”中,,波形參數(shù)或運(yùn)行狀態(tài)可由輸入電壓量來(lái)控制,,例如當(dāng)換能器或功放工作時(shí)間過(guò)長(zhǎng)導(dǎo)致發(fā)熱量過(guò)大時(shí),可關(guān)閉輸出,。?

??? 在“DSP.Waveform”菜單中,,完成所有控制字的轉(zhuǎn)換、存儲(chǔ),、發(fā)送和顯示,。單片機(jī)向CPLD發(fā)控制字的接口程序如下:?

??? /**向CPLD的SPI端口寫一個(gè)字節(jié)的控制字**/?

??? void write_SPI(uchar SETWORD)?

??? {?

???  uchar i;?

???  for(i=0;i<8;i++)?

???   {?

???  ?? SCK=0;?

???  ?? DATA=(SETWORD<

???  ?? SCK=1;?

???   }?

??? }?

??? /**向CPLD的SPI端口寫四個(gè)字節(jié)的控制字**/?

??? void write_SETWORD()?

??? {?

???   SS=0;??????????? ??????? //SPI傳送開始?

???   write_SPI(WSW);? ??? //寫波形種類控制字?

???   write_SPI(FSW_H); ?? //寫波形頻率控制字高字節(jié)?

???   write_SPI(FSW_L); ?? //寫波形頻率控制字低字節(jié)?

?????? write_SPI(ASW);? ? //寫波形幅度控制字?

???? ? SS=1;?????????? ??????? //SPI傳送結(jié)束,波形發(fā)生模塊開始工作?

??   EN_4052=0;???????? //濾波器開始工作?

??? }?

3.3 波形數(shù)據(jù)的獲取?

??? 采用兩種方法獲取所需的波形數(shù)據(jù),,即公式法和采樣法,。?

??? 在利用超聲波進(jìn)行變壓器油中微水濃度檢測(cè)的實(shí)驗(yàn)中[5],為了避免接收信號(hào)相互重疊,,需要用單脈沖觸發(fā)的正弦波激勵(lì)發(fā)射端換能器,,使聲波通過(guò)充滿油水混合物的管道,并于接收端觀測(cè),、分析波形,,以便設(shè)計(jì)合適的放大和整形電路。下面分別用以上兩種方法說(shuō)明發(fā)射端和接收端波形數(shù)據(jù)的獲取,。?

??? (1) 用公式法獲取發(fā)射端波形?

??? 常用的波形通常都可以用公式進(jìn)行描述,,MATLAB的內(nèi)部就提供了大量的波形產(chǎn)生函數(shù)[6],具體調(diào)用方法見軟件說(shuō)明文檔,。?

??? 本系統(tǒng)中,,每種波形的存儲(chǔ)深度為4 096點(diǎn),其數(shù)據(jù)表可看作是1*4 096的一維數(shù)組,,且元素的取值范圍為0~255,,直流偏置量為128。獲取占空比為1/16的單脈沖觸發(fā)正弦波數(shù)據(jù)可分三步完成:?

??? 首先產(chǎn)生256點(diǎn)的正弦數(shù)據(jù)表,,程序如下: ?

??? x=0:2*pi/255:2*pi;?? % 采樣一個(gè)周期,,采樣點(diǎn)數(shù)為256?

??? y0=(sin(x)+1)*128;? %直流偏置為128,幅值范圍0~255?

??? y1=uint8(y);??????? ??? ??%幅值取8位無(wú)符號(hào)整形?

??? 其次在y1后添加長(zhǎng)度為3 840的幅值為128的數(shù)據(jù)點(diǎn),??梢岳脃2=repmat(128,1,4 096)語(yǔ)句建立一個(gè)1*4 096的全128數(shù)組,將y1的值粘貼至y2的前256點(diǎn)即可,。?

??? 最后,,在Quartus II軟件[7]中新建字長(zhǎng)為8bit,長(zhǎng)度為4 096的HEX文件,,從MATLAB的Array Editor中將y2的數(shù)據(jù)復(fù)制到該文件,,并在E2PROM燒錄軟件中按指定起始地址將其導(dǎo)入即可。?

??? (2) 用采樣法獲取接收端波形?

??? 有些波形較為復(fù)雜,,不易用公式描述,,則可用數(shù)字存儲(chǔ)示波器采集并處理后將其復(fù)現(xiàn)。圖9即為TDS1012型示波器采集的發(fā)射端和接收端的波形,。該示波器除了能將屏幕所示信息存為bmp位圖外,,還可將CH1和CH2的波形數(shù)據(jù)以2 500點(diǎn)的存儲(chǔ)深度保存為CSV(逗號(hào)分隔值)文件。?

?

?

??? 以接收端的波形為例,,在MATLAB中將CSV文件中的波形數(shù)據(jù)以一維數(shù)組的形式導(dǎo)入,,并利用Array Editor中的二維繪圖功能查看并截取一個(gè)周期的波形數(shù)據(jù)。由于此時(shí)數(shù)據(jù)點(diǎn)數(shù)并不是4 096,,而是小于2 500的值,,因此需要進(jìn)行插值處理,程序如下:?

??? x0=1:1739;???????????????? %截取后的波形點(diǎn)數(shù)為1739點(diǎn)?

??? x1=1:1 739/4 098:1 739; %插值后的波形點(diǎn)數(shù)為4096點(diǎn)?

??? y1=spline(x0,y0,x1);???? %三次樣條插值,,y0為插值前數(shù)據(jù)?

??? y2=uint8(y1);??? ???????????%幅值取8位無(wú)符號(hào)整形?

??? 插值后的周期波形如圖10所示,。?

?

?

4 試驗(yàn)結(jié)果及分析?

??? 使用TDS1012型示波器測(cè)試本系統(tǒng)的性能。表2記錄的是一組正弦波的頻率測(cè)量結(jié)果,,結(jié)果表明合成波形的頻率誤差在2Hz以內(nèi),,與理論值相符,達(dá)到了設(shè)計(jì)指標(biāo),。

?

?

??? 圖11所示為輸出頻率為10kHz的正弦波,,它是降指數(shù)波、DSB調(diào)幅波和基波與3次諧波疊加的任意波形,,濾波方式為Auto,,即系統(tǒng)根據(jù)設(shè)定頻率自動(dòng)選擇相應(yīng)的濾波通道。?

?

?

??? 但是,,對(duì)于像方波這樣含有許多高頻成分的波形,,在選用Auto方式濾波時(shí),大于復(fù)現(xiàn)頻率的成分會(huì)被大幅衰減,,導(dǎo)致波形失真,,圖12左上圖為10kHz方波通過(guò)10kHz低通濾波器前后的波形,右上圖為濾波后頻譜,。通過(guò)手動(dòng)設(shè)置濾波通道,,增大通帶寬度,就可以減小波形失真,,左下圖和右下圖分別為通過(guò)100kHz低通濾波器后的波形和頻譜,。?

?

?

??? 本文針對(duì)低頻超聲波的應(yīng)用,,介紹了一種采用單片機(jī)和CPLD研制的任意波形發(fā)生器,它可以為實(shí)驗(yàn)室提供一種高性價(jià)比的超聲信號(hào)源解決方案,。隨著新一代大規(guī)模低成本CPLD的推出與應(yīng)用(如MAX II系列),,本系統(tǒng)還可擴(kuò)展波形數(shù)據(jù)聯(lián)機(jī)下載或?qū)崟r(shí)采集等功能。若采用更高速率的DAC和查找表存儲(chǔ)器還可進(jìn)一步提高輸出帶寬,,使之覆蓋整個(gè)超聲頻段,。?

參考文獻(xiàn)?

[1] 吳秋蘭.現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)方法研究及其在AWG中的應(yīng)用[D].濟(jì)南:山東大學(xué),2001.?

[2] 毛敏,,鄭珍,,周渭.基于DDS的低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2006(3):17-20.?

[3] 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M]. 北京:人民郵電出版社,,2004.?

[4]?黃任.AVR單片機(jī)與CPLD/FPGA綜合應(yīng)用入門[M].北京:北京航空航天大學(xué)出版社,,2006.?

[5] 朱昌平,單鳴雷,齊本勝,等.變壓器油中微水及混合氣體超聲在線檢測(cè)方法及裝置[P].中國(guó):200710021320.5,2007. ?

[6] 郭仕劍,,王寶順,,賀志國(guó),等.MATLAB7.X數(shù)字信號(hào)處理[M].北京:人民郵電出版社,,2006. ?

[7] Altera Corporation.Quartus II 7.1 Handbook,2007.?

[8] 王文華.基于DDS技術(shù)的任意波形發(fā)生器研究[D].杭州:浙江大學(xué),,2002.?

[9] 馮若.超聲手冊(cè)[M].南京:南京大學(xué)出版社,2006.?

[10] 任緒科,,趙俊渭,,周明.基于CPLD和單片機(jī)的任意波形發(fā)生器設(shè)計(jì)[J].電子產(chǎn)品世界.2005(1):118-119.?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。