OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5828|回复: 1

勇敢的芯伴你玩转Altera FPGA连载91:基于数码管显示的超声波测距回响脉宽计数

[复制链接]

431

主题

438

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1866
金钱
1866
注册时间
2014-7-19
在线时间
50 小时
发表于 2018-9-13 21:39:03 | 显示全部楼层 |阅读模式
勇敢的芯伴你玩转Altera FPGA连载91:基于数码管显示的超声波测距回响脉宽计数
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1i5LMUUD
1.jpg
本实例是8.7节“数码管驱动实例”和9.1节“基于SignalTapII的超声波测距调试”两个实例代码的集成整合,将超声波测距的回响脉冲以时钟周期计数值的形式显示到数码管上。
如图10.1所示,本实例同样是以10us计数器产生的10us脉冲TRIG给超声波测距模块,然后以10us为单位计算超声波测距模块返回的回响信号ECHO的高电平保持时间。采集到的ECHO高电平脉冲保持周期(以10us为单位)将以16进制方式显示到数码管上。
2.jpg
图10.1 超声波测距显示实例功能框图
         如图10.2所示,本实例一共5个模块,顶层模块cy4.v主要对各个子模块进行例化和连接;pll_controller.v模块是IP核,例化PLL,产生FPGA内部需要的时钟信号;clkdiv_generation.v模块产生10us的基准时钟使能信号;ultrasound_controller.v模块对超声波测距模块的回响信号进行高脉冲时间计数;seg7.v模块驱动数码管显示。
3.jpg
图10.2 超声波测距显示实例模块层次
         连接好下载线,给CY4开发板供电。
打开Quartus II,进入下载界面,将本实例工程下的cy4.sof文件烧录到FPGA中在线运行。
此时我们在超声波测距模块前面摆放平整的障碍物,可以看到数码管上的16进制数据会发生变化。基本规律是:障碍物距离超声波测距模块近,则数码管的数值较小;障碍物距离超声波测距模块远,则数码管的数值较大。
         大家可以通过如下的公式计算当前数码管显示数据和实际超声波测距模块与障碍物距离是否一致。当然了,大家也不用着急,接下来几节我们就着手进行换算,将16进制先转换为10进制,然后把下述的公式结果计算出来并显示在数码管上。
假设超声波模块与障碍物间的距离为S(单位:m),ECHO输出的高脉冲宽度为T(单位:s),声速在25°C条件下定义为346(单位:m/s)。那么ECHO脉冲宽度与测试距离的关系如下。
         S = (T*346)/2

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2018-9-11
在线时间
6 小时
发表于 2018-9-14 09:28:49 | 显示全部楼层
感觉好高深的样子啊  完全不懂得、、、、
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-5 06:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表