嵌入式系统开发课程设计Word格式文档下载.docx
《嵌入式系统开发课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发课程设计Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
ThispaperputsforwardasystembasedonARMembeddedZigBeetechnologymethodtorealizeintelligenttrafficlights,andthecorrespondingsystemhardwarestructureandsoftwareflow.Thesystemwascarriedoutonthevibrationvalueacquisition,andthenextbitmachineforprocessinganddisplay,atthesametimealsoonZigBeemodulecanshowtheresults.ByusingZigBeetechnology,thesystemhaslowcost,lowpowerconsumption,intelligent,easytomaintainandprotecttheecologicalenvironmentetc,andhasagoodpracticability.
Keywords:
ZigBeetechnology;
ARMembeddedsystem;
Intelligenttrafficlight;
1综述
目前,随着科技和经济的发展,我国的交通系统越来越庞大,交通管理也有了很大的困难。
特别是在节假日时,高速堵塞,城市交通也苦不堪言。
对于城镇交通的管理,主要还是靠红绿灯的控制,但目前现有的红绿灯,大多数是靠单片机控制的。
单片机程序更改是比较麻烦的,而对于实时监测信息也无法满足。
因此,如何搭建一个成本低、维护方便的红绿灯系统是非常重要的。
所以智能交通灯有了很大的应用空间。
无线传感网络这一新技术的出现,为解决路面监测提供了很好的技术方案。
无线传感器网络(wirelesssensornetwork,WSN)是计算机、通信和传感器3项技术相结合的产物,近年来得到了飞速发展,已成为计算机科学领域一个活跃的研究分支[3]。
1.1本文研究背景与意义
交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。
城市交通问题自人类进入21世纪以来,道路交通一直是困扰城市发展、制约城市经济建设的重要因素。
而使用合理的交通灯可以合理的规划城市交通,从而为城市的快速运输和发展提供最优化的交通解决方案。
可以肯定的说,城市道路增长的有限与车辆增加的无限这一对矛盾是导致城市交通拥挤的根本原因。
对于减轻交通拥塞及其副作用特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。
计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。
在少数几个例子中,一些新的控制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。
由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在.智能化和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口[4]。
车辆的不断增多,表明车辆对道路容量的要求仍然很高,短期内还不可能改变。
自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际进展,交通控制领域的控制逻辑方面始终没能取得重大突破。
因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。
把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。
从长远来看该研究具有巨大的现实意义。
1.2智能交通灯的特点
智能交通灯系统拥有可靠的环境信息采集分析能力。
为了实现路面监测的精确性、全面性并且方便使用本文的智能交通灯应具有以下各种特点。
(1)监测路面车流量信息。
(2)多点监测信息同步。
(3)根据监测信息能改变信号灯的时间长度[5]。
1.3国内外研究状况
城市交通信号控制系统的管理是保障城市交通高效有序运行的一个重要组成部分,如何实时有效的对交通信号进行控制,优化城市交通车流是目前国内外学者研究的热点。
对交通信号控制系统的优化,现阶段主要体现在对城市交叉路口相位中的绿信比的调节,通过调节绿信比来形成各个车道的路阻,改变交通车流量。
随着数字智能技术与通信和控制领域的结合,交通信号控制系统的优化逐渐的由孤立路口的控制向大规模区域网络控制、定时控制向自适应控制、集中控制向分布式协同控制的方向发展,传统城市交通网也将被智能交通网络所取代。
1、城市交通信号控制系统的优化
交通信号灯的控制是城市交通网络中一个最主要的控制手段。
通过优化交通岔路口交通灯的红绿灯配时方案,设计有效的交通信号优化控制策略,可提高城市交通资源的利用率,缓解道路拥堵。
目前,设计一个实时可靠并且实际可行的交通信号控制系统仍然有诸多的问题需要解决。
这些问题集中在以下几个方面:
a)绿灯转换是一个离散变化过程,其优化组合往往是一个NP困难问题;
b)城市交通规模巨大,除了要处理大量交通数据外,一定范围内相邻路口交通车流量存在相关性,故相邻路口应有一定的协调特性才能达到整体优化;
c)交通中面临着许多的不可知以及难以测量的扰动因素(如:
交通事故,非法停车,行人穿行等);
d)交通状态的测量信息往往是局部信息,并且测量的准确度受许多因素的影响。
针对以上问题,国内外研究学者提出了交通信号控制系统的解决方案,按几何拓扑可分为交叉路口控制、城市主干道控制和网络控制三类。
2、智能交通系统与分布式协同优化控制
智能交通系统的提出为全面解决城市交通运输问题提供了一个有效的路径。
智能交通系统涵盖了交通领域中的许多方面,包括信息服务系统、交通管理系统、电子收费系统等,是高度综合化、智能化的交通控制系统。
在交通管理方面,智能交通系统采用先进的车辆检测技术和计算机信息处理技术,获取实时交通路况信息,并根据收集到的信息对交通进行控制,信息的收集一方面提高了交通控制的准确性,但同时大量的数据也增加了消息处理的复杂性。
因此,目前不少国内外学者正在研究交通控制系统的分布式解决方案,并尝试将智能控制技术应用到分布式交通信号控制中[6]。
但对于国内来说,最近几年发展迅猛,各地的发展状况良莠不齐,同样各厂家都在推出不同的换代产品。
据了解,目前北京,天津等这些一线城市,发展相对成熟,产品更新较快。
就最新的状况而言,国内最新的智能交通软件在向着多功能多元化的方向发展,一些软件提供厂商都会提供一整套解决方案。
简单的拿闯红灯系统来说:
目前需求不单单仅限于只抓拍闯红灯的违法行为,还需要兼顾治安卡口,录像,压线,逆行,不按道行驶,异常停车等集中一体。
1.4典型无线网络技术介绍
ZigBee技术主要用于低数据传输速率并且传输距离要求不是很远的各种通信设备之间。
ZigBee的名字主要来源于蜜蜂通过跳ZigZag形状的舞蹈来传递所发现的食物的位置、距离和方向等信息一只一只的传递下去此种技术与蜜蜂的这种通信方式相类似。
ZigBee联盟则于2001年成立而在2002年下半年以及四大半导体公司共同宣布加盟ZigBee技术联盟以研发名为ZigBee的新一代无线通信标准。
而在2006年作为中国通信行业龙头的华为公司亦加入了此联盟[7]。
1.5ZigBee技术综述
ZigBee是一种基于IEEE802.15.4标准的低功耗个域网协议根据此协议的规定ZigBee技术是一种短距离、低功耗的无线通信技术。
这一名称来源于蜜蜂的一种名叫ZigBee的舞蹈由于通过持续不断地跳这种舞蹈来实现对新发现的食物或其他信息的传递换句话说蜜蜂是依靠这样的通信方式来实现了一个通信网络而每个个体则是网络中的一个节点。
这样做的好处是不需要专门的通信蜜蜂通过信息接力就完成了整个通信从而实现了蜜蜂的低成本、低数据速率、自组织、低功耗、近距离、低复杂度等的信息传递方式。
受蜜蜂的这种特殊的通信方式的启发ZigBee技术的研究也主要是在低速率、低功耗通信领域进行应用亦可以低成本地嵌入各种设备中组成庞大的网络。
总而言之ZigBee技术就是一种低功耗低成本的无线网络通信技术[8]。
1.5.1ZigBee技术介绍
ZigBee联盟则于2001年成立而在2002年下半年以及四大半导体公司共同宣布加盟ZigBee技术联盟以研发名为“ZigBee”的新一代无线通信标准而在2006年作为中国通信行业龙头的华为公司亦加入了此联盟。
截至目前该联盟大约已有约27家成员企业所有这些公司都参加了负责开发ZigBee协议物理层和媒体控制层技术标准的工作组。
ZigBee联盟负责开发网络层及以上的协议。
ZigBee协议则比蓝牙技术、高速率个人区域网或802.11x无线局域网等技术更简单而实用。
ZigBee使用的是波段采用了跳频技术这和蓝牙技术相似可以说是同族兄弟了。
但相比之下ZigBee协议比蓝牙更简单、速率更慢、功率及费用也更低。
ZigBee的基本速率是传输半径可扩大到400米并可得到更低的功耗和更高的可靠性。
此外单个ZigBee无线模块就可与254个节点互联若网络中加入路由节点则网络最大承载量可支持65535个节点设备互联[9]。
由于它的低延迟和低功耗性能优越性所以在支持鼠标、键盘等电脑周边产品和家庭自动化仪器等低速率应用时可以比蓝牙做地更好人们更希望能在无线玩具、传感器网络、家庭监控、工业监控和安全系统等众多领域拓展ZigBee的应用。
ZigBee网络采用的是无线自组织网络技术与蜜蜂的通信类似网络中的各个节点间通信以一跳或多跳的形式自动建立网络。
网络节点则以ZigBee协议为基础进行通信与各种传统无线网络相比其主要优点有以下几个方面。
(1)网络稳定性好。
其设计的网络自己组织性能使网络各个节点在无需人工干预的情况下自己组网并实现数据传输的任务当添加或去除网络中某个节点时其余节点可以自行寻找其他节点替代中转信息具有较强网络自愈能力
(2)成本低。
由于ZigBee联盟已经有二十多家他们的研发实力都很强好多公司均已在2003年正式推出自己的ZigBee芯片竞争较大近年来应用于主机端的芯片成本将会比蓝牙等模块更具价格上的优势。
(3)功耗低。
它的超低功耗也使得在应用中两节普通AAA干电池即可使用6个月至2年的时间这也是ZigBee的最大的一个优势
(4)网络容量大。
每个ZigBee设备可以与另外254台节点设备相连接而加入路由节点的ZigBee网络最多可容纳多达65000多个节点的网络
(5)数据传输速率低。
只有10kb/s—250kb/s符合本设计需求
(6)工作频段灵活。
使用的频段中2.4GHz全世界通用欧洲使用868MHz美国则使用915MHz频段但这些均是免申请频段可以直接使用
(7)网络延迟时间短。
活动设备信道接入延时和休眠激活延时均仅为15ms而搜索设备延时时间达到30ms根据ZigBee联盟所设定的技术标准按功能分其网络设备划分为三种ZigBee协调器ZigBee路由器ZigBee终端设备。
他们的功能分别如下。
1、ZigBee协调器它是个全功能的设备包含所有的网络功能是3种设备中功能最全面亦最复杂的一种特点是计算能力强、存储量大。
它的作用是发送网络信标、建立并且管理一个网络及网络节点、存储节点信息并且不断地接收下级节点所发来的信息[10]。
2、ZigBee路由器它也是全功能设备在加入网络后协调器就会分配给它一定量的十六位地址空间再由其分别分配给下级节点使用方便每个节点接入或离开网络时具有数据转发及路由之功能。
3、ZigBee终端设备是其一般的简化的功能设备。
只能自己的与上一级如协调器或路由器之间通信包括获取网络地址等。
在ZigBee协议规范中组网时有三种网络拓扑结构可供选择星型结构网状结构和簇树型结构图1.1所示。
图1.1ZigBee网络拓扑结构图
在星状结构中无论是路由器或终端设备都是直接与协调器进行通信在ZigBee协调器则负责运作与维护着整个网络在簇状和网状网络结构中协调器负责初始化和建立网络的操作而路由器则对网络进行扩展终端设备的信息由路由器进行转发,只不过在簇状结构中终端间的信息交换只能通过一级级向上传递到协调器再由协调器将信息分发下去。
1.5.2ZigBee协议分析
ZigBee联盟在IEEE802.15.4协议基础之上规定了ZigBee协议的网络层与应用层协议规范。
下面就网络层与应用层作简要介绍。
ZigBee网络层的主要功能就是确保正常工作同时定义了一些必须的函数并且为应用层提供适合的服务接口。
网络层提供了两个必须的功能服务实体来向应用层提供服务接口它们分别是管理服务实体和数据服务实体。
应用层主要由用户根据具体的应用进行自我开发用以维持节点的各种功能发现此节点工作空间范围内其他节点的工作再根据服务的需求为各个不同的节点提供通信服务。
ZigBee应用层有三个不同的部分分别是应用支持子层、ZigBee设备对象和制造商定义的应用对象。
2搭建平台
由于本课题采用的是嵌入式linux系统,由于通用PC机一般都是x86架构,在x86架构使用的编译器是GCC,但是本课题使用的是ARM架构,因此必须在x86架构上搭建交叉编译器。
2.1嵌入式系统概述
嵌入式系统并不是一个新兴的领域,它早已出现并深入了我们的生活。
人们的日常工作、生活都已经离不开嵌入式系统的产品。
嵌入式系统是应用于特定的环境下执行专业领域任务的应用系统,与通用型计算机系统相比,它具有以下特点:
①专用性,面向具体应用,用于完成某一特定任务。
②实时性,许多应用场合都有实时要求。
③嵌入式系统是将先进的计算机技术、半导体工艺、电子技术、通信网络技术以及各领域的具体应用融合在一起的产物。
④嵌入式系统的软硬件都必须高效率地设计,在保证稳定、安全、可靠的基础上进行量体裁衣,力争在同样的硅片面积上实现更高的性能,降低成本。
⑤开发需要专门的开发工具和环境。
嵌入式系统本身不具备自主开发能力,必须有一套交叉开发工具和环境才能进行开发。
和一般的计算机系统一样,嵌入式系统也是由硬件和软件系统构成,硬件包括嵌入式处理器及外围设备,软件主要是嵌入式操作系统和嵌入式应用软件,如图2.1所示:
图2.1嵌入式系统结构
2.2S3C6410处理器
S3C6410是三星公司生产的基于ARM11内核的嵌入式处理器,内部集成了强大的多媒体处理单元,支持Mpeg4,H.264/H.263等格式的视频文件硬件编解码,可同时输出至LCD和TV显示;
它还并带有3D图形硬件加速器,以实现OPEnGLES1.1&
2.0加速渲染,另外它还支持2D图形图像的平滑缩放,翻转等操作。
ARM11开发板采用S3C6410处理器,包括触摸屏接口电路、SD卡接口电路、FLASH、SDRAM,串口等。
操作系统采用免费开源的嵌入式Linux系统[11]。
2.3Linux操作系统
Linux从1991年问世到现在,短短十几年的时间已经发展成为功能强大、设计完善的操作系统之一。
作为最能体现互联网自由和开放精神的代表,Linux自诞生以来就以软件源代码开放、可自主开发和高效灵活等特点迅速得到众多软件开发者的推崇。
并且,随着互联网的迅猛发展,Linux正取代Windows成为全球增长最快的操作系统。
随着Linux应用的普及,Linux下的软件开发无疑会成为IT业发展的又一次高潮。
Linux操作系统主要有以下特点:
1)自由软件;
2)完全兼容POSIX1.0标准;
3)支持多用户和多任务;
4)良好的用户界面;
5)支持多种文件系统;
6)丰富的网络功能;
7)可靠的系统安全;
8)良好的可移植性;
正是由于以上特点,Linux在短时间内获得了飞速的发展,已在各个行业得到了广泛的应用。
同时,Linux嵌入式系统具有优秀的可移植性,利用Linux系统来进行软件开发已经成为一种趋势[12]。
可以想象,Linux的发展前景非常可观。
2.4交叉编译环境
通常而言,一个编译器所编译生成的目标代码一般是这个编译器所在的机器上的机器语言编码。
但是在嵌入式系统开发中,需要使用宿主机(即:
系统开发用的PC机)上的编译器来编译将要在目标机(待开发的嵌入式系统)上运行的目标代码,这种编译就是交叉编译(CrossCompiling)。
图2.2给出了交叉编译环境组成示意图。
该环境在项目开发过程中的作用主要体现在两个阶段:
首先在项目的起始阶段,目标平台还未建立,因此需要做交叉编译,以生成所需要的启动引导代码(BootLoader)以及操作系统核心;
其次是当目标平台启动之后,由于目标平台上资源的限制,编译大型程序时,依然需要用到交叉编译。
图2.2交叉编译环境示意图
交叉编译环境的源代码主要包含以下三个部分:
1)ARM.LinuxCcomelierandlinker这是编译内核代码的工具,可以编译汇编语言程序和C语言程序。
由于内核版本的不同采用的Comelier版本也不同。
本文针对2.4.18的内核选用的是2.95.3Compliera
2)Binutilities它里面主要包含了一些辅助开发工具,包括GNU的链接器ld、汇编代码编译器as、用来将文件打包重组的ar以及为ar打包的文件建立符号表的ranlib等工具。
这些工具主要用在系统开发初期,特别是移植调试操作系统的阶段。
3)GlibcLibrary其主要是包含了编译器使用的C函数库和针对Linux的线程库。
交叉编译器Cross.gcc.2.95.3安装在宿主机/usr/local/arm目录下,并把交叉编译器路径添加到系统环境中:
$exportPATH=$PATH:
/usr/local/arm/2.95.3/bin
此后直接使用arm.linux.gcc等工具对目标机应用程序进行交叉编译链接。
本章小结:
由于本课题需要对整个系统进行开发,虽然嵌入式linux系统相对于windows要小的多,但是也有100多Mb,对比一下用网络传输是最快的,因此必须搭建各种服务器。
3硬件技术介绍
本文的智能交通灯,通过对传感器技术、无线网络技术和计算机等技术的综合运用,得以实现对路面环境的实时监测,实现智能控制交通灯的功能。
3.1系统总体设计
本论文是基于ZigBee技术的智能交通灯系统,故根据ZigBee技术的标准和特点设计了由传感器节点,协调器节点和PC组成的该系统。
其中,传感器节点通过无线技术与协调器进行信息的交换;
协调器则通过串口进行相连通信。
系统总体设计图如图3.1所示:
图3.1系统总体设计构图
本系统中传感器节点主要负责的是环境信息的采集与发送,协调器节点主要负责的是网络的建立、终端节点管理、数据处理和对PC端的数据通信。
当然在实践过程中可以根据路面的实际情况来增加或减少传感器节点,而只需做小许改动即可[4]。
当监测区域较大时,可用增加传感器节点的方法来保证网络的连通性,相反区域较小时可以根据情况减少路由器节点的设置以节省系统资源,降低成本。
在本设计的实践环节,本人只象征性的做了一个传感器节点进行试验演示。
以ZigBee技术的无线传感器网络环境监测系统所要实现的功能为设计标准,系统硬件按功能模块的形式划分为以下几个部分:
1)微处理器单元:
作为系统的核心,微处理器承担着系统各种功能的实现。
除了要求具有较高的运行速度外还必须拥有丰富的外设接口以及轻巧的封装,以便实现系统的运行稳定、功能丰富、结构轻便的设计宗旨。
2)数据存储单元:
这个部分主要是实现对操作系统、应用软件以及地图数据的存储。
3)USB通讯单元:
在对系统数据进行备份或更新时,使用者将通过USB接口来实现对系统数据的存取。
4)人机交互单元:
这部分包含两个方面的内容,在输入方面,操作者通过触摸屏向导航系统输送控制命令。
同时系统通过输出设备向操作者反馈系统的工作状态。
而在输出方面则包含了针对视觉的液晶屏和针对听觉的音频设备。
3.2最小系统电路设计
最小系统主要由电源电路、存储电路、LCD显示电路、触摸屏电路和复位电路等常规电路构成。
3.3电源电路设计
系统要求三种电压供电:
S3C6410需要3.3V和1.3V两路电源;
外部接口芯片和设备需要5V电源。
3.4存储器电路设计
Flash存储器是一种可在线带电擦写、掉电后信息不丢失的存储器,通常用于存放用户的启动程序、操作系统内核以及应用程序。
ARM微处理器的体系结构支持8位/16位/32位的存储器系统,而其中16位的存储器系统在成本及功耗上占有优势。
本系统选用容量为4M、数据宽度16位的SST39vF3201Flash存储器。
SDRAM不具有掉电保持数据的特性,但其存取速度快,且具有读/写的属性,因此在系统中主要用作程序的运行空间、数据及堆栈区。
为保证导航系统的流畅运行及将来的系统升级,选用两片32M的SDRAM存储器K4S561632并联构成32位数据宽度、容量64M的SDRAM存储系统[13]。
3.5复位电路
在系统中,复位电路需要完成系统的上电复位和按键复位。
电路设计中采用专用微处理电源监控芯片MAX811,相比常用的RC复位电路,提高了系统的可靠性。
本章首先介绍了智能交通灯的主要硬件结构总体设计,之后分别对各硬件结构进行了分析。
4软件技术介绍
完成硬件的准备后,就要考虑如何编程实现这一功能,基于Linux平台下的编程,可以采用C语言来完成。
由于Linux系统把所有的硬件都封装成文件,调用硬件只需要打开文件就行了。
4.1程序框架设计
本文介绍的智能交通灯有普通交通灯的功能(此处设置时间为3秒)和监测到震动后调整时间(本文设置为8秒)的功能。
程序流程图如图4.1所示:
图4.1程序流程图
4.23秒程序的控制
3秒中的程序是在车流量较少时即未检测到震动时执行的程序,其流程图如图4.2所示:
图4.23秒中程序流程图
4.38秒程序的控制
8秒中的程序是在车流量较多时即检测到震动时执行的程序,其流程图如图4.3所示:
图4.38秒中程序流程图
4.4点阵代码
无线传感器上的点阵是按列送数据的,每列对应两位十六进制数,并且是高