新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機及CPLD的B超檢測工裝設計

基于單片機及CPLD的B超檢測工裝設計

作者: 時間:2010-05-18 來源:網絡 收藏

接收

圖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ā)射、接收工裝電路中接收部分原理圖

軟件設計

本工裝使用產生發(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控制代碼



評論


相關推薦

技術專區(qū)

關閉