一、测距系统原理
测距系统的组成如图1 所示。其中振荡器根据换能器的要求发出一定频率的正弦或矩形波信号,与调制脉冲相与后变成一串串脉冲,经放大器放大后由发送换能器发出;遇到障碍物时反射回同样频率的信号,经滤波放大后变成一系列矩形脉冲串。当调制脉冲到来时控制器启动内部计数器开始计数,当收到回波时控制器使内部计数器停止计数,并将计数值送到数码管显示,同时将内部计数器清零,等待下一个调制脉冲的到来。 其中s、v、n 和f 分别为实测距离、发射波和回波的传播速度、计数器值和时钟脉冲的频率。因此,通过调节时钟脉冲的频率就可使显示器显示的计数值等于实测距离。
二、控制器电路设计
由上述分析可以知道,一般的测距系统控制器应该具有计数控制和显示控制的功能,本文提出的控制器除了具有上述功能外还有报警控制功能。测距前可预置报警临界值,测距中当实测距离小于报警临界值时启动报警器报警。其电路结构如图2 所示,其工作原理如下:
位序控制器的输出q 为数码管的位选通信号,系统中有几个数码管就有几个状态。例如,若系统中有3 个数码管,q就要有3个状态“: 011”“, 101”和“110”,分别选中最高位、中间位和最低位。reset 为复位信号,当reset =“1”时,计数器清零,q 的最低位置“0”,其余位置“1”。计数器为多位BCD 码十进制计数器,cp 接时钟脉冲。控制逻辑电路提供时序与逻辑控制,预置报警临界值时alarm- set 置“1”,按动choose 选择预置数的位数,每按一次alarm- value ,计数器加1 ;预置结束时alarm- set 置“0”,预置的数值就被锁存到下面一个锁存器中。send 接调制脉冲,上升沿到来时开始计数。receive 接波形变换器的输出,收到回波时停止计数,并将计数值锁存到上面的锁存器,同时使计数器清零,直到下一个调制脉冲上升沿到来时再重新开始计数。选择器在位序控制信号q 的控制下,将上面一个锁存器中的BCD 码按顺序逐组送到译码器,译成7 段LED 数码管的字模信号。在实际测量中,锁存在上面一个锁存器中的实测数据同下面一个锁存器中的数据(预置值) 在比较器进行比较,如果实测值较小,alarm- out 就输出低电平,控制报警器报警。 该电路用VHDL 语言设计,限于篇幅,在此只给出驱动3 个数码管时的部分设计程序:PROCESS(qn - rs ,alarm- set) —锁存器
三、实验结果
我们用Altera 公司的MaxplusII 软件对上述设计进行了仿真,并用MAX7064S44 - 10 器件予以实现。图3 是仿真波形的一部分,它表明:send 和receive 间有7 个时钟脉冲,数码管显示为007 ,实测距离小于预置临界值,alar2m- out 输出低电平,系统报警。我们还在自己研制的超声测距系统中进行了实际实验,并取得了圆满成功。
时序分析表明,在使用MAX7064S44 - 10 器件实现上述设计时,其最高时钟频率为61. 34 MHz ,输入到输出的平均延迟时间最大为25. 5 ns ,用于超声测距系统时,分辨率可做到0. 001 mm。当需要更高分辨率时,只要选择速度更快的CPLD 器件实现即可。当需要驱动更多位数码管时,只要对原程序少加修改,增加计数器和位序控制器等模块的位数,就可满足要求。当市场需求量足够大时,还可将有关设计文件交集成电路生产厂家,做成ASIC 芯片。
四、结束语
文中介绍的测距系统控制器由于采用VHDL 语言设计,用CPLD 器件实现,因而体积小、功耗低、性能灵活,可适用于不同种类和不同精度要求的测距系统,而且很容易做成ASIC 芯片。
参考文献
[1 ] 纪良平,蒋静坪. 机器人超声测距数据的采集与处理[J ] . 电子技术应用,2001 , (4) :16~18.
[2 ] 金湘亮,曾云,陈迪平. 红外测距系统的建立及其在汽车防撞系统中的应用[J ] . 红外技术,2001 ,23 (5) :43~45.
[3 ] 陈安健,路晓东. 一种新型军用激光测距系统的设计与研究[J ] . 激光技术. 2001 ,31 (4) :90~92.
[4 ] 刑小明,安凌凌,齐锋. 高精度高重复频率线性调频测距用雷达频踪器的设计[J ] . 现代雷达,2001 ,22 (3) :61~65.
[5 ] 宋万杰,罗丰,吴顺君. CPLD 技术及其应用[M] . 西安:西安电子科技大学出版社,1999.
[6 ] 孙俊人,马纯良,王东宝,等. 新编电子电路大全(合订本) [M] . 北京:中国计量出版社,2001.
[7 ] 侯泊亨,顾新. VHDL 硬件描述语言与数字逻辑电路设计[M] . 西安:西安电子科技大学出版社,1999.