超聲波在兩種不同組織界面處會產生反射、折射、散射、繞射、衰減以及聲源與接收器相對運動產生多普勒頻移等物理特性。應用不同類型的超聲診斷儀,采用各種掃查方法,接收這些反射、散射信號,顯示各種組織及其病變的形態,結合病理學、臨床醫學,觀察、分析、總結不同的反射規律,從而對病變部位、性質和功能障礙程度作出診斷。B超是超聲診斷儀中的一種顯示模式。
B超工作過程為:當探頭獲得激勵脈沖后發射超聲波(同時探頭受聚焦延遲電路控制,實現聲波的聲學聚焦),經過一段時間延遲后再由探頭接收反射回的回聲信號,經過濾波、對數放大等信號處理。然后由DSC電路進行數字變換形成數字信號,在CPU控制下進一步進行圖像處理,再同圖像形成電路和測量電路一起合成視頻信號送給顯示器,形成我們所熟悉的B超圖像,也稱二維黑白超聲圖像。
由于B超中為了增強圖像分辨率,通道都比較多,大多是16、24、48、64甚至更多通道。這些通道電子元器件完全一樣,要求各通道的一致性要好,在裝整機前,最好有測試手段和方法,對所有通道能進行測試,以去除器件本身和焊接電路板中出現的問題,基于此目的,本人設計了B超檢測工裝。
工裝設計需求
本工裝設計要求為24通道、探頭為96陣元的B超板AFE9624進行測試,AFE9624包含高壓發射電路、繼電器切換、高壓模擬開關切換、前放電路和VGA電路。
發射工裝要求
高壓發射電路、高壓模擬開關電路、繼電器切換電路測試,這幾者必須同時進行檢測,要設計發射工裝板、繼電器控制測試電路、高壓模擬控制電路、探頭接口高壓波形測量電路。具體包括:高壓發射電路工裝(簡稱發射工裝),1~24通道的發射驅動及切換電路;高壓模擬開關控制電路工裝(簡稱開關工裝),控制任何一個通道的開通或者關斷,實際使用時只控制某一個通道的開通,其他的通道關斷,相應地發射控制也只開通對應的一路,其他的驅動設置為無效;繼電器控制測試工裝(簡稱繼電器工裝),提供繼電器組開通或關斷的控制信號;探頭接口的波形測量電路工裝(簡稱探頭波形工裝),包含96~1的切換電路,使得得到發射的陣元位置波形可以切換到示波器顯示測量出來。
接收工裝要求
VGA測試:VGA測試主要驗證放大電路的功能和準確性,需要提供給每一路VGA模擬輸入信號,并通過示波器檢測。通過探頭接口可以將測試信號施加進去,但是必須要對高壓模擬開關進行相應控制,使得每一路VGA獲得準確的輸入。具體包括:波形發生器工裝,提供96路的模擬正弦波形,頻率3.5MHz,幅度P-P 在1V~1.2V,可實現負載短路保護,允許有幾十歐姆的輸出阻抗;高壓模擬開關控制及VGA增益控制工裝(簡稱開關增益工裝),提供AFE9624上高壓模擬開關電路的控制信號,并提供VGA的增益控制信號,增益控制信號可以是鋸齒波,幅度值最低應大于0.2V,最大值應不大于2.5V,鋸齒波周期為50μs。
硬件電路設計
圖1所示為發射、接收工裝設計電路中主控部分原理圖。其中,發射部分原理圖見圖2,接收部分原理圖見圖3。需要注意的是,發射和接收有一部分電路是共用的。這3個電路主要包括用于控制自動檢測的微處理器AT89S52,用數碼管前2位顯示探頭00或01,即PROBE A或PROBE B。數碼管后2位顯示1~96,即1~96通道。Alter公司的CPLD(EPM7064)用于產生周期20ms、脈寬330ns的2個方向相反、有死區時間的脈沖,用于發射通道的發射波形。工裝板用了18個8通道高壓開關HV20220,其中6個用于控制雙1~24通道數字開關切換電路,其余的12個用于探頭96個陣元選1的切換。發射和接收的控制回路基本一樣,需要改變的是2個雙刀雙擲開關S1、S2的撥動方向,接收工裝的發射波形是正弦波,由函數發生器芯片MAX038產生。本設計留有單片機AT89S52與上位機的通訊接口,可以通過上位機編程,利用圖形界面控制本工裝,只需軟件編程即可。本文采用上電自動檢測和手工檢測這兩種模式,沒有使用上位機控制模式。
圖1 發射、接收工裝設計電路中主控部分原理圖
發射和接收工裝都需要把發射波形或接收波形經過控制后,通過轉接線JP3~JP7及JP10和需要檢測的實際B超板相接,來檢測B超板(圖1~圖3中未給出JP3~JP7及JP10連接線的插座)。
發射工裝設計
圖1中,U1(7400)與非門電路和12MHz晶振組成晶體振蕩器,給EPM7064的全局時鐘端43腳提供時鐘信號。EPM7064的21腳和25腳輸出周期20ms、脈寬330ns、帶660ns死區時間的2個方向相反的脈沖信號,經同向放大器U21(74F07)驅動后得到IPA和INB,加到雙刀雙擲開關S1上(在圖2中,S1此時需撥到發射位置)。IPA經S1加到U3、U4、U5這3個高壓開關HV20220上,3個高壓開關的所有輸出都接在了一起,而且這3個高壓開關接成菊花瓣形式,即下一個開關的數據輸入端DIN,接前一個開關的數據輸出端DOUT。在微處理器AT89S52的控制下,給出SDATA1, SCLK1, SLD1,RESET1切換電路的串行控制信號,使3個高壓開關的輸入端依次和自己的輸出端閉合,如U3的7腳和8腳,此時,IPA信號送給了IP001。但需注意的是,在同一時間,3個高壓開關的24個通道只有一個是可以閉合的,其余的都斷開。INB的過程和IPA的過程完全一樣,在IP001得到IPA信號的同時,IN001也得到了INB信號。IP001~IP024依次得到IPA信號,IN001~IN024則依次得到INB信號。IP001~IP024和IN001~IN024通過轉接頭JP3 、JP4 送到B超的AFE9624板上。在AFE9624板上經過MD1211驅動,驅動內置場效應管芯片C6320,得到工裝發出的兩個帶死區時間、方向相反并經MD1211放大后合成的波形。再經過AFE9624板上的12個高壓開關HV20220切換,根據繼電器切換選擇探頭A或探頭B輸出。在微處理器AT89S52的控制下,給繼電器組開通或關斷信號SRELAY:SRELAY=0時,探頭A開;SRELAY=1時,探頭B開通。同時又發出SDATA2,SCLK2,SLD2,RESET2串行控制信號,通過JP10轉接線去控制AFE9624板上高壓模擬開關HV20220。經過AFE9624板放大控制的信號,再通過轉接線JP5、JP6、JP7送到工裝板上12個高壓開關U12~U20上(在圖3中,只給出了U18~U20),最后通過雙刀雙擲開關S2(此時應該撥到發射位置),接在J3端的示波器就能看到需要的合成波形。U12~U20在微處理器AT89S52的控制下,給出SDATA3, SCLK3, SLD3,RESET3串行控制信號,達到96選1的目的。
圖2 發射、接收工裝設計電路中發射部分原理圖
接收工裝設計
圖3中,U25(MAX038)是函數發生器產生芯片,其3腳A0、4腳A1是輸出波形選擇端,輸出波形的選擇由邏輯地址引腳A0和A1的組合來決定:A1A0=10或11時,輸出正弦波;A1A0=00時,輸出方波;A1A0=01時輸出三角波。波形切換可在0.3μs內完成,但輸出波形有0.5μs的延遲時間。MAX038的19腳是波形輸出端,本設計輸出正弦波,頻率為3.5MHz,幅度P-P 在1V左右。此正弦波通過雙刀雙擲開關S2(此時應該撥到接收位置),在微處理器AT89S52的控制下,給出SDATA3, SCLK3, SLD3,RESET3串行控制信號,控制U12~U20,將此正弦波切換到(96選1)探頭上,即PA0~PA95分別得到此正弦波,通過轉接線JP5、JP6、JP7送到AFE9624板。根據轉接線JP5、JP6、JP7接到該探頭,和微處理器用繼電器控制其工作。正弦波經過12個高壓開關HV20220(和發射時是同一組高壓開關),經過發射、接收隔離電路得到接收信號(這里是我們工裝給出的正弦波),再通過AFE9624板上的前放電路放大,通過工裝上轉接線JP3、JP4送到圖2中發射工裝上的U3~U5的IP001~IP024端和U6~U8的IN001~IN024端。同樣在微處理器AT89S52的控制下,高壓開關輪流導通,此時高壓開關的另一端IP和IN得到正弦波,經過雙刀雙擲開關S1(S1此時需撥到接收位置)。在J1接雙蹤示波器就能看到差分的2個正弦波。三極管Q5發射極輸出TGC增益控制信號,通過轉接線JP10送到AFE9624板上的前放電路的增益控制端,控制接收信號的幅度。
圖3 發射、接收工裝設計電路中接收部分原理圖
軟件設計
本工裝使用CPLD產生發射波形,使用微處理器AT89S52控制整個工裝板,還給要測試的B超板(AFE9624)提供繼電器和高壓開關的切換指令。
發射波形的產生
周期20ms、脈寬330ns、帶660ns死區時間的2個方向相反的脈沖信號,是用Verilog HDL語言編寫,由EPM7064的21腳和25腳輸出。源碼如下:
module pwm(clock,pwm_out,pwm_out1);
input clock;
output pwm_out;
output pwm_out1;
reg [20:0] count;
reg pwm_reg;
reg pwm_reg1;
always @ (posedge clock)
begin
count=count+1;
if (count<4) //330ns脈寬
begin
pwm_reg=1;
pwm_reg1=1;
end
else if (count<12)//660ns死區時間
begin
pwm_reg=0;
pwm_reg1=1;
end
else if(count<21'd16) //330ns負脈沖
begin
pwm_reg=0;
pwm_reg1=0;
end
else if(count==21'd240000)//12M晶振,12000000/240000=50Hz,即20毫秒
begin
ount=21'd000000;
pwm_reg=1;
pwm_reg1=1;
end
else
begin
pwm_reg=0;
pwm_reg1=1;
end
end
assign pwm_out=pwm_reg;
assign pwm_out1=pwm_reg1;
endmodule
微處理器AT89S52控制代碼
微處理器AT89S52外接3個輕觸開關S3、S4、S5,S3接外中斷0,用于繼電器控制,上電默認選擇探頭1(PROBE A),按下S3,則選擇探頭2(PROBE B),再次按下無效(防止帶電換探頭)。再重新上電,才能選擇探頭1。S4接外中斷1,上電默認24個通道、96陣元是每隔2s自動檢測的,若需要人工檢測,則按下S4,此時,每按一次S4,則檢測下一通道和陣元。S5是復位開關。根據硬件連接,設置如下:
uchar m=0;//用于96陣元的選擇
uchar n=0;//默認選擇探頭1
uchar l=0;//用于24通道的選擇
uchar k;
sbit SDATA1= P1^0; //移位數據1
sbit SCLK1= P1^1; //移位時鐘1
sbit SLD1= P1^2; //移位鎖定
sbit RESET1=P1^3;//復位1
sbit SDATA3= P1^4; //移位數據3
sbit SCLK3= P1^5; //移位時鐘3
sbit SLD3= P1^6; //移位鎖定
sbit RESET3=P1^7;//復位3
sbit SDATA2= P0^0; //移位數據2
sbit SCLK2= P0^1; //移位時鐘2
sbit SLD2= P0^2; //移位鎖定
sbit RESET2=P0^3;//復位2
sbit SRELAY=P0^4;//探頭繼電器選擇
定時器自動檢測子程序
void serves_timer2() interrupt 5 using 0
{
EA=0;
TF2=0;
k=k+1;
if(k==40)//2秒
{ k=0;
m=m+1;
l=l+1;
if( m>96) m=1;
if (l>24) l=1;
DELAY1s( );
for (j=0;j<8;j++)
{
HV20220_1(l) ;
HV20220_2( m) ;
HV20220_3(m);
}
}
else{}
EA=1;
}
在本程序中,if( m>96) m=1;if (l>24) l=1; 即:96個陣元是對應24個通道的,在實際的B超工作過程中,一個通道工作的時候,同時會有4個按一定規律排列的陣元在工作。本工裝不僅獨立檢測24個通道的每個通道,同時還檢測96個陣元中的每一個,因此,檢測96個陣元,24個通道運行了4次。
輕觸開關S4外中斷1子程序
void serves_int1() interrupt 2 using 2//外中斷1
{
EA=0;
TR2=0;//停止計數
m=m+1;
l=l+1;
if( m>96) m=1;
if (l>24) l=1;
DELAY1s( );
for (j=0;j<8;j++)
{
HV20220_1(l) ;
HV20220_2( m) ;
HV20220_3(m);
}
EA=1;
}
輕觸開關S3外外中斷0子程序
void serves_int0() interrupt 0 using 0//外中斷0
{
EA=0;
n=1;//顯示01
SRELAY=1;//選擇探頭2
DELAY1s( );
EA=1;
}
工裝先檢測探頭1,探頭1的96個陣元都檢測通過后,斷電,將探頭轉接線放到探頭2的位置;上電,按下輕觸按鈕S3,此時數碼管前2位顯示01,是選擇探頭2的標志。微處理器控制繼電器把所有通道都轉接到探頭2的測量上。
高壓開關HV20220的驅動函數
函數HV20220_1(uchar dd)的功能:打開CPLD波形發生器(工裝)1選24的高壓開關。
函數HV20220_2(uchar dd)的功能:打開主系統板(AFE9624)上的高壓開關。
函數HV20220_3(uchar dd)功能:打開探頭上(工裝)來的96選1的高壓開關。
以驅動HV20220_1為例,其它2個和此類似。
void HV20220_1(uchar dd)
{
uchar i;
SLD1=1;
for (i=0;i<96;i++) {
SCLK1=0;
data10=0;
SDATA1 = data10;
SCLK1=1;
_Nop( );
_Nop( );
}
for (i=0;i
SCLK1=0;
if (i==0) data10=1;
else data10=0;
SDATA1 = data10;
SCLK1=1;
_Nop( );
_Nop( );
}
RESET1=0;
_Nop( );
_Nop( );
RESET1=1;
_Nop( );
_Nop( );
_Nop( );
_Nop( );
RESET1=0;
_Nop( );
_Nop( );
SLD1=0;
_Nop( );
_Nop( );
_Nop( );
_Nop( );
SLD1=1;
}
使用發射、接收工裝檢測B超通道
B超發射通道檢測
連接工裝和B超,檢測裝置連接完畢后,檢查開關S1、S2位置在“發射”擋,示波器接J3。
1. AFE9624工裝板顯示屏全亮,3秒種之后,重新顯示0000。
2. 經過2秒鐘后,機器自動進入檢測狀態,顯示屏顯示0001,緊接著示波器顯示正負脈沖波形,如圖4所示,表示第1通道電路正常。
圖4 示波器顯示正負脈沖波形
3. 經過2秒鐘,再次自動進入檢測狀態,顯示屏顯示0002,緊接著示波器顯示正負脈沖波形,表示第2通道電路正常。
4. 繼續等待檢測裝置自動重復上述過程,直到顯示器顯示0096,緊接著示波器顯示正負脈沖波形,表示第96通道電路正常。至此,確認探頭1接口發射工作正常。
5. 斷電,將“探頭轉接板”插接到“主控系統探頭板”的探頭2上。在檢測裝置連接完畢后上電,點擊工裝板上觸發開關S3,顯示屏顯示0100,然后重復上述2~4過程,確認探頭2接口發射工作正常,此過程顯示屏顯示數字是0101~0196。
B超接收通道檢測
連接工裝和B超檢測裝置完畢后,開關S1、S2位置在“接收”擋,示波器接J1。按B超發射通道檢測中1~5的步驟進行,此時示波器顯示的波形是正弦波,如圖5所示。
圖5 示波器顯示檢測波形
結束語
本文介紹了B超板AFE9624進行全自動檢測的工裝設計,經檢測,達到了設計要求,可為其它廠家設計的B超檢測提供參考幫助。按照本文思路,根據實際的B超接口,只需設計好各種轉接板或轉接線,就可以對B超板進行全面的檢測。
評論
查看更多