科技展望官方 国内统一刊号:CN 64-1054/N
国际标准刊号:ISSN 1672-8289
* 投稿网站
科技展望
《 科技展望 》
级别:省级     分类:科技    周期:旬刊
主管单位:宁夏科技厅
主办单位:宁夏科技发展战略和信息研究所
国内刊号:CN 64-1054/N
国际刊号:ISSN 1672-8289
收稿编辑:QQ /电话2880067970 / 0531-85701017
投稿邮箱:kjzwzazhi@163.com
期刊名称 (*)投稿期刊名称
文章标题 (*)投稿论文的题目
作者姓名 (*)只需填写通讯作者
作者电话 (*)方便编辑及时沟通
作者邮箱 (*)方便编辑做详细用稿答复
上传稿件 (*)限word文件
投稿附言   
期刊信息
期刊名称:科技展望
主      编:于萍
出版周期:旬刊
出版地区:宁夏银川
定      价:10.00元
收      录:知网、万方、维普
社      址:宁夏银川公园街24号
邮政编码:750001
范文-一种基于FPGA的超声波测距系统的设计与实现-科技展望

 一种基于FPGA的超声波测距系统的设计与实现

周庆芳
(曲靖师范学院 教育技术研究所;云南曲靖 655011)
摘要:科技飞速发展时至今日,超声测距作为一种非接触测量技术超声波测距广泛应用各个科学领域。FPGA作为一种高密度可编程器件,具有多种优势;在传统的测距方法上,采用硬件实现和top-to-down的设计方式,将系统划分为高精度计数器模块、双核FFT计算模块和回波信号检测模块等模块,更好的体现了该测距系统的精确性和高效性。
关键词:超声波测距;FPGA;双FFT;top-to-down.
一.设计原理
1.1超声波测距原理
超声波是指振动频率大于20000Hz以上的,其每秒的振动次数(频率)甚高,超出了人耳听觉的一般上限(20000Hz),人们将这种听不见的声波叫做超声波。本测距系统采用超声波渡越时间检测法。其原理为:检测从发射传感器发射的超声波经气体介质传播到接收传感器的时间t,这个时间就是渡越时间,然后求出距离l。设l为测量距离,t为往返时间差,超声波的传播速度为c,则有l=ct/2。
1.2 FFT算法
在本设计中我们采用的是时域抽取法基-2 FFT算法作为基础,加上频域抽取法运算与时域抽取法类似,因此我们在此只对时域抽取算法进行详细讲解。在计算中我们先设序列点数为N=2M,其中M为整数。如果在实际计算过程中运算对象会出现不满足这个条件的情况,面对这种情况一般是采用在待处理数据末尾添加上若干零值点。我们将算法中所使用的N为2的整数幂的FFT称基-2 FFT,“假设在FFT算法中输入序列长度为N=2M (M为正整数) ,并将该序列按时间顺序进行奇偶分解为越来越短的子序列,称为按时间抽取(DIT)的FFT算法,也称Cooley - Tukey算法” 。
二、系统设计
超声波测距模块用HC-SR04,控制器使用Altera公司的Cyclone系列FPGA开发板,显示部分采用共阳数码管。HC-SR04集成的发射电路模块发出超声波,遇到障碍物产生回波,被接收电路模块接收,FPGA统计出声波传输所用时间,计算出正确的待测距离,同时根据相关数据处理,由数码管显示当前测试距离。
三、模块设计
3.1时序发生器模块
在时序发生器的模块设计中,可靠的时钟是非常关键。设计过程中,决定采用全局时钟。全局时钟或同步时钟是最简单、可靠的时钟。在FPGA设计中时钟的最好解决方案是:由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计中的每一个时序器件,只要有可能就应尽量在设计项目中采用全局时钟。FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。
3.2  双核FFT计算模块
本模块主要完成DE2开发板双核FFT计算,其整体结构图如图2。
 11.jpg
图2  整体结构图
根据双核FFT处理器的总体需求,可以将整个系统的控制模块按功能划分成存储模块(、辐角发生器模块、地址发生器模块、数据流水线模块、控制模块(Control Block)、地址流水线模块、CORDIC模块和数据转换模块这八个模块。
3.3 波形发生器模块
波形发生器是在时序发生器的基础上,通过将全局时钟信号进行分频处理,得到符合驱动信号频率的方波脉冲。利用D触发器的特性,将产生的方波分频占空比调整为50%,产生符合超声波换能器工作中心频率的驱动脉冲。这样处理既能保证驱动信号为准确40KHZ的方波信号,同时由于共用全局时钟信号,可以直接以分频后的时钟信号作为激励,计数发射脉冲数,为超声波渡越时间的计算提供输出。
3.4  高速计数器模块
计数器的方式是通过计数超声波驱动信号的脉冲个数来进行的。根据超声波在稳定环境下空气中速度恒定不变的特性,假定超声波的速度为340m/s,而换能器的最大测距距离约为3-10m,根据超声波测距原理粗略计算一次测距所用的脉冲器计数个数为:
 33.jpg
四、系统综合与测试
整个仿真过程都在Quartus II 12.0平台上实现。在仿真时钟48KHZ的情况下,其仿真波形如图3所示。当触发信号echo由低电平转高电平后,cnt计数器开始计数,经过8个40KHZ脉冲后,trig引脚收到回波信号。将理论与仿真结果对比,其结果与理论结果一致。
 22.jpg
图3  综合仿真图
五、系统总结
本文详细阐述了基于FPGA的超声波测距系统的设计方法,在对系统进行了模块划分的基础上,通过对算法流程的分析,设计了并行的的模乘器数据路径;根据数据存储需求,组织了存储单元,采用计算与译码器相结合的方式实现了模幂、模乘两级控制器。经过Quartus II 2.0 平台的综合、布局、布线、时序分析、仿真后,下载到Altera公司的DE2开发板,通过手动输入的方式进行了超声波测距系统测试。
参考文献
[1]杨军,张伟平,赵嘎.面向sopc的fpga设计与应用[M].科学出版社,2012.
[2]卢毅,赖杰.VHDL与数字电路设计[M].北京:科学出版社,2009
[3]刘福奇.FPGA嵌入式项目开发实战[M].北京:电子工业出版社,2009