《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于單片機及CPLD的B超檢測工裝設計
基于單片機及CPLD的B超檢測工裝設計
中電網 劉長君 幸坤濤
摘要: 超聲在人體內傳播,由于人體各種組織有聲學的特性差異,超聲波在兩種不同組織界面處會產生反射、折射、散射、繞射、衰減以及聲源與接收器相對運動產生多普勒頻移等物理特性。應用不同類型的超聲診斷儀,采用各種掃查方法,接收這些反射、散射信號,顯示各種組織及其病變的形態(tài),結合病理學、臨床醫(yī)學,觀察、分析、總結不同的反射規(guī)律,從而對病變部位、性質和功能障礙程度作出診斷。B超是超聲診斷儀中的一種顯示模式。
Abstract:
Key words :

       超聲在人體內傳播,由于人體各種組織有聲學的特性差異,超聲波在兩種不同組織界面處會產生反射、折射、散射、繞射、衰減以及聲源與接收器相對運動產生多普勒頻移等物理特性。應用不同類型的超聲診斷儀,采用各種掃查方法,接收這些反射、散射信號,顯示各種組織及其病變的形態(tài),結合病理學、臨床醫(yī)學,觀察、分析、總結不同的反射規(guī)律,從而對病變部位、性質和功能障礙程度作出診斷。B超是超聲診斷儀中的一種顯示模式。

  B超工作過程為:當探頭獲得激勵脈沖后發(fā)射超聲波(同時探頭受聚焦延遲電路控制,實現(xiàn)聲波的聲學聚焦),經過一段時間延遲后再由探頭接收反射回的回聲信號,經過濾波、對數放大等信號處理。然后由DSC電路進行數字變換形成數字信號,在CPU控制下進一步進行圖像處理,再同圖像形成電路和測量電路一起合成視頻信號送給顯示器,形成我們所熟悉的B超圖像,也稱二維黑白超聲圖像。
 
  由于B超中為了增強圖像分辨率,通道都比較多,大多是16、24、48、64甚至更多通道。這些通道電子元器件完全一樣,要求各通道的一致性要好,在裝整機前,最好有測試手段和方法,對所有通道能進行測試,以去除器件本身和焊接電路板中出現(xiàn)的問題,基于此目的,本人設計了B超檢測工裝。
 
  工裝設計需求
  本工裝設計要求為24通道、探頭為96陣元的B超板AFE9624進行測試,AFE9624包含高壓發(fā)射電路、繼電器切換、高壓模擬開關切換、前放電路和VGA電路。
 
  發(fā)射工裝要求
  高壓發(fā)射電路、高壓模擬開關電路、繼電器切換電路測試,這幾者必須同時進行檢測,要設計發(fā)射工裝板、繼電器控制測試電路、高壓模擬控制電路、探頭接口高壓波形測量電路。具體包括:高壓發(fā)射電路工裝(簡稱發(fā)射工裝),1~24通道的發(fā)射驅動及切換電路;高壓模擬開關控制電路工裝(簡稱開關工裝),控制任何一個通道的開通或者關斷,實際使用時只控制某一個通道的開通,其他的通道關斷,相應地發(fā)射控制也只開通對應的一路,其他的驅動設置為無效;繼電器控制測試工裝(簡稱繼電器工裝),提供繼電器組開通或關斷的控制信號;探頭接口的波形測量電路工裝(簡稱探頭波形工裝),包含96~1的切換電路,使得得到發(fā)射的陣元位置波形可以切換到示波器顯示測量出來。
 
  接收工裝要求
  VGA測試:VGA測試主要驗證放大電路的功能和準確性,需要提供給每一路VGA模擬輸入信號,并通過示波器檢測。通過探頭接口可以將測試信號施加進去,但是必須要對高壓模擬開關進行相應控制,使得每一路VGA獲得準確的輸入。具體包括:波形發(fā)生器工裝,提供96路的模擬正弦波形,頻率3.5MHz,幅度P-P 在1V~1.2V,可實現(xiàn)負載短路保護,允許有幾十歐姆的輸出阻抗;高壓模擬開關控制及VGA增益控制工裝(簡稱開關增益工裝),提供AFE9624上高壓模擬開關電路的控制信號,并提供VGA的增益控制信號,增益控制信號可以是鋸齒波,幅度值最低應大于0.2V,最大值應不大于2.5V,鋸齒波周期為50µs。

  硬件電路設計
  圖1所示為發(fā)射、接收工裝設計電路中主控部分原理圖。其中,發(fā)射部分原理圖見圖2,接收部分原理圖見圖3。需要注意的是,發(fā)射和接收有一部分電路是共用的。這3個電路主要包括Atmel公司用于控制自動檢測的微處理器AT89S52,用數碼管前2位顯示探頭00或01,即PROBE A或PROBE B。數碼管后2位顯示1~96,即1~96通道。Altera公司的CPLD(EPM7064)用于產生周期20ms、脈寬330ns的2個方向相反、有死區(qū)時間的脈沖,用于發(fā)射通道的發(fā)射波形。工裝板用了18個8通道高壓開關HV20220,其中6個用于控制雙1~24通道數字開關切換電路,其余的12個用于探頭96個陣元選1的切換。發(fā)射和接收的控制回路基本一樣,需要改變的是2個雙刀雙擲開關S1、S2的撥動方向,接收工裝的發(fā)射波形是正弦波,由函數發(fā)生器芯片MAX038產生。本設計留有單片機AT89S52與上位機的通訊接口,可以通過上位機編程,利用圖形界面控制本工裝,只需軟件編程即可。本文采用上電自動檢測和手工檢測這兩種模式,沒有使用上位機控制模式。
圖1 發(fā)射、接收工裝設計電路中主控部分原理圖
 
  發(fā)射和接收工裝都需要把發(fā)射波形或接收波形經過控制后,通過轉接線JP3~JP7及JP10和需要檢測的實際B超板相接,來檢測B超板(圖1~圖3中未給出JP3~JP7及JP10連接線的插座)。
 
  發(fā)射工裝設計
  圖1中,U1(7400)與非門電路和12MHz晶振組成晶體振蕩器,給EPM7064的全局時鐘端43腳提供時鐘信號。EPM7064的21腳和25腳輸出周期20ms、脈寬330ns、帶660ns死區(qū)時間的2個方向相反的脈沖信號,經同向放大器U21(74F07)驅動后得到IPA和INB,加到雙刀雙擲開關S1上(在圖2中,S1此時需撥到發(fā)射位置)。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,得到工裝發(fā)出的兩個帶死區(qū)時間、方向相反并經MD1211放大后合成的波形。再經過AFE9624板上的12個高壓開關HV20220切換,根據繼電器切換選擇探頭A或探頭B輸出。在微處理器AT89S52的控制下,給繼電器組開通或關斷信號SRELAY:SRELAY=0時,探頭A開;SRELAY=1時,探頭B開通。同時又發(fā)出SDATA2,SCLK2,SLD2,RESET2串行控制信號,通過JP10轉接線去控制AFE9624板上高壓模擬開關HV20220。經過AFE9624板放大控制的信號,再通過轉接線JP5、JP6、JP7送到工裝板上12個高壓開關U12~U20上(在圖3中,只給出了U18~U20),最后通過雙刀雙擲開關S2(此時應該撥到發(fā)射位置),接在J3端的示波器就能看到需要的合成波形。U12~U20在微處理器AT89S52的控制下,給出SDATA3, SCLK3, SLD3,RESET3串行控制信號,達到96選1的目的。
圖2 發(fā)射、接收工裝設計電路中發(fā)射部分原理圖
 
  接收工裝設計
  圖3中,U25(MAX038)是函數發(fā)生器產生芯片,其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(和發(fā)射時是同一組高壓開關),經過發(fā)射、接收隔離電路得到接收信號(這里是我們工裝給出的正弦波),再通過AFE9624板上的前放電路放大,通過工裝上轉接線JP3、JP4送到圖2中發(fā)射工裝上的U3~U5的IP001~IP024端和U6~U8的IN001~IN024端。同樣在微處理器AT89S52的控制下,高壓開關輪流導通,此時高壓開關的另一端IP和IN得到正弦波,經過雙刀雙擲開關S1(S1此時需撥到接收位置)。在J1接雙蹤示波器就能看到差分的2個正弦波。三極管Q5發(fā)射極輸出TGC增益控制信號,通過轉接線JP10送到AFE9624板上的前放電路的增益控制端,控制接收信號的幅度。
 
圖3 發(fā)射、接收工裝設計電路中接收部分原理圖
 
   軟件設計
  本工裝使用CPLD產生發(fā)射波形,使用微處理器AT89S52控制整個工裝板,還給要測試的B超板(AFE9624)提供繼電器和高壓開關的切換指令。

  發(fā)射波形的產生
 
  周期20ms、脈寬330ns、帶660ns死區(qū)時間的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死區(qū)時間
 
  begin
 
  pwm_reg=0;
 
  pwm_reg1=1;
 
  end
 
  else if(count<21&apos;d16) //330ns負脈沖
 
  begin
 
  pwm_reg=0;
 
  pwm_reg1=0;
 
  end
 
  else if(count==21&apos;d240000)//12M晶振,12000000/240000=50Hz,即20毫秒
 
  begin
 
  ount=21&apos;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個按一定規(guī)律排列的陣元在工作。本工裝不僅獨立檢測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波形發(fā)生器(工裝)1選24的高壓開關。
 
  函數HV20220_2(uchar dd)的功能:打開主系統(tǒng)板(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;iSCLK1=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;
 
  }
 
  使用發(fā)射、接收工裝檢測B超通道
 
  B超發(fā)射通道檢測
 
  連接工裝和B超,檢測裝置連接完畢后,檢查開關S1、S2位置在“發(fā)射”擋,示波器接J3。
 
  1. AFE9624工裝板顯示屏全亮,3秒種之后,重新顯示0000。
 
  2. 經過2秒鐘后,機器自動進入檢測狀態(tài),顯示屏顯示0001,緊接著示波器顯示正負脈沖波形,如圖4所示,表示第1通道電路正常。
圖4 示波器顯示正負脈沖波形
 
  3. 經過2秒鐘,再次自動進入檢測狀態(tài),顯示屏顯示0002,緊接著示波器顯示正負脈沖波形,表示第2通道電路正常。
 
  4. 繼續(xù)等待檢測裝置自動重復上述過程,直到顯示器顯示0096,緊接著示波器顯示正負脈沖波形,表示第96通道電路正常。至此,確認探頭1接口發(fā)射工作正常。
 
  5. 斷電,將“探頭轉接板”插接到“主控系統(tǒng)探頭板”的探頭2上。在檢測裝置連接完畢后上電,點擊工裝板上觸發(fā)開關S3,顯示屏顯示0100,然后重復上述2~4過程,確認探頭2接口發(fā)射工作正常,此過程顯示屏顯示數字是0101~0196。
 
  B超接收通道檢測
 
  連接工裝和B超檢測裝置完畢后,開關S1、S2位置在“接收”擋,示波器接J1。按B超發(fā)射通道檢測中1~5的步驟進行,此時示波器顯示的波形是正弦波,如圖5所示。
圖5 示波器顯示檢測波形
 
  結束語
 
  本文介紹了B超板AFE9624進行全自動檢測的工裝設計,經檢測,達到了設計要求,可為其它廠家設計的B超檢測提供參考幫助。按照本文思路,根據實際的B超接口,只需設計好各種轉接板或轉接線,就可以對B超板進行全面的檢測。
此內容為AET網站原創(chuàng),未經授權禁止轉載。