关键词不能为空

当前您在: 主页 > 英语 >

基于FPGA的超声波测距电路

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 08:15
tags:

-

2021年2月9日发(作者:rain的过去式)





可编程逻辑器件 及


EDA


技术


课程设计



基于


FPGA


的超声波测距 电路和其扩展应用




东北大学计算机科学与工程学院



< /p>


可编程逻辑器件及


EDA


技术课程设计< /p>



——基于


FPGA

的超声波测距电路和其扩展应用





摘要



本课 设使用


FPGA


和其他模块为硬件基础,以

VHDL


为硬件描述语言进行


超声波测距电路的搭建,


完成数码管精度为


2


厘米的实时显示,


并且在基本电路


的基础上使用蜂鸣器扩展出“倒车雷达”功能,在距 离不同的区间内蜂鸣器会响出


不同的频率的声音,总体是距离越小,频率越高。过程中, 进行了需求分析,可


行性分析,模块建构和调试下载等过程,从中学到很多工程实践过程 中的知识。




关键字:


FPGA



Quartus II


;超声波测距;倒车雷达;


VHDL

































目录



一、需求分析



.

................................................ .................................................. .......... 3



二、功能描述



.

................................................ .................................................. .......... 3



三、可行性分析



......... .................................................. .............................................. 4



1.


器件可行性分析



.


.................................. .................................................. .............. 4



2.


功能可行性实现



.


.................................. .................................................. .............. 4



3.


数据操作可行性



.


.................................. .................................................. .............. 4



四、模块化建构



......... .................................................. .............................................. 5



1.


分频模块


freq ...... .................................................. .............................................. 5



2.


触发模块


launch


.


............................... .................................................. ................ 5



3.


接收模块


receive


.


.............................. .................................................. ................ 6



4.


扫描模块


scan


.


................................. .................................................. ................. 7



5.


显示模块


display ... .................................................. ............................................ 7



6.


计算模块

measure......................................... .................................................. .... 7



7.


功能开关


switch .... .................................................. ............................................ 7



五、编程下载


< br>.


................................... .................................................. ....................... 7



编程


......................... .................................................. ............................................ 7



下载


............ .................................................. .................................................. ....... 8



六、课设感悟



.


........................... .................................................. ............................... 8



附录



.


.. .................................................. .................................................. .................... 9

















一、需求分析



本次课程设计要求用


PFGA


和所学


VHDL


知识进行设计具有某种具体功能


的电路系统。


我本次课设选题为:


基于


FPGA

< p>
的超声波测距电路和其扩展应用。


用以实践在课堂上所学知识内容,加深理 解。




超声波测距是一般的电路系统 ,在生活中有很多应用,比如倒车雷达和扫


地机器人自动避障等。此功能在单片机上实现 更为方便,成本也更低。


但此次课


设使用


FPGA


用硬件描述语言来构建此电路是对


FPGA


本身功能和各模块使用


的学习和提升。




二、功能描述


:

< br>使在数码管上实时显示障碍物与测试模块的距离,要求显示米、分米和厘米


位,< /p>


数码管精度为


2


厘米,

< br>实时显示,


并且在基本电路的基础上使用蜂鸣器扩展


出“ 倒车雷达”功能,在距离不同的区间内蜂鸣器会响出不同的频率的声音,总体


是距离越小 ,频率越高。



此功能在单片机上实现更为方便,


成本也更低。


但此次课设使用


FPGA


用硬


件描述语言来构建电路是对


FPGA

< p>
本身功能和各模块使用学习的提升。




三、可行性分析



要实现以上所描述的功能,我们可以从三方面进行可行性分析:



1.


器件可行性分析



>FPGA


FPGA


型号为


EP4CE6E22C8N




Total logic elements



62 72




足大多数开发要求。




>PERIPHERAL


”特权同学“开发板(


SF- CY4



,


晶振(

< br>25MHZ



,拨码开关


4


个,



共阴极数码管(

LG3641AH





蜂鸣器,按键等。



>


超声波测距模块




网上所购得超声波测距标准模块


HC- SR04







感应角度不大于

< br>15


度;








探测距离


2cm-450cm


,高精 度可达


0.2cm




2.


功能可行性实现




FPGA


产生一满足超声波模块的触发信号,使之开 始工作,等待接受回声信


号。回声引脚接受到回声信号后,


开始 记录整个高电平所持续时间,


再根据脉冲


周期计算的超声波往返 的总时间,用公式


S=340*T/2


来计算相对距离(


340



默认声速,可调)

< br>。



再开关选择打开时,蜂鸣器开始工作,根据超声波返 回高电平信号记录周期


数,


设定判断距离标准。


到达某特定标准区间就产生一个特定频率信号给蜂鸣器,


使之发出特定频率。< /p>



3.


数据操作可行性



VHDL


语言可以调用的


IEEE

库,



其中常用的



_LOGIC_1164


_LOGIC_ARITH


_LOGIC_UNSIGNED


包含大多数数学运算需求和



数据的类型转换,在此提出类型转



换资料,方便今后的使用











四、模块化建构



根据功能要求可以分析需要建立的模块如下图:



SYSTEM


scan

25MHZ


1KHZ


SEL


DIG


4


display


4_H/M/L


measure


freq


100KHZ


Launch


receive


12_U


switch


BUZZER


TR IG


ECHO


SW


接下来进行逐步分析 构建:



1.


分频模块


freq


板子提供的晶振为


25MHZ


,而其他有关时钟的模 块,考虑人眼视觉暂留,触


发时间和所需精度要求,可以选取时钟频率分别为

< p>
100KHZ



1KHZ




采用“计数取反”的方法进行分频。


“计数分频”是指计数


N


个取反一次逻辑信号


会产生周期为


2N


的频率信号,达到分频目的。



25MHZ



10 0KHZ



250


倍,因而从


0



124


计数。



25MHZ



1 KHZ



25000


倍,因而从


0



12499


计数 。




2.


触发模块


launch


以分频模块提供的


100KHZ


为时钟,周期为


10


微秒,其中高电平为


5

< p>
微秒。


已知超声波模块完成触发需要大于


10


微秒的高电平,


所以需要至少两个周期


(上


升沿触发)




另外,发射触发后需要等待接收到信号并进行处理再发射下一次触发,才能保


证系统实 时性。不然会出现返回信号混叠引起计算错误。



再者,每次发 射接收数据所需时间要保证两个方面:第一,发射周期要保证大


于返回高电平持续的两倍 ;第二,数据刷新速度要适应人眼视觉感官。第一个方


面得不到保证会影响实时性。第二 个方面得不到保证会使人感觉数据变化突兀。



因而,占空比不 为


50%


,且可大致画时序图如下:






器件最 大距离为


4.5m


,计量时钟为


100 KHZ


,则触发周期可以计算为:



N


?


N


1


?


2


*


N


2



其中,


N


1


为触发计数上升沿数;



(为满足发射和返回信 号的实


N


2


为测距往返最大值的上升沿 计数。


时性,应满足两倍的


N


2





其中为满足触 发条件,


N


1


所以取值为


5




根据器件测量极限为


4.5


米,所以


N

2


?


?


4.5

m


?


?


/


0.00001


s


=2647



?


340


m


/


s


?


?


综合起来,< /p>


N


最小为


5299


。再考虑人眼适应性,经过调试取


N



12000





3.


接收模块


receive


以分频模块提供的


100KHZ


为时钟,周期 为


10


微秒。本模块可以完成对


ECH O


的高电平持续时间计数。



模块要求 高电平时开始计数,


为低时把计数结果导出并持续到下一个下降沿的数据更新

< p>
时,并把计数信号置零,等待重新计数。











注意, 此时数据导出最好用


UNSIGNED


模式,方便后级进行从二 进制到整数


的转化。数据宽度根据最大测距距离可确定为


12< /p>


位。












时序图如下:






由上计算,在频率为


100KHZ


的时钟下,最大距离往返可以计数


26 47


次,化成二进制


为:


1010_0 101_0111


,也即最大计数为


12


位宽的二进制表示。




4.


扫描模块


scan


本模块以


1KHZ


位时钟信号,产生“


1110




< p>
1101





1011





0111




四个数 码管


选择信号,完成数码管扫描的功能(数码管为低选通,当使用高选通时把上面对


1



0


进行取反)


。也相当于


4


分频,对每个数码管来说 ,其频率为


1KHZ


的四


分之一。接下 来传给显示模块。




5.


显示模块


display


显示模块有两个总线输入,一个是显示选通信号(四位)


,另一个是数 据输


入信号(三个四位信号,对应高位,中位,低位)




显示模块里有两个功能块,


第一个是进行从


BCD


码到数码管的软译功能


(区


分数码管是共阴极还是共阳极)


,要注意高位为米位,其小数点位需 要点亮。第


二个是完成高中低位和数码管显示的匹配。高位在


2


号位,中位在


1


号位,低位

< p>


0


号位。




6.


计算模块


measure


计算模块是完成周期计数数据到米、分米和厘米的


BCD


码转换功能。



首先,对


1 2


位宽度的二进制进行转换,是指变成能进行运算的整数类型。再


者,我们知道超声波测距原理,


S=340*T/2


,所以可 以用周期进行运算,并通过


算法分离出三位十进制数分别代表米、分米和厘米位,在对他 们进行转换成二进


制便于电路传输。




7.


功能开关


switch


此扩展功能模块,有很大的设计自由度。













设计输入为


12


位宽度的原始计数,在此先进行整型转换。再根据所属不同


范围产生不同的分频功能,分频结果输出到蜂鸣器。也可以加入模块的功能控制


端口和 间隔音效。



五、编程下载



编程




编程采用模块化设计的方法。



根据功能和所需参数分别设计顶层



和底层文件,通过原件例化联系到一起。



具体模块代码见附录,最终结构化效果



如右


;





下载




使用


USB


Blaster


将生成的


.sof


文件下载到芯片中,并进行 端口配置


,


注意下载时保证


FPGA< /p>


的正常供电。










六、课设感悟



本次课程设计的最后结 果能准确实现最初设计的诸多功能,


在实时性和稳定


性上也良好 表现。最终实验板能显示米、分米和厘米位,数码管精度为


2


厘 米,


实时显示,并且蜂鸣器扩展出的“倒车雷达”功能,能使蜂鸣器在不同距离区间响< /p>


出不同的频率的声音,总体是距离越小,频率越高。


< p>
当然,


实验最有价值的东西不止是成功的喜悦,


更 有在实验过程中调试中不


断发现问题解决问题和处理问题的经历,


以及总结学习的工程实践的经验,


在此


作以总结:

< p>




1.



FPGA


的设计时,


一定 要先在脑海或设计本上规划好顶层各个模块的


功能实现和参数设置,

也要设计好底层某一模块具体功能的实现。


不能想到哪里


就 做到哪里,这样会在结合的时候非常浪费时间!





2.


底层模块功能设计完一定要仿真 ,确保能正常使用和兼容其他模块。不


能不验证就连接到整体系统中,

< br>一旦出现问题就会不知道从哪里检查问题,


也很


浪费时间 !





3.


参数设置时要充分考虑


VHDL


所能调 用的库的函数,


这样能节省很多设


计时间,直接调用即可。





4.


当硬件描述语言没有问题时,


板级调试出现错误或者与预想的结果不同


时,


可以从引脚到器件进行一步步的分析,

很可能是引脚映射错误或者板子自身


的问题。





5.


要充 分熟悉板子提供的外设的使用方法,比如高触发还是低触发等。



最后,


非常感谢学院能给我们这样的机会,具体的把课本知识进行实践,在

< p>
实践中深刻理解知识和具体操作问题。


























附录



HC-SR04


工作原理:





1


)主要 技术参数:









1


、使用电压:


DC5V

< br>;


















2


、静态电流:小于


2mA


















3


、电平输出:高

< br>5V
























4


、电平输出:底


0V









5


、感应 角度:不大于


15


度;


-


-


-


-


-


-


-


-



本文更新与2021-02-09 08:15,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/619980.html

基于FPGA的超声波测距电路的相关文章