PG(中国大陆)电子·控股有限公司-官网

毕业设计——智能泊车系统设计(上位机)pdf-PG电子控股有限公司
关闭
毕业设计——智能泊车系统设计(上位机)pdf
作者:小编 日期:2026-01-20 点击数: 

  

毕业设计——智能泊车系统设计(上位机)pdf

  毕业设计(论文) 设计论文题目: 智能泊车系统设计(上位机) 学 生 姓 名 : 学 生 学 号 : 专 业 班 级 : 学 院 名 称 : 指 导 老 师 : 学 院 院 长 : 2013 年6 月 3 日 毕业设计 第I 页 智能泊车系统设计(上位机) 摘 要 泊车系统是针对汽车泊车问题提出的解决方案,它是一种通过外部 传感器来感知外界环境信息,运用泊车策略来控制汽车的转向、速度, 来使车辆完成泊车任务的系统。一般的泊车系统存在于中高端的汽车 中,而低端的汽车并不带有泊车系统。本设计旨在运用低端汽车中的 现有设备,并经过适当的改造使其具有辅助泊车的功能。 本设计从泊车经验的调研入手,结合ARM9 芯片的特性,完成泊车 系统上位机的设计,主要内容: 首先,建立车辆泊车过程中的运动模型,对影响汽车泊车过程的 基本参数进行分析。 其次,调研得到不同泊车过程的基本经验,并将经验转化为数学模 型,以建立专家经验,同时进行数学仿真,检验专家经验的正确性。 最后,结合MINI2440 开发板上的基本功能模块,将专家经验程序 化,编译并调试程序,完成系统的设计。 关键词:垂直泊车;平行泊车; MINI2440 毕业设计 第II 页 Abstract The parking system is proposed solutions for car parking problem, it is an external sensors to perceive the external environment information, the use of the parking strategy to control the cars steering speed, so that the vehicle parking tasks. The general parking system exists in the high-end cars, low-end cars have no parking system. Designed to use existing equipment in the low-end car, and it has the proper transformation. The design from the drivers parking experience, and combined with the characteristics of the ARM9 chip to complete the design of the parking system host computer, the main content: First of all, the car kinematics model of car parking in the basic movement, an understanding of the basic parameters that affect the process of car parking. Secondly, the basic experience of the car parking process is summarized and translated into mathematical parameter model, combined with vehicle kinematics mathematical simulation in order to verify its correctness. Finally, program the basic function with MINI2440 develop board, compile and debug these program ,complete the task of the system design . Keywords: vertical parking; parallel parking; MINI2440 毕业设计 第III 页 目录 摘要I Abstract II 第1 章 绪论1 1.1 研究背景与意义1 1.2 研究现状与问题 2 1.3 本文主要工作与结构安排 2 第2 章 车辆数学建模与泊车问题分析4 2.1 车辆的运动学模型4 2.2 泊车问题参数分析6 2.2.1 泊车基本过程6 2.2.2 泊车的相关参数分析8 2.3 本章小结9 第3 章 路径规划10 3.1 实际泊车经验模型10 3.2 规划路径显示拟合12 3.3 MATLAB 仿线 章 系统软、硬件分析17 4.1 系统总体设计17 4.2 MINI2440 开发板及相应的功能模块分析 18 4.3 软件开发环境简介19 4.4 系统底层模块分析19 4.4.1 串口Uart 分析20 毕业设计 第IV 页 4.4.2 LCD 显示分析 21 4.4.3 I2S 音频分析 24 4.5 系统相应的泊车模块分析25 4.5.1 车外环境判断模块分析25 4.5.2 平行、垂直泊车模块分析26 4.5.3 实时指示模块分析27 4.6 本章小结28 第4 章 系统性能实验分析29 5.1 实验目的与方法29 5.2 实验过程29 5.3 结果分析29 5.4 本章小结32 结论33 致谢34 参考文献35 毕业设计 第1 页 第1 章 绪论 1.1 研究背景与意义 目前,汽车的发展已经到到前所未有的高度,未来的汽车将要向智能性、易操作性、 舒适性发展。汽车技术将是集自动控制技术、信息融合技术、机械设计制造技术等于一 体的多学科、多行业的综合性技术。其中,泊车系统是汽车智能化的一个重要方面,虽 然国内外有此类的产品,但此类的研究都尚属起步阶段。 即使是专业的驾驶人员,车辆的泊车过程也是是比较复杂的,它对驾驶员的驾驶经 验、技巧和自身的反应能力有很高的要求。大多数的泊车都采用倒车方式,泊车时需要 驾驶人员通过后视镜对车辆后方的相关情况进行精确的了解,并能够实时地对车辆的泊 车路径进行修正,使车辆更好地安全入库。可见,这样的操作过程容易由于驾驶人员的 个人关系而发生意外,造成不必要的损失。一项调查报告显示,车辆保险赔偿中的三分 之一是由车辆泊车入位发生意外引起的。在汽车蓬勃发展的今天,面对巨大的市场需求, 很多车辆厂商及研究机构都做了相关的泊车研究,并依托成熟的汽车电子平台做出了不 同形式的泊车系统如雪铁龙的城市泊车系统 (City Park),它可以使车辆在拥挤的室内 泊车入位变得轻松自如。综上可知泊车系统不但降低了车辆驾驶人员的负担,提升了车 辆的安全性与易操作性,而且促使汽车向自动化、智能化发展而提升汽车的附加值。 1.2 研究现状与问题 泊车系统的研究可以追溯到上世纪八九十年代的德国,用来解决驾驶员无法找位停 车、停车后无法出车等问题。德国宝马公司对此提出自动停车入库系统,这一系统只是 在简单地将车直线倒入车位内,但由此揭开了泊车系统研究的序幕。 此后,泊车问题吸引了欧美日等国的研究人员的注意,许多研究机构对其进行了很 多分析,确立了很多研究方法。总结其研究方法,可分为两大类: 1.路径规划:它是通过一定的规则生成既定路径来控制车辆的泊车行为。这种方法 的控制效果十分有限,其精确性依赖于控制策略的精确性,有时其规划的路径也并未能 反应实际的情况。在泊车的过程中,由于驾驶人员的误操作会引起车辆位置的差别,虽 然这种差别可以由驾驶人员修正,但势必会造成时间损失,降低系统的适应性、快速性。 毕业设计 第2 页 典型的路径规划研究是英国伯明翰大学的K.Jiang[1]对自动泊车系统的研究,此 系统通过传感器感知外部环境,再对外部环境作出决策。针对自动泊车过程,他提出包 括外部空间扫描、车辆实时定位、姿态调整三个阶段的研究理论。依靠既定的规划策略 生成一条安全可靠的泊车路径,引导驾驶人员完成泊车。在考虑到实际泊车空间并不能 完全符合所需的要求的情况下,需要车辆作出相应的姿态调整,以使泊车的顺利完成。 同样速度对泊车过程的影响也应能通过调整速度降低。同时在[1]中其路径规划理论通 过移动机器人进行了验证可靠性。 2.基于经验的控制算法:它是根据泊车熟练的驾驶人员的经验,模拟驾驶人员的驾 车行为,产生实时的控制命令。这种方法与车辆相对于泊车位的方向和位置有关,没有 参考路径可循;其研究方法是基于智能控制的方法,常用的是模糊控制,即通过模拟人 类的思维方式来制定相应的模糊控制规则,在不同的泊车阶段实时的根据车辆的姿态作 出相应的决策。 台湾的Shih-Jie Chang 和Tzuu-Hseng S.L i*[2]对自动泊车系统的模糊控制理论进行 了研究,并成功地将成果应用在一台车式移动机器人CTMR(car-type mobile robot)上。 CTMR 和通常的移动机器人类似,最大的不同是CTMR 拥有四个轮子,更接近于实际 的汽车,而通常的移动机器人是三轮或两轮的。Tzuu-Hseng S .Li 运用模糊控制理论 设计了包含自动平行泊车和自动垂直泊车两种泊车方式的泊车系统,并通过对不同泊车 方式的仿真验证了控制算法的有效性。最后,在实际的操作中,CTMR 可以自主完成行 走、平行泊车、垂直泊车等动作,可见在实际的应用中该控制算法的控制效果良好。 本文主要针对是辅助泊车系统的设计,并不涉及到具体的车辆控制问题,只是将路 径的规划进行显示,对驾驶人员进行引导。为了达到效果,本文将结合两种研究方法, 以泊车经验为基础将其进行建模,确立专家模型,在专家模型的规则下进行路径的规划, 即在获取外界信息后,就作出一条基于专家经验的规划路径。 , 1.3 本文主要工作与结构安排 本文的主要工作主要包含泊车路径规划和泊车软硬件系统的设计两个方面的过程。 泊车路径规划就是建立泊车系统所需的路径规划的策略,通过从下位机得到的数据获得 外部环境的信息,由此作出相应的决策生成参考路径,引导驾驶人员泊车。系统的设计 包括软件与硬件方面,软件就是将规划的策略转化为计算机语言,编写计算机程序,硬 毕业设计 第3 页 件是指所用的开发板上的所需的各种模块,包括:Lcd、Uart、I2S 等。 本设计的预期效果共包括三个方面: 1.完成路径规划,并将路径曲线.泊车过程中能够防止碰撞发生,若发生能发出碰撞提示。 3.对实时泊车过程中的车辆姿态进行显示。 本文的具体安排如下: 第1 章,介绍基本的背景、意义、所用研究方法、本文特点等。 第2 章,对研究对象建立数学模型,在运动学下分析影响泊车过程的参数。 第3 章,进行路径规划,结合泊车经验,将其转化为数学模型,建立专家模型,并 对其进行仿真,验证其正确性,完成泊车的策略制定。 第4 章,软硬件系统设计,介绍MINI2440 开发板及相应的模块,进行软、硬系统的 分模块分析与设计,并编写相应的程序。 第5 章,对系统的性能设计实验,并对运行结果进行分析。 第6 章,总结。 毕业设计 第4 页 第2 章 车辆的数学建模与泊车问题分析 2.1 车辆的运动学模型 车辆倒车入库的过程是一个低速运行的过程。在这种情况下车轮滚动时没有侧向滑 动,车辆在缓慢行驶中不出现侧向力,即系统的约束为允许车轮滚动和侧转,但不滑动, 由此建立车辆运动学模型如下。 如图2.1 所示的车辆的运动学模型,在X-Y 坐标系中,矩形代表车辆,其中后轮平 行固定到车身上,并允许滚动或旋转,但不能滑动。前车轮可以转向左侧或右侧,但左、 右前轮必须是平行的。 图5 中描述的相应所有参数的定义如下: ( ) :车辆前轮轴线中心的位置 ( ) :车辆后轮轴线中心的位置 : 车辆后端左边角 : 车辆后端右边角 :车辆前轮与车辆主轴的方向夹角,称为转向角,以顺时针为正 :坐标系X 轴与车辆主轴的方向夹角,成为方位角,以逆时针为正 由上可知,车辆的运动由下面的公式 (2.1)约束 (2.1) 毕业设计 第5 页 Y V 小车主轴 车辆中心 l d 小车 (0,0) X 图2.1 车辆运动学模型示意图 等式(2.1)表示车辆的非完整约束,显示了车辆沿任何可行的路径的切线方向,并以 路径的曲率为界。由于车辆的前轮与后轮的固定距离,则后轮的中心坐标 的方程 为: (2.2) (2.3) 对(2.2)、(2.3)式对时间求导得 (2.4) (2.5) 将(2.4)、(2.5)带入(2.1)可得 (2.6) 又由图1 得 (2.7) (2.8) 将(2.7)、(2.8)带入(2.6)可得 毕业设计 第6 页 (2.9) 整理(2.3)、(2.7)、(2.8)、(2.9)的后轮的运动学方程为 (2.10) 其中, 为车身的横摆角速度。 对车辆的姿态可由(2.10)中的 表示,为方便起见用 代替,对其离散化 如下 (2.11) 其中, 表示采样时间,i 表示某一采样时刻。 同理,可知后端左、右边角与 关系方程分别为: (2.12) (2.13) 本文的研究对象为前置后驱式的车辆,其详细参数表如下: 表2.1 车辆基本参数 字母 物理意义 数值 n 车长(mm) 4680 w 车宽(mm) 1720 l 轴距(mm) 2700 d 后悬(mm) 1000 前轮转角(degree) [-45,45] R 最小拐弯半径(m) 11.6 V 车速(km/h) 3 毕业设计 第7 页 2.2 泊车问题参数分析 一般的泊车形式有平行泊车、垂直泊车两种,他们的区别在于最终完成泊车时车身 方向角与泊车过程车辆行驶方向的位置关系的不同。为了便于表述,本文将平行泊车简 称为平泊,垂直泊车简称为垂泊,它们的处理过程类似,本文将以平行泊车为例,进行 泊车问题的讨论。 2.2.1 泊车基本过程 在现实生活中,泊车过程是较复杂的。在进行泊车之前,驾驶人员需要对周边的环 境进行判断,以确定泊车空间能否满足泊车要求;在泊车过程中,驾驶人员实际操作车 辆的入位,并要对车辆的安全作出判断;在泊车入位之后,驾驶人员需要对车辆最终的 姿态进行调整,以方便出车。总结以上基本过程,本文将泊车的基本过程划分为为三个 阶段,分别为外部环境判断阶段、泊车入位阶段、微调摆正阶段。 1. 外部环境判断阶段 对于泊车系统而言,泊车开始之前需要进行外部环境的探测,确定外部空间能否满 足泊车要求。由外部的传感器得到的离散的数据可以组成相应的泊车空间。 扫描方向 Car Car Car 预测泊车空间 图2.2 泊车空间判断阶段示意图 2.泊车入位阶段 扫描完毕后,就可以得到相应的空间参数,将进入相应的泊车阶段,先将车辆从预 备位置旋转一定的角度,将车辆进入相应的泊车空间,再将角度微调,逐步将车辆移入 毕业设计 第8 页 泊车空间内。 前进方向 图2.3 倒入泊车空间阶段示意图 3. 微调摆正阶段 此阶段,倒入泊车阶段的车辆空间位置并不是合适的停车点,所以需要将车辆的姿 态、位置进行略微的调整,以使停车位符合人们的习惯,同时能够方便出车。 前进方向 图2.4 微调摆正阶段示意图 2.2.2 泊车相关参数分析 进行泊车之前的首要任务就是找到合适的初始泊车位置,如图2.5 所示,在泊车入 位阶段,车辆由初始位置1 经过 2、3、4 后到达最终位置5,在入位过程中,车辆不能 与其泊车空间的前方、后方、侧方发生碰撞,这就需要知道恰好能够泊车的空间大小, 即最小泊车空间。 根据数学模型可知,当满打方向盘极限转弯时,存在最小转弯半径,由此可得出最 毕业设计 第9 页 小的泊车空间。如图2.5 所示,其中泊车位宽度为wk,泊车位长度为wc,车辆在初始位 置1 时,车身方位角 为0 度,前轮转向角为最大45 度,车身距前方侧边的距离长度为 cb 一般为 1 米;在位置 2 时,车身方位角 已达到45 度左右,入位时应减小前轮转向 角以使车辆方便进入泊车空间,为避免碰撞应与拐角处保持0.1 米左右的距离;在位置 3 时,车身己完全进入泊车位,参照[3],当车身方向角小于15 度时,认为泊车已经基 本成功。 1 2 3 4 5 后方 前方 侧方 图2.5 泊车空间与车辆姿势示意图 由此可知泊车空间应满足如下: (2.14) 其中N、W为车辆长宽;R为最小转弯半径;0.1为安全保持宽度;0.5为初始位置与邻 车保持的距离;将N、W、R带入得,最小泊车空间的宽度为:2.5米,长度为:6.0米。 综上所述,当外部空间大于最小泊车空间时就可以进行泊车,而在实际中停车位大 小为6.0*2.5,与研究对象的最小泊车空间相符,能够满足泊车的条件。 2.3 本章小结 在本章中,首先建立了车辆的数学模型;其次又对影响车辆泊车的参数分析,最后 得出了平行泊车的最小泊车空间。可以总结出,当外部环境空间大于最小泊车空间时, 就可以认为其满足泊车条件,否则认为无法泊车。 毕业设计 第10 页 第3 章路径规划 路径规划是通过生成既定路径来引导车辆的运动。这种方法需要预先知道泊车路径 的方法与策略,再根据实际的外部环境生成供参考的泊车路径。这种方法的性能依赖于 控制方法精确性,但控制效果并非完全可靠,在出错的情况下,可以由后来的补偿运动 修正,但会增加泊车时间,从而影响泊车系统的实际运行效果。 路径规划的具体研究过程可分为三个步骤: 1. 通过查阅相关资料和技术调研,获得实际泊车经验模型。 2. 将泊车的经验结合车辆运动学模型建立专家模型。 3. 对建立的专家模型进行模拟仿线 实际泊车经验模型 根据有关驾驶人员与专家经验,一般的平行泊车方法可以分解为以下主要步骤:1) 选定区域,确认环境;2)在前进(或后退)中调整与邻车间距为一个车门(1米左右);3) 待车前进(或后退)到车身总心与邻车尾部平齐时,刹车,如图3.1位置1;2)右打满方 毕业设计 第11 页 向盘,松开刹车,使车后退至车方位角大概成45度夹角时刹车,如图3.1位置2;5)打正 方向盘,倒车至后端左边角与车位线)向左打满方向盘, 松开刹车,使车后退至适当位置,刹车;7)微调摆正车身,刹车,如图3.1 位置4;8)拉上手刹;9)熄火。 Y 1 45 2 ( , ) 3 cb 4 wk (0,0) X wc 图3.1 平行泊车坐标示意图 由以上问题可知,以前轮中心 分析,以毫米为单位,在不考虑车身与邻车的 碰撞的情况下对于各个阶段下过程的约束方程如下: 对于步骤2), (3.1) 其中 cb 为车辆与邻车的保持距离,值为 1000, 表示车辆中心初始位置与邻车后端 平齐。 对于步骤3), (3.2) 对于步骤4), (3.3) 毕业设计 第12 页 对于步骤6), (3.4) 可知其控制过程有(3.1)的初始函数,(3.2)、(3.3)、(3.4)三个分段函数组成, 这样就使平行泊车的整个控制过程转化为对数学坐标的控制。 1 90 Y 2 ( , ) 3 cb 1.5 4 m 5 wk (0,0) X wc 图3.2 平行泊车坐标示意图 根据有关驾驶人员与专家经验,一般的垂直泊车方法可以分解为以下主要步骤:1) 选定区域,确认环境;2)在前进(或后退)中调整与邻车间距为一个车门(2米左右);3) 待车前进(或后退)到车身中心与邻车后端相距1米时,刹车,如图3.2位置1;4)向右打 满方向盘,松开刹车,使车后退到车方位角成90度,如图3.2位置4;5)调整车辆位置处 于泊车空间适当位置,刹车,如图3.2位置5;6)拉上手刹;7)熄火。 由图3.2可知,以前轮中心 分析,以毫米为单位,在不考虑车身与邻车的碰 撞的情况下对于各个阶段下的过程约束方程如下: 对于步骤3), (3.5) 毕业设计 第13 页 其中cb 表示车辆与邻车的保持距离,值为2000, 表示邻车后端平齐的距离。 对于步骤4), (3.6) 对于步骤5), (3.7) 可知其控制过程有(3.5)的初始函数,(3.6)、(3.7)两个分段函数组成,这样就 使垂直泊车的整个控制过程转化为对数学坐标的控制。 由此可见,平行泊车、垂直泊车的控制策略类似于数学分段函数的理论,数学分段 函数的图形就代表了控制策略所生成的参考路径。 3.2 规划路径显示拟合 在 3.1 节中得出了本文所用的路径控制函数,但由于本文的软件系统是基于 MINI2440 开发板的裸机程序,不包含C 库中的数学库,无法直接使用路径规划的相关函 数如Sin 或者Cos 等三角函数,所以本文对路径的显示做了进一步的转化。对泊车路径 的曲线进行拟合,转化为MINI2440 可以直接处理的函数,然后在LCD 上显示路径。这 样既可以简化数据的运算,又可以降低开发时的难度。考虑到控制策略的分段性质,本 文采用的是三次的B 样条拟合。 B 样条是样条曲线的一种特殊的表示形式,是B-样条基曲线的线性组合,它不仅易 于计算,而且分段对曲线进行处理,可以减少LCD 显示的压力。 其定义为:在给定m+1 个节点 ,分布在[0,1]区间,其满足 ,它 由n 次B 样条基(basis B-spline)组成 (3.8) 其中 称为控制点,从 开始到 结束;n 为阶数。 m+1 个次B 样条基可以用Cox-de Boor 递归公式 定义 (3.9) 毕业设计 第14 页 (3.10) 当节点等距,称B 样条为均匀B 样条否则为非均匀B 样条。 一般情况下,建立0 为初始值,1 为间距的均匀节点如[0,1,2,3,4,5,6,7,8……]等比较 方便,由于均匀B 样条具有周期性的所以可以得到: (3.11) 其中,u 为相邻节点之间的区间值。 由上式可知,均匀B 样条的周期性性质可以决定B 样条的边界性质:以3 次B 样条 为例,在n 个控制点的曲线上,其中的一个曲线段可以有四个控制点得出,每个曲线段 的两个端点的倒数(斜率)平行于相邻控制点的连线。这样在相邻的控制点下的曲线段 可以有相邻的控制点得到,由此可以得到可知三次B 样条的递推表达为: (3.12) 其中: 为三次B 样条矩阵。 可知在i-3 段可以由第i-3 至i 的四个控制点进行递归处理,这样就可以得到简单 的数学计算公式,简化编程的难度。 对于本系统而言,上述的B 样条拟合仅为便于LCD 图形的显示,其实际的控制算法 并未改变,但路径规划曲线的数据中并未能直接得到所需的控制点,这就需要进行B 样 条控制点的反求。 在总结实际操作经验的基础上,本文已对泊车路径规划参数、路径规划算法讨论完 毕,同时在结合本文开发实际又对泊车路径进行了B 样条的拟合,简化了显示的压力, 提高了系统的处理效率。 3.3 MATLAB 仿线 节中,本文得到了平行泊车、垂直泊车的控制策略,但控制策略的正确 性与否尚属未知,对此本文在数学模型的基础上,进行了 MATLAB 的方针。MATLAB (矩 阵实验室)是一种数学计算软件,主要用于算法开发、数据可视化、数据分析、数值计 毕业设计 第15 页 算等,并可以在图形化界面上对数据进行可视化,是符合本文仿真的要求。 对于平行泊车,其仿线 节中的平行泊车控 制策略仿线 中,矩形框表示的车辆可以顺利地进入泊车空 间,且不会和邻车发生碰撞,可见平行泊车控制策略的可行性。 图3.3 平行泊车经验仿真 在描述路径曲线后,根据上节的方法需要进行数据的转换,同时进行显示比例的变 换,根据其曲线 个控制点矩阵,得到如下数据: [250 80;244 80;238 79;233 78;227 76;222 74;217 71;213 68; 204 64;201 61;193 58;184 53;181 52;174 50;157 45;140 40] 数据拟合仿线 平行泊车曲线 可知,在拟合的过程中,路径曲线与原路径相比有所变形,但大体的形状 并未改变,因此可以用于引导车辆。 对于垂直泊车,其仿线 节中的垂直泊车控 制策略仿线 中矩形框表示的车辆可以顺利地进入泊车空间, 且不会和邻车发生碰撞,可见垂直泊车的控制策略的可行性。 图3.5 垂直泊车经验仿真 在描述路径曲线后,根据上节的方法需要进行数据的转换,同时进行显示比例的变 换,根据其曲线 个控制点矩阵,得到如下数据: 毕业设计 第17 页 [ 150 169;142 167;134 165;126 162;119 158;113 154;107 146;103 139; 101 131;98 124;99 112;100 100;100 88;100 77;100 65;100 53] 数据拟合的仿线 垂直泊车曲线 可知,在拟合的情况下,路径曲线与原路径相比保持了原来的形状,虽有 所略微的锯齿感,但整体的特性并未消失,这对系统的整体性能是可以忽略。 3.4 本章小结 在本章中,讨论和分析泊车系统基本理论与路径规划策略,通过总结专家经验得出 了平行泊车与垂直泊车的不同的专家策略,又结合实际的开发条件,对路径规划的曲线 进行了B 样条拟合,降低了LCD 显示的难度,最后通过MATLAB 的仿真验证了泊车策略 的可行性。 第4 章 系统软、硬件分析 毕业设计 第18 页 在2、3 章中已经对路径规划的基本理论进行了介绍,在今后几章将泊车路径规划的 相关理论应用于实际。对于整个应用包括硬件设计与软件设计,硬件系统是泊车系统依 托的硬件基础,是软件系统的基石。其中包括所用的 CPU、RAM、ROM、CPU 相关的外设 等。软件系统用于实现泊车的整个控制过程,其中最重要的是泊车的路径规划策略的实 现。 4.1 系统总体设计 泊车系统是一个软硬件结合的系统,对于上位机而言,主要是处理来自下位机的数 据,将其转换为相应的空间信息,在根据空间信息,选择相应的泊车方式,再进行泊车 路径的规划。在泊车过程中实时地对碰撞进行检测,若有碰撞应有相应的提示,当完成 泊车任务后结束系统。 硬件系统采用的是友善之臂公司的 MINI2440 开发板,CPU 为 ARM920T 架构的 S3C2440 处理器,由于是已有的硬件系统,硬件的设计将不再详细介绍。 软件系统关系着整个系统的性能与效果,它包含以下几个功能: 1. 扫描外界环境,获取泊车空间的参数。 2. 参考路径的规划与显示。 3. 实时的监控,主要用于碰撞的检测和车辆姿态的参数显示。 依据以上三个功能可将整个系统分为相应的模块分别为:车外环境判断模块、路径 规划模块、实时指示模块。 结合模块化的设计,可得到整个泊车系统处理流程如下: 其他 警 告 车 法 结 外 环 平行 平 束 境 泊 实 判 泊 时 法 断 法 指 垂 垂直 车 示 泊 泊 泊 处 法 车 法 图4.1 系统处理流程图 车 理 泊 处 其中, 车外环境判断模块用于对外部空间的扫描,来获取泊车空间的基本大小; 泊 处 车 车 理 理 处 处 理 毕业设计 第19 页 平泊与垂泊模块分别进行平行泊车路径规划、垂直泊车路径规划;实时泊车模块是指泊 车过程中的实时监控,以防发生碰撞。 4.2 MINI2440 开发板及相应的功能模块分析 本课题重点在于上位机的设计,以MINI2440 开发板作为开发基板,它的功能是将下 位机的数据进行处理后,将规划好的泊车路径液晶显示能力,作实时的操作引导,若有 意外予以报警。 MINI2440 基板上CPU 为S3C2440,主频为400MHz,可超频532MHz,S3C2440 带有多 种接口,本文用到的包括 SDRAM (Synchronous Dynamic Random Access Memory )、 NandFlash (静态存储器中的一种)、NorFlash(静态存储器中的一种)、LCD (Liquid Crystal Display )、 I2S(Inter—IC Sound) 、 UART (Universal Asynchronous Receiver/Transmitter),其中SDRAM 用于运行程序,NandFlash 与NorFLash 用于存储 程序,LCD 用于显示,I2S 用于语音接口,UART 是串口,用于与下位机通信。 Mini2440 基板上SDRAM容量为64M bytes,由两片32M bytes数据宽度16的芯片并联 组成(型号为:HY57V561620FTP/MT48LC16M16A2),它们并接在一起形成32-bit 的总线 数据宽度,这样可以增加访问的速度;因为是并接,故它们都使用了nGCS6 作为片选, 根据S3C2440用户手册[5] 中的介绍可知,这就决定了它们的物理起始地址为 0 Mini2440 具备两种Flash,一种是Nor Flash,型号SST39VF1601大小为2Mbyte,内 置有Bootloader,用于与PC之间的通信;另一种是NandFlash,型号为K9F1G08,大小为 128M,用于存储用户程序与数据。S3C2440 支持这两种Flash 启动系统,在本文中的系 统仅使用NandFlash启动。 MINI2440 基板上本开发板的LCD 为Sony3.5 英寸的X35,分辨率为320×240,数据 宽度是16bpp(bits per pixel),最高为65536 色,支持RGB 数据格式5:6:5 和5:5:5:1 两种,与CPU 共享内存, 使用DMA 传输数据,减少CPU 负载。 MINI2440基板总共有3个串口UART0、1、2,其中UART0,1 可组合为一个全功能的串 口,即通常所说的发送(TXD)和接收(RXD),它们分别对应板上的CON1、CON2、CON3,这 3个接口都是从CPU 直接引出的,是TTL 电平。同时UART0 做了RS232 电平转换,它们 对应于COM0,可以通过附带的直连线与PC 机互相通,便与PC通信。 毕业设计 第20 页 MINI2440基板上有一个I2S接口,用于语音数据的接口。I2S总线是飞利浦公司为数 字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的 数据传输,广泛应用于各种多媒体系统。在本文中I2S用于系统的语音提示功能,其传 输过程与LCD的数据传输类似,但传输过程并未使用DMA,仅使用FIFO,以减少开发难度。 4.3 软件开发环境简介 一般的嵌入式开发中分为目标机与宿主机,目标机是指程序运行的开发板,本文是 指 MINI2440 开发板;宿主机是指在其上进行编写程序、编译等并通过每种方式下载到 目标机的机器,通常是指PC。 本文所用宿主机的系统为是Linux 发行版本之一Ubuntu 12.04,开发工具为ARM 交 叉工具链ARM-Linux-Tools,其中主要包括C 语言编译器arm-linux-gcc,ARM 汇编编译 器arm-linux-as,链接器arm-linux-ld,二进制提取器arm-linux-objdump。 宿主机与目标机通信包括USB 与串口,其中串口用于通信;USB 由于下载,将宿主 机编译成的二进制执行文件下载到MINI2440 上的NandFlash 上。在开发初始,NandFlash 并没有可运行程序,此时需要借助于NorFlash 中的SuperVivi 小型软件将执行代码下 载到NandFlash。 本文的开发文件管理软件为Make,Make 是Linux 下用于管理开发文件的高效软件, 其管理过程是通过 Makefile 文件中的语法规则来实现。宿主机与目标机的交互软件为 Minicom,由于本文所用PC 并没有串行接口,故进行了USB 到串口的转换,Minicom 是 Linux 下用于USB 转串口的交互终端,本文下载软件为Dnw,首先将下载命令通过Minicom 发送到MINI2440 上,再通过Dnw 下载可执行文件到MINI2440 上的NandFlash 上。 4.4 系统底层模块分析 对于小型嵌入式系统而言,重要的是执行效率,所以本文并为依托任何操作系统, 这使系统的性能有所提升,但开发难度有所加大,特别是启动阶段的 Boot 代码。同时 在涉及到C 语言与底层的交互时,也有一些嵌入式汇编。 在本文中很多底层的操作,最重要的有串口Uart、LCD、I2S 三个,在ARM 架构下其 操作都类似,首先初始化硬件相应的寄存器,再次打开硬件开关,最后进行硬件的数据 处理。 毕业设计 第21 页 4.4.1 串口Uart 分析 串口UART 是本系统获得数据的途径,通过UART 本系统获得外部的数据,将数据存 储以用于后面的计算,在图4.1 中扫描方法和泊车方法都使用UART 读取相应的参数。 本文对UART 功能模块分析可分为三步: 1.参考S3C2440 用户手册[5],查看功能特性,熟悉相关寄存器的用途。 可以得到:S3C2440 支持三个UART 口;具有64 字节的FIFO;支持DMA 传输;相关的寄 存器有线路控制寄存器 ULCON* (地址0x5000*000)、UART 控制寄存器 UCON* (地址 0x5000*004 )、FIFO 控制寄存器 UFCON*( 地址 0x5000*004),UART 发送寄存器 UTXH*(0x5000*020), UART 接收寄存器URXH*(0x5000*024),等。 2.参照MINI2440 用户手册[6]及其原理图,查看基板上各个引脚分布,以及所需功 能的接口引脚。其中UART 的原理图如下: 图4.2 串口原理图 3.根据 1)、2)所得知识,结合自身所需的功能特性,编写UART 驱动程序。在程 序中首先需要设置相关引脚功能;其次初始化寄存器相关的参数位;最后打开设备后就 可以使用该功能了。在UART 中的相关初始化代码如下: mov r7,#0 @uart0 相关寄存器基地址 mov r6,#0x3 str r6,[r7] @普通模式;数据位数为8 位; @无奇偶校验停止位 mov r6,#0x05 str r6,[r7,#0x4] @FIFO 模式;时钟PCLK mov r6,#0x0 str r6,[r7,#0x8] @FIFO 初始化 mov r6,#0x0 str r6,[r7,#0xc] @MODEM 控制初始化 毕业设计 第22 页 mov r6,#0x1a str r6,[r7,#0x28] @初始化波特率115200 在完成UART 初始化工作之后,发送数据时就是向UART 发送缓冲寄存器UTXH*写数 据,其中的低8 位有效,就可以将数据通过UART 发送到目标;接收数据时就是从UART 接收缓冲寄存器URXH*读取数据,其中的低8 位有效。 以下的C 语言代码: #define rUTXH0 (*(volatile unsigned char *)0 //UTXH0发送寄存器地址定义宏 #define rURXH0 (*(volatile unsigned char *)0 //URXH0地址寄存器地址定义宏 rUTXH0=c; //发送ASCII码c char r=rURXH0 ; //读取接收字符变量r 表示了UART接收与发送数据的基本过程,在应用将其封装为相应的C语言函数就可以 方便地使用UART完成数据的发送与接收。 4.4.2 LCD 显示分析 LCD 是本系统用于路径显示,可以使路径更加明了,同时对车辆的实时数据显示, 便于系统的交互。在图4.1 中,平行泊车函数、垂直泊车函数、实时显示函数都会用到 LCD 的操作。 本文对LCD 显示模块的分析可分为三步: 1.参考S3C2440 用户手册[5],查看功能特性,可以得到:S3C2440 支持彩色TFT 的 16bpp 无调色的显示,本系统也采用16bpp 的LCD;支持虚拟屏幕,在 16bpp 模式下的 最大虚拟尺寸为:2048×1024;LCD 相关的寄存器有LCD 控制寄存器LCDCON1、LCDCON2、 LCDCON3、LCDCON4、LCDCON5 (地址0x4D000000-0x0x4D000013), LCD 地址寄存器 LCDADDR1、LCDADDR2、LCDADDR3 (地址0x4D000014-0x0x4D000023)等。 对于本系统16bpp 的显存的数据存储方式如下: 表4.1 16bpp 显示数据存储表格式 毕业设计 第23 页 地址 D[31:16] D[15:0] 00H P2 P1 04H P4 P3 08H P6 P5 在表4.1 数据中在LCD 显示数据排列如下: P1 P2 P3 P4 P5 …… …… LCD 面板 图4.3 LCD 面板的数据分布图 2.参照MINI2440 用户手册[6]及其原理图,查看基板上各个引脚分布,以及所需功 能的接口引脚。其中LCD 的原理图如下: 图4.4 LCD 接口原理图 3.在了解LCD 显示寄存器和接口原理后,就进行LCD 驱动的编写。在程序中首先需 要设置相关引脚功能;其次初始化寄存器相关的参数位;最后打开设备后就可以使用该 功能了。在设置类似的寄存器宏定义之后,LCD 中的相关初始化C 代码如下: #define LCD_BUFFER ((volatile unsigned short* )0 //lcd显存地址宏定义 #define M5D(n) ((n) 0x1fffff) //获取地址低21位宏 #define SCR_XSIZE 1200 //虚拟屏幕水平尺寸为1200 #define SCR_YSIZE 1600 //虚拟屏幕垂直尺寸为1600 #define LCD_XSIZE 240 //实际屏幕水平尺寸为240 #define LCD_YSIZE 320 //实际屏幕垂直尺寸为320 毕业设计 第24 页 #define HOZVAL (LCD_XSIZE-1) #define LINEVAL (LCD_YSIZE-1) rGPCUP = 0 //LCD接口使能 rGPCCON = 0xaaaa02a9; //禁止接口上拉 rGPDCON=0xaaaaaaaa; //LCD数据[15..8]使能 rGPDUP = 0 //禁止接口上拉 rLCDCON1=(38) (35)(121)0; //LCD刷新频率50HZ //16bpp的TFT显示模式 rLCDCON2= (LINEVAL14)(46)9; //LCD面板垂直尺寸为320 rLCDCON3=(2519)(HOZVAL8)4; //LCD面板水平尺寸为240 rLCDCON4=4 ; //LCD水平同步脉冲宽度为4 rLCDCON5 = (111) (110) (19) \ (18) (07) (16)1; //LCD显示格式为5:6:5 //上升沿取显示数据 //数据脉冲极性正常 //半字节交换使能 rLCDSADDR1=(((unsigned int)LCD_BUFFER22)21)\ M5D((unsigned int)LCDBASEU); //LCD数据起始地址为0 rLCDSADDR2=M5D((unsigned int)LCDBASEU+\ (SCR_XSIZE*LCD_YSIZE)); //LCD数据结束地址 rLCDSADDR3=(((SCR_XSIZE-LCD_XSIZE))11)(LCD_XSIZE); //虚拟屏幕水平尺寸为1200 毕业设计 第25 页 rLCDINTMSK=(3); // LCD中断屏蔽 rTCONSEL = (~7) ; // 内置显卡禁止 rTPAL=0; // 禁止临时调色板 在完成LCD 初始化工作之后,向LCD 数据起始地址之后,可以按表4.1 的格式向显 存写数据,由于LCD 显示数据是通过DMA 方式进行,之后不需要CPU 参与就可以使LCD 的显示图像更新。 LCD 的数据显示数据相当于一维数组,对其数组的操作就相当对 LCD 图像的操作, 根据相应的LCD 数据操作可以得到基本LCD 显示函数如画线、画圆、显示图片等。 4.4.3 I2S音频分析 I2S 音频是本系统中用于与用户进行交互的途径,在泊车的过程中,通过音频可以 进行语音的引导,当发生碰撞时进行语音提示。 本文对I2S 音频功能模块分析可分为三步: 1.参考S3C2440 用户手册[5], 可以得到I2S 的相关寄存器:I2S 控制寄存器IISCON (地址0、IIS 模式寄存器 IISMOD (地址0、IIS 预分频寄存器 IISPSR (地址0、IIS FIFO 控制寄存器IISFCON (地址0x5500000C)、IIS FIFO 寄存器IISFIFO (地址0。 图4.5 I2S 原理图 2.参照MINI2440 用户手册[6]及其原理图,查看基板上各个引脚分布,以及所需功 毕业设计 第26 页 能的接口引脚。其中I2S 的原理图如下: 根据以上的原理图可知本文的所用的基板上,在I2S 接口外添加了I2S 外部控制器 UDA1341-TS,以使I2S 可以实现音量、噪声的控制,增强了I2S 的处理能力。 3.根据 1、2 所得知识,对音频驱下载PG电子游戏的步骤是怎样的?安装复杂吗?动进行初始化设置。在程序中首先需要设置相关 引脚功能;其次初始化寄存器相关的参数位;最后打开设备后就可以使用该功能了。在 声明寄存器的地址宏后,其相关初始化C 代码如下: rGPEUP = rGPEUP ~(0x1f) 0x1f; //I2S接口使能 rGPECON = rGPECON ~(0x3ff) 0x2aa; //I2S 接口禁止上拉 rCLKCON = 0x20000 //I2S 时钟使能 rIISPSR = (0xa5)0xa; //I2S预分频值为11 rIISCON =0x6; //I2S预分频使能 rIISMOD = 0x8d;//I2S工作接收模式,位时钟频率32fs //串行数据通道16位,主时钟频率384fs rIISFCON=0x2000; //发送FIFO 使能 在完成I2S 初始化工作之后,rIISFIFO 寄存器的数据就是I2S 的数据,在提取WAV 文件中的音频数据,就可以不断向rIISFIFO 写数据,I2S 接口就可以得到音频。 至此,系统的底层的三大功能模块UART、LCD、I2S 均已分析完毕,得出了底层模块 的处理程序。 4.5 系统相应的泊车模块分析 在完成系统所需的相关底层模块分析之后,就需要对本系统所需的泊车有关的模块 的分析。由图4.1 可知,系统的处理流程图知整个系统的主体可以通过调用不同的模块 的进行处理,每个模块都可以在C 语言中封装为相应的函数。 4.5.1 车外环境判断模块分析 扫描过程是探测空间的参数,其通过串口来获得外部数据的参数,从而得到玩不的 泊车空间的数据。: 如图4.6 所示,扫描函数不断获得数据,其中的数据大小与宽度的大小成正比,并 将其加入待检测数据队列中,队列中的数值代表参数cb,并对队列中的首尾做差值,并 毕业设计 第27 页 与原先的阀值做差值,若差值大于正阀值,则启动长度检测定时器,用于对车辆检测车 尾长度的时间计数,此时数值为pb;若差值小于正阀值,则关闭长度检测定时器,此时 的值可以得到泊车空间的长度wc;如为其他情况,则重复上述过程。 开始 读取数据,入待处理队列 其他 大于正阀值 启动长度定时器 小于负阀值 关闭定时器 计算宽度,结束 图4.6 扫描函数处理框图 4.5.2 平行、垂直泊车模块分析 由Scan 函数得到的wc,通过简单的判断就可以作出何种泊车策略。 由2.2.2 节中的最小平行泊车空间可知平行泊车策略,表示如下: (4.1) 同样垂直泊车策略表示如下: (4.2) 对于其他情况均作为错误处理。 平泊、垂泊的处理过程相似,其基本处理过程框图如下: 毕业设计 第28 页

  2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。

  3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。

  4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档

  25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx

  25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障于法有据.pptx

  25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx

  25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx

  上海市黄浦区2024-2025学年八年级上学期期末数学试卷(含答案).pdf

  69095419_A-Aquaeco直流变频水地源(热泵)机组安装操作维护手册20230310-A.pdf

  广东省深圳市宝安区2022-2023学年六年级上学期质量监测用卷科学期末试卷.docx

  人教版六年级上册语文期末考试卷绝对自己编的_有用的老师可以下载_免费.doc

  原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者

顶部