一种高精度超声波多路同步测距系统设计
2.2 接收电路
接收电路由OP37构成的两级运放电路,TL082构成的二阶带通滤波电路以及LM393构成的比较电路三部分组成。因本系统频率较高,回波信号非常弱,为毫伏级,因此设计成两级放大电路,第一级放大100倍,第二级放大50倍,共放大5 000倍左右。本文引用地址://m.amcfsurvey.com/article/195633.htm
另外考虑到本系统要适应各种复杂的工作环境,因此设计了由TL082构成的高精度带通滤波电路,以供回波信号放大后进行进一步滤波,将滤波后的信号输入到LM393构成的比较器反相输入端,与基准电压相比较,并且对其比较输出电压进行限幅,将其电压接至D触发器,比较器将经过放大后的交流信号整形出方波信号,将其接至FPGA,启动接收模块计数,达到脉冲串设定值时,关闭计时计数器停止计数。
2.3 FPGA内部各组成模块设计
FPGA主要实现125 kHz的超声波的发射与接收以及六路超声波从发射到接收之间时间的测量。其内部结构如图4所示。
FPGA主要由发射模块、顺序执行计数器、数据选择器、计时计数器与接收模块五部分组成。其中:发射模块完成脉冲串的发射与计数器的启动,主要由96分频器、发射脉冲串计数器和发射脉冲串的控制器三部分组成。顺序执行计数器模块主要由六与非门、计数器和非门组成。
所有的接收模块接收完数据后,通过与非门及非门输出高电平(FINISH端口),以触发单片机使单片机处于接收数据状态,单片机发出信号使顺序执行计数器开始计数,计数值每次加1,输出端口便是相应的计时计数器,单片机便从相应的计时计数器中读取计数值。数据选择器与顺序执行计数器完成计数值数据的读取。
计时计数器模块主要完成测量脉冲发出去到接收到的时间间隔和脉冲的计数,主要由启动与关闭计数器控制、12分频器、16位计时计数器、二选一数据选择器及8位数据锁存器组成(见图5)。接收模块主要接收回波信号和关闭计数器,当接收模块接收到信号以后,便启动计数,达到计数值,就输出高电平,用来关闭计时计数器停止计数。为防止信号串扰,在信号发射时,CUAN端输入高电平,对其信号进行屏蔽。
3 结果
经过实验室调试,本文给出的基于单片机与FPGA相结合的多路同步超声波测距系统与其它系统具有如下优势:
(1)抗环境影响因素能力强。在工作环境中,对声速影响的因素很多。如温度、风力,湿度等,系统利用安装标准校正板的方法能精确测量当时环境下的声速,可以避免因各种环境因素的变化而造成的误差。
(2)采用125 kHz的频率,同时采用多路超声波精确同步测距。保证了系统的测量精度。
(3)采用FPGA与AT89C51结合的方案,由FPGA来完成多路超声波传播时间的精确测量,AT89C51完成信号的启动以及数据的处理。与常规系统相比,虽然增加了FP-GA硬件,但是系统也舍弃了一些系统所采用的温度补偿模块,大大提高了系统的精度和系统的灵活性。
评论