xzy610030

一起探讨,一起进步,一起分享!

基于FPGA的超声波测距(一)

0
阅读(2688)

硬件平台:CycloneII EP2C5Q208C8+DYP-ME007

1:超声波原理

DYP-ME007超声波测距模块可提供3cm--3.5m的非接触式距离感测功能,图1为DYP-ME007外观,包括超声波发射器、接收器与控制电路。其基本工作原理为给予此超声波测距模块一触发信号后发射超声波,当超声波投射到物体而反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的距离。


距离计算:s=ct/2,c为声速,t为echo的时间宽,和上面的公式是基本一致的。

2:FPGA设计

module sonic(clk,rst_n,trig);
input clk,rst_n;
output trig;
reg [21:0]cnt_period;
always @(posedge clk )
begin
if(!rst_n)
cnt_period<=0;
else  if(cnt_period==22'd3000000)
cnt_period<=0;
else
cnt_period<=cnt_period+1'b1;
end

assign trig=((cnt_period>=22'd100)&(cnt_period<=22'd599))?1:0;
endmodule

硬件接线:


我这个例子里面还没有使用echo接到fpga,只是用示波器看echo的波形,下个实验才来测距。