基于FPGA的超声波测距

第12周


前言

DE2-E115 FPGA开发板 + Quartus II + HC_SR04超声波检测模块


一、实验原理

超声波原理:
HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。图1为HC-SR04外观,其基本工作原理为给予此超声波测距模块触发信号后模块发射超声波,当超声波投射到物体而反射回来时,模块输出回响信号,以触发信号和回响信号间的时间差,来判定物体的距离。
HC-SR04超声波测距模块实物图:
在这里插入图片描述
在这里插入图片描述
超声波测距模块时序图:
在这里插入图片描述
系统结构设计:
在这里插入图片描述

二、代码

1.顶层模块

module top_Ranging(
input	CLK_50M,
input RST,

//超声波测距用的端口
input wire Echo,
output Trig,

//数码管显示
output [6:0] seg_duan,
output [2:0] seg_sel

);

wire  [15:0] data;

measurement U1(
		.CLK_50M(CLK_50M),
		.RST (RST),
		.Echo (Echo),
		.Trig (Trig) ,
		.data(data)
);

display U2(
		.CLK_50M	(CLK_50M),
		.RST 		(RST),
		.data(data),
		.seg_duan (seg_duan),
		.seg_sel (seg_sel)

);

endmodule

2.测量模块

module measurement(
input CLK_50M,
input RST,
input Echo,
output reg Trig,
output  [15:0] data

);

//Trig 
reg [23:0] cnt_trig;
always @ (posedge CLK_50M or negedge RST)
begin
	if(!RST)
		cnt_trig<=1'b0;
	else
		if(cnt_trig =='d500) begin	//高电平时间		
			Trig<=0;
			cnt_trig<=cnt_trig+1'b1;
			end
		else 
			begin
				if(cnt_trig=='d1_000_000)//低电平
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值