在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2318|回复: 1

[原创] Xilinx FPGA入门连载30:超声波测距回响脉宽计数之数码管显示

[复制链接]
发表于 2015-11-30 12:18:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
Xilinx FPGA入门连载30:超声波测距回响脉宽计数之数码管显示

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1jGjAhEm

1.jpg



1 功能简介


如图所示,本实例同样是以10us计数器产生的10us脉冲TRIG给超声波测距模块,然后以10us为单位计算超声波测距模块返回的回响信号ECHO的高电平保持时间。采集到的ECHO高电平脉冲保持周期(以10us为单位)将以16进制方式显示到数码管上。

2.jpg


2 模块划分


如图所示,本实例一共6个模块,顶层模块sp6.v主要对各个子模块进行例化和连接;pll_controller.v模块是IP核,例化PLL,产生FPGA内部需要的时钟信号;clkdiv_generation.v模块产生10us的基准时钟使能信号;ultrasound_controller.v模块对超声波测距模块的回响信号进行高脉冲时间计数;seg7.v模块驱动数码管显示。

3.jpg


3 板级调试


连接好下载线,给SP6开发板供电。

打开ISE,进入iMPACT下载界面,将本实例工程下的sp6.bit文件烧录到FPGA中在线运行。

此时我们在超声波测距模块前面摆放平整的障碍物,可以看到数码管上的16进制数据会发生变化。基本规律是:障碍物距离超声波测距模块近,则数码管的数值较小;障碍物距离超声波测距模块远,则数码管的数值较大。


大家可以通过如下的公式计算当前数码管显示数据和实际超声波测距模块与障碍物距离是否一致。当然了,大家也不用着急,接下来几节我们就着手进行换算,将16进制先转换为10进制,然后把下述的公式结果计算出来并显示在数码管上。

假设超声波模块与障碍物间的距离为S(单位:m),ECHO输出的高脉冲宽度为T(单位:s),声速在25°C条件下定义为346(单位:m/s)。那么ECHO脉冲宽度与测试距离的关系如下。

         S = (T*346)/2





发表于 2015-12-30 11:02:43 | 显示全部楼层
此处应有掌声
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 20:59 , Processed in 0.019899 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表