基于單片機及CPLD的B超檢測工裝設計
圖3中,U25(MAX038)是函數(shù)發(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 (count4) //330ns脈寬
begin
pwm_reg=1;
pwm_reg1=1;
end
else if (count12)//660ns死區(qū)時間
begin
pwm_reg=0;
pwm_reg1=1;
end
else if(count21apos;d16) //330ns負脈沖
begin
pwm_reg=0;
pwm_reg1=0;
end
else if(count==21apos;d240000)//12M晶振,12000000/240000=50Hz,即20毫秒
begin
ount=21apos;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控制代碼
評論