FPGA入门 —— FPGA 超声波(HC-SR04)距离检测入门

FPGA入门 —— FPGA 超声波(HC-SR04)距离检测入门

关于超声波 HC-SR04 模块的具体信息请看前面这篇博客:

超声波 HC-SR04 模块入门

这篇文章仅介绍 HC-SR04 在 FPGA 上的使用原理

超声波模块

主要技术参数:

  1. 使用电压:DC---5V

  2. 静态电流:小于2mA

  3. 电平输出:高5V

  4. 电平输出:底0V

  5. 感应角度:不大于15度

  6. 探测距离:2cm - 450cm

超声波原理

  • 采用IO口TRIG触发测距,给至少10us的高电平信号

  • 模块自动发送8个40khz的方波,自动检测是否有信号返回

  • 有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2

本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值

实物如图:


测距原理

模块时序


以上时序图表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号

回响信号的脉冲宽度与所测的距离成正比。 由此通过发射信号到收到的回响信号时间间隔可以计算得到距离

公式: uS/58=厘米或者 uS/148=英寸; 或是: 距离 = 高电平时间*声速(340M/S) / 2

建议测量周期为 60ms 以上, 以防止发射信号对回响信号的影响

系统架构设计

image

这里主要分为五个模块:

  1. trig_driver 输出控制模块:主要负责控制 10μS 持续电平输出,按照系统设计,平均每 1s 先等待 10μS,信号稳定后输出 10μS 持续电平

  2. echo_driver 信号输入转换:输入信号处理,回响电平输出与检测距离正比,通过计算输出距离数据

  3. time_counter 计时模块:通过计时给出需要输出电平、数吗管段选位移或进行数据处理的信号

  4. seg_drver 数码管显示模块:计算得到数码管需要输出的内容并实时显示

  5. HC_SR_top 顶层模块:将上述模块连接起来,作为系统的顶层模块

参考资料

超声波模块HC-SR04简介

【案例】超声波测距系统设计

posted @ 2023-05-20 17:44  ppqppl  阅读(153)  评论(0编辑  收藏  举报