超声检测中收发波形的数字化处理
2011-05-11王义
王义
1 引言
随着超声波传感器制作成本的降低,超声波技术已被揭开神秘的面纱,并紧贴人们生活而得到广泛的应用。超声波技术目前主要应用于功率超声、检测超声及超声通讯等方面,例如超声焊接、超声清洗、超声医疗、回声测深、金属探伤等[1]。在检测超声技术中,其中有一部分就是通过发射接收超声波时差计算来确定目标的位置。
近年来数字电子技术高速发展,数字可编程逻辑器件因其具有灵活配置与高速反应的特性而在很多应用中替代了传统的单个逻辑门器件与时钟发生电路,简化电路的设计与缩小电路空间的同时也大大节省了成本。结合可编程逻辑器件与单片机的灵活性,超声检测技术的数字化设计将得到更广泛的认同。
2 工作原理与系统组成
2.1 工作原理
时差法超声波检测的原理即是通过定时器对发射与首次接收之间的时差进行定时以求得超声波往返时间t,在超声波速度v已知的情况下,超声波往返的距离可以通过该公式求得,进而在检测过程中进行目标物、障碍物、反射面等的探测。如公式(1)所示:
公式(1)中因子1/2的增加是为了求得单程距离,超声波作为声波的一种,它的速度v主要由介质决定,例如在空气中超声波的速度是340米/秒,但随着温度的变化,v会有细微的变化,因此实际应用过程中一般以声速仪的实测值为参考,或者添加温度传感器进行实时校正而达到更高的精度,参数d表示设计中各种因素引起的综合系统误差。
2.2 系统组成
时差法超声检测系统分为微处理单元、发射驱动、超声波换能器、接收滤波放大处理电路、接口电路五个部分,其系统框图如图1所示。
图1 超声检测系统框图
3 发射波的处理
超声发射波的处理是由发射电路的拓扑结构决定的,近几年随着 MOSFET频率范围的扩大,用MOSFET来实现超声波驱动已成为可能,在大部分超声检测中,超声发射电路并不需要功放驱动喇叭那样追求高保真和高线性,因此本文选择以双 MOSFET管组成的推挽驱动方式来驱动超声波换能器,其拓扑结构如图2所示。
时差法超声检测系统中超声信号的发射是断续式的,也就是说在某一段时间内连续发射多个波,当激发驱动超声波换能器后就停止发射,直到接收电路收到回波。
图3表示了两个发射管的驱动波形,由于超声波频率较高,低则几十千赫兹,高则达到数兆赫兹,因此要用MCU直接合成高频率超声波驱动信号存在难度,且稳定性也较差。图3中超声波是断续式发射的,由信号CN进行控制,CN的周期比较长,因此可以用MCU进行控制,许多微处理芯片都具有PWM波形发生功能,且其占空比可在0%~100%内灵活调整。因此本设计中选择具有PWM发生功能的C8051系列单片机作为处理单元,采用PWM中断方式产生CN波形,通过调整占空比而达到调整发射持续时间[2]。
图2 发射驱动电路
图3 发射驱动波形
对于超声波频率的产生,可以利用CPLD对MCU的主频与CN控制进行数字合成而不需要添加额外电路。下面就是用VHDL语言编写的一个产生Tr_A和Tr_B两个发射信号的进程。
P1:PROCESS(SYSCLK,CN)
BEGIN
IF CN='0' THEN
COUNTPW<=(OTHERS=> '0');
TR_A<= '0';
TR_B <= '0';
ELSIF SYSCLK'EVENT AND SYSCLK='1'
THEN
IF COUNTPW=COUNT_ON THEN
TR_A <= '0';
TR_B <= '0';
COUNTPW <=COUNTPW+1;
ELSIF COUNTPW=(COUNT_ON+1) THEN
TR_A <= '0';
TR_B <= '1';
COUNTPW <=COUNTPW+1;
ELSIF COUNTPW=(COUNT_ALL-1)
THEN
TR_A <= '0';
TR_B <= '0';
COUNTPW <=COUNTPW+1;
ELSIF COUNTPW=COUNT_ALL THEN
TR_A <= '1';
TR_B<= '0';
COUNTPW<=(OTHERS => '0');
ELSE
COUNTPW<=COUNTPW+1;
END IF;
END IF;
END PROCESS P1;
进程中SYSCLK是晶振频率,COUNT_ALL是分频常数,而COUNT_ON是用来微调占空比以避免两管同时导通出现短路。
因此,在该发射电路中发射波形的产生直接利用CPLD对MCU的主频及PWM产生的控制信号数字合成即可,电路相对简化了许多,也对死区作了有效的控制。
4 接收波的处理
超声波接收电路要经过多重放大和滤波才能达到高增益高信噪比,在此不作详述。在时差法超声检测电路中,模拟回波需进行数字转换才能被MCU检测,在要求高的情况下,可以对回波进行包络检波再用高速ADC进行采样,辅以复杂的算法以求得精确时差及波形幅度信息;许多情况下,只需要时差信息而不需要波形信息,这时就可以对接收模拟回波进行比较数字转换后送入MCU的外部中断中,从而终止MCU内部的定时器。
图4表示了时差法超声接收回路中模拟波形及数字化需求的目标波形,只要对第一次回波的前沿进行准确检测就可以达到精确计时的目标,因此需对接收波进行数字化处理进而得到图中Pulse波形。
图4 接收波形
这里可以不经过包络检测而直接把模拟信号放入高速比较器进行低阈值比较,然后输出数字波形Rx到 CPLD进行处理,再根据回波判断产生 Pulse触发MCU中断。下面是CPLD进行的回波处理进程:
P2:PROCESS(CN,Rx)
BEGIN
IF CN = '1' THEN
COUNTF<=( OTHERS=>'0');
PULSE<='0';
ELSIF RX'EVENT AND RX='0' THEN
COUNTF<=COUNTF+1;
IF COUNTF = CNFIL THEN
PULSE<='1';
ELSIF COUNTF>=CNOUT THEN
PULSE<= '0';
END IF;
END IF;
END PROCESS P2;
程序中用 CNFIL这个常量进行了简单的毛刺剔除,以防止小干扰影响检测的稳定性。
在接收回路中,还是以简化电路为主要设计思想,利用高速比较器完成从模拟到数字的转变,再经CPLD进行回波的处理,由于数字电路的灵活性,对回波的判断中添加了一些智能判断的程序以提高检测的准确性与稳定性。
5 结束语
时差法超声检测手段在各检测领域的应用日趋广泛,怎样结合当今高速发展的数字电路和微机技术,简化电路设计,降低系统成本,提高系统稳定性能成为检测行业追求的目标,本文根据超声波的特性,以CPLD为基础,对发射与接收波形进行了数字化处理,并且可以联合MCU进行一些智能控制以提高系统稳定性,该处理方案已在实际应用中得以实现并取得了良好的效果。
[1] 袁易全,陈思忠.近代超声原理与应用[M].南京:南京大学出版社,1996:1,195-198.
[2] 李刚,林凌.与8051兼容的高性能、高速单片机[M].北京:北京航空航天大学出版社,2002:140-145.