1《嵌入式系统开发》课程设计.docx
《1《嵌入式系统开发》课程设计.docx》由会员分享,可在线阅读,更多相关《1《嵌入式系统开发》课程设计.docx(48页珍藏版)》请在冰豆网上搜索。
![1《嵌入式系统开发》课程设计.docx](https://file1.bdocx.com/fileroot1/2023-1/27/11bee1af-8174-4fd8-8fb2-cd8fec3420e3/11bee1af-8174-4fd8-8fb2-cd8fec3420e31.gif)
1《嵌入式系统开发》课程设计
《嵌入式系统开发》
课程设计
(题目:
基于ZigBee技术智能交通灯的设计与实现)
院(系)信息工程学院
专业班级
学生姓名
学号
设计地点13号楼605
指导教师
起止时间:
2014年11月3日至2014年11月14日
基于ZigBee技术智能交通灯的设计与实现
摘要
本文基于嵌入式系统和ZigBee技术的智能交通灯系统的设计并实现了功能。
主要是通过LED矩阵显示东西方向及南北方向导通,蜂鸣器的间断发声作为通行提示音,数码管的倒计时标志着通行时间。
通过该系统实现车辆的直线通行和转弯、方向变换的提醒、车辆注意时间是否足够通行。
通过传感器检测车流量实现合理的红灯时间,缓解交通压力,确保为十字路口的交通安全提供了保障。
关键词:
嵌入式系统;ZigBee;智能交通灯;传感器
BasedontheembeddedsystemandthedesignandimplementationofintelligenttrafficlightofZigBee
Abstract
Inthispaper,basedontheembeddedsystemandZigBeetechnologyofintelligenttrafficsystemwasdesignedandimplemented.Mainlybydotmatrixdisplaystraightarrowarrowandcurve,usethearrowtoindicatetrafficdirection,buzzerofdiscontinuousvoicepromptasimpassable,digitaltubecountdownmarksthepassageoftime.Throughthesystemtorealizethelinearpassageofvehiclesandalert,vehicletime,directionturningtransformenoughtraffic.Hasprovidedthesafeguardforintersectiontrafficsafety.
Keywords:
embeddedsystemZigBeeintelligenttrafficlights
1综述
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。
它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等4个部分组成,它是集软硬件于一体的可独立工作的"器件"。
1.1嵌入式系统简介
随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。
当今,嵌入式系统已成为一个时髦的名词,就像当初的计算机热潮,似乎比当初的计算机热潮涉及的领域更广泛,应用技术人员更多,相关国民经济产值也更庞大。
报纸、杂志、网络都把嵌入式系统当作讨论的热门话题[1]。
嵌入式系统的软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。
操作系统控制着应用程序编程与硬件的交互作用,而应用程序控制着系统的运作和行为。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。
与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
1.1.1嵌入式开发环境
一个嵌入式系统的开发环境一般包括嵌入式目标板、开发用的宿主PC机和硬件调试器,他们之间通过串口、JTAG或BDM等调试接口和网络等接口互相连接。
其中,嵌入式软件系统运行于嵌入式目标板上,这些软件所对应的程序开发和编译在宿主机上运行,程序的调试则由宿主机通过硬件调试器控制目标机执行相应的操作实现。
在运行嵌入式Linux的系统时,硬件调试器只在Bootloader程序开发以及Linux内核移植时有可能需要使用。
应用程序的开发通常是Linux操作系统在嵌入式目标机上运行起来之后进行[2]。
此时,更多的是在宿主机上使用GDB通过网络与目标板通信,进行程序的调试。
也就是硬件调试器多在底层软件开发调试时使用,对于应用程序的开发调试通常使用其他手段。
嵌入式Linux操作系统开发的第一步就是在宿主机上建立交叉开发所需的交叉编译环境。
交叉编译环境的建立主要是在宿主机上安装交叉编译工具Cross-gcc。
Cross-gcc工具链通常是使用别人已经编译好的交叉编译的GCC工具链。
在交叉编译环境建立好之后,就可以在宿主机上利用交叉编译环境构造一个嵌入式Linux系统。
Linux操作系统是由Linux内核和应用程序两大部分组成。
Linux内核的开发主要是根据实际的需要进行内核裁剪和配置,然后用交叉编译器编译生成内核的二进制文件映像。
对于许多自行设计的嵌入式系统,内核的开发还包括根据实际的硬件系统进行内核和外设驱动程序的移植开发。
应用程序通常都放在Linux的根文件系统中。
根文件系统主要存放了嵌入式的配置文件、设备文件、应用程序、动态链接库以及其他一些相关的程序和文件。
通常最初的根文件系统只是一个基本的根文件系统,只包含了一些必要的系统支撑程序。
在宿主机PC机上完成嵌入式Linux软件系统的构建之后,就在嵌入式硬件系统上测试、运行构造好的嵌入式Linux软件系统。
其中,测试工作需要在宿主机上通过远程终端操控嵌入式开发板完成。
通常在嵌入式开发板上存在一个内核的引导加载程序,它用于硬件的初始化,给用户提供一个操作界面,将嵌入式Linux加载到内存中运行。
除此之外,它对于嵌入式Linux系统的开发调试也起到很大的作用。
一个基本的嵌入式Linux系统在目标板上运行起来之后,就要进行程序移植开发和调试。
1.1.2嵌入式Linux操作系统的应用
由于Linux具有对各种设备的广泛支持性,因此,能方便地应用在机顶盒、IA设备、PDA、掌上电脑、WAP手机、寻呼机、车载盒以及工业控制等智能信息产品中。
1.2ZigBee技术简介
ZigBee技术是一种具有统一技术标准的短距离无线通信技术,其物理层和数据链路层协议为IEEE802.15.4协议标准,网络层和安全层由ZigBee联盟制定,应用层的开发应用根据用户的应用需要,对其进行开发利用,因此该技术能够为用户提供机动、灵活的组网方式。
1.2.1ZigBee技术介绍
ZigBee技术主要用于低数据传输速率并且传输距离要求不是很远的各种通信设备之间。
ZigBee的名字主要来源于蜜蜂通过跳ZigZag形状的舞蹈来传递所发现的食物的位置、距离和方向等信息一只一只的传递下去此种技术与蜜蜂的这种通信方式相类似。
ZigBee联盟则于2001年成立而在2002年下半年以及四大半导体公司共同宣布加盟ZigBee技术联盟以研发名为“ZigBee”的新一代无线通信标准而在2006年作为中国通信行业龙头的华为公司亦加入了此联盟。
截至目前该联盟大约已有约27家成员企业所有这些公司都参加了负责开发ZigBee协议物理层和媒体控制层技术标准的工作组。
ZigBee联盟负责开发网络层及以上的协议。
ZigBee协议则比蓝牙技术、高速率个人区域网或802.11x无线局域网等技术更简单而实用。
ZigBee使用的是波段采用了跳频技术这和蓝牙技术相似可以说是同族兄弟了。
但相比之下ZigBee协议比蓝牙更简单、速率更慢、功率及费用也更低。
ZigBee的基本速率是传输半径可扩大到400米并可得到更低的功耗和更高的可靠性。
此外单个ZigBee无线模块就可与254个节点互联若网络中加入路由节点则网络最大承载量可支持65535个节点设备互联。
由于它的低延迟和低功耗性能优越性所以在支持鼠标、键盘等电脑周边产品和家庭自动化仪器等低速率应用时可以比蓝牙做地更好人们更希望能在无线玩具、传感器网络、家庭监控、工业监控和安全系统等众多领域拓展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种设备中功能最全面亦最复杂的一种特点是计算能力强、存储量大。
它的作用是发送网络信标、建立并且管理一个网络及网络节点、存储节点信息并且不断地接收下级节点所发来的信息。
(2)ZigBee路由器它也是全功能设备在加入网络后协调器就会分配给它一定量的十六位地址空间再由其分别分配给下级节点使用方便每个节点接入或离开网络具有数据转发及路由之功能。
(3)ZigBee终端设备其一般的简化的功能设备。
只能自己的与上一级如协调器或路由器之间通信包括获取网络地址等。
在ZigBee协议规范中组网时有三种网络拓扑结构可供选择星型结构、网状结构和簇树型结构如图1.1所示:
图1.1ZigBee网络拓扑结构图
在星状结构中无论是路由器或终端设备都是直接与协调器进行通信,在ZigBee协调器则负责运作与维护着整个网络在簇状和网状网络结构中协调器负责初始化和建立网络的操作,而路由器则对网络进行扩展,终端设备的信息由路由器进行转发,只不过在簇状结构中终端间的信息交换只能通过一级级向上传递到协调器再由协调器将信息分发下去。
1.2.2ZigBee的应用现状
ZigBee的出发点是希望能发展出一种易布建的低成本无线网络,同时期低耗电性将使产品的电池能维持6个月到数年的时间。
ZigBee技术弥补了低成本,低功耗和低速率无线通信市场的空缺,其成功的关键在于丰富而便捷的应用,而不是技术本身。
随着正式版本协议的公布,更多的注意力和研发力量将转到应用的设计和实现,互联互通测试和市场推广等方面。
我们有理由相信在不远的将来,将有越来越多的内置ZigBee功能的设备进入生活,并极大地改善我们的生活方式和体验。
在国内,目前ZigBee网络的应用范围非常广泛,很多我们想象不到的地方也在使用ZigBee技术。
例如,在工业领域,ZigBee技术不仅用来控制照明灯的开关,它还有一个用途是检查高速路上照明灯的工作情况。
以前工程师要开车到高速路上检查哪些照片灯已经坏掉了,需要维修,但因为车速较快,不能记下所有要检修灯的编号,但通过ZigBee网络,工程师只需坐在计算机,就可以很清楚地监测到整个高速路上照明灯的工作情况,这是目前的一个热点应用。
再如,ZigBee技术用于进出的控制,可以记录汽车的进出,也可以在人员进出时用于传输相关指纹来识别数据,进行身份认证。
此外,通过ZigBee网络的路由器功能,它还可以用来实时监控煤矿内各点的安全状况,防止事故的发生。
在加油站,一些客户不希望布线,他们正在考虑采用ZigBee无线技术来传输相关数据。
在消费类电子方面,ZigBee技术可以替现在的红外遥控,于红外遥控相比,ZigBee的优势在于每一个操作都会有反馈信息,告诉他们是否实现了相关操作。
现今我们也可以看到ZigBee用于家庭保安,消费者在家中的门和窗上都安装了ZigBee网络,当有人闯入时,ZigBee可以控制开启室内摄像装置,这些数据再通过Internet或WLAN网络反馈给主人,从而实现报警。
当在家电产品如空调,热水器等安装ZigBee模块后,用户可以通过ZigBee无线网络来控制这些产品的开启。
在建筑智能化领域,各种灯光的控制,气体的感应与监测,如煤气泄漏的感应和报警都可以应用ZigBee技术。
三表(电表,气表和水表)上采用ZigBee技术,相关管理部门不但可以实现自动抄表功能,还可以监控仪表如电表的状态,防止偷电事件的发生.
1.2.3ZigBee技术的应用前景
ZigBee技术的应用前景被非常看好。
ZigBee在未来的几年里将在工业控制,工业无线定位,家庭网络,汽车自动化,楼宇自动化,消费电子,医用设备控制等多个领域具有广泛的应用前景,特别是家庭自动化和工业控制,将成为今后ZigBee芯片的主要应用领域。
在工业领域,利用传感器和ZigBee网络,使得数据的自动采集,分析和处理变得更加容易,可以作为决策辅助系统的重要组成部分。
在汽车领域,主要是传递信息的通用传感器。
由于很多传感器只能内置在飞转的车轮或者发动机中,比如轮胎压力监测系统,这就要求内置无线通信设备使用的电池有较长的寿命,同时应该克服嘈杂的环境和金属结构对电磁波的屏蔽效应。
在精确农业领域,传统农业主要使用孤立的,没有通信能力的机械设备,主要是依靠人力监测作物的生产状况,采用了传感器和ZigBee网络后,农业将可以逐渐地转向以信息和软件为中心的生产模式,使用更多的自动化,网络化,职能化和远程控制的设备来耕种。
在家庭和楼宇自动化领域,家庭自动化系统作为电子技术的集成得以迅速扩展,易于进入,简单明了和廉价的安装成本等成了驱动自动化居家,建筑开发和应用无线技术的主要动因。
在医学领域,将借助于各种传感器和ZigBee网络准确而且实时地监测病人的血压,体温和心跳速度等信息,从而减轻医生的查房的工作负担,有助于医生做出快速的反应,特别是对重病和病危患者的监护和治疗。
在消费和家用自动化市场,可以联网的家用设备有电视,录像机,无线耳机,PC外设,运动与休闲器械,儿童玩具,游戏机,窗户和窗帘,照明设备,空调系统和其它家用电器。
1.2.4ZigBee技术的优点与不足
ZigBee的工作频率有下面三种标准:
(1)868MHz传输速率为20kb/s,适用于欧洲;
(2)915MHz传输速率为40kb/s,适用于美国;(3)2.4GHz传输速率为250kb/s,全球通用。
目前国内都在使用2.4GHz的工作频率,其带宽为5MHz,有16个信道。
采用直接扩频(DSSS)方式的OQPSK调制技术。
而基于IEEE802.15.4的ZigBee在室内通常能达到30-50m作用距离,在室外如果障碍物少,甚至可以达到100m作用距离。
ZigBee技术的优势:
(1)功耗低。
在低耗电待机模式下,两节普通5号干电池可使用6个月以上。
这也是ZigBee的支持者所一直引以为豪的独特优势。
(2)成本低。
因为ZigBee数据传输速率低,协议简单,所以大大降低了成本。
(3)网络容量大。
每个ZigBee网络最多可支持65535个设备,也就是说每个ZigBee设备可以与另外254台设备相连接。
(4)时延短。
针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短。
(5)可靠。
采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。
(6)安全。
ZigBee提供了数据完整性检查和鉴权功能,加密算法采用AES-128,同时各个应用可以灵活确定其安全属性。
ZigBee技术的不足:
ZigBee技术本身是一种为低速通信而设计的规范,它的最高通信速度只有250kb/s,对一些大数据量通信的场合它并不合适,但是这一特点会逐渐改变,一些厂商生产的ZigBee芯片目前也突破了这个限制,如CEL公司的ZICM2410,已经达到1MHz的传输速率。
三、各种短距离通信技术从结构上来说,WLAN主要是一种服务器-客户端的结构,移动设备扮演的是客户端角色,而服务端是网络中心设备;蓝牙的实现可以使点到点或点到多点的结构;而IrDA技术书的两移动互联设备是点对点的结构。
WLAN、UWB、ZigBee技术等可以作为移动Adhoc网络的底层技术。
UWB和ZigBee技术均可应用于无线数字家庭组网,两种技术优势互补:
UWB技术数据传输速率高,在无线数字家庭网络中主要用于传输大容量的影音节目信号;ZigBee技术具有低传输速率、低功耗和低成本的特点,主要用于控制家用电器的启动和关闭,而相对来说,Wi-Fi更多地是用于较大组网区域的接入部分,主要用于数据存取。
Bluetooth、UWB无线技术能够穿透实心物体;FNC、IrDA、ZigBee无法穿透实心物体,或受障碍物影响较大,因此传送距离和环境大大受限。
从速率上看,大致有:
UWB>WLAN>IrDA>蓝牙>RFID/NFC>ZigBee从传输距离上看,大致有:
WLAN>ZigBee>UWB>蓝牙>IrDA>RFID/NFC[3]。
2搭建平台
要想进行嵌入式开发,首先,必须搭建一套完整的嵌入式开发环境。
本章介绍了在windows+Vmware虚拟机环境下嵌入式开发环境的搭建。
2.1虚拟机概述
用虚拟机软件,你可以在一台计算机上使用多台逻辑计算机,这些逻辑计算机可以安装操作系统、安装应用程序、访问网络资源等等。
总的来说,它只是运行的一个应用程序在物理计算机上,但是在虚拟机中运行的应用程序而言,它就是一台真正计算机。
因此,在虚拟机中进行软件应用的时候,系统也一样有崩溃的危险;但是,崩溃的只是虚拟机上的逻辑计算机,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,你可以马上恢复虚拟机到安装软件之前的状态[7]。
如图2.1所示:
图2.1虚拟机界面
2.2Linux系统
Linux可用于多种硬件平台。
Linux是开源的软件,代码的修改维护由世界各地的程序员进行,因此Linux有可靠保证的应用。
可以根据需要进行配置,不需要获得任何的许可证,源代码可以无偿获得。
同时Linux网络支持性良好,驱动程序采用模块化设计,开发过程中可动态调试驱动模块,便于开发。
有利于添加对新硬件的驱动支持。
Linux是以内核为基础,通过虚拟文件系统支持对各类型物理介质的硬件资源访问。
Linux系统提供了具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统,使其更容易进行新硬件设备的扩展与驱动的开发应用。
Linux系统有完善的开发工具,用不同的交叉编译工具,匹配不同的嵌入式处理器,建立嵌入式系统开发环境是简单快捷的。
不仅如此,Linux系统还继承了UNIX稳定并且有效率的特点,系统稳定,能长期运行而不会出现宕机的现象。
2.3虚拟机安装Linux系统
虚拟机vmware下安装Linux过程:
第一步:
启动VMware,在其主界面“主页”标签页中点击“新建虚拟机”按钮打开新建向导,单击“下一步”按钮;
第二步:
在虚拟机配置界面中有两个选择:
一是“典型”方式,它根据虚拟机的用途自动调整配置;二是“自定义”方式,它允许用户自行设置虚拟机的主要参数。
这里用“典型”方式安装,比较方便。
第三步:
单击“下一步”按钮进入虚拟机操作系统选择界面,可以看到Windows、Linux、Novell等多种不同的系统,这里我们点选“Linux”。
图2.2系统界面
图2.2是安装完成后的虚拟机启动界面,我们这里使用的是Fedora系统,用户为root,密码123456,是在有权限下进行操作。
2.4超级终端的设定
(1)打开超级终端输入名称
图2.3超级终端连接图
图2.4超级终端端口选择图
(2)选择端口,如果是台式电脑就直接选择COM1,如果是笔记本电脑根据实际情况选择。
(3)端口设置,每秒位数(B)选择115200,数据流控制(F)选择无。
图2.5超级终端端口设置图
打开电源启动超级终端,如下图:
图2.6内核启动
Linux启动时BOIS首先加电自检,然后会加载主引导加载程序再加载次加载引导程序,对Linux内核进行映射,初始化进程。
3硬件设计
根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。
一个完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。
独立的芯片是不能工作的
3.1ARM实验箱简介
随着微电子技术的快速发展,ARM处理器经历了包括ARM7、ARM9在内的多个发展历程,而ARM11的成熟应用必将为嵌入式的发展带来新的活力,使更高端的产品应用成为可能,与ARM9的5级流水线相比,ARM11拥有一条具有独立的load-store和算术流水的8级流水线,在同样工艺下,ARM11处理器的性能与ARM9相比大约提高了40%。
ARM11执行ARMv6架构的指令,ARMv6指令包含了针对媒体处理的单指令流多数据流(SIMD)扩展,采用特殊的设计,以改善视频处理性能。
为了能够进行快速浮点运算,ARM11增加了向量浮点单元。
所有这些结构上的提高,都是ARM9处理器不可比拟的。
ARM11为便携式和无线应用,提供了从未有过的高超性能,并且使我们主要关心的成本和功耗减到最小。
ARM11的微架构保证了系统性能可以从基本的350-500MHz范围扩展到最终的1GHz以上。
其微架构的高效率表现,允许开发者根据不同的应用来调节时钟频率和电源电压,从而在性能和功耗之间达到最佳的折衷。
例如,一个基于ARM11的微架构的处理器在1.2V工作电压下,使用0.13um工艺实现,其功率将不会超过0.4mW/MHz。
ARM11微处理器是一种高性能、低功耗的‘准64位’微处理器。
对于目前大多数嵌入式应用,一个真正的64位处理器仍然被认为是不必要的,其巨大的功耗和面积让人难以接受。
对此,ARM11选择了一个折中的方案,以较小的代价,部分实现了一个64位微架构。
ARM11只在处理器整数单位和高速缓存之间,以及在整数单位和协处理器之间实现了64位数据总线。
这些64位数据道路允许处理器在一个时钟周期中同时获取两条指令,还允许在一个时钟周期执行多个数据读写指令。
这使得ARM11在执行很多特定序列的代码时能够达到非常高的性能,特别是那些允许数据搬移与数据处理并行处理的代码序列。
S3C6410是由三星公司推出的一款低功耗、高性价比的RSIC处理器,它基于ARM11内核(ARM1176JZF-S),可广泛应用于移动电话和通用处理等领域;S3C6410为2.5G和3G通信服务