将stm32 pc13 pc14 pc15单片机pc13,pc14,pc15用做i/o口,必须开afio时钟吗

PC13,PC14,PC15怎么设置成普通IO口_百度知道
PC13,PC14,PC15怎么设置成普通IO口
我有更好的答案
作为触摸屏的片选脚,估计你只要不开启RTC;STM32参考手册&对这几个脚的说明,直接设置为通用IO就可以使用的.jpg" esrc="http.<img class="ikqb_img" src="http://h,我也没用过PC13,我们的mini板就有用到.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=08cdcedc74cf3bc7e855c5e8efdda3cc7cd98d106e2d3eeaec9061.baidu
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。基于STM32的红外测距系统设计-共享资料网
基于STM32的红外测距系统设计
哈尔滨理工大学学士学位论文基于 STM32 的红外测距系统设计 摘 要随着现代科学技术的发展,出现了很多新的领域,为了实现对物体近 距离、高精度的无线测量,本论文对红外测距领域进行了研究。本论文采 用单片机作为处理器,编写 A/D 转换程序及 LCD 显示程序,红外传感器 作为工作模块,完成一套高精度显示、实时测量的红外测距系统。本系统 结构简单、体积小、测量精度高、成本低、方便使用。 本论文所介绍的是一种基于 STM32 单片机并运用日本夏普公司型号 为 GP2Y0A21 的红外传感器所设计的红外测距系统。首先,介绍红外线及 红外传感器的分类及应用、STM32 单片机的简介与功能;其次,阐述红外 测距系统工作原理及基本结构并对单片机、红外传感器、LCD 液晶显示屏 的工作电路做了介绍;再次,对系统进行了整体设计构想,先后对系统硬 件及软件进行设计,并对整个系统的功能进行了调试。最后对整个设计进 行总结,说明红外测距系统实现的可行性。关键词 红外测距;单片机;A/D 转换;LCD-I- 哈尔滨理工大学学士学位论文STM32-based infrared ranging system design AbstractWith the development of modern science and technology, there are many new areas, in order to achieve the object close range, high-precision wireless measurement,this topic of infrared ranging is studied. This topic using SCM as the processor, to write A/D converter and LCD display program, an infrared sensor as a working module, complete set of precision display, real-time measurement of infrared ranging system. This system has the advantages of simple structure, small size and high accuracy, low cost and convenient use. This paper introduced is based STM32 microcontroller and use of Japan&#39;s Sharp Corporation model GP2Y0A21 infrared sensor designed infrared ranging system. Firstly, introduce the classification and application of infrared distance measurement,it also introduces the function of STM32 microcontroller. Then illustrate the work theory and basic structure of it and introduce the LCD screen and work circuit. Again, the system has carried on the overall design idea, successively on the system hardware and software design, and probes into the function of the whole system debugging. Finally, summarize the entire design to illustrate the feasibility of infrared distance measurement.KeywordsInfrared range, SCM, A/D converter, LCD- II - 哈尔滨理工大学学士学位论文目录摘要 ...................................................................................................................... I Abstract ............................................................................................................... II 第 1 章 绪论 ........................................................................................................ 4 1.1 课题研究背景及意义 ............................................................................... 4 1.2 本论文主要研究内容 ............................................................................... 4 第 2 章 红外测距系统硬件设计 ........................................................................ 6 2.1 红外测距系统的工作原理 ....................................................................... 6 2.1.1 时间差法测距原理 ............................................................................ 6 2.1.2 反射能量法测距原理 ........................................................................ 6 2.1.3 相位法测距原理 ................................................................................ 6 2.1.4 三角法测距原理 ................................................................................ 7 2.2 红外测距系统的基本结构 ....................................................................... 7 2.2.1 红外传感器模块 ................................................................................ 8 2.2.2 单片机处理模块 ................................................................................ 9 2.2.3 LCD 显示模块 .................................................................................. 16 2.3 本章小结 ................................................................................................. 17 第 3 章 红外测距系统的软件设计及功能调试 .............................................. 18 3.1 红外测距系统工作流程 ......................................................................... 18 3.2 软件程序设计 ......................................................................................... 19 3.3 硬件功能调试 ......................................................................................... 19 3.4 软件功能调试 ......................................................................................... 20 3.5 测量数据绘图 ......................................................................................... 20 3.6 本章小结 ................................................................................................. 23 结论 .................................................................................................................... 25 致谢 .................................................................................................................... 26 参考文献 ............................................................................................................ 27 附录 A ................................................................................................................ 29 附录 B ................................................................................................................ 35 附录 C ................................................................................................................ 38- III - 哈尔滨理工大学学士学位论文第1章 绪论1.1 课题研究背景及意义随着科学技术的不断发展,在测距领域也先后出现了激光测距、微波 雷达测距、超声波测距及红外线测距等方式。激光测距是以激光为传输信 号对目标物体进行精确的测量。激光测距在工作开始瞬间向物体发射出一 束很细的激光,并由接受端接收物体反射回来的激光束,同时计时器通过 测定激光束从发射到接收的时间进而计算出从测量者到物体的距离。该方 法对使用环境要求较高,应用范围较少。微波雷达测距是军事和工业上开 发采用的技术,其技术要求严格和设备价格非常之高,在民用市场上几乎 得不到应用。超声波测距原理与激光测距原理相似,只不过是以声音为传 输介质,但是此方法灵活性差、组件造价相对昂贵,在市场开拓空间并不 大。作为一种应用广泛、测量精度高的测量方式,红外测距利用红外线传 播时不扩散、折射率小的特性,根据红外线从发射模块发出到被物体反射 回来被接受模块接受所需要的时间,采用相应的测距公式来实现对物体距 离的测量。 红外测距最早出现于上世纪 60 年代,是一种以红外线作为传输介质 的测量方法。红外测距的研究有着非比寻常的意义,其本身具有其他测距 方式没有的特点,技术难度相对不大,系统构成成本较低、性能良好、使 用方便、简单,对各行各业均有着不可或缺的贡献,因而其市场需求量更 大,发展空间更广。红外测距仪是指用调制的红外光进行精密的距离测 量,测量范围一般为 1-5 公里,在 100 米以内的范围内则超声波测距更有 优势,但是超声波测距无法检测到 1 米以内的区域距离,而红外测距可以 精准的测出这一段距离,本论文研究的就是这一种情况的红外线测距。1.2 本论文主要研究内容红外线别名红外光或者热辐射线,是一种波长比红色可见光(约 7.5 ?10-4 L)较长、比微波(约 1 L)较短的电磁波。以波长长度为基准, -3 红外线可分为三部分,即近红外线是波长为 0.75? 10-3 3.0? 10 L之间; -3 -2 ? 10 4 ?. 0 1 0之间;远红外线是波长为 中红外线是波长为 3.0 L -2 4.0 ?10 1.0 L之间。物质本身温度在不低于绝对零度(-273.15℃)的情 况下均可以产生红外线。它不能引起人的视觉反应,有显著的热效应(易 被物体吸收而转化为内能) 。能产生反射、折射、干涉、衍射等光学现-4- 哈尔滨理工大学学士学位论文象。不易被云雾等悬浮微粒散射而具有较强的穿透力。凭借着诸多优点, 红外线在军事、人造卫星以及工业、卫生、科研等工作领域方面的应用日 益广泛,有着不可替代的作用及研究价值。 红外测距传感器是以红外线为传输介质的精确测量系统,主要应用于 现代科学技术、国防军队建设、工业和农业等领域。按照其功能可以分为 五种类型: (1)辐射计,又称“发射计” ,是一种用于电磁辐射和光谱测量的装 置。 (2)搜寻和锁定系统,具有寻找和锁定红外目标的功能,确定其空 间位置并对它的运动进行追踪。 (3)热成像系统,通过辐射的分布图像。 (4)红外测距系统。 (5)综合系统,是集于两个或者多个的系统功能的组合系统。 本论文选用的红外测距传感器 GP2Y0A21 是由日本夏普公司推出的一 款性价比高、最常用的红外测距传感器,与其前身 GP2D12 相比,测量射 程相同,但探测面积略有增加,可用来对物体的距离进行测量。具有体积 小、功耗低、价格便宜等优点,而且测量效果好适合在小范围内高精度测 量物体的实时距离。 红外传感器 GP2Y0A21 技术规格如表 1 所示。表 1 红外传感器 GP2Y0A21 技术规格10-80cm 测量射程范围 最大允许角度 &40° 4.5-5.5V 电源电压 33-40mA 平均功耗 200mA 峰值功耗 25Hz/40ms 更新频率/周期 &200mV 模拟输出噪声 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数 据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多 种 I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、 脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上 构成的一个小而完善的微型计算机系统。 本论文选用的单片机型号为 STM32F103RBT6 ,其中 STM32 代表 ARM Cortex-M 内核 32 位微控制器;F 代表芯片子系列;103 代表增强型 系列;R 表示芯片有 64 个引脚;B 代表内嵌 Flash 容量为 128K 字节;T 代表芯片封装为 LQFP 封装;6 代表工作温度范围为-40―85℃。-5- 哈尔滨理工大学学士学位论文第2章 红外测距系统硬件设计2.1 红外测距系统的工作原理2.1.1 时间差法测距原理时间差法测距原理是将红外测距传感器的红外发射端发送信号与接收 端接受信号的时间差 t 写入单片机中,通过光传播距离公式来计算出传播 距离 L,见公式(2-1) 。 L ? c?t (2-1) 8 式中 c 是光的传播速度为 3?10 m / s 。2.1.2 反射能量法测距原理反射能量法是由发射控制电路控制发光元件发出信号(通常为红外 线)射向目标物体,经物体反射后传回系统的接收端,通过光电转换器接 收的光能量大小进而计算出目标物体的距离 L,见公式(2-2) 。? P ? (2-2) L?? ? ? Kd ? 式中 P 为接收端接收到的能量, K 为常数,其大小由发射系统输出功率、转换效率决定, d 为被测目标漫反射率。32.1.3 相位法测距原理相位测距法是利用无线电波段的频率,对红外激光束进行幅度调制并 测定调制光往返一次所产生的相位延迟 ? ,再根据调制光的波长,换算 出此相位延迟所代表的距离 D,此方式测量精度非常之高,相对误差可以 保持在百分之一以内,但要求被测目标必须能主动发出无线电波产生相应 的相位值。见公式(2-3) 。 D ? c? / 2? (2-3) 式中 c 是光的传播速度为 3?10 8m / s , ? 是调制信号的角频率。-6- 哈尔滨理工大学学士学位论文2.1.4 三角法测距原理三角法测距原理是由一个红外发射管和一个 PSD ( Position Sensing Device 位置敏感检测装置)以及相应的计算电路来实现的。而夏普公司的 PSD 具有更优良的性能,它可以检测到光点落在它上面微小的位移,分辨 率达微米,红外传感器 GP2Y0A21 正是利用了这个特性来实现对目标物体 距离的精确测量。如图 1 所示。物体角度不变红外发射管PSD图 1 三角法测距原理红外测距传感器首先通过红外发射管发出红外线,遇到障碍物反射回 来落在 PSD 上形成了一个等腰三角形。而两个底角是固定的,由发射管来 确定,且红外发射管到 PSD 的距离为已知,此时便可运用三角函数来推算 出高,即我们要测量的距离。 本论文就是采用此原理来实现对物体距离的测量。2.2 红外测距系统的基本结构红外测距系统主要有红外传感器模块(包括红外发射端和红外接收端 两部分) 、单片机处理模块、LCD 显示模块三大部分组成。如图 2 所示。LCD显示模块 红外发射端物体 单片机处理模块 红外传感器模块红外接收端图 2 红外测距系统基本结构-7- 2 1 RC22 3 9 MP 8Mhz Y2BAT14D12 14 Vout8VCC3.32C2 4PRESETBOOT0PA7PA2PA1PA04D1C1 90144811643655444444422221111394821 0 4 0 9 6 5 4 3 2 1 3 2 1 0 7 6 5 4765VCC3.3STM32F103RBT6UVVDD_4VDD_3VDD_2VDD_1VBATNRSTBOOT0PD2OSC_OUT/PD1OSC_IN/PD0PA15/JTDIPA14/JTCK/SWCLKPA13/JTMS/SWDIOPA12PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2PA1PA0-WKUP1DDAVCC3.3PC13-TAMPER-RTC2.2.1 红外传感器模块1 L PC15-OSC32_OUT 0 1 1 PC14-OSC32_IN C 1 C 0 0 6 5 0 u 4 u H f PB4/JNTRST PB2/BOOT1 PB3/JTDO VSS_4 VSS_3 VSS_2 VSS_1 VSSA PC12 PC11 PC10 PB15 PB14 PB13 PB12 PB11 PB10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB9 PB8 PB7 PB6 PB5 PB1 PB0 1 1 6 4 3 4 3 2 5 5 5 4 3 3 3 2 2 1 1 9 8 3 3 3 3 3 2 6 6 5 5 5 5 5 2 2 2 2 8 3 7 1 3 2 1 0 9 8 7 5 4 1 0 6 5 4 3 0 9 2 1 9 8 7 6 5 8 7 6 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0哈尔滨理工大学学士学位论文图 3 为红外测距系统整体硬件原理图,对应系统组成的三大部分,由 图可知,系统工作核心为单片机,红外传感器及 LCD 液晶显示屏分别接 收单片机发出的指令来实现各自的功能,最后结合各个部分的功能来实现 整个红外测距系统的运作。对于单片机、红外传感器、LCD 液晶显示屏的 工作原理及实现功能在下文会一一对其进行介绍。图 3 红外测距系统硬件工作原理图本模块选用的是由日本夏普公司研发的型号为 GP2Y0A21 的红外传感 器。引脚图如图 4 所示。此红外传感器一共有三个引脚,其中 VCC(电源 电压)为信号接入,接入电源电压为 4.5-5.5V ,单片机 5V 工作电压即 可;GND 为接地引脚,连接地线即可; Vout 为模拟电压输出引脚,此引 脚输出的模拟电压值为 0.4-2.4V,相对应的距离范围是 80-10 M。此引脚 需要接入单片机处理模块中的多路 A/D 转换通道上的任意一路上。即 STM32 单片机内部 A/D 转换通道的 PA7 引脚上。2 C 2 1 P 1 32.768Khz Y 1 2 VCC 2 C 2 2 P 1 R 0 0 k VCC GP2Y0A21 VCC Vout G N D PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PA2 PA1 PA0 3 2 1 VCC5.0 1 1 1 1 1 1 1 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 LCD1602 BLK BLA DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W R V V VSS S L D D Vout-8- 哈尔滨理工大学学士学位论文GP2Y0A21GNDVout图 4 GP2Y0A21 引脚图根据红外传感器的电压和相对应的距离测量值可知,夏普 GP2Y0A21 系列的红外传感器输出曲线是非线性的,且每个型号的红外传感器输出曲 线都不相同。所以对所使用红外传感器的矫正是必须要做的,创建出一张 实测输出曲线图,以便在实际测量的过程中获得真实准确的测量数据。图 5 为本论文使用的红外传感器 GP2Y0A21 实测输出曲线。图 5 夏普 GP2Y0A21 输出曲线2.2.2 单片机处理模块STM32 单片机是 ST(意法半导体)公司基于 ARM 最新 Cortex-M 架 构内核的 32 位处理器产品,内置 128KB 的 Flash、20K 的 RAM、12 位 A/D 转换、4 个 16 位定时器和 3 路 USART 通讯口等多种功能资源,时钟 频率最高可达到 72MHz。VCC-9-321 116436554444444222211113 1 7 6 59482040965432132107654STM32F103RBT6UVVDD_4VDD_3VDD_2VDD_1VBATNRSTBOOT0PD2OSC_OUT/PD1OSC_IN/PD0PA15/JTDIPA14/JTCK/SWCLKPA13/JTMS/SWDIOPA12PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2PA1PA0-WKUP1DDA哈尔滨理工大学学士学位论文图 6 STM32 单片机引脚图图 6 为 STM32 单片机的引脚图,由图可见此系列单片机功能之全、 用法之便、外设之多,一个共有 64 个扩展 I/O 口,方便外接工作模块,这 里就不一一介绍了。本论文所研究的红外测距系统应用到以下引脚,如表 2 所示,除了表 2 所示之外,还有一些电源引脚和接地引脚,在图上没有 一一列出,在这里需要说明一下的是,单片机外加电源为 +5.0V,内部工 作电源为 +3.3V ,红外传感器的工作电压为 4.5-5.5V ,直接接到单片机 +5.0V 上即可,液晶显示屏 LCD1602 的电源电压为+5.0V。对于红外传感 器来说,工作电压的要求相对严格,过高容易烧坏传感器内部结构,过低 达不到指定的测量范围,所以条件允许的情况下应该为其单独准备一个 +5.0V 的电源。- 10 PC13-TAMPER-RTC PC15-OSC32_OUT PC14-OSC32_IN VSS_4 VSS_3 VSS_2 VSS_1 VSSA PC12 PC11 PC10 PC9 PC8 PC7 PC6 1 1 6 4 3 4 3 2 5 5 5 4 3 3 3 2 8 3 7 1 3 2 1 0 9 8 7PB4/JNTRSTPB2/BOOT1PB3/JTDOPB15PB14PB13PB12PB11PB10PC5PC4PC3PC2PC1PC0PB9PB8PB7PB6PB5PB1PB0221198333332665555522254106543092198765876 哈尔滨理工大学学士学位论文表 2 红外测距系统各引脚功能连接对象及功能 连接红外传感器 Vout 引脚,作为单片机的模拟电压 23 PA7 输入。 连接 LCD1602 的 R/S 引脚,作为 LCD 的输入引 14 PA0 脚,接收判断来自单片机的高低电平,然后选择输 入指令或者数据。 连接 LCD1602 的 R/W 引脚,作为 LCD 的输入引 15 PA1 脚,接收判断来自单片机的高低电平,然后选择写 入指令/数据或者读取信息。 连接 LCD1602 的 E 引脚,作为 LCD 的输入引脚, 16 PA2 接收判断来自单片机的高低电平对 LCD 进行使能。 连接 LCD1602 的 DB0 引脚,作为 LCD 的输入/输出 8 PC0 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB1 引脚,作为 LCD 的输入/输出 9 PC1 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB2 引脚,作为 LCD 的输入/输出 10 PC2 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB3 引脚,作为 LCD 的输入/输出 11 PC3 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB4 引脚,作为 LCD 的输入/输出 24 PC4 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB5 引脚,作为 LCD 的输入/输出 25 PC5 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB6 引脚,作为 LCD 的输入/输出 37 PC6 引脚,并在单片机与 LCD 之间传输数据。 连接 LCD1602 的 DB7 引脚,作为 LCD 的输入/输出 38 PC7 引脚,并在单片机与 LCD 之间传输数据。 STM32 单片机的最小工作系统,顾名思义就是可以使单片机工作起来 同时由最少的器件构成的系统。最小工作系统虽然结构简单,但却是大多 数单片机控制系统不可缺少的重要部分,所以要熟练运用单片机的各种各 样的功能就必须要熟悉掌握并了解最小工作系统的组成。STM32 单片机最 小工作系统包括以下四部分:符号引脚名称- 11 - 哈尔滨理工大学学士学位论文1、电源系统U7AMS1117 P N D V G 3.3V 5 VCC5.0 1 2 2 3 1 2 3 S 2VCC3.3VCC3.3R131.5KUC11PL2302_D-R1422SC12112DVCC4PL2302_D+R152210uF3D10uF4GN+-VCC3.33C133pFVCC3.3R18VCC3.31.5KUUSB_232USB_D-R19221U62DVCC8D11USB_D+R2022GND3DD241484GN+-2VCCVBATCRT4148图 7 电源系统工作原理图如图 7 所示,STM32 单片机的供电系统设计还是比较简单、易懂、方 便使用理解的。从电脑 USB 端口或者其它的供电设备接入+5V 的电源, 当选择 U8 这个 USB 座时,此时的功能是通过 USB 座给单片机开发板下 载程序和供电;当选择 U4 这个 USB 座时,此时的功能是通过 USB 座与 外界进行通信或者给单片机开发板进行供电;随后经过 P2 ( P2 是一个 500mA 的自恢复保险丝,作用是防止单片机工作过程中短路现象的发生, 当电源瞬间短路时,会产生强大的电流,这时会把与单片机相连设备的主 板给烧坏,同时对开发板自己也是一种保护)到达开关 S1 和 S2,若要给 单片机开发板通电需要接通开关 S1 和 S2,若要切断单片机开发板电源,还 需要再一次按下开关 S1 和 S2。当单片机开发板得到+5V 的电源后,一路 经电解电容 C12 滤波以后会更加稳定的从 C12 正极输出,供给单片机开发 板所需要的地方;另一路直接接入 U7(U7 是一个型号为 AMS1117 的稳 压芯片,作用就是把+5V 的电压稳压成+3.3V 的电压)的 3 引脚上,经过 U7 稳压以后由 2 引脚直接输出+3.3V 电源,一路经电容 C11 滤波以后, 作为单片机开发板的电源使用或者作为开发板其它器件的 +3.3V 电源使 用;另一路经过电容 C13 滤波以后,作为单片机开发板 A/D 转换模块供 电电压。- 12 -USBDD 哈尔滨理工大学学士学位论文2、复位系统VCC3.3R106RESETKC106图 8 复位系统原理图单片机复位系统就是让程序计数器回到 0000h 这个地址,程序重头开 始执行,将一些寄存器、存储单元都置为初始设定值,单片机复位的形式 有很多种,比如上电复位、看门狗复位、手动复位等等。本开发板运用的 是外接电路来手动复位,如图 8 所示,STM32 单片机采用低电平复位,使 复位开关 RESET 按下单片机接入低电平即完成复位操作。 3、时钟系统 时钟系统相当于单片机的脉搏,好比人得心跳,其重要性不言而喻。 STM32 单片机的时钟系统比较复杂,由于单片机本身结构复杂,外设模块 又非常多,而需要很高的系统时钟的模块又在少数,同时为了降低时钟功 耗减少电磁干扰,单片机一般都采取多种时钟控制方法。 本论文主要应用的是 SYSCLK(系统时钟)的配置,驱动系统时钟可 由 3 种不同的时钟源: (1)STM32 单片机内部有一个 8MHz RC 高速振荡器,它产生的的时 钟信号会兵分 2 路,一路直接加到时钟选择器开关(SW) ,这个开关是由 STM32 单片机的时钟配置寄存器的第 0 位和第 1 位来控制,如若时钟配置 寄存器的第 0 位和第 1 位分别写入 0,0 的话,内部的 8MHz RC 高速振 荡器产生的 8MHz 的时钟信号就可以轻松通过 SW 开关,此时单片机就产 生了 8MHz 的系统时钟。 (2)内部的 8MHz RC 高速振荡器产生的 8MHz 的时钟信号另一路经 过一个 1/2 分频器变成了 4MHz 的时钟信号加到了 PLLSRC(PLLSRC 是 由 STM32 单片机的时钟配置寄存器的第 16 位来控制的)这个选择开关 上,如果时钟配置寄存器的第 16 位写入一个 0 的话,内部的 8MHz RC 高速振荡器产生的 8MHz 的时钟信号经过 1/2 分频器变成 4MHz 的时钟信 号,就会成功的通过开关 PLLSRC ,然后到达 STM32 单片机的锁相环 PLL 倍频器(倍频器就是起到一个倍频的作用,通过对时钟配置寄存器的 第 18-21 位来配置) ,如果对时钟配置寄存器第 21-18 位写入 0110,则就 是 8 倍频输出,之前 PLL 输入的为 4MHz 时钟信号,经 8 倍频以后就输出 32MHz 的时钟信号了。这时 SW 第 0 位和第 1 位都写入 0,则单片机系统- 13 -4RESET 哈尔滨理工大学学士学位论文时钟为 32MHz。 (3)在外部 8MHz 的晶振下和内部的振荡电路的结合下会产生相对稳 定的 8MHz 的系统时钟。其中一路直接通过 SW 开关设置为 01,正好选择 了这路产生的 8MHz 系统时钟信号。另一路是首先通过一个选择开关 PLLXTPRE(PLLXTPRE 是由时钟配置寄存器的第 17 位来控制的) ,如若 PLLXTPRE 被写入 0,这时 8MHz 的时钟信号就会通过此开关到达开关 PLLSRC;如若 PLLXTPRE 被写入 1,这时 8MHz 的时钟信号就会通过对 PLLSRC 的设置然后通过锁相环 PLL 倍频器的扩展加到 SW 上,通过 SW 后形成相应系统时钟信号。最后一路是首先遇到了一个 1/2 分频器,变成 4MHz 时钟信号后,又到达了 PLLXTPRE 这个开关然后,随后的设置与上 一路时钟信号一样,也可得到相应的系统时钟信号。 从以上的介绍可以看出 STM32 单片机的系统时钟是很复杂的,需要 很多寄存器的配置,而每个寄存器又有很多位的配置等等要求,但是时钟 系统却又是单片机工作起来必不可少的部分,所以更详细的学习应该对我 们来说是非常必要的。 图 9 为 STM32 单片机的晶振电路与时钟振荡电路。C 1 C X 1 2 2 P RTCX1 2 2 9 P R 3 1 Y 2 1 Y 1 M 8Mhz R11 1 C 2 M 32.768Khz 3 2 X 2 2 2 P RTCX2 2 2 C10 2图 9 晶振电路(左) 时钟晶振电路(右)4、程序下载电路 在某些定义中,程序下载电路不被定义为单片机的最小工作系统,而 本论文所运用到的下载电路是 USB 下载电路。从图 8 可知,STM32 单片 机下载电路支持 JATG/SWD 下载,同时还支持串口下载通信。由于本论文 研究的红外测距系统重点应用 USB 下载电路,相对于 JTAG/SWD 下载的 原理这里就不详细介绍,其工作原理图如图 10 所示。JTAG VCC3.3 1 V D D V D R 1 D 2P10KJTRST3TRSTGNR2D41C12010KJTDI5TDIGNR310KJTMS7DTMS/SWDIOGN9D186TCK/SWCLKGN11D1NCGNR410KJTDO13D1TDO/SWOGNR5RESET15D1RESET#GN10K17D1NCGN19D2NCGN图 10 JTAG/SWD 下载电路- 14 -JTAGD0864204 哈尔滨理工大学学士学位论文本论文主要运用到的是 STM32 单片机的电源电路、复位电路、USB 下载电路、 A/D 转换等功能,前两者在单片机最小工作系统里已经介绍 过,下面介绍一下 USB 下载电路和 A/D 转换。 STM32 单片机主要是采用串口通信的工作原理,串行通信就是指数据 一位一位地按顺序传输的通信方式,最简单的串口通信电路只需要 2 根信 号线和一根地线皆可以完成,大幅度地降低了使用成本且能实现远距离传 输。在本开发板上,运用了 PL2303(用于实现 USB 座和标准 RS-232 串 行端口之间的转换)的芯片功能来实现直接运用电脑 USB 口下载程序的 功能。由图 11 可以看出,从 PL2303 输出的信号直接连接到单片机的 USART1 这个串口模块上,实现了 USB 转串行通信的连接。D 3 RESET R37 VCC3.3 1 0 4 1 4 8 KQ51R380R39KU18050KTXD1228TXDVCC3.32OSC227112MHzDTR_NR403OSC12RTS_NPLL_TEST6C252C23104VCC3.3425Y10KVDD_232GND_PLL22P32C262Q6RXD524RXDR41VDD_PLLVCC5.062RI_NLD_MODE3R43C24104GND721K245VCC5.0GND85508TRI_MODE2VDDGN9D2DSR_NVDD01R42BOOT0101DCD_N11RESET11KCTS_N12GND_3V31789VCC3.3VCC5.0C27K10uSHTD_N13VDD_3V316EE_CLKD14M15EE_DATAD图 11 USB 下载电路STM32 单片机内置 3 个 12 位模拟/数字转换模块(ADC) ,转换时间 最快为 1? s 。ADC 模块是一种逐次逼近型模拟数字转换器,具有 18 个通 道(16 个外部信号源和 2 个内部信号源) ,也具有自校验功能,在任何条 件下都能保证较高的转换精度。A/D 转换器的主要技术指标有三点: (1)转换时间,从发出启动命令后到转换结束获得完整的数字信号 为止所需的时间。 (2)分辨率,是指数字量最低位代表的模拟量数值大小。比如 5.0V 的电压,系统使用 10 位的 ADC 进行测量,就相当于把 5.0V 分成 1024 份,那么分辨率为 5.0/V。 ( 3 )转换精度,是指转换结束后所得的结果相对于实际值的准确 度,可用满量程的百分数来表示。 本论文所设计的红外测距系统只需要一个 ADC 即可完成。以 ADC1 为基础来实现 A/D 转换功能,首先需要对 ADC 模块的输入通道进行了 解,STM32 单片机的 A/D 转换通道很多,共有 18 路,本论文应用的是通 道 7(PA7)来实现对 Vout 的模拟/数字转换。其次就是 ADC 模块的工作- 15 -PL2303PPL2302_D+PL2302_D-FVCC5.0P 哈尔滨理工大学学士学位论文电压,在这 18 路通道中只能实现 0-3.6V 之间的转换,也就是说不支持负 电压和大于 3.6V 电压的工作转换。再者就是以什么样方式来启动 A/D 转 换,如单片机的定时捕获、EXTI 线中断等等。然后就是 ADC 转换器的分 组,STM32 单片机 ADC 转换器分为 2 个通道组:规则通道组(最多包含 16 个转换通道)和注入通道组(最多包含 4 个转换通道) ,两个组别只能 一组一组进行转换,当一组进行转换时另一组可视为中断,可打断当前执 行也可等到执行完毕随后执行。最后就是把通过 A/D 转换得到的数据存入 相应的数据寄存器,等待下一次转换或者结束。 对于 A/D 转换电路来说,如果单片机处理模块是整个红外测距系统的 重点研究模块,那么 A/D 转换电路就是重中之中。从红外测距系统启动开 始,到单片机初始化,再到测量距离的实施,最后到 LCD 的显示,如果 A/D 转换功能瘫痪,就意味着单片机与红外传感器的沟通桥梁断掉,也就 是说大脑与肢体的分离,是不能让整个系统运转起来的。 对于此次所采用的 STM32 单片机的开发板,还有很多功能,比如测 温功能、键盘功能、数码管显示功能等等,由于对于红外测距系统的设计 没有直接的关系,就不一一进行详细介绍,各部分的工作原理图见附录 B 里。2.2.3 LCD 显示模块本论文所设计的红外测距系统最终是要求显示出测量物体的距离,所 应用的液晶显示屏型号为 LCD1602。图 12 为 LCD1602 原理图。VCC 1 LCD1602 2 V VSS D D 3 V PA0 R 0 4 R PA1 5 PA2 1 0 k 6 PC0 7 PC1 8 PC2 9 PC3 1 0 PC4 1 1 PC5 1 2 PC6 1 3 PC7 1 4 1 VCC 5 1 6图 12 LCD1602 原理图由图 12 可知,LCD1602 结构非常简单、使用方便,共有 16 个引脚, 其每个引脚功能表 3 所示。通过表 3 所示,把 LCD1602 每个引脚的功能 了解掌握,并与 STM32 单片机的相应 I/O 口连接上,烧入显示程序即可 完成红外测距系统的最终要求。- 16 -BLKBLADB7DB6DB5DB4DB3DB2DB1DB0ER/WSL 哈尔滨理工大学学士学位论文2.3 本章小结本论文所设计的红外测距系统是以 STM32 单片机为核心,应用由日 本夏普公司研发的型号为 GP2Y0A21 的红外传感器的测距功能和液晶显示 屏 LCD1602 的显示功能。首先通过对单片机的电源电路、复位电路、时 钟电路、 USB 下载电路和 A/D 转换电路等功能进行主要学习了解并运 用,然后了解红外传感器 GP2Y0A21 的使用方法与特性,结合单片机和红 外传感器的功能,采集出电压并通过电压距离公式转换为测量距离。最后 通过 LCD1602 的显示功能给予显示,使整个系统更加完美的来完成对物 体距离的测量。表 3 LCD1602 引脚功能图符号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16名称 VSS VDD VL R/S R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BLA BLK电平输入/输出0/1 0/1 1,1→0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 +VCC GND输入 输入 输入 输入/输出 输入/输出 输入/输出 输入/输出 输入/输出 输入/输出 输入/输出 输入/输出功能 电源地 电源(+5V) 对比调整电压,接滑动变阻器 0=输入指令;1=输入数据 0=向 LCD 写入指令或数据; 1=从 LCD 读取信息 使能信号,1 时读取信息, 1→0 时执行命令 数据总线 line0(最低位) 数据总线 line1 数据总线 line2 数据总线 line3 数据总线 line4 数据总线 line5 数据总线 line6 数据总线 line7 LCD 背光电源正极 LCD 背光电源负极- 17 - 哈尔滨理工大学学士学位论文第3章 红外测距系统的软件设计及功能调试3.1 红外测距系统工作流程在整个红外测距系统工作中,当系统被接入启动电源后,首先,对 STM32 单片机进行初始化,当单片机接收到红外传感器 GP2Y0A21 传输 的模拟电压信号后,经过 A/D 转换电路,将输入单片机的模拟电压信号 Vout 转换为单片机可识别的数字信号,并经过电压距离转换程序,转换出 要测量的距离,然后通过 10 次均值滤波来提高测量的精确度,最后在通 过液晶显示屏 LCD1602 显示出测量结果。 红外测距系统工作流程图如图 13 所示。开始单片机初始化LCD模块初始化A/D转换初始化转换次数N=10A/D转换启动否LCD显示模块检测转换结束标志位 标度变换是N--否N=0 是10次均值滤波图 13 红外测距系统工作流程图- 18 - 哈尔滨理工大学学士学位论文3.2 软件程序设计对便于编程,一定要有一个好的编译器。对于 STM32 单片机来讲, 可以编译其的开发工具有很多,如 IAR,KEIL,ADS 等等,本论文研究 的过程中选择 KEIL 进行编程的。下面对 KEIL 进行一下简介: KEIL MDK 开发工具源自德国 KEIL 公司,被全球的嵌入式开发工程 师验证和使用,是 ARM 公司目前推出的最新的针对各种嵌入式处理器的 软件开发工具。 LEI MDK 集成了业内最先进的技术,支持 ARM7 、 ARM9、和最新的 Cortex-M 系列内核处理器,启动代码不需要人工配置, 集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能。目 前 KEIL MDK 在国内 ARM 开发工具市场已经达到九层的占有率。 红外测距系统软件程序主要由主程序、 A/D 转换程序、延时函数、 LCD 显示程序等等,在红外测距系统硬件已经确定的情况下,程序设计步 骤为: (1)分析红外测距系统功能,对已知条件及运算控制的要求进行掌 握,准确地编写出能完成规定任务的程序。 (2)确定所需要函数及算法,根据系统设计要求及功能特点,选择 相应的解决方法。 (3)设计系统工作流程图,采用直观的方式清晰地表达出程序的整 体设计思想。 (4)根据系统工作流程图编写源程序,对主函数及子函数的功能进 行逐一分析,并写出相应的程序。 ( 5 )调试源程序,将编好的程序通过编译去除语法及功能上的错 误,然后将程序烧入单片机中以达到最终要求。 在这里需要说明的是按照红外传感器 GP2Y0A21 给出使用手册,正常 经过软件编程并成功下载到 STM32 单片机之后,测量结果所绘制的电压 距离曲线应该是一条非线性曲线,如图 5 所示。但是为了更方地使用此款 红外传感器,在更多商家的研究与开发下,通过不断地采集实验数据并对 此款传感器进行曲线拟合,最终实现了输出曲线近似线性化的处理。本论 文采用了这个拟合之后的公式,并在编程时直接编入电压距离转换公式, 烧入单片机内直接进行测量。3.3 硬件功能调试单片机处理模块、红外传感器模块及 LCD 显示模块是红外测距系统 的三大组成,也是硬件设计中重要的部分,所以在设计完成后要分别对这 三部分进行功能调试以达到稳定的工作要求。 首先,对单片机处理模块进行调试,此模块是整个红外测距系统工作- 19 - 哈尔滨理工大学学士学位论文的大脑,所以对此模块的要求绝对要做到万无一失,对此模块我进行了如 下调试: (1)检查开发板电源电路是否短路,造成开发板损坏。 (2)检查开发板焊接情况,有无虚焊、错焊等现象。 (3)检查带有极性原件的焊接是否焊反。 (4)在确定整个开发板无误的情况下,先烧入简单程序试一试开发 板的功能,随后再烧入红外测距系统程序。 其次,对红外传感器模块进行检查,由于本论文重点研究方向不在传 感器内部结构与工作原理方面,所采用的红外传感器 GP2Y0A21 是由日本 夏普公司所提供的完整模块,所以只需把单片机编入 A/D 转换程序后是红 外传感器的 Vout 引脚接入单片机的 PA7 引脚,通过串口检验是否有电压 输入,如若有则证明此模块可以作为所设计系统的红外传感器模块,如若 没有,则需调试或者调换另一模块。 最后,对液晶显示屏 LCD1602 模块进行调试,在调试此模块时,遇 到的最大一个问题就是对 LCD1602 引脚 3(VL)功能的忽视,最开始并 没有对此引脚接入相应的滑动变阻器,导致了无论怎么调试程序或者更改 硬件都无法显示最简单的字符,在不断地实验中发现了这个故障,最终接 入相应的滑动变阻器并调整到适当的位置,最终在 LCD 上得到了显示的 字符。再者就是由于红外测距系统中单片机与 LCD 之间的连接为直接采 用跳线连接 I/O 的方法,为了提高系统工作的稳定性及抗干扰能力,防止 工作过程中排针与跳线之间松动,单对 LCD 显示模块又焊接了一块扩展 板,把接地端及电源端尽量合并,减少对跳线的使用,提高系统工作稳定 性及可靠性。3.4 软件功能调试对于红外测距系统软件的调试,主要是对主程序及子程序的调试,在 最开始编写程序的时候,首先对主函数进行大致编写,并逐一加入一些算 法公式及相应的函数语句。然后再开始编写相应的功能模块的子程序,对 A/D 转换程序、LCD1602 显示程序等都需要一一编写。在硬件电路制作并 调试好以后,便可将编译后的程序下载到单片机中运行调试。根据所设计 的电路结构、编写的程序及传感器本身的功能,在测量范围内对各个距离 进行多次测量并与实际距离相比较,通过对实验数据的分析,不断调节器 件和修改程序使红外测距系统能更精确、更稳定地达到实际使用的要求。3.5 测量数据绘图经过对红外测距系统硬件及软件的调试后使整个系统能正常运行,接 下来就是要对整个系统的功能进行实际测量与验证。红外传感器- 20 - 哈尔滨理工大学学士学位论文GP2Y0A21 正常的电压距离输出曲线为图 5 所示。由于我们采用的是拟合 后的测量公式,见公式( 3-1) ,所测量的数据曲线会有所不同。测量数据 如表 4 所示。 (3-1) R ? ( 1 /A D? m + b ?) k 式中 R 代表测量距离, AD 代表输入单片机的 AD 转换值, m,b,k 均为常量;m=0.0000954,b=0.000502,k=4。表 4 测量数据2.41 1.34 0.93 0.75 0.63 0.52 0.43 0.40 电压 V AD 754 414 290 235 190 166 141 123 测量值 R cm 9.87 20.96 29.75 41.06 50.09 61.01 69.98 79.89 1/(R+k) 0.072 0.040 0.029 0.022 0.018 0.015 0.013 0.011 10 20 30 40 50 60 70 80 实际距离 cm 经过实际测量,得出如表 4 的实验数据,为了对比实验结果分别以距 离、电压两个变量作为横纵坐标对数据进行绘图,由于数据是离散的且不 遵守某个函数,选择采用 Labview 软件进行作图。 图 14 是距离与电压输出曲线图,也就是经过拟合加入常量后的曲 线,与实测输出曲线相比更近乎线性化,由图可知,红外测距系统在 1080cm 范围内为正常测量范围。图 14 电压距离输出曲线图 15 是 1/(R+k)与电压输出曲线,为了使曲线线性化便于分析和处理 数据,把公式(3-1)进行整理,使 1/(R+k)与电压成线性关系,并绘图。 可见,在没有经过公式变换的电压距离输出曲线是一条非线性反比例输出 曲线,经过转换,添加常数参数使 1/(R+k)与电压成线性关系。- 21 - 哈尔滨理工大学学士学位论文图 15 1/(R+k)与电压输出曲线图 16,图 17,图 18 是测量数据中采集的照片。图 16- 22 - 哈尔滨理工大学学士学位论文图 17图 183.6 本章小结对于整个红外测距系统软件的设计,是在硬件设计大致完成的基础上 展开的,主要是对 STM32 单片机运行程序的编写,还有系统整体工作流 程的设计与搭建。在程序编写的过程中我深刻地认识到了各种工作语言的 重要性,并且你需要对 STM32 单片机各种函数语句的使用进行掌握,单 是函数语句的名称就很难记住,更何况每个语句的功能及使用方法。所 以,通过系统软件的设计,在 STM32 单片机编程着方面我得到了很大的 提高,而在编译每个程序的过程中对语句的修改更让我煞费苦心,有的语- 23 - 哈尔滨理工大学学士学位论文句可以很通顺的编写成功,而有些语句则需改了又改才可以正常运行。对 我自己的品质也进行了历练,让我更加知道了持之以恒的道理。最终所编 写的主要工作程序见附录 A。 从测量数据与绘图来看,本论文所研究的红外测距系统工作范围在 10-80 厘米,其电压与距离的不是纯线性关系,是一条平滑的非线性反比 例曲线。在工作范围内,此系统可以高精度实现对物体距离的测量。当 然,系统在工作稳定性上还需要改进。- 24 - 哈尔滨理工大学学士学位论文结论对本论文所设计的红外测距系统进行测量、校准发现其测量范围在 10-80 厘米内的平面物体。最大误差为 0.5 厘米,而且能在短时间内多次测 量,经修改的红外测距系统稳定性比较好、灵敏度也较高、结构简单,测 量时只需保证周围没有干扰物体即可,当然在检测过程中也发现了一些不 足的地方: 1、根据红外传感器 GP2Y0A21 的使用手册可知其工作电压有着精确 的范围,所以在工作测量时,必须保证其电压源的稳定,且在 10 厘米之 内和 80 厘米之外传感器 均会传回不准确的测量值。也就是说在此范围之 外的物体是无法测量的。 2、由于本论文所设计的红外测距系统比较简单,所以在测量时红外 测距传感器并为固定在指定位置,而恰巧红外传感器接收端与发射端和地 面呈的角度对这测量精度有着很大影响,所以在工作测量时,一定要注意 红外传感器的摆放角度。 3、由于实验条件有限,对此红外测距系统并为在不同温度下分别进 行实验,所以不能确定的是外界温度的高低变化对测量精度是否有影响。 4、由于实验条件有限,对此红外测距系统并为在加有电磁干扰的情 况下进行测量,所以不能确定的是测量过程中外界电磁波的有无对测量精 度是否有影响。 5、在干净清新的空气下所测量的结果一般要比尘埃过多情况下精准 的多,也就是说空气环境质量对此红外测距系统也有着相对的影响。 6、对于不同形状的测量物体也有着相对的影响,由于不规则的形状 影响了红外线的发射与接收,所得到的测量结果也相对精度较低,于平面 物体测量结果的稳定性和精确度就较高。 本红外测距系统采用的是红外传感器 GP2Y0A21 和三角测距原理,由 于红外传感器本身测量距离的限制,加上三角测距原理固有的缺陷,经过 上述实验分析得知,在稳定的电源、干净清晰的空气、稳定的温度、无外 界电磁干扰、无障碍物的情况下,在测量允许的范围内,此红外测距系统 能获得较高的测量精度。 虽然最终所设计的红外测距系统未能达到更高的要求,但在工作范围 内测量结果误差影响相对较小,可以满足日常生活、工业生产的测量要 求。同时通过此次课题设计大大地提高了我对单片机的认识,在电路分析 及编程能力方面也有着显著的提高,对我意义匪浅。- 25 - 哈尔滨理工大学学士学位论文致谢为期将近三个月的时间,本篇论文终于撰写完毕。在此期间我遇到了 无数的困难和挫折,都在老师和同学的帮助下顺利度过。本论文的撰写工 作主要是在我的导师卢迪老师的悉心指导下完成的,卢迪老师严谨的治学 态度和科学的管理方法给我了极大的帮助和信心。在论文撰写期间,她对 我进行了无私的指导和帮助,尽其所能的对我的每一项学术知识进行巩 固,不厌其烦的对我的论文进行修改。另外,在查找资料的时候,图书馆 的老师也给我提供了很多方面的支持与帮助,在此,我向帮助和指导过我 的各位老师表示最衷心的感谢。 同时,我要感谢我的学长还有我的同学,在实验室工作和论文撰写期 间,他们给予了我热情的帮助,如果没有他们的帮助与启发我将很难完成 本篇论文的撰写。还要感谢本文所涉及到的各位学者,本文借鉴了数位学 者的理论知识和研究成果,让我更好地完成了对论文的撰写。 在论文撰写期间我也要感谢我的家人,是他们给予了我莫大的支持, 让我更安心地去完成此次论文地撰写。 由于我的学术水平有限,本论文难免会有不足之处,恳请各位老师和 同学批评和指正。- 26 - 哈尔滨理工大学学士学位论文参考文献[1] 彭伟.GP2D12 红外测距传感器曲线拟合设计.湖南工业职业技术学 院学报.) :1-3. [2] 韦伟,周凌翱,刘青.一种便携式的红外测距系统.电子设计工 程.) :1-3. [3] 刘昌辉,帅考,杨维荣.嵌入式视觉的测距系统设计.武汉工程大学 学报.) :1-4. [4] 毛玲,李振波,张大伟,陈佳品.基于红外传感器的移动微机器人定 位系统.传感器与微系统.) :1-4. [5] 魏 雅 , 杜 云 . 基 于 单 片 机 遥 控 超 声 波 测 距 智 能 小 车 . 信 息 技 术.-4. [6] 朱杰,何凌霄,林凡强,苟乔欣.最小二乘法分段拟合红外测距系 统.电子器件.) :1-5. [7] 王慧娟,袁全波,房好帅.基于 ARM 的移动机器人红外测距系统设 计.北华航天工业学院学报.) :1-3. [8] 贺洪江,程琳.基于 STM32 与 MODBUS 协议的超声波测距仪设 计.仪表技术与传感器.-4. [9] 王玲,邹小昱,刘思瑶,陈兵林,朱宏超,朱F杰.棉花采摘机器人 红外测距技术研究.农业机械学报.) :1-6. [10] Dagang miao , Shouxiang Jiang , Songmin Shang , Zhuoming chen.Effect of heat treatment on infrared reflection property of Al-doped ZnO films.Solar Energy Materials and Solar Cells.:1-6. [11] Sheng Lu , Xiao-Li Cao , Zhong-Jian Cai , Gao-Rong Zeng and Tan Liu.An Embedded CPU Based Automatic Ranging.2007 Mediterranean Conference On Control And Automation,Athens-Greece,July 27-29, . [12] Qi ZHANG Hao YANG Yuguang WEI.Calibration of LiDAR device using infrared images . International symposium on Innovation and sustainability of modern railway 3rd.Nanchang.. [13] Liang Xu , Zhiqiang Meng . An Infrared Ranging System For- 27 - 哈尔滨理工大学学士学位论文Automotive Anti-collision.International workshop on internet of things&#39; technology and innovative application design.Beijing.. [14] D. Salido-Monzu , E. Martin-Gorostiza , J. L. Lazaro-Galilea , F. Domingo-Perez.Multipath Mitigation for a Phase-Based Infrared Ranging System Applied to Indoor Positioning.2013 International Conference on Indoor Positioning and Indoor Navigation,October . [15] 李录锋.基于 AT89C51 超声波测距控制系统设计.制造业自动 化.) :1-3. [16] 蔡红霞,刘继勇.基于 FPGA 脉冲激光测距高精度时间间隔的测 量.计算机与数字工程.-3.- 28 - 哈尔滨理工大学学士学位论文附录 A/********************************** 本程序主要功能:将红外测距传 感 器 测 得 距 离 显 示 在 lcd 上 **************************************************/ #include &stm32f10x.h& #include &SYSTICK.h& #include &USART.h& #include &led.h& #include &ADC.h& #include &lcd1602.h& #include &GPIO.h& int main(void) { u8 i= 0; float float_Distance,Sum_Distance=0.0; //浮点距离值单位 cm u16 D //整型距离之 u16 //AD 转换值 12 位 AD float adc1; //AD 转换电压 SystemInit(); //系统初始化 SYSTICK_Init(); //延时初始化 LCD_GPIO_Config(); LCD_INIT(); //LCD 初始化 USART1_Config(); //串口 1 初始化 ADC_Config(); LCD_write_string(5,0,&HUST&); LCD_write_string(1,1,&DISTANCE:&); while(1) { adc=Get_AD(); adc = adc && 2; //12 位 AD 转换为 10 位 AD Distance = (10485/(average_adc + 5)) - 4; float_Distance=(1/(adc*(0..000502))-4; Sum_Distance += float_D if(10 == i) {- 29 -// 哈尔滨理工大学学士学位论文// // // // // } }float_Distance = Sum_Distance / 10; Display_Distance(10,1,float_Distance); printf(&滤波后的距离%3.2f cm\n&,float_Distance); Sum_Distance = 0.0; i = 0; } adc1=((float)adc*3.3/4096); printf(&\r\n 电压值= %2.2fV\r\n&,adc1); printf(&当前距离 % d CM\n&,Distance); printf(&AD 转换值 %d\n&,adc); printf(&实时距离 %3.1f cm\n&,float_Distance); Display_Distance(10,1,float_Distance); i++; delay_ms(100);#include &ADC.h& /************************************************************ **** 函 数 名 :ADC_Config 功 能 :ADC 初 始 化 ***************************************************************/ void ADC_Config(void) { ADC_InitTypeDef ADC_InitS GPIO_InitTypeDef GPIO_InitS RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Peri ph_GPIOA,ENABLE); //打开 ADC1 时钟,打开 GPIOC 时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //PA7 配置成模拟输入模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); ADC_InitStructure.ADC_Mode=ADC_Mode_I //独立模式 ADC_InitStructure.ADC_ScanConvMode=ENABLE; //连续多通道模式 ADC_InitStructure.ADC_ContinuousConvMode=ENABLE; //连续转换 ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_N- 30 - 哈尔滨理工大学学士学位论文//模数转换由软件启动 ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_R //ADC 数据右对齐 ADC_InitStructure.ADC_NbrOfChannel=1; //扫描通道数,从 1 到 16 ADC_Init(ADC1, &ADC_InitStructure); ADC_RegularChannelConfig(ADC1, ADC_Channel_7, ADC_SampleTime_71Cycles5); //通道 PA7,采用时间为 55.5 周期,1 代表规则通道第一个 ADC_Cmd (ADC1, ENABLE); //使能 ADC1 ADC_SoftwareStartConvCmd(ADC1,ENABLE); //使能 ADC1_7 软件转换开始 } u16 Get_AD(void) { while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); //检测转换结束标志位,等待转换结束 return ADC_GetConversionValue(ADC1); //返回最近一次 ADC1 规则组 的转换结果 }1,#include &lcd1602.h& #include &SYSTICK.h& #include &GPIO.h& #include &stdio.h& /**********判忙函数*****************/ u8 LCD_check_busy() { //u8 ReadV GPIO_Write(GPIOC,0xFF); RS_CLR; delay_us(1); RW_SET; delay_us(1); do { EN_CLR; delay_us(200);- 31 - 哈尔滨理工大学学士学位论文EN_SET; delay_us(200); }while(GPIOC-&IDR&0X80); return (u8)0; } /*************lcd 写命令 ********************/ void LCD_write_com(unsigned char com) { //while(LCD_check_busy()); //???? EN_CLR; delay_us(1); RS_CLR; delay_us(1); RW_CLR; delay_us(1); GPIO_Write(GPIOC,com); delay_us(500); EN_SET; delay_ms(1); EN_CLR; delay_us(100); } /***************LCD 写数据*****************/ void LCD_write_data( char Data) { while(LCD_check_busy()); EN_CLR; delay_us(1); RS_SET; delay_us(1); RW_CLR; delay_us(1); GPIO_Write(GPIOC,Data); delay_us(500); EN_SET; delay_ms(1); EN_CLR; delay_us(100); } /********清屏***************/ void LCD_Clear(void) {- 32 - 哈尔滨理工大学学士学位论文LCD_write_com(0x01); delay_ms(5); } /***************lcd 写字符串******************/ void LCD_write_string(unsigned char x,unsigned char y, char *s ) { if (y == 0) { LCD_write_com(0x80+x); } else { LCD_write_com(0xc0+x); } while (*s) { LCD_write_data(*s); s++; delay_us(500); } } /***************lcd 写字符函数*******************/ void LCD_write_char(unsigned char x,unsigned char y,unsigned char data) { if (y == 0) { LCD_write_com(0x80+x); } else { LCD_write_com(0xc0+x); } LCD_write_data(data); delay_us(500); } /***********lcd 初始化***********************/ void LCD_INIT(void) { delay_ms(15); LCD_write_com(0x38); delay_ms(5); LCD_write_com(0x38);- 33 - 哈尔滨理工大学学士学位论文delay_ms(5); LCD_write_com(0x38); delay_ms(5); LCD_write_com(0x38); delay_ms(5); LCD_write_com(0x08); delay_ms(5); LCD_write_com(0x01); delay_ms(6); LCD_write_com(0x06); delay_ms(5); LCD_write_com(0x0c); delay_ms(5); } /***************************************** * 函数功能:在指定位置显示距离 * 输入:坐标,距离值 ****************************************/ void Display_Distance(unsigned char x,unsigned char y,float number) { char num[10]; char * st r= //为指针分配栈上内存空间 sprintf(str,&%4.2f&,number); LCD_write_string(x,y,str); }- 34 - VCC3.3REMOTE_IN18B20_DQTXDRXDBatteryBAT11L0 10u VCC3.3 H4D1 14 4 Header 2 P Header 2 PD1 2 2 1 2 1 8 4 248Header16P31C0 5 1 1 1 1 1 1 1u 1 0 1 2 3 4 5 6 2 3 4 5 6 7 8 9fPA15PA14PA13PA12PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2PA1PA01 RC2C20 6 9 324 8Mhz Y JTDI JTMSP21MVCC3.31PS_CLKJTCKPS_DATUSB_D+USB_D-LED2U1_RXDLED3U1_TXDLED0BEEPSPI1_MOSISPI1_MISOSPI1_SCKNRF_CESD_CSF_CSKEY2WK_UP2C2 4PKEY1KEY0PD2VCC3.3VCC3.3VCC3.3RESETBOOT0PA15PA14PA13PA12PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2PA1PA0LED111643655444444422221111394821 0 4 0 9 6 5 476532132107654STM32F103RBT6UVVDD_4VDD_3VDD_2VDD_1VBATNRSTBOOT0PD2OSC_OUT/PD1OSC_IN/PD0PA15/JTDIPA14/JTCK/SWCLKPA13/JTMS/SWDIOPA12PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2PA1PA0-WKUP1D1 DC0 9 A4附录 B哈尔滨理工大学学士学位论文- 35 1 C 0 8 PC13-TAMPER-RTC 4 PC15-OSC32_OUT 1 PC14-OSC32_IN C 0 7 4 PB4/JNTRST PB2/BOOT1 PB3/JTDO 1 VSSA C10 VSS_4 VSS_3 VSS_2 VSS_1 0 PC12 PC11 PC10 PB15 PB14 PB13 PB12 PB11 PB10 4 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB9 PB8 PB7 PB6 PB5 PB1 PB0 1 1 6 4 3 4 3 2 5 5 5 4 3 3 3 2 2 1 1 9 8 3 3 3 3 3 2 6 6 5 5 5 5 5 2 2 2 2 8 3 7 1 3 2 1 0 9 8 7 5 4 1 0 6 5 4 3 0 9 2 1 9 8 7 6 5 8 7 6 G G G G PC13 PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 N N N N D D D D IIC_SCL IIC_SDA LCD_BL LCD_CS LCD_RS LCD_WR LCD_RD NRF_IRQ NRF_CS LCD_D15 LCD_D14 LCD_D13 LCD_D12 LCD_D11 LCD_D10 LCD_D9 LCD_D8 LCD_D7 LCD_D6 LCD_D5 LCD_D4 LCD_D3 LCD_D2 LCD_D1 LCD_D0 JNTRST JTDO BOOT1 2 C 32.768Khz 1 T_CS LCD_BL LCD_CS LCD_RS LCD_WR LCD_RD T_MOSI T_MISO T_PEN T_SCK 2 2 P Y 1 2 PD2 PC13 PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 2 C 2 1 P Header 16 P Header 16 P 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 5 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 1 6 5 4 3 2 1 0 6 5 4 3 2 1 0 SPI1_MISOF_CSBOOT0VCC3.3NRF24L01URESET8G VCC CSN SCK IRQMOSIMISON CD E 1 RVCC3.30 60K VCC3.3 1 R1 1 8 C11 0234567843210KW25X16U4GWP#SC7NO SVCC3.3D Header 3X2 BOOTNRF_CENRF_CSSPI1_SCKSPI1_MOSISPI1_MISONRF_IRQHOLD531CLKVCCSI6 RESET425678VCC3.3VCC3.31RVCC3.3 70SPI1_MOSISPI1_SCK0K18B20_DQ4R144R134R124R114R101C177777700 BOOT100004EEEEPWR1 DS18B20U3210G NG 52D Q3VCC4.7KR16LED3LED2LED1LED0PS/2PS/2VCC3.3DATAG VCC CLK RESU1_TXD N N NU1_RXDC 4 3 2 1D C1C13024C02U4123456SGAAA4N210DVCC1SDA SCL W1RPS_DATPS_CLK0 5KP5678RRRR4321IIC_SDAIIC_SCLVCC3.3VCC5 11110000KKKK1C18 G1C15004N 4RESETJTDOJTMSJTDIJTRSTDR18R174.7KR361R351C19KuF 4.7K4.7KT_PEN1111197531 97531T_CST_MISOVCC3.3LCD_BLLCD_D15LCD_D13LCD_D11LCD_D9LCD_D7LCD_D5LCD_D3LCD_D1RESETLCD_WRLCD_CSJTAGJTAGNNRESET#TDO/SWONTCK/SWCLKTMS/SWDIOTDITRSTVCCCD哈尔滨理工大学学士学位论文- 36 3 3 2 2 2 2 2 1 1 1 1 1 3 1 9 7 5 3 1 9 7 5 3 1 9 7 5 3 1 TETLCD 2.8&#39;LCD T_CS T_PEN MISO G VDD3.3 B DB17 DB15 DB13 DB11 DB8 DB6 DB4 DB2 RST WR/CLK LCD_CS N L D BL_VDD VDD3.3 MOSI G G DB16 DB14 DB12 DB10 CLK M N N R R DB7 DB5 DB3 DB1 O D D D S 3 3 3 2 2 2 2 2 1 1 1 1 1 8 6 4 2 4 2 0 8 6 4 2 0 8 6 4 2 0 T_SCK T_MOSI VCC5 VCC3.3 LCD_D14 LCD_D12 LCD_D10 LCD_D8 LCD_D6 LCD_D4 LCD_D2 LCD_D0 LCD_RD LCD_RS 1 C22 BEEP_JP 0 4 1 C20 0 4 OLED 1 2 1 C21 0 VCC3.3 4DVCC3.3PA01RW10KGGGGGGGGGVNNNNNNNNNDDDDDDDDDDDADC_JPADC_JP21 2111118642086420VCC3.31C12VCC3.3 4 8 Q05 7 50211R15REMOTE_INKHC_12065H121 1U1DATA8 6 3 2G ND8BEEP_JP3VCCBEEP1C140 VCC3.3 4VCC3.3KEY7KEY6KEY5KEY4KEY3KEY2KEY1KEY0WAKEKEY7KEY6KEY5KEY4KEY3KEY2KEY1KEY0WK_UP RESETPB15PB14PB13PB12PB11PB10PB9PB8VCC3.3R26R25R24R23R22R21R20R198Q4D5 6 51 3 4081R42K444444441R411R4077777777K000000000KPC9PC8PC7PC6BOOT08Q0 5 50R30R29R28R27VCC5.0 1R391R37K0KVCC3.344447777110 C24000350 1 2 4 71C231R380KdgfedcbapDS11100ef441 2 dGRXDVCC3.3TXDCOM Ng D8Q5 1 5 a0c11111b43210 987654321PL2303UEE_DATAEE_CLKSHTD_NCTS_NDCD_NDSR_NVGRI_NRXDVDD_232RTS_NDTR_NTXD2DNefDD9 dCOMgTRI_MODE LD_MODE8Q VDD_3V3GND_3V3VDD_PLLGND_PLLPLL_TEST5 2 5 a0RESETVGOSC1OSC2c DD DNbPM DD1111122222222256789012345678efPL2302_D+PL2302_D-VCC3.3VCC5.0d VCC5.08 g4R43COM5aC27K8Q5 3 50c10buFVCC5.0哈尔滨理工大学学士学位论文- 37 e d 6 CUM 8 Q 5 4 5 0 c DS_JP 2 VCC3.3 1 1 C16 0 VCC3.3 4 R34 R33 R32 R31 4 4 4 4 5 5 5 5 K K K K SPI1_MISO SPI1_SCK SPI1_MOSI SD_CS 1 1 1 2 1 0 8 7 6 5 4 3 2 1 9 SDCARD_L SD_CARD G CARD_WP CARD_INSET DAT1/IRQ DAT0/D0 VSS2 CLK/SCK V VSS1 CMD/DI DAT3/CS DAT2 N D D D SD_Adapter 外 电 源 DC5Vf2C251 12MHz2P Y3g2a2C262PVCC3.3b1C28042C2920uF24AMSUOO3VCC5VOUT2VCC3.3VOUT1UUTT531531GND NI64264213VCC3.3VCC51C3004VCC3.3 USB_D+USB_D-1F2C31VCC3.3 PL2302_D+PL2302_D-A 120uFR49321R48R47BUTTONON/OFFI/O1TAP1I/O11.5KR46R45R4422221.5K22 TAP2 2 2 I/O2I/O243214321 456USBUSBUSB_232USB_232GDDVCCGDDVCCN+-N+-DC_INDD 哈尔滨理工大学学士学位论文附录 C- 38 - 哈尔滨理工大学学士学位论文- 39 - 哈尔滨理工大学学士学位论文- 40 - 哈尔滨理工大学学士学位论文- 41 - 哈尔滨理工大学学士学位论文- 42 - 哈尔滨理工大学学士学位论文文献翻译:基于自动测距嵌入式 CPU 系统的车辆摘要:基于车辆的光机电自动测距系统的结构和原理,在嵌入式 CPU 的基础上,本文有一个关于汽车测距系统的体系结构与设计和风险评估与 决策的讨论和研究。嵌入式系统的解决方案已经得到了良好的实时性能, 它可以促进该系统的数据处理能力。本文主要介绍了基于单片机的测距系 统、硬件体系结构、软件体系结构和一些其他基于嵌入式系统的关键技术 的测距系统等一些缺陷,它还引入了使用两个激光雷达光探测和测距方法 的解决方案。一、介绍单片机广泛用于传统的控制系统。但随着科学技术和计算机的发展, 发现单片机已经不能满足越来越多的综合性,多功能化,模块化的检测和 控制系统的要求。嵌入式系统已经有了在未来控制系统发展趋势。 在这里,我们采用了嵌入式的杰出系统之一:Linux。Linux 是一个小 型的操作系统,只满足嵌入式系统的需求。它包括一个内核和指定的一些 系统模块。小型嵌入式 Linux 包括三个基础元素,包括引导程序,微内 核,初始化过程。支持 Linux 的 CPU 系统包括 X86 , Alpha , Sparc , Mips,PPC,Arm 等。Linux 的存储设备不是传统的软磁盘或硬盘,而是 ROM,紧凑型闪存,磁盘上的芯片系统或索尼的记忆芯片。内存储器可以 使用通用存储器或特殊的 RAM。 相比较其他嵌入式系统, Linux 是不仅免费的,而且是一个开源项 目。作为一个可定制的平台, Linux 应该是一种流行的嵌入式产品的系统 被应用于许多公司。考虑到 Linux 是开放性的、良好的支撑网络、稳定安 全和其他一些优点,我们倾向于采用 Linux 作为嵌入式系统的自动测距系 统的车辆。 因此,本文对基于 Linux 系统的车载测距系统的研究。我们将详细分 析了硬件设计、软件设计和相关的一些关键技术。二、基于单片机的测距系统道路车辆的不断增加,交通事故也日益增多。作为保护车辆运行的安 全性的有效手段,车辆风险评估和决策的自动测距系统也应运而生,并逐 渐发展起来。该系统是一种检测装置,它可以在碰撞发生之前给司机发出 音频或视觉警告信号。它安装在车内,并及时检测障碍物和车辆,并且当 之间的距离必要时,发送警告信号让司机采取为应对特殊情况的应急措 施,如果必要的话,开始自动制动系统或触发器应急系统,以避免事故的 发生。 该系统的核心是迅速和准确地测量出车辆与障碍物之间的距离,并及- 43 - 哈尔滨理工大学学士学位论文时发送警告信号。如果一个自动制动刹车系统或一个安装气囊安全系统, 它也可以自动处理高风险紧急 [1,2,3]。基于传统的单片机测距系统被示为图 1,它被脉冲触发并有激光头发 出检测的光束,并且通过获得的反射光线和距离计算公式来实现。它可以 完成的计算,但它也有一些缺陷,它很容易被外部噪声干扰。并且单片机 数据处理能力较弱,脉冲频率受限制。因此,如果车辆在非常高的速度运 行时,基于单片机测距系统可能过载并进行了错误的计算将其引导到一个 错误的决定,这当车辆在高速运行时是很危险的。 所以现在我们对基于嵌入式系统的测距系统的车辆进行探讨和研究。 该系统是建立在 MPC5200 嵌入式微处理器,采用光机电一体化技术。首 先介绍了车辆的风险评估和决策的自动测距系统的工作原理。其次对它的 实用系统组成进行了分析。最后,提供了一个可行的结构自动测距系统的 设计。三、主要工作原理A、嵌入式系统的体系结构 车辆的自动测距系统主要由微处理器、功率组件、前探测器(左和 右) 、背面探测器(左和右) 、警报部件和 GUI 界面。该体系结构示于图 2。 该控制模块由嵌入式微处理器子系统、电源部件、报警部件和 GUI 模 块,它安装在转向室的仪器板的;两个前探测器安装在后视镜中的操舵室 的左,右两侧的背面;两到四组探测器安装在汽车外侧及汽车的底部;主 要控制模块,前端检测器和背面探测器与长线驱动器[4,5,6]相连。- 44 - 哈尔滨理工大学学士学位论文B、光机电一体化系统的工作原理 前面和后面的检测器可用于测量发射脉冲到达障碍物并返回到控制模 块的间隔。区别在于前面探测器发送时间间隔被嵌入式微处理器得到,而 后面检测器发送时间间隔由一个 HIS/ HSO 接口得到。该控制模块将根据 间隔和距离确定危险水平,如果结果是在安全极限时,警报或安全保护系 统将自动启动。由前、后、左、右探测器得到不同的报警方式和处理方法 用于处理不同的情况。当该距离小于预定值时,系统发出报警信号;当距 离小于所述高风险值,在系统启动的安全防护装置[7,8,9]。四、激光雷达测距系统A、系统结构的组成 在现代科学领域,测距技术包括超声波测距,激光雷达测距波,红外 线测距系统和卫星导航测距技术。考虑到精度和稳定性,我们采用激光雷 达测距技术,并使用激光雷达作为实际测距成分[10,11]。 实际工作系统包括激光测距激光雷、CPU、正面和背面环境检测激光 雷达、液晶显示器、发送端和接端、车速传感器等,其工作原理如图 3 所 示。测距和速度检测激光雷达安装在车辆的前部。系统编码和调制从半导 体激光器发出的脉冲。激光雷达天线发射激光到障碍物或汽车,并接收由- 45 - 哈尔滨理工大学学士学位论文激光雷达的反射信号,则控制模块将信号解调得到的距离和方位。通过控 制模块不断分析距离和方位数据,可以判断对象是否移动和移动物体的速 度和距离还有风险水平,如果可能与对象发生碰撞,系统会发出警报信 号,调整汽车的速度和行驶方向。 该系统通过使用光切片法得到目标的距离。该系统包括一个 CCD 摄 像机和激光装置。相机设置为一个固定的姿态和距离的激光设备。相机设 置为一个固定的姿态和距离与激光装置之间。目标上的投影线由 CCD 照 相机观察到。通过三角测量使用检测到的线得到的车辆的相对位置。该系 统的分辨率取决于摄像机的分辨率的配置。 B、硬件设计 1 、系统架构:在的实际的硬件系统构成,嵌入式微处理器型号是 MPC5200 。飞思卡尔的高度集成,高性价比的 MPC5200 非常适合于网 络,媒体,工业控制和汽车应用。它提供 760 MIPS 与浮点单元(FPU) , 硬件内存管理单元(MMU)用于快速切换任务,多个 I/O 口,以及工作在 一个功耗比的情况下。 MPC5200 服务运算网络媒体网关、网络访问存 储、机顶盒、音频自动点唱汽车、互联网接入、工业自动化、图像检测/分 析和电子/ 医疗器械市场。实时操作系统( RTOS)[12,13]和开发板与板级 支持包(BSP)的可靠选择为用户提供了一个完整而灵活的解决方案。图 4 是实用的硬件结构。当激光雷达光学天线的反射信号被接收,编 码、调制和解调之后,它被转换为电压信号,可以容易地被处理,并且该 电压信号由 A/D 转换器转换,并通过 I/O 口发送到 MPC5200。以同样的 方式,从正面,背面,侧面环境条件探测器从不同方向获得的信息,并且 将它们通过 I/O 电路发送到 MPC5200 处理。MPC5200 与 PCI 显示模块或 LCD 连接,该信息可以通过液晶显示由交互式操作来实现。当系统检测到- 46 - 哈尔滨理工大学学士学位论文磁盘、主控制模块在测试风险水平时,然后发送报警信号,调整运行速度 并紧急制动、弹出气囊或做一些其他的相关安全措施。 一个典型的激光雷达的框图描述在图 5 中。所有组件必须是低成本项 目,事实上,许多设计决策驱动。压控振荡器(VCO)通常用于调制的输 出通过耿氏二极管发射器,一般消耗 1-10 毫瓦的电力。信号然后通过循环 到天线。接收到的信号通过循环和混合到基带(通常在扩增前) 、放大、 滤波、数字化后发送到信号处理器和威胁评估处理器。该信号被直接混合 到基带而不是更吸引人中频(IF)在为了最大限度地减少硬件和成本。目前大部分激光雷达工作正在集中内 76-77 GHz 频段,有以下一些原 因: (1)这个频段很少被使用,相对于更多使用的 60 GHz 和 94 GHz 频 带, (2)欧洲已经选择了这个频段是其整车激光雷达波段, ( 3)射频组件 技术迅速成熟, (4)窄波束宽度是由一个合理的孔径尺寸实现的。此外, 联邦通信委员会最近批准了 76-77 GHz 频段(以及其他频段)在美国经营 的汽车激光雷达系统。 2、信号处理:对于一个假想的激光雷达的信号处理流程示于图 6。信 号处理器的主要功能是检测并跟踪传感器探测的对象。数字化数据是从每 个接收到的脉冲经由一维快速傅里叶变换,所致该天线波束宽度内的信息 进行处理。小数量的连续型能量被集成,以提高信噪比。个别范围段进行 比较的阈值,并与任何超过阈值能量的对象处理进一步确定范围和相对速 度。这些输出,连同有关方位角位置(天线角度)都用于初始化或更新对 象轨迹文件。跟踪文件的输出传递到威胁评估处理器,它决定了 AICC (自主智能巡航控制)或函数 FCW (前部碰撞警告)在适当时候的反 应。- 47 - 哈尔滨理工大学学士学位论文3、使用两个激光雷达的优点:假设前方 5 米有一个车辆。激光可能 会打到车辆的后方反射器。在这种情况下,激光雷达不能检测车辆因为激 光束不能击中一个反射器,重要信息可能会丢失。为了避免这种情况,使 用两个激光雷达。一个雷达的例子和两个雷达配置如图 7 所示。典型车辆 宽度假设为 1.5 米分开放在试验车的前保险杠上。暗区代表目标车辆,其 激光雷达来检测尾灯的中心位置。白色区域表示盲区[14,15,16]。通过使用两个激光雷达,盲点区域是显著减少,并且可检测的目标区 域变得更宽。注意,在激光雷达探测最重要的区域时,试验车正前方就是 一个被遮蔽的盲点。 利用两个激光雷达在交通监控系统中,三个有问题必须克服: (P1)因为光束产生许多重叠区域,确定的目标车辆位置是非常困难 的。无论怎样,我们必须揣度这束光束检测相同的车辆。这个问题适合于 某种集群技术。如果多个波束探测同一辆车,它们的输出会表现出相同的 动态行为。因此,该技术必须使用这些动态,有效地辨别汽车。如何从所 有六个波束的信息融合到业务活动的连贯的画面? (P2)该雷达系统具有较高的纵向分辨率,但较低的角分辨率,因为 这里只有六个横梁。因此,横向尺寸应比长纵向尺寸。如何解决这个问- 48 - 哈尔滨理工大学学士学位论文题? (P3)常规的方法是不稳定的,因为它们不能检测虚假估计。为了构 建一个更强大的系统,应该如何检测错误的估计[17]? C、软件设计 (1)软件的流程图:当通过光学天线发送的激光束遇到的障碍,它 被反射和散射。并该光学天线接收反射信号。它是由 A/D 转换器转换为数 字信号。不断有距离和方位计算后的信息由 CPU 进行辨析来测试汽车的 速度在安全范围。如果计算出的值小于上限,则系统采用了相应措施。图 8 是系统功能模块的流程图。(2)预警和风险水平的确定:目标速度信息可直接从相位测量或间 接通过速度范围的测定。激光雷达通过多普勒滤波器的反馈信息对对象进 行直接相位测量。多普勒滤波器宽度决定了速度分辨率。 为达到 76-77 千兆赫频带、径向(视线的)1.0 米/秒的速度、510 赫兹 多普勒频移。因此,相对短的积分时间导致精细速度分辨率[18,19]。 对于 FMCW(调频连续波)利用一个上升斜坡和下降斜坡的波形,事 实上,多普勒频移,可以明确地通过取一半的两个斜坡的频移差而确定 的。短脉冲波形的脉冲重复率名义上无疑是足够高的多普勒频谱,单斜率 FMCW 波形通常是多普勒的自脉冲重复率,实际上,一个静止的物体多普 勒可以大于 15KHZ。通常情况下,为了保持传感器数据速率是可控的, PRF 是保持在低于奈奎斯特采样速率,因此这种不确定的结果要通过多普 勒测速进行过滤(2kHz 的 PRF 会导致 4 米/秒速度误差) 。解决歧义的一 种方法是扫描速率范围信息、距离变化信息。由于方位变化分辨率和扫描 更新速率受限制,提供的不详细速度信息(几米每秒)足够解决速度歧义 [20]。通过结合距离变化率信息和精细多普勒分辨率,可以明确地测量物 体的速度。当然其他的技术对物体速度的明确的量也是可能的。 如果对象速度不通过分辨率确定的,如前面提到的,那么精度的测量 可以实现。对象速度可以通过测量返回信号上的脉冲到脉冲的相对相移来 确定。这是一种高精度的测量(不是分辨率) ,因此仅适用于具有高的 SBR 的范围角度小区内的单个对象。再次,通过组合范围速率的信息和对- 49 - 哈尔滨理工大学学士学位论文相位速度测量,人们可以清楚地测量物体的速度。 为了避免危险发生,重要的的是得到相对速度和障碍物与车辆最近的 距离,预警和风险确定的条件是:R,S*,T,Tlim。 在该表达式中,R 是两个对象之间的实际距离; S *是临界安全距离;T 是驾驶员的反应时间;TLIM 是的最小时间,这意味着至少一次的警报系统 没有启动的极限。在 S*,Tlim 由以下表达式确定:S* ?2 (U ? U R ) 2 1 US , ? S 2 GS GP1 U S (U S ? U R )2 T lim ? ? 2 GS GPU S 在该表达式中,Us 是在车的速度; U R 是两个对象的相对速度; U P 是前方车辆的减速度; U S 是自身的标准减速。测距和速度测量公式如下:R? c 8 ?m ? fb? ? fb? , 2?c( fb? ? fb? ) , 4 f0 该式中, c 是激光速度, ?m 是最大调制频率, ? 是调制波的重复频 UR ?率, fb? 是信号发送和接收时,正调制信号的差分频率, fb? 是信号发送和 接收时,负调制信号的差分频率, f0 是发射中心频率。 从上述情况,可以得出结论,该软件的功能是检测到 fb? 、 fb? 和我们 给出的 U R 、R、S*,并与之比较。然后确定计算风险水平,也就是确定是 否为安全距离,是否发送预警和风险警报信号,使得自身的速度和两车之 间的距离一直保持在安全条件下。5、结论与展望车辆风险评估自动测距系统,可用于各种车辆,优先用于救护车,公 交车,消防车,教练,急救车,公务车和出租车。随着汽车工业的不断发 展,将发挥越来越重要的作用。车辆风险评估自动测距系统是高科技的产 物,它将伴随着微电子学,光学,激光,红外技术,并在将来有新的发 展。它的发展方向如下表所示: (1)为了满足高速,进一步扩大增加检测范围; (2)有了反馈系统和自动驾驶仪,保持自动合适的距离和前做出决 定,无人干预。 (3)为了降低成本和价格; 扩建 (4)智能化的方向发展。- 50 - 哈尔滨理工大学学士学位论文致谢该研究工作得到上海科学技术委员会(
)的科学技术发展 基金会的支持。并且它也得到了中国公关上海大学刘积仁有限公司的支 持。- 51 -

我要回帖

更多关于 stm32单片机教程 的文章

 

随机推荐