基于FPGA的激光测距系统设计

2017-12-01 02:20于玉亭
赤峰学院学报·自然科学版 2017年21期
关键词:激光测距数码管按键

于玉亭

(安徽新华学院,安徽 合肥 230088)

基于FPGA的激光测距系统设计

于玉亭

(安徽新华学院,安徽 合肥 230088)

激光测距是激光特性的一种重要的应用.本文设计了一个以FPGA控制为核心的激光测距系统.该系统主要由FPGA控制系统、激光测距模块、显示电路和按键电路四部分构成,软件在QuartusⅡ软件平台上采用VerilogHDL语言和vhdl语言混合编程.

FPGA;激光测距;QuartusII

1 绪论

激光是一种自然界不存在的光,有很多比较好的特点,如良好的方向性,亮度高,单色性和连续性.激光测距作为一种非接触测量方法,广泛应用于军事、生产生活,如武器制导、地形测量、汽车防撞系统、激光测速等.随着激光技术、电子技术和计算机技术的发展,激光测距系统逐步朝着智能化、数字化、小型化、低功率的方向发展.

本文设计了一个以FPGA为控制核心、以激光测距模块和显示电路为主要功能模块的激光测距系统,该系统设计简单,功能完善.

2 激光测距原理

激光测距系统由激光发射、激光接收,处理和距离计算单元及显示单元组成.其总体设计思想是捕获激光从发射器发射出来到被被测目标反射回来所经过的时间,光在空气中的传播的速度是已知的,可以根据式(1)计算出被测目标的距离.

参数含义:

D:探测器到被测目标之间的距离

t:激光往返经过的时间

c:光速

激光测距系统根据测距原理不同主要分为相位式激光测距系统和脉冲式激光测距系统.相位式是用振幅和相位测量距离,优点是高精度,但是其原理复杂所需要的瞬时功率高.脉冲式的优点是测量时间短原理简单.

本系统为了降低设计难度,节省设计时间和效率,选用集成的相位激光测距模块.

3 硬件设计

本设计的硬件有四个部分组成:FPGA最小系统、激光测距模块、显示电路、按键电路.

3.1 FPGA最小系统

FPGA是现场可编程门阵列,此类芯片具有硬件可编程的优点,为了降低设计难度和设计成本,本次设计采用AL-tera公司Cyclone系列EP1C3T100C6N芯片作为控制核心,FPGA系统主要由FPGA芯片、稳压电路、晶振电路、下载电路、IO口扩展电路等组成.

稳压电路主要就由ASM117-3.3和ASM117-1.5芯片及其外围电路构成,ASM117芯片就是一个正向低压降稳压器,ASM117有两种输出一种是固定输出一种是可调输出,本次电路选用的是两种固定式输出的芯片.输出电压分别是1.5v和3.3v.

FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式,JTAG下载sof文件,掉电丢失,但是可以将sof转换为jic文件,用EPCSx配置,掉电不丢失.AS下载pof文件,配置EPCSx,掉电不丢失.PS比较老的下载方式,很少使用.本设计下载电路采用JTAG配置方式.

3.2 激光测距模块

表1 激光测距模块管脚功能

本设计所采用集成激光测距模块管脚功能入表1所示.该模块的测量范围为0.045-40米,分辨率为0.01毫米,测量精度为±2毫米,激光类型为620-690毫米.模块采用TTL串口进行数据交换,通信速率高达115k(波特率115200).启动该测距模块只需按照说明发送相应指令码,所得测试结果按照对应表格取出测试数据即可.该模块具有单次测量和重复测量两种模式,返回结果包括应答码、错误码和测量数据等部分构成.

3.3 显示电路

显示模块用于显示返回的目标信息,电路设计采用四个共阳七段数码管.

3.4 按键电路

按键电路由2个开关组成,分别用作使能开关、模式选择,硬件选用拨码开关.

4 软件设计

QuartusII是Altera推出的FPGA/PLD集成开发环境,适合大规模FPGA的开发.QuartusII可以用多种方法描述电路如:VerilogHDL、AHDL、VHDL、原理图等.

系统软件分为分频模块、按键消抖模块、串口通信模块和显示模块四个功能模块.

4.1 分频模块

FPGA最小系统直接提供50Mhz时钟信号,实际所需的频率分别为 10Hz,200Hz,1kHz,10kHz,2kHz,需要分频模块获得以上频率,分频更能通过调用FPGA内部的锁相环实现.

4.2 按键消抖模块

为了获得稳定的按键输入,系统为按键提供扫描时钟.但是通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开.因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖.

软件消抖的方法通过不断检测按键值,当检测到按键变化时,延时5~10毫秒再次检测,如果该值保持不变,则认为获得稳定的输入,否则认为是无效输入.

4.3 串口通信模块

激光测距模块数据的接收和发送都采用UART串口通信,UART是一种应用广泛的短距离串行传输接口.常用于短距离、低速、低成本的通讯中.基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式.该串口通信模块相对普通串口通信模块加入了一个转换模块,其作用将指令转换成ascii码后发送到串口上去.

4.4 显示模块

七段数码管的显示通过译码器、扫描电路、编码电路组成.译码器完成对数码管段码的控制,扫描电路和编码电路完成对位码的控制,配合合适的时钟信号,即可完成七段数码管正确、稳定的显示.

4.5 顶层设计

图1 顶层设计

系统软件顶层设计如图1所示,分频模块为其他各个模块提供合适的工作时钟;按键消抖模块为系统提供正确、有效、稳定的按键输入;串口通信模块将按键输入转换为ASICII码后发送给激光测距模块,并将接收到的激光测距信息转换编码;显示模块将激光测距信息在七段数码管上显示出来.

5 实验结果

本次设计测试实验通过串口调试结果,单次测量模式下测试结果如图2所示.

图2 单次测量串口测试结果

如图2所示,图为激光发射和接收模块在上位机上的仿真图,左图为打开激光模块返回数据,主机发送$0003260130&模块,右图为单次测量模块返回的指令,返回确认指令$00023335&+指令重复,返回的是确认指令,其次返回的数据后七位为所测量的距离.

6 结论

本文设计了一款基于FPGA的激光测距系统,该系统软硬件均采用模块化设计,降低了设计难度,提高了系统的软硬件复用率.

〔1〕朱京平.光电子技术基础[M].北京:科学出版社,2009.78-80.

〔2〕潘佳.短程手持式激光测距仪的研究与设计[D].武汉:华中师范大学,2014.

〔3〕廖平,蔡玉鑫.改进型相位式激光测距电路的设计[J].激光与红外,2013,43(4):356-359.

〔4〕张丽华.EDA技术应用[M].北京机械工业出版社,2013.13.

〔5〕黄平.基于Quartus Ⅱ的FPGA/CPLD数字系统设计与应用[M].北京电子工业出版社,2014.20-23.

〔6〕李军.基于FPGA的高精度脉冲激光测距系统研究[D].西安:西安工业大学,2014.

〔7〕贾琦,谢劲松.基于三角法的激光位移传感器的设计及实现[J].长春大学学报,2014(08):1035-1037.

TP213

A

1673-260X(2017)11-0016-02

2017-08-25

安徽省大学生创客实验室项目(2016ckjh095);安徽新华学院校级自然科研项目(2015zr005);安徽省质量工程《EDA技术》大规模在线开放课程(MOOC)示范项目(2016mooc191)

猜你喜欢
激光测距数码管按键
基于有限状态机的按键检测程序设计
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
基于LabVIEW的偏振调制激光测距测量控制系统
基于高压架空线路激光测距的无人机锁定导线巡航研究
按键消抖在单片机和FPGA实验教学中的应用
基于回波强度的激光测距误差补偿算法研究
一种多方向导光按键结构设计