【嵌入式系统应用第12周实验】---基于FPGA的超声波测距

文章详细介绍了使用HC-SR04超声波传感器进行距离测量的实验,包括传感器的工作原理、引脚功能、实验设计的模块化结构,如触发器、回声驱动、计时模块和数码管显示等,并分享了项目代码链接。实验展示了FPGA实现超声波测距的可能性,同时也提到了STM32实现的相通性及编写代码的挑战。
摘要由CSDN通过智能技术生成

1.实验环境

硬:AC101-EDA开发板,HC_SR04传感器
软:Quartus ll

2.实验原理

HC-SR04传感器原理

①HC-SR04超声波传感器概述:
HC-SR04超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号转换为40 KHz超声波脉冲。接收器监听发射的脉冲。如果接收到它们,它将产生一个输出脉冲,其宽度可用于确定脉冲传播的距离。就是如此简单!该传感器体积小,易于在任何机器人项目中使用,并提供2厘米至400厘米(约1英寸至13英尺)之间出色的非接触范围检测,精度为3mm。
在这里插入图片描述
②HC-SR04超声波传感器引脚:
在这里插入图片描述

  • VCC 是HC-SR04超声波距离传感器的电源

  • Trig 引脚用于触发超声波脉冲

  • Echo 回声当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比

  • GND 用于接地

③HC-SR04超声波传感器工作原理:
当持续时间至少为10 µS(10微秒)的脉冲施加到触发引脚时,一切就开始了。响应于此,传感器以40 KHz发射八个脉冲的声音脉冲。这种8脉冲模式使设备的“超声特征”变得独一无二,从而使接收器能够将发射模式与环境超声噪声区分开。八个超声波脉冲通过空气传播,远离发射器。同时,回声引脚变为高电平,开始形成回声信号的开始。如果这些脉冲没有被反射回来,则回波信号将在38毫秒(38毫秒)后超时并返回低电平。因此38 ms的脉冲表示在传感器范围内没有阻塞。
在这里插入图片描述
如果这些脉冲被反射回去,则在收到信号后,Echo引脚就会变低。这会产生一个脉冲,其宽度在150 µS至25 mS之间变化,具体取决于接收信号所花费时间。
在这里插入图片描述
HC-SR04的时序图如下
在这里插入图片描述
然后,将接收到的脉冲的宽度用于计算到反射物体的距离。这可以通过我们在初中学到的简单的距离-速度-时间方程来解决。

距离=速度x时间,当然温度,以及环境噪声等对实验结果都有影响,因此公式应在不同环境下进行修改

整体测距原理

在这里插入图片描述

3.实验设计

模块设计方面

主要分为五个模块:

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

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

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

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

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

项目代码:
链接:https://pan.baidu.com/s/1F0YsaOJohtgxW_j2f_3VQQ?pwd=9ive
提取码:9ive

系统架构方面

在这里插入图片描述

4.实验效果

烧录测试:
在这里插入图片描述

5.总结

本次实验的收获就是对于超声波模块有了一定的认识和掌握,也能做到触类旁通,除了用fpga来实现外,用stm32的板子来实现超声波测距也没太大问题。然后本次实验的难点就是数码管模块和串口模块等具体的fpga代码编写,自己一个人写代码从无到有,很难实现,需要网上借鉴参考,进行改进。

6.参考

https://blog.csdn.net/m0_59161987/article/details/130788410?spm=1001.2014.3001.5502

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值