找回密码
 注册
关于网站域名变更的通知
查看: 142|回复: 2
打印 上一主题 下一主题

基于FPGA的多通道超声波测距系统设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-23 10:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
摘要:超声波测距是一种非接触式连续测量方法,具有电路简单、测量精度高等优点;传统的测距系统多采用单片机实现,无法满足现代测距实时性、立体化、多向性的要求;因此设计了一种基于FPGA 的多通道超声波测距系统,所有通道同时进行检测与处理,系统具有较高的扩展性;硬件部分采用US_100超声波传感器实现了超声信号的发射与接收,采用京微雅格C192 芯片对回波信号进行检测和处理,实现了从2厘米到4米的距离的精确测量,测量结果送入LCD12864进行显示;软件设计采用Verilog HDL语言在Primace编辑环境下进行开发,在 Modelsim软件下进行仿真,并通过 HR3开发板验证了全部设计功能;测试结果表明∶该测距系统运行稳定可靠,测量精度高。
9 r6 R0 u3 ^: o' J, E8 M
% W5 ]  m/ C& P; y3 G+ V# B1、系统硬件设计
5 ~% Q* C* P+ W4 o3 B传统的多通道超声测距系统多采用控制器顺序触发超声探头并检测其回波信号,因此系统延时较大,无法真正实现多通道的同时检测,因此本文设计了一种基于FPGA的多通道超声波测距系统,利用 FPGA的并行处理的特点,实现多通道并行检测和处理,并将处理的结果送入 LCD液晶显示器进行显示,系统框图如图1所示。( i# v1 x4 D) s4 Z& j
: E. u8 Y# y  w2 a2 ~9 p
1.1 开发板CME_HR3及开发环境 Primace
, B+ O- b0 k+ Y5 `FPGA(Field Programmable Gate Array 现场可编程门阵列)是在 PAL,GAL,EPLD等可编辑器件基础上发展的产物。本次设计选用的CME_R系列 HR03PNOCl92I7芯片是一种高性价比的可编程逻辑器件,主要面向低功耗的应用领域,拥有高性能、低成本的优势,其软件开发环境是由国内自主研发的Primace 开发套件。Primace开发套件具有完整的EDA 工具流程,自带丰富的 IP 核资源,能有效地进行快速研发设计,缩短 IC产品研发周期,可以快速高效地进行 FPGA 或者CAP的应用设计。
) n+ c! F' _0 c7 @: e( v6 `% v  H" F. [6 f* O
1.2 US_100超声波测距传感器3 n6 N" _, W  `) q! U
US_100 超声波测距传感器是一种非接触式传感器,可以实现2厘米到 4.5米距离测量。将该模块的工作电压设定在3 V,即可以满足低功耗的要求,也可实现与FPGA电平的匹配。同时,由于内部自带温度传感器,可结合温度对测距结果进行校正,因此输出信号不需再进行温度校准,减小后续的工作。该模块可工作在串口触发模式或者电平触发模式,本次设计采用电平触发模式进行测距,图 2为电平触发方式下 US_100的时序图。由时序图可知,只要 FPGA产生一个大于 10 μs的触发信号,超声波传感器就可以发出8个40 kHz的超声波脉冲,并对超声回波信号进行温度修正,修正后的回波信号送入 FPGA进行后续处理。
5 o, I0 k4 T" g( V4 o  X. ^ ) O+ n! l: p& k; l: g
2 J# b1 D* i$ _
1.3 LCD128*64 液晶显示屏
' W7 k  V3 i- o8 P# p/ Q传统的LED数码管无法实现同时显示各个通道的测量结果,因此本文选用了较为常用的LCD液晶显示屏进行测量结果的显示。QCl2864B点阵液晶显示屏是一种内部自带中文字库的点阵型液晶显示模块,其横向可以显示128个点、纵向可以显示64个点,由此得名 128×64 液晶点阵显示,能够满足四路测量结果的同时显示。
# p% ~9 `; P' |' |8 G" R& G/ ~
- D7 N. _# P# z' S1 O7 |5 S$ |2、系统软件模块设计
% E" |; L3 B& b( V) b* P本设计采用Verilog HDL 语言 Primace 开发环境下进行软件设计。整个系统可分为传感器控制模块、测距计数模块、显示模块和顶层模块,软件设计框图如图 3所示。) E) F( L. U+ M, |7 r
& v4 H3 k# D6 n" Q/ X  D8 S; [8 Q% f
7 `$ J  e; I, G6 X" e
2.1 传感器控制部分
0 j4 ^0 }0 r5 k$ o: t; D为了使超声测距模块正常工作,该模通过 FPGA 要产生一个大于10 μs 的触发信号(Trig),并且能够检测传感器的回波信号(Echo)。该模块采用状态机进行设计,如图4所示,状态机由5个状态组成,在 st0状态完成对控制器的初始化;st1状态负责产生触发信号;在 st2状态一旦检测到echo 信号为高电平,则立刻转入到 st3状态;在 st3状态下,当检测到Echo信号为高电平时,启动计数器并完成对回波信号的测量,一旦检测到 Echo 信号变为低电平,锁存存测量的结果,并产生一个完成信号;st4准备下一次触发。黄河系列 HR03开发板上提供的晶振时钟为 20 MHz(周期为50 ns),而 US_100 要求的触发信号维持时间大于 10 μs,故对时钟计数 250次达到定时要求∶7 O2 {9 ?$ O. y4 f
50 ns * 250=12.5 μs;
1 L- d& H+ g) S 4 R$ W9 t- D  r/ Q9 c

) Y# R) p1 S1 ^4 P2.2 测距计数模块( e2 B- P8 [- \* r4 a" m$ {* [$ N& A
测距计数模块主要功能是将超声波传感器的回波信号转换为化测量的距离,传统的测量方法都是通过测量超声回波信号的时间,再用声速乘以时间得到两倍的测量距离。但在 FPGA 系统里,由于采用了硬件描述语言进行设计,按照传统的设计方法将占用大量的 FPGA 资源,不利于系统的开发。因此在本次设计中采用一种预先计算的方法进行数据测量,既保证了测量的精度又节省了FPGA的资源。超声回波信号 Echo 高电平持续的时间是通过系统时钟进行测量的,根据 US_100 工作原理,从 US_100传回的 Echo 信号已经转化为 340 m/s标准音速的时长,若系统频率为 20 MHz时,则1 mm 的距离需计个数为可由式(2)确定(其中声速 v为340 m/s,T为 50 ns)。则N等于117.64,N取整数117或118。
! a6 ~- \- I8 e6 `+ ^

基于FPGA的多通道超声波测距系统设计.pdf

2.94 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-8-23 10:45 | 只看该作者
希望在这里可以有很大的收获

该用户从未签到

3#
发表于 2022-8-23 13:06 | 只看该作者
很好,感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 03:20 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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