声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示。1
利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测距系统都采用这种设计方法。
12
f222基于CPLD的超声波测距系统
这种测距系统采用CPLDComplexProgrammableLogicDevice器件,运用VHDLVeryHighSpeedI
tegratedCircuitHardwareDescriptio
La
guage编写程序,使用MAXplusII软件进行软硬件设计的仿真和调试,最终实现测距功能。
CPLD器件内部的宏单元是其最基本的模块,能独立地编程为D触发器、T触发器、RS触发器或JK触发器工作方式或组合逻辑工作方式。它的这种特性非常适用于本系统,可将本系统所需要的分频功能、计数功能、振荡器、七段码显示全部由MAX来实现,而只需在外部配上适当的超声波传感器、接收和发送电路,即可组成一个测量精度高、性能稳定、响应速度快且具有显示功能的超声波测距仪。
本系统利用CPLD器件控制超声波的发射,并对超声波发射至接收的往返时间进行计数,将计算结果在LED上显示出来。配合使用MAXplusII开发软件,可集设计输入、设计处理、设计校验和器件编程于一体,集成度高,开发周期短。其系统框图如图22所示。
图22基于CPLD的超声波测距系统框图
超声波发射器向某一方向发射40kHz的超声波,在发射超声波的同时,MAX7128S内的计数器开始计数。超声波在空气中传播,途中碰到障碍物就会立即返回来。超声波接收器收到反射波后就将回波信号送到CPLD,CPLD立即停止计数。CPLD所计的时间就是超声波从传感器到被测物的往返时间。超声波在空气中的传播速度如设定为332ms,根据计数器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s332t2。CPLD开始计数后,只要传感器收到回波,CPLD就立即停止计数,即只有最先返回的超声波才起作用,也就是说超声波测距仪总是测得离传感器最近的物体的距离2。
本系统采用先进的CPLD器件,高性能、低成本地实现了距离的测定。
13
f23课题主要内容
通过上节介绍我们知道,以单片机为核心的超声波测距系统设计简单、方便,而且测精度能达到工业要求。本课题研究的测距系统就是用单片机控制的。
通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。超声波在空气中r