嵌入式智能家居系统介绍.doc_第1页
嵌入式智能家居系统介绍.doc_第2页
嵌入式智能家居系统介绍.doc_第3页
嵌入式智能家居系统介绍.doc_第4页
嵌入式智能家居系统介绍.doc_第5页
已阅读5页,还剩55页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南方,你穿着黑衣裳走向天那些寂寞的花朵黑的花朵你是天鹅船唯一的花朵/sogou?query=%e8%af%97%e6%ad%8c&pid=aqg4a第二章 嵌入式系统2.1 嵌入式系统概述嵌入式系统是一种对对象进行自动控制而使其具有智能化并可嵌入对象体系中的专用计算机系统。对象体系又称为嵌入式系统的宿主对象系统,如移动电话,数字电视,家用电器,医疗设备,工业自动化产品等。从功能上看,嵌入式系统是对宿主对象进行控制的控制器;从结构上看,它是集软硬件于一体的,可独立工作的计算机系统。嵌入式系统的外观像一个可编程的电子器件;其硬件部分包括处理器、存储器、外设器件和i/o端口等,软件部分包括操作系统软件和应用软件24。 与通用的计算机系统相比,嵌入式系统具有以下特点: 通常面向某个特定的应用,因此其硬件是针对特定用户群来设计的,具有某种专用性的特点 软件一般固化在存储器芯片上,而不是存储于磁盘载体中,加上结构精简的操作系统,可快速响应外部时间,系统的实时性和可靠性好 用户可以根据实际需要对嵌入式系统的硬件和软件进行精简,去除冗余,降低产品成本,系统的可裁剪性好 将半导体技术、电子技术和计算机技术相结合,具有集成度高,体积小,功耗低的特点2.2 嵌入式微处理器作为嵌入式系统的核心部件,嵌入式微处理器(micro processor unit, mpu),是由通用计算机的cpu演变而来,具有较高的性能。在实际应用中,一般只保留和特定应用紧密相关的功能硬件,去除其他冗余的功能元件,将微处理器及其存储器、总线、外围接口等安装在一块电路板上,大大降低了系统的成本和占用空间。嵌入式微处理器一般就具备如下特点: 具有可扩展的处理器结构,能迅速开发出符合应用要求的嵌入式系统 对实时多任务有很强的支持能力,能完成多任务且中断响应时间较短,有效降低内部代码和实时操作系统的执行时间。 具有强大的存储区保护功能,能有效避免在软件模块之间出现错误的交叉作用,同时也有利于软件诊断。 具有功耗低的特点,尤其适用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统。嵌入式微处理器品种众多,几乎所有半导体制造商都生产嵌入式处理器,目前全世界嵌入式处理器流行的体系结构有三十多个,产品有上千种,主要包括arm、mc68k、mips、powerpc等。其中arm微处理器以其卓越的性能和显著优点成为嵌入式微处理器的代名词,是嵌入式领域使用最为广泛的risc(reduced instruetion set computer)处理器。arm(advanced risc machines)技术知识产权的拥有者就是arm公司,该公司主要出售芯片设计技术的授权,本身不生产芯片,到目前为止,基于arm技术的处理器已经占了整个嵌入式处理器70%以上的份额,arm处理器已遍及通信系统、无线系统、网络系统、工业控制、消费电子等各类产品市场。arm处理器具有体积小、功耗低、性能高、成本低的特点,它支持thumb(16位)/arm(32位)双指令集,同时能很好的兼容8位/16位器件。arm处理器包括有arm7、arm9、arm9e、arm10、securcore等系列。其中arm7是低功耗的32位处理器,非常适合应用于对价格和功耗敏感的产品。2.3嵌入式操作系统嵌入式操作系统是嵌入式系统的软件组成部分,它运行于嵌入式硬件平台上,其功能是对整个系统及其部件、装置等资源进行统一协调、管理和控制。嵌入式操作系统除了提供操作系统内核服务外,通常还包括硬件驱动接口、通信协议、图形用户界面(graphic user interface,gui)和文件系统等25。按对外部时间的响应能力来分类,嵌入式操作系统分为分时操作系统和实时操作系统。分时操作系统是按任务数量把处理器分成若干时间片,cpu按时间片轮流执行这些任务。而在许多应用场合,系统能及时快速地响应外部事件常常是第一要求,系统的计算必须在预定周期内完成,这类嵌入式操作系统称实时操作系统。为了提高系统的实时性,实时操作系统应满足如下条件: 必须是支持多任务的系统; 系统的内核是可剥夺型的; 任务的切换时间和系统中的任务数量无关; 中断延时时间可以预知并且尽可能短。目前,市场上嵌入式操作系统分为商用型和免费型,商用型包括plam os、psos、vxworks、wince等,商用内核的性能优越,但价格昂贵。除此之外,在工程应用中被广泛使用的还有基于linux的实时操作系统(clinux、rtlinux和armlinux等)、c/os-ii、ecos等一些开放源码的免费内核26。2.3.1 c/os-ii操作系统简介c/os-ii是由jean j. labrosse编写的免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、任务间同步与通信、时间管理、内存管理和中断服务等功能,由于其内核是可剥夺型的,在实时性上表现优秀27。c/os-ii大部分的代码是用ansi的c语言编写,也包含一小部分汇编代码,具有很强的可移植性。目前c/os-ii已在40种以上不同架构的微处理器上成功移植,并且在世界范围内得到广泛应用。c/os-ii操作系统具有如下特点: c/os-ii是可剥夺型的实时内核,即已经准备就绪的较高优先级的任务可以剥夺正在运行的较低优先级任务的cpu使用权。任务调度算法优秀,任务实时性比不可剥夺型内核要好。 c/os-ii采用的是优先级调度法,每个任务都必须有不同的优先级,操作系统总是运行进入就绪状态中的优先级最高的任务,所以在编写应用程序时,需要合理划分任务,按任务的重要性来分配优先级。 c/os-ii对共享资源提供了保护机制,针对多任务在执行过程中可能同时向内核申请共享资源(如串行口)的使用权,提供了信号量和互斥两种内核服务,保证共享资源在前一个任务释放后才能被另一个任务使用。 c/os-ii是可裁剪的,用户可以根据系统的实际需求和存储空间的大小,只使用应用程序需要的系统服务,这样就可大大减少操作系统所占用的空间。2.3.2 c/os-ii操作系统移植由于不同厂家的处理器往往架构不一样,需要对c/os-ii操作系统进行移植,使其能在不同架构的微处理器或微控制器上运行。大部分c/os-ii的代码是用c语言编写的,但是在编写与处理器硬件相关的代码时仍需要使用汇编语言。移植的主要工作就是编写与处理器架构相关的代码。要使c/os-ii移植后能正常运行,必须满足以下条件2627: 处理器支持中断,并且能产生定时中断 系统采用的编译器能产生可重入函数,并且用c语言就可以打开和关闭中断 处理器有足够的ram空间作为硬件堆栈 处理器有向堆栈中存储和读取处理器寄存器及堆栈指针的汇编指令c /os-ii操作系统的文件结构如图2-1所示,在移植中需要修改的文件有三个,os_cpu.h、os_cpu_c.c、os_cpu_a.asm图2-1 c /os-ii体系结构fig 2-1 c/os-ii architecture移植工作主要包括以下几方面内容: 在os_cpu.h中定义与处理器类型无关的统一的数据类型 在os_cpu.h中定义堆栈增长方向和中断操作方式 在os_cpu.h中定义c语言和汇编语言的接口函数 在os_cpu_c.c中编写任务堆栈初始化函数 在os_cpu_a.asm中编写必须用汇编语言实现的相关函数移植完毕后可以在不加载任何应用程序来测试内核自身的工作情况,c/os-ii会自动建立一个空闲任务进行32位计数器的自增操作。若在测试过程中出现错误,这种方法可以确定故障是由于内核移植不正确所致,方便开发人员修改移植代码。若c/os-ii能正常运行,则可根据实际对象来添加应用程序。2.4 本章小结本章首先阐述了嵌入式系统的概念,分析了嵌入式控制器的种类和特点,然后介绍了嵌入式实时操作系统的机制和特点。在此基础上,介绍了源码公开的嵌入式实时操作系统c/os-ii,并说明了c/os-ii的移植条件和移植思路。南方,你穿着黑衣裳走向天那些寂寞的花朵黑的花朵你是天鹅船唯一的花朵/sogou?query=%e8%af%97%e6%ad%8c&pid=aqg4a第三章 无线组网技术3.1 无线通信技术概述无线网络灵活度高、扩展性好,省去了花在布线上的费用和时间,而且也符合家庭网络通信的要求。因此,智能家居系统采用无线组网方式是未来的发展趋势。目前主要的无线组网技术包括红外线、蓝牙、wi-fi、uwb和zigbee、gprs等28。红外技术(irda)通过红外线进行点对点的数字信号交换,它是最早出现的一种无线连接技术,普及程度和技术成熟度远远超过其他无线技术。红外技术价格低廉,连接方便,兼容性强,但由于红外线波长较短,对障碍物衍射能力差,所以只能以小范围、窄角度对准方式连接,并且通信双方之间不能有阻隔物,位置也必须固定,无法灵活地构成网络29。ieee 802.15.1标准技术又称蓝牙(bluetooth),工作于2.4ghz的ism开放频段。它采用跳频扩谱技术,抗干扰能力强;支持点对点、点到多点通信,有一定的组网能力,设备有自动同步、自动连网功能。蓝牙技术是完全开放的,而且实现了芯片化,适于嵌入式应用。但蓝牙的通信距离很近,一般不超过10米(借助功率放大器能达100米),所以目前一般用于便携式的电子产品和设备的无线互联3031。ieee802.11系列是企业无线局域网的标准技术,而其中的802.11b是使用最广泛的技术,又名wi-fi(wireless fidelity),数据传输速率最高可达11mbit/s,适合传输数据量大的信号。它工作于2.4ghz频段,采用直接序列扩谱技术,抗干扰和防窃听能力比起其他2.4ghz的无线技术要差。对于普通家庭设备而言其实现成本较高,且协议栈容量大,不适合嵌入到设备中32。超宽带(ultra wide band,uwb)是一种宽频率的脉冲通信技术。它采用跳时扩频信号,带宽从1ghz到数ghz,具有传输速率极高(几百mbit/s)、功耗低、多径分辨率高、抗干扰能力强、与现有其他无线通信系统共享频谱等特点,被认为有望取代蓝牙28。但uwb技术的无线传输距离只有10米左右,这也大大限制了其适用领域。zigbee/ieee 802.15.4是一种新兴的低复杂度、低功耗、低数据速率、短距离无线通信技术。其工作频率为868mhz、915mhz和2.4ghz,与现有的其他无线技术相对比,zigbee是功耗和成本最低的技术之一3334。zigbee协议栈紧凑简单,实现要求低,扩展功能强,网络节点可多达65 000个,通信距离50-100米,适合家庭内部组网,可嵌入各种设备中,同时还支持地理定位功能35。以上各种技术均用于短距离无线通信,而要实现远距离无线控制并且不增加网络设备成本,最好的方法就是利用现有的移动通信网络,选择gprs/gsm网络来实现远距离数据传输即为一种很好的方案。各种无线通信技术的性能参数及特点比较如表3-1所示:表3-1 无线通信技术比较table 3-1 the comparison of wireless communication technologies名称irdabluetoothwi-fiuwbzigbeegprs/gsm工作频段820nm2.4ghz2.4ghz3.1ghz10.6ghz868/915mhz/2.4ghz900/1800/1900mhz传输速率4mb720kbps11mbps1gbps250kbps128kbps传输距离5m10m10100m10m10100m整个网络网络容量27321255/650001功耗10mw10mw1w1mw1mw3mw1w成本低高高高低低应用领域红外遥控数据传输便携式电子产品图像/webe-mail多媒体环境监测设备控制超远距离声音/数据从表中可以看出,每种通信技术优势各不相同,需针对不同领域和应用要求来使用合适的通信技术,也可以同时使用几种技术取长补短,达到更满意的效果。本系统选择的方案为远距离与短距离无线通信相结合的方式,远程无线通信利用现有的gprs/gsm网络,通过手机短消息来实现对家用设备及家居环境的远程监控,短距离无线通信利用zigbee技术组建网络,实现家庭内部设备通信数据的无线传输。3.2 gsm/gprs技术全球移动通信系统即gsm(global system for mobile communication)系统,又称“全球通”,是目前移动通信体制中应用最广泛的一种系统。我国已建成的覆盖全国的gsm数字蜂窝移动通讯网,是公众最普遍的移动通信方式,主要提供短消息、话音等多种业务。通用无线分组业务即gprs(general packet radio service),也称作“2.5g”,是实现第二代移动通信gsm向第三代移动通信(3g)的过渡技术。它以gsm网络为基础进行无线分组数据传输,gsm现有基站子系统从一开始就可提供全面的gprs覆盖。目前市场上大多数gprs模块同时支持gsm网络各种服务36。3.2.1 at指令集20世纪90年代初,为了通过通讯软件(如超级终端)控制调制解调器(modem)的各项操作,通讯设备厂商hayes制定了一套协议,命令均以“at”字符开头,因此被称为“at指令”。当时,at指令仅被用于modem,此后at指令作为一套比较方便易用的通讯接口,在无线网络时代不断被各大移动电话生产厂商改进完善,成为gsm通信领域实际的标准,并被加入gsm07.05以及之后的gsm07.07标准。at指令是以at开头,以回车字符结束的字符串,它从终端设备(te)或数据终端设备(dte)向终端适配器(ta)或数据电路终端设备(dce)发送的,用户可以通过at指令进行呼叫、短信、电话本、数据业务、传真等方面的控制,其中也包含了对短消息服务的控制说明。利用gsm/gprs模块(modem)的串行接口,向其发送一系列的at命令,就能实现控制模块收发短消息。at指令的响应数据包由modem的串口回发给控制方,每个指令执行成功与否modem都有相应的返回信息,对于非输入控制指令的模块自身状态信息(如检测到外部拨号、收到新短消息、网络无信号等),模块也有对应的提示信息从串口输出,接收端可依此做相应的处理。at指令作为一个通讯接口标准,有一定的命令格式,每条指令都以“at”或“at”开头,回车符作为结束符,其格式大致分为四种:1. 读取命令:用来查询该命令设置的参数表和数值范围,格式为:at+/&?2. 写入指令:对终端设备进行操作,设置指令可定义的参数值,格式为:at+/&=, ,3. 执行指令:对终端设备进行操作,设置其的工作模式,格式为:at+/&4. 帮助命令:用来列出该命令的可供设置参数,格式为:at+/&=?at指令发出后,终端设备会返回相应信息给发送端,不同指令返回不同的数据信息,对于大多数操作,返回为ok或error,其格式为:。是换行符。如果开启了at指令回显,则其回显指令的内容为上一次发送的at指令字符。使用指令ate0可以关闭at指令回显37。3.2.2短消息服务短消息业务(short messaging service,sms)是gsm/gprs、cdma等数字移动通信系统中乃至3g系统提供的一种移动终端之间通过sms中心进行远程无线文字信息收发服务。其特点如下: 短消息不是从发送方直接到达接收方的,它必须通过sms中心存储和转发。 可以和 gsm 语音同步进行,即在通话的情况下仍可接收短消息。如果接收方处于未连接或关机状态,则短消息会暂存在sms中心,一旦接收方开机或再次连入gsm网络时就会立刻发送短消息。 充分利用了gsm/gprs网络覆盖广的特点,具有良好的移动性。全网覆盖的优势使开通了短消息服务的无线终端终端手机在网内任何位置都可以获得服务。 支持多种编码方式,单条短消息的数据量最大为160个字符。常用的与sms收发控制相关的at指令如表3-2所示,各指令的具体参数设置和返回值可查阅相关at指令手册37。表3-2 短消息相关at指令table 3-2 related at command of smsat 指令功 能at+cmgd删除sim卡内存的短消息at+cmgf选择短消息信息格式at+cmgr读短消息at+cmgs发短消息at+cnmi显示新收到的短消息at+csca短消息中心地址at+cscb选择蜂窝广播消息at+cscs设置短消息编码方式at+csmp设置短消息文本模式参数at+csms选择短消息服务3.2.3短消息收发模式短消息收发模式有三种:(1) block mode最初at指令仅被用于modem的操作,当时没有统一的短消息文本标准,因此出现了一种sms block mode协议,通过移动终端来控制sms收发。block mode模式需要modem生产厂家提供驱动支持,目前已很少使用了。(2) pdumodepdu(protocol data unit)模式下,短信息经过十六进制编码后被传送。pdu作为一种数据单元,除了短消息正文字符外,还包括其他全部相关信息,如源地址、目的地址、有效时间、数据格式、协议类型,它们都是十六进制数据。pdu模式发送短消息支持各种字符集,不同厂家生产的终端(te)模块支持的字符集也不相同,目前常见的字符集有三种编码方式: 7-bit编码,用于发送ascii字符,如英文字母、数字、特殊符号,单条短消息可发送最大字符为160个; 8-bit编码,通常用于发送数据消息,如图片和铃声等,单条短消息可发送最大字符为140个; 16-bit编码,即ucs2(unicode character set 2)编码,用于发送unicode字符。中文字符就属于unicode字符,单条短消息可发送最大字符为70个。(3) text modetext mode是纯文本方式,此模式不能用于发送数据消息,实现比较简便。向模块发送at+cmgs=“手机号码”指令后,等待模块返回提示符”,然后输入要发送消息的字符集,并以回车符结束,即可直接发送出短消息。3.3 zigbee技术3.3.1 zigbee技术特点zigbee命名来源于蜜蜂通过跳z字形舞来告知同伴,传递花粉的方向、距离、位置等信息。这种技术以前又称作homerflite、rf-easylink或firefly无线电技术,主要用于近距离无线通信,目前统一称为zigbee技术或紫峰技术。zigbee从诞生到现在只有几年时间,最初在2002年由英国invensys、美国摩托罗拉、荷兰飞利浦、日本三菱电气等几家公司联合成立了zigbee联盟,合力推动zigbee技术。2004年12月,zigbee1.0版标准(即zigbee2004)正式发布;到了2006年,zigbee联盟已经由最初十多家公司发展到全世界150多家知名厂商加盟的商业团体,其标准版本也升级到zigbee1.1(即zigbee2006);2007年10月,zigbee联盟又推出的zigbee pro(即zigbee2007),这也是目前zigbee技术的最新标准38。zigbee技术具有以下特性: 低速率,短时延。最大传输速率为250kbps,搜索设备时延30ms,信道接入延时15ms,休眠激活时延15ms,适用于对延时要求苛刻的无线控制应用。 低功耗。节点在非工作模式时可休眠,模式切换延时短,且技术协议中对电池使用作了优化。一般采用电池供电方式可工作半年至数年。 低成本。由于协议栈相对于蓝牙、wi-fi要精简得多,对通信控制器的要求低,大大降低了器件的成本。并且协议栈为免专利费用,进一步降低软件成本。 大容量网络。一个zigbee网络支持255个设备,通过网络协调器最多可支持65000多个zigbee网络节点,非常适合大面积传感器网络的布建需求。 近距离通信。由于低功耗特点,设备发射功率小,两个节点间的通信距离为10100米,加大发射功率后,可达13千米。通过相邻节点的连续通信传输,能建立设备的多跳通信链路,使实际通信距离大幅增加。 自组织自配置。协议中加入了关联和分离功能,协调器能自动建立网络,节点设备可随时加入和退出,是一种自组织、自配置的组网模式。3.3.2 zigbee协议架构zigbee协议是基于ieee802.15.4无线标准研制开发的,属于ieee无线个人区域(personal area network,pan)的一项标准,但此标准仅仅定义了实体层和介质访问层,不足以保证不同设备间可以进行对话,于是全球各大企业便成立了zigbee联盟以制定发布技术标准,确定不同制造商之间共享的应用纲要。zigbee协议以开放式系统互连参考模型(osi/rm)为基础,对那些涉及到zigbee的层进行定义。ieee802.15.4标准定义了最下面两层:物理层(physical layer,phy)、媒体访问控制层(medium access control sub-layer,mac);zigbee联盟提供了网络层(network layer,nwk)框架、应用层(application layer,apl)框架以及安全服务提供 (security service provider,ssp) 框架的设计。其中应用层框架又包括应用支持子层(application support sub-layer,aps)、应用框架(application framework,af)和zigbee设备对象(zigbee device object,zdo)。各层之间通过服务接入点(sap)来传递信息。图3-1为zigbee协议的结构体系39。图3-1 zigbee协议结构体系fig 3-1 zigbee protocol architecture phy层提供物理射频的基本通信能力;mac层提供的服务保证了设备间单跳链路的可靠通信;nwk层提供了构建不同网络的拓扑所需要的路由和多跳功能;apl层包括aps子层、zdo和各种应用,zdo负责整个设备的管理,aps子层为zdo和zigbee应用提供服务40。在通信的发送方,用户需要传递的数据 包按照从高层到低层的顺序依次通过各个协议层,每一层的实体按照最初预定消息格式向数据信息中加入自己的信息,比如每一层的头信息和校验等终抵达最低的物理层,变成数据位流,在物理连接间传递。在通信的接收方数据包依次向上通过协议栈,每一层的实体能够根据预定的格式准确的提取需要在本层处理的数据信息, 最终用户应用程序得到最终的数据信息进行处理。zigbee协议每层都为其上层提供了两种特定的服务:(1)数据实体提供的数据传输服务;(2)管理实体提供的全部其他服务。每一个服务实体通过服务接入点(sap)为其上层提供服务接口,而每个sap都提供了一系列基本的服务指令来完成相应功能。这种指令就称作原语,一种服务可能包括有一个或多个原语,每个原语又可以包含多个参数,参数表示了提供服务的信息,通过描述服务原语和其特征参数就可以指定某种服务。原语的和服务层次的关系如图3-2所示,它描述了两个通信的用户n1、n2和它们的相连的服务提供者n子层对等协议实体之间的关系41。图3-2 服务原语fig 3-2 service primitiveosi/rm规定了四种类型的服务原语: 请求(request):请求启动一项服务,此原语由用户服务层指向服务提供层。 指示(indication):告知相关的服务提供层事件信息,此原语由服务提供层指向服务用户层。 响应(response):完成之前的指示原语调用的过程,此原语由服务用户层指向服务提供层。 确认(confirm):传递之前的相关服务请求的结果,此原语由服务提供层指向服务用户层。 针对不同层,zigbee协议定义了相应的服务原语,例如对于物理层提供了两种服务:数据服务(pd-sap)和管理服务(plme-sap),而对于物理层的数据服务pd-sap又定义了三种原语:pd-data.request、pd-data.confirm、pd-data.indication。协议各层的服务原语见附表1,各原语的具体参数参看文献39。3.3.3 zigbee各层规范(1) 物理层(phy)根据标准的定义,物理层实现了如下功能:激活和关闭无线射频收发器、信道的能量检测、信道频率选择、空闲信道评估、数据的发送和接收、对收到的包进行链路质量指示等。ieee 802.15.4在进行物理层设计时,采用的工作频率868mhz、915mhz、2.4ghz均是免费开放的,可使用的信道分别有1、10、16个,其传输范围介于10至100米之间。信道的频率如表3-3所示:表3-3 zigbee信道频率分配table 3-3 the frequency partition of zigbee channel信道编号中心频率(mhz)信道带宽(mhz)频率下限(mhz)频率上限(mhz)0.6868.0868.62902.0928.052400.02483.5各个频段都基于dsss直接序列扩频技术,即用具有高码率的扩频码序列扩展信号的频谱,大大提高了通信抗干扰能力。868mhz是欧洲的ism频段,915mhz是美国和澳大利亚等国的ism频段,分别提供20kbps、40kbps的传输速率,引入这两个频段的可以避免在2.4ghz附近其他无线通信设备的相互干扰。2.4ghz波段是全球统一的免费ism频段,可大大降低zigbee设备的推广和生产成本,其物理层通过采用高阶调制技术可提供250kbps的传输速率,能够获得更高的吞吐量、更短的工作周期和更小的通信时延,因此也更加省电。三种频段除了在工作频率、传输速率、调制技术、扩频码片长度方面存在差别之外,使用的均为相同的物理层协议数据单元(ppdu)。物理层协议数据单元由三部分组成:同步头(shr)允许接收设备同步并锁定比特流;物理层帧头(phr)的内容是帧长信息;有效载荷部分即物理层要发送的数据包。物理帧格式如表3-4所示42:表3-4 物理帧结构table 3-4 the structure of phy frame4字节1字节1字节可变长度引导序列帧开始符帧长(7位)预留(1位)物理层服务数据单元(psdu)同步头(shr)物理层帧头(phr)物理层有效载荷(2) 媒体访问控制层(mac) mac层主要的负责以下几项任务:一方面协调器产生并发送网络信标帧,另一方面普通设备根据协调器的信标帧与协调器同步;使用csma-ca机制共享物理信道;支持无线信道通信安全;支持pan网络的关联和解关联操作;支持处理和维护保证时隙(guaranteed time slot,gts)机制;能在两个对等的mac实体之间提供可靠的数据链路。ieee 802.15.4的mac层定义了四种基本的帧类型:1)信标帧:此类帧供协商者使用;2)数据帧:此类帧承载所有的数据;3)确认帧:此类帧用于确认数据已顺利传送;4)mac命令帧:此类帧用于处理mac层对等实体间的控制传送。mac帧,即mac协议数据单元(mpdu),通常包括三部分:mac头、mac有效载荷和mac尾。mac头分三部分:帧控制字段、帧序号字段和地址信息域;mac有效载荷部分的长度可变,其内容由帧的类型决定;mac尾是帧头和负载数据的16位crc帧校验序列(fcs)。mac帧的一般格式如表3-5所示42:表3-5 mac帧结构table 3-5 the structure of mac frame2字节1字节可变长度可变长度2字节帧控制域帧序号地址域帧有效载荷帧效验(fcs)mac头(mhr)mac有效载荷mac尾(mfr)在mac子层中设备地址信息有两种类型:64位物理地址和16位网络地址。64位物理地址是全球惟一的,通常也叫作mac地址或者扩展地址(extended address),由ieee提供,设备在出厂前就由制造商分配设定了;16位网络地址也叫做短地址或者逻辑地址(logical address),是设备与pan网络协调器关联时,由协调器分配的网内局部地址,只能保证在此pan网络内部的惟一性,所以在使用16位短地址通信时,还必须结合16位pan网络标识符才有效。由于物理地址和网络地址所包含的信息长度不同,从而导致mac帧头长度也是可变的,用帧控制域的内容来指示帧使用的地址类型。从表3-5中可以看到在mac帧结构中没有表示帧长度的字段,这是由于物理层的帧已经含有表示物理帧长度的字段,而物理帧有效载荷就是mac层帧的全部内容。因此mac有效载荷长度可以通过物理层帧长和mac帧头的长度计算得出。(3) 网络层(nwk)zigbee网络层的主要功能是设备的发现和配置、网络的建立与维护、路由的选择以及广播通信,并具有自我组网与自我修复功能。网络层(nwk)帧即网络协议数据单元(npdu),由2个基本部分组成:nwk头和nwk有效载荷。nwk头部分包含帧控制、地址和序号信息;nwk有效载荷部分包含的信息因帧类型的不同而不同,长度可变。其一般格式如表3-6所示43:表3-6 nwk帧结构table 3-6 the structure of nwk frame2字节2字节2字节1字节1字节可变长度帧控制域目的地址源地址半径域序号帧有效载荷路由域nwk头nwk有效载荷网络层定义了两种类型的设备:全功能设备(full function device,ffd) 和简化功能设备(reduced function device,rfd)。ffd作为网络的协调器,支持各种拓扑结构的网络的建立,也可以和任何设备进行通信;而rfd只能和ffd进行通信,功能和结构比较简单,可以有效地降低成本和功耗44。网络层支持的网络拓扑结构有三种:星型结构(star)、树型结构(cluster tree)和网状结构(mesh)。三种网络拓扑结构如图3-3所示:图3-3 zigbee网络拓扑结构fig 3-3 the network topology of zigbee星型网络为主从结构,由单个网络协调器和多个终端设备组成,网络的协调者必须是ffd,由它负责管理和维护网络;树形网络可以看成是扩展的单个星型网或者相当于互联的多个星型网络;网状网络中的每一个ffd同时还可以作为路由器,根据网络路由协议来优化最短和最可靠的路径。一个zigbee网络的形成,必须先由一个全功能设备ffd作为网络协调器,用于扫描搜索一个未用的最佳信道来建立网络,然后其它的ffd或是rfd才能加入这个网络。(4) 应用层(apl)应用层包括应用支持子层(aps)、应用框架(af)、zigbee设备对象(zdo)。除了提供一些必要的函数以及服务接口外,应用层的另一个重要功能就是可以根据具体应用的需要在此层基础上开发用户自己的应用对象。应用支持子层提供了网络层和应用层之间的接口,通过数据服务和管理服务把两者连接起来。aps的作用是维护设备绑定表,在绑定的设备间传输信息,同时能发现在工作范围内操作的其它设备。每个aps帧(apdu)包括两个基本部分:aps帧头和aps有效载荷。帧头由帧控制信息和地址信息组成;有效载荷是与帧相关的有效信息,长度可变,aps帧结构一般格式如表3-7所示43:表3-7 aps帧结构table 3-7 the structure of aps frame1字节0/1字节0/1字节0/2字节0/1字节可变长度帧控制域目的端点簇标识配置文件标识源端点帧有效载荷地址域aps帧头aps有效载荷zdo的作用是是定义网络内其它设备的角色、发起或回应绑定请求、在网络设备间建立安全机制等。zigbee定义了3种类型的zod设备: 网络协调者(coordination),全功能设备,扫描搜索,以未使用的信道建立新网络,分配网络位置; 路由器(router),全功能设备,允许其他设备连接,负责转送信息包,同时负责找寻、建立和修复信息包的路由路径; 终端设备(end device),精简功能设备,不具备路由功能,只能选择加入已经形成的网络,可以收发信息,但不能转发信息。应用框架是应用对象和zigbee设备连接的环境,应用对象处于应用层的顶部,由设备制造商所决定,每个应用对象通过相应的端点寻址,最多可定义从1到240个不同的端点号,端点241-254保留以作将来的应用,端点0是当前对象的数据接口,端点255是向整个网络所有应用对象的广播数据接口45。(5) 安全服务规范zigbee提供的安全服务包括帧保护、设备管理、密钥建立、密钥运输的方法。这些服务是对802.15.4安全规范的补充和增强,它们共同构成了zigbee设备的安全体系。安全服务涉及到协议栈中的三层:mac、nwk和aps层,分别负责各自帧的安全传输,此外aps子层还提供安全关系建立和维护的服务,zdo管理一个设备的安全规定和安全配置。通过以上zigbee协议各层规范分析,可知其结构是由下往上逐层包含的,数据信息经过层层打包、依次传递,最终由物理层实现无线收发。物理层有效载荷部分的最大长度是127字节,如果数据包的长度大于8字节,那么物理层服务数据单元(psdu)将包含mac层的帧内容,物理层有效载荷即为mac帧。同样,mac有效载荷即为nwk帧,nwk有效载荷即为aps帧。为方便协议栈移植和应用层开发,根据协议规范对zigbee各层帧的格式进行归纳整理,如附表2所示,此表格清楚地表明了zigbee无线数据包整体帧结构。3.3.4 zigbee开发平台zigbee虽然提供了标准化的网络和应用框架,但标准化框架并不能直接应用于实际产品开发。zigbee产品的核心是多信道无线通信装置和微控制器,外围接上阻容和晶振等原件,再连接一些a/d、d/a、i/o接口及控制电路,即组成了诸如各种智能控制节点,无线传感器网络节点的核心控制模块。除硬件电路之外,还需要加载合适的无线通信软件(协议栈)和控制程序,才能组成完整的控制模块。为了兼容zigbee的各种应用,各大芯片厂商提供了各种硬件及软件解决方案,开发了相关产品,包括微控制芯片、rf收发器、仿真器、协议分析仪、专用协议栈和应用开发工具等。因此开发人员可以在一整套硬件、软件平台上直接建立自己的应用。目前市场上zigbee主要的芯片提供商(2.4ghz)主要有:ti/chipcon、ember(st)、jennic(捷力)、freescale及microchip。硬件平台提供方式有三种:(1)rf+微控制芯片。如ti的cc2420+msp430、freescale的mc13xx+gt60、ember的em2420rf+avr、microchip的mj2440+pic。(2)单芯片集成片上系统soc。如ti的cc2430/cc2431、freescale的mc13213及ember 的em250。(3)单芯片内置zigbee协议栈+外挂芯片,如jennic的soc+eeprom、ember的em260+mcu。此外,各大厂商对自己开发zigbee芯片都提供了相应的协议栈,包括 ti公司的figure 8wireless zigbee protocol stack协议栈z-stack,freescale公司 的smac、ieee802.15.4mac和beestack,ember的znet、microchip的mpzbee,jennic的jennet堆栈等。基于可靠性和兼容性角度考虑,底层协议使用提供从物理层、网络层、传输层直到zigbee类的一套完整协议栈,这样可以在开发时集中精力于应用开发上,而不必过多关注网络内部工作机理;用户应用程序部分采用各厂商提供的api函数,可实现应用程序初始化、各种系统事件处理和用户事件处理等各种功能,从而可以减小开发周期和调试复杂度。本系统选用的是ti的cc2430单芯片集成系统方案,配合z-stack协议栈来实现家庭内部组网。3.4 本章小结本章分析各种无线组网技术的特点和优势,指出家庭内部网络的发展方向是无线技术,重点介绍了基于gprs/gsm网络的短消息服务和zigbee无线技术的特点,协议规范、数据格式、网络结构及开发平台相关内容。第四章 系统硬件设计4.1 家居控制系统设计方案4.1.1系统实现目标及功能本课题实现的目标是将远程无线监控和现场无线控制相结合,设计一个基于嵌入式的家居无线控制系统,在现场,能通过人机接口实现对系统的控制及自动报警;在远端,能通过手机短消息对终端节点进行控制和信息反馈。根据以上要求,要结合arm、嵌入式操作系统、gprs网络、zigbee无线技术等,提出一种较为完善的智能家庭控制系统方案,完成系统的硬件、软件设计工作,并验证所设计系统的有效性和实用性。本课题设计智能家居系统的具体功能如下: arm控制器连接gprs模块,能让用户通过通过手机短信息进行终端设备远程控制、家庭环境模式选择和监控,同时能在异常情况下将报警信息发送到预先设置的手机号码; arm控制器连接zigbee无线模块,采用zigbee协议栈构建家庭内部短距离无线网络,实现与arm控制器的通信以及家庭各设备之间的数据交换和智能控制。 现场提供人机接口,用户通过键盘输入、液晶屏gui界面显示,可设置和修改系统参数,包括环境参数,安防报警,手机号码等,同时可对家庭环境和设备的工作状态进行现场级监控。4.1.2系统总体结构智能家居系统总体结构分为硬件和软件两部分,硬件部分主要包括各种功能的实现模块,软件部分主要包括嵌入式操作系统、设备驱动程序、zigbee协议栈和应用程序。为了使智能家居系统具有很好的兼容性和可扩展性,整个系统的硬件结构应是结构化和模块化的,既可使不同厂商的设备综合在一个系统中,又可使系统在今后能方便的扩展升级,接入其他的设备。整个智能家居系统从硬件结构上可以分为五个部分:(1) 嵌入式控制器模块:整个系统的控制核心采用arm32位risc处理器加外围电路构建嵌入式平台,完成整个系统的调度及控制;(2) 输入输出模块:通过键盘及液晶显示屏,实现家庭内部的输入控制和输出显示,同时可以实时显示家居环境状态和接收短消息的相关情况。同时通过rs232串行通信接口与gprs模块及zigbee模块连接,进行数据处理和传输;(3) gprs模块:通过sms协议可实现短信息收发,实现整个系统的远程无线监控;(4) zigbee模块:构建家庭内部短距离无线通信网络,主节点与arm控制器连接,从节点与终端设备连接,实现各个设备终端的数据收发和状态监控;(5) 终端监控模块:在各个zigbee节点的i/o口扩展控制电路,实现各种功能,包括了灯光控制、开关控制、温度检测和安防检测等。整个系统的结构如图4-1所示。图4-1 智能家居控制系统结构fig 4-1 the structure of smart home control system4.2 嵌入式控制器模块考虑到系统的模块较多,主控制器部分选择集成了电源接口,时钟电路、复位电路、存储器电路等外围器件组成的嵌入式平台magicarm2200构建嵌入式主控制器,此开发板上带有丰富的存储资源,同时具有cf卡接口、lan接口、modem接口,ps/2接口以及usb接口,方便以后扩展升级和二次开发。核心板上主芯片选择飞利浦公司的lpc2210处理器,配置2m字节的nor flash(bootloader)、8m字节的ram、16m字节的nand flash 和256字节的e2prom的存储单元46。lpc2210是基于一个支持实时仿真和嵌入式16/32位arm7tdmi-stm cpu的微处理器,其主要特性如下: 16/32位144脚arm7tdmi-s微控制器 16k字节片内静态ram,无片内flash,通过外部存储器接口可将存储器配置成4组每组的容量高达16mb数据宽度为8/16/32位 2个32位定时器(带4路捕获和4路比较通道)、6路输出pwm单元、8路10位a/d转换器、实时时钟和看门狗 多个串行通信接口:包括2个同步串行接口(spi)、2个16c550工业标准异步串行接口(uart)和高速i2c接口(400 kbit/s) 串行boot装载程序通过uart0来实现系统下载和编程 embedded ice-rt接口使能断点和观察点,嵌入式跟踪宏单元(etm)支持对执行代码进行无干扰的高速实时跟踪。 多达76个通用i/o口(可承受5v电压),9个边沿或电平触发的独立外部中断引脚,向量中断控制器可配置优先级和向量地址 2个低功耗模式:空闲和掉电,通过外部中断将处理器从掉电模式中唤醒 片内晶振频率范围130 mhz,通过锁相环(pll)可实现cpu最大的操作频率为60mhz由于lpc2210的144脚封装体积小、功耗低,通过配置总线最多可提供76个gpio和 9个外部中断,所以特别适用于工业、医疗、交通等各种监

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论