<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 超聲相控陣系統(tǒng)中高精度相控發(fā)射與接收的實(shí)現(xiàn)

          超聲相控陣系統(tǒng)中高精度相控發(fā)射與接收的實(shí)現(xiàn)

          ——
          作者:精密測(cè)試技術(shù)與儀器國(guó)家重點(diǎn)實(shí)驗(yàn)室 陳世利 靳世久 王秀平 時(shí)間:2005-12-27 來源:電子產(chǎn)品世界 收藏


          摘 要:本文描述了如何利用FPGA在系統(tǒng)中實(shí)現(xiàn)高精度相控發(fā)射與接收。所有的發(fā)射和接收參數(shù)PC機(jī)計(jì)算并通過ISA總線寫入FPGA的。

          關(guān)鍵詞:相控陣;超聲檢測(cè);電子掃查;FPGA


          引言

            超聲檢測(cè)在各種工程上有著非常廣泛的應(yīng)用,而且聲束聚焦對(duì)于超聲診斷也愈來愈重要,因?yàn)槿藗兛偸窍M吹礁?、更?xì)微的組織結(jié)構(gòu),這不僅要求提高工作頻率、而且要求聲束聚焦。聲束的聚焦類似于光束通過透鏡的原理,最簡(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)生所需要的合成波束(見圖1)。相控超聲波的這種特性非常適合于無損檢測(cè)。首先可以通過電子切換選用不同的單元,實(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ù)的緩沖問題,采用FPGA可以很好的滿足系統(tǒng)要求。比如Altera的Cyclone系列的EP1C3具有的單元數(shù)、RAM以及I/O管腳等非常適合本文描述的系統(tǒng)。圍繞FPGA的系統(tǒng)設(shè)計(jì)示意圖見圖2。該相控陣系統(tǒng)采用2個(gè)64單元的探頭,通過四選一開關(guān)切換電路實(shí)現(xiàn)波束的快速移動(dòng)。由于發(fā)射與接收的延時(shí)控制在納秒級(jí),即使FPGA的時(shí)鐘為100MHz,延時(shí)控制精度也只能做到10ns。如果通過提高FPGA的時(shí)鐘頻率來實(shí)現(xiàn)更高的延時(shí)控制精度,將給電路設(shè)計(jì)帶來困難,并且成本也加大,故采用精度為2ns的延時(shí)線實(shí)現(xiàn)10ns以內(nèi)的延時(shí)要求,此時(shí)FPGA只需要3根I/O線用來控制選通延時(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í)控制可以通過圖3進(jìn)行解釋。在FPGA中為每一路參與合成的超聲波束開辟一個(gè)相同容量的buffer(比如2kbytes)。當(dāng)信號(hào)到達(dá)時(shí),buffer的寫允許,采集一定數(shù)據(jù)量后,如果還有波束未到達(dá)就延時(shí)等待,直到參與合成的所有波束到達(dá)并采集后,所有buffer的讀同時(shí)允許,通過D/A和模擬加法電路就可以實(shí)現(xiàn)超聲波束的合成了。當(dāng)然,利用FPGA的buffer實(shí)現(xiàn)的延時(shí)精度只有10ns,所以D/A后面仍然需要延時(shí)線配合。表1.列出了上位機(jī)需要寫給FPGA的控制參數(shù),這些參數(shù)通過ISA總線,以word(16bits)的形式寫入,其中包括發(fā)射延時(shí)、發(fā)射選通允許、發(fā)射四選一開關(guān)、發(fā)射脈寬、Buffer的大小、接收選通允許、A/D轉(zhuǎn)換開始時(shí)間、接收四選一開關(guān)以及接收延時(shí)等待。

          圖 3.  利用FPGA內(nèi)部RAM對(duì)接收波束進(jìn)行緩存與合成控制

          表1  上位機(jī)需要寫給FPGA的控制參數(shù)

          發(fā)射延時(shí)控制:10ns級(jí)延時(shí),13bits
          2ns級(jí)延時(shí),3bits
          選通
          發(fā)開關(guān)
          空,保留
          發(fā)射脈寬(10ns級(jí)),8bits
          超聲波Buffer的大小,16bits
          選通
          A/D轉(zhuǎn)換開始時(shí)間(也就是Buffer寫允許相對(duì)于同步脈沖延時(shí)),10ns級(jí),15bits
          收開關(guān)
          接收延時(shí)等待,10ns級(jí),11bits
          2ns級(jí)延時(shí),3bits

          精確延時(shí)控制驗(yàn)證方法

            利用FPGA與延時(shí)線的方法實(shí)現(xiàn)精度為2ns的延時(shí)控制,對(duì)于發(fā)射來說,調(diào)試與驗(yàn)證比較容易,只需要一個(gè)多通道500MHz的示波器就可以了。從FPGA發(fā)射一個(gè)方波同步脈沖和一個(gè)方波激勵(lì)脈沖,一級(jí)一級(jí)的往后測(cè)試,直至相控陣探頭。通過示波器可以觀察從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ā)生器沒有這種功能。利用系統(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)  //通過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

            通過上述方法可以產(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)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();