超聲相控陣系統(tǒng)中高精度相控發(fā)射與接收的實(shí)現(xiàn)
摘 要:本文描述了如何利用FPGA在系統(tǒng)中實(shí)現(xiàn)高精度相控發(fā)射與接收。所有的發(fā)射和接收參數(shù)PC機(jī)計(jì)算并通過(guò)ISA總線寫(xiě)入FPGA的。
關(guān)鍵詞:相控陣;超聲檢測(cè);電子掃查;FPGA
引言
超聲檢測(cè)在各種工程上有著非常廣泛的應(yīng)用,而且聲束聚焦對(duì)于超聲診斷也愈來(lái)愈重要,因?yàn)槿藗兛偸窍M吹礁 ⒏?xì)微的組織結(jié)構(gòu),這不僅要求提高工作頻率、而且要求聲束聚焦。聲束的聚焦類似于光束通過(guò)透鏡的原理,最簡(jiǎn)單的方法是將換能器直接作成凹面陣實(shí)現(xiàn)聚焦。但此時(shí)其焦點(diǎn)是固定的,而在超聲聚焦應(yīng)用中都常需要調(diào)整焦點(diǎn)(改變焦距和聚焦的方向),如用機(jī)械方法調(diào)焦很不方便,速度也慢。超聲相控陣的方法是用電子技術(shù)調(diào)整焦點(diǎn)位置和聚焦的方向,它的基本思想是控制超聲探頭中不同單元之間的觸發(fā)延時(shí)時(shí)序,在精確的延時(shí)時(shí)序控制下,不同單元發(fā)出的超聲波在空間發(fā)生干涉,產(chǎn)生所需要的合成波束(見(jiàn)圖1)。相控超聲波的這種特性非常適合于無(wú)損檢測(cè)。首先可以通過(guò)電子切換選用不同的單元,實(shí)現(xiàn)波束的快速移動(dòng)(即電子掃查),明顯提高缺陷的檢測(cè)效率,比單個(gè)單元的常規(guī)探頭檢測(cè)速度快一個(gè)數(shù)量級(jí)。其次相控超聲波束很容易實(shí)現(xiàn)波束偏轉(zhuǎn),不用移動(dòng)探頭就可以實(shí)現(xiàn)動(dòng)態(tài)“扇掃”。當(dāng)然這也要?dú)w功于現(xiàn)代集成電路技術(shù)發(fā)展,因?yàn)榘l(fā)射與接收的延時(shí)控制在納秒級(jí),而且信號(hào)的采樣與處理需要很高的吞吐量,針對(duì)上述特點(diǎn),采用FPGA技術(shù)研制一套數(shù)字式多通道信號(hào)發(fā)射與接收設(shè)備已成為可能。
圖1 相控超聲波束偏轉(zhuǎn)與聚焦控制延時(shí)時(shí)序示意圖
FPGA在系統(tǒng)中的應(yīng)用
由于該系統(tǒng)涉及到許多控制信號(hào)的時(shí)序配合和大容量數(shù)據(jù)的緩沖問(wèn)題,采用FPGA可以很好的滿足系統(tǒng)要求。比如Altera的Cyclone系列的EP1C3具有的單元數(shù)、RAM以及I/O管腳等非常適合本文描述的系統(tǒng)。圍繞FPGA的系統(tǒng)設(shè)計(jì)示意圖見(jiàn)圖2。該相控陣系統(tǒng)采用2個(gè)64單元的探頭,通過(guò)四選一開(kāi)關(guān)切換電路實(shí)現(xiàn)波束的快速移動(dòng)。由于發(fā)射與接收的延時(shí)控制在納秒級(jí),即使FPGA的時(shí)鐘為100MHz,延時(shí)控制精度也只能做到10ns。如果通過(guò)提高FPGA的時(shí)鐘頻率來(lái)實(shí)現(xiàn)更高的延時(shí)控制精度,將給電路設(shè)計(jì)帶來(lái)困難,并且成本也加大,故采用精度為2ns的延時(shí)線實(shí)現(xiàn)10ns以內(nèi)的延時(shí)要求,此時(shí)FPGA只需要3根I/O線用來(lái)控制選通延時(shí)線就可以實(shí)現(xiàn)10ns以內(nèi)的延時(shí)要求。
圖2 FPGA在發(fā)射與接收延時(shí)控制中的應(yīng)用
利用FPGA內(nèi)部的大容量RAM對(duì)接收的超聲信號(hào)進(jìn)行緩存與合成延時(shí)控制。這種延時(shí)控制可以通過(guò)圖3進(jìn)行解釋。在FPGA中為每一路參與合成的超聲波束開(kāi)辟一個(gè)相同容量的buffer(比如2kbytes)。當(dāng)信號(hào)到達(dá)時(shí),buffer的寫(xiě)允許,采集一定數(shù)據(jù)量后,如果還有波束未到達(dá)就延時(shí)等待,直到參與合成的所有波束到達(dá)并采集后,所有buffer的讀同時(shí)允許,通過(guò)D/A和模擬加法電路就可以實(shí)現(xiàn)超聲波束的合成了。當(dāng)然,利用FPGA的buffer實(shí)現(xiàn)的延時(shí)精度只有10ns,所以D/A后面仍然需要延時(shí)線配合。表1.列出了上位機(jī)需要寫(xiě)給FPGA的控制參數(shù),這些參數(shù)通過(guò)ISA總線,以word(16bits)的形式寫(xiě)入,其中包括發(fā)射延時(shí)、發(fā)射選通允許、發(fā)射四選一開(kāi)關(guān)、發(fā)射脈寬、Buffer的大小、接收選通允許、A/D轉(zhuǎn)換開(kāi)始時(shí)間、接收四選一開(kāi)關(guān)以及接收延時(shí)等待。
圖 3. 利用FPGA內(nèi)部RAM對(duì)接收波束進(jìn)行緩存與合成控制
表1 上位機(jī)需要寫(xiě)給FPGA的控制參數(shù)
發(fā)射延時(shí)控制:10ns級(jí)延時(shí),13bits
2ns級(jí)延時(shí),3bits
選通
發(fā)開(kāi)關(guān)
空,保留
發(fā)射脈寬(10ns級(jí)),8bits
超聲波Buffer的大小,16bits
選通
A/D轉(zhuǎn)換開(kāi)始時(shí)間(也就是Buffer寫(xiě)允許相對(duì)于同步脈沖延時(shí)),10ns級(jí),15bits
收開(kāi)關(guān)
接收延時(shí)等待,10ns級(jí),11bits
2ns級(jí)延時(shí),3bits
精確延時(shí)控制驗(yàn)證方法
利用FPGA與延時(shí)線的方法實(shí)現(xiàn)精度為2ns的延時(shí)控制,對(duì)于發(fā)射來(lái)說(shuō),調(diào)試與驗(yàn)證比較容易,只需要一個(gè)多通道500MHz的示波器就可以了。從FPGA發(fā)射一個(gè)方波同步脈沖和一個(gè)方波激勵(lì)脈沖,一級(jí)一級(jí)的往后測(cè)試,直至相控陣探頭。通過(guò)示波器可以觀察從FPGA到探頭整個(gè)電路的系統(tǒng)延時(shí)以及激勵(lì)脈沖相對(duì)于同步脈沖的延時(shí)間隔,該間隔由FPGA內(nèi)部參數(shù)決定,并且可以修改。
對(duì)于接收延時(shí)控制是否準(zhǔn)確的驗(yàn)證稍微困難一些。因?yàn)榻邮盏牟皇欠讲}沖,而是7.5MHz(探頭單元固有頻率)的近似正弦超聲信號(hào)。為了驗(yàn)證延時(shí)控制是否正確,需要在超聲波接收電路之前加上一個(gè)不連續(xù)的,只有若干周期的7.5MHz的正弦信號(hào),一般的信號(hào)發(fā)生器沒(méi)有這種功能。利用系統(tǒng)上的FPGA配合100MHz D/A比較容易產(chǎn)生這種特殊信號(hào)。采用VerilogHDL設(shè)計(jì)的FPGA程序如下:
reg [3:0] da_cnt; //正弦表指針
reg [15:0] da_encnt; //D/A允許計(jì)數(shù)器
reg daen; // D/A允許
assign AD_DATA_OUT = AD_test; //D/A數(shù)據(jù)總線
always @ (posedge CLK) //D/A允許控制da_encnt
begin
if(SYN_PULSE)da_encnt <= 16'b0;
else da_encnt <= da_encnt + 1;
end
always @ (posedge CLK) //daen
begin
if(da_encnt > 65) daen <= 1'b0; //一共輸出5個(gè)周期
else daen <= 1'b1;
end
always @ (posedge CLK) //正弦表指針da_cnt修改
begin
if( (SYN_PULSE)||(da_cnt >= 12) ) da_cnt <= 4'b0;
else
begin
if(daen) da_cnt <= da_cnt + 1;
else da_cnt <= 4'b0;
end
end
always @ (posedge CLK) //通過(guò)D/A輸出正弦表
begin
case(da_cnt[3:0])
4'b0000: AD_test <= 128; //0
4'b0001: AD_test <= 187;
4'b0010: AD_test <= 233;
4'b0011: AD_test <= 255;
4'b0100: AD_test <= 248;
4'b0101: AD_test <= 213;
4'b0110: AD_test <= 159;
4'b0111: AD_test <= 97;
4'b1000: AD_test <= 43;
4'b1001: AD_test <= 8;
4'b1010: AD_test <= 1;
4'b1011: AD_test <= 23;
4'b1100: AD_test <= 69; //12
default: AD_test <= 128; //13
endcase
end
通過(guò)上述方法可以產(chǎn)生出比較好的接近7.5MHz的若干周期的正弦波形,將該波形加到其它電路板超聲波接收電路之前,可以驗(yàn)證接收延時(shí)控制是否準(zhǔn)確。實(shí)驗(yàn)證明,F(xiàn)PGA加上延時(shí)線完全可以實(shí)現(xiàn)精度為2ns的超聲波發(fā)射與接收延時(shí)控制的要求。
參考文獻(xiàn):
1. Michael Moles and Fabrice Cancre, "ELEMENT PARAMETERS FOR ULTRASONIC PHASED ARRAYS", CP615, Review of Quantitative Nondestructive Evaluation VoL 21, ed. by D. O. Thompson and D. E. Chimenti, pp855-860.
2. 鐘志名, 梅德松, "超聲相控陣技術(shù)的發(fā)展及應(yīng)用", NDT, Vol.24, No.2, Feb. 2002,pp69-71.
評(píng)論