接收工装设计
图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控制代码