基于ARM9的WLAN接入与监控设计(智能家居)

更新时间:2024-05-18 19:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XX学院2012届本科生毕业设计(论文)

摘 要

随着经济和科学技术的快速发展,以及人们生活质量的不断提高,人们的日常生活与通讯、信息的关系日益紧密,可以说人们的生活方式正随着信息化社会的不断推进而逐步改变,同时人们也对传统的住宅方式有了更高的要求,所以,智能家居的概念便应运而生,并随着数字信息技术和网络技术的高速发展而逐步推广。

鉴于此,本次毕业设计在分析现有智能家居发展现状基础上,采用嵌入式系统开发方法,以ARM微处理器为核心,结合ZigBee通信技术,设计实现了简单基本的嵌入式WLAN接入与家居监控设计,主要实现温湿度采集与WLAN无线接入设计。主要工作如下:

1.设计了嵌入式WLAN接入与家居监控设计框架。系统采用ARM S3C6410X处理器和Linux操作系统,具有控制简单方便、智能化、成本低廉和耗能低等特点。 2.建立了嵌入式系统平台和开发环境,包括嵌入式Linux的裁减、移植,Linux文件系统的制作、加载。

3.系统实现了对数字温湿度传感器的控制,并在嵌入式平台上移植了微型的WEB服务器,设计开发了CGI程序进行系统的远程监控及管理。

实验结果表明本次毕业设计所设计的系统实现了温湿度采集的基本功能,基于嵌入式系统的家居监控设计系统在体积、性能、功耗和可扩展性上具有独特的优势和广阔的发展空间。

该系统具有良好的远程访问功能和人机交互界面,良好的扩展性和可移植性,可根据具体要求方便地在ZigBee模块上进行传感器的扩充以实现更多功能。

关键词:ARM处理器;嵌入式;Linux系统;无线监控;ZigBee技术

1

XX学院2012届本科生毕业设计(论文)

ABSTRCT

With the rapid development of the economy and science technology, and continuous improvement of people's living standards, the relationship between people's daily life and information is becoming closer. We can say that the information society is gradually changing the way people live and work, but also the traditional home posed a challenge, so the concept of intelligent home came into being, and along with the digital information technology and network technology high speed development and promotes gradually.

Considering the above, based on the analysis the development of intelligent home system, using ARM micro processor as the core, combining ZigBee communication technology, the simple basic embedded WLAN access and household monitoring design is realized, mainly to realize temperature gathering and WLAN wireless access design. The main work contents:

1.Based on studying the current situation and development trend of intelligent home system in depth,we designed the system framework of embedded intelligent home remote monitoring system.S3C6410X ARM processor and Linux operating systems as the core,combined with a sound external circuit,the system have the features of low-power,simple-controlling,cost-effective and intelligent.

2.Building Embedded System Platform and Development Environment, including embedded Linux reduction and transplant, rewriting the drivers of the devices, making Linux YAFFS file system.

3.To achieve the objectives of the remote control,we transplant a tiny Web server to the processor,design CGI program for remote monitor and management.For more convenient function,we add Digital Temperature Gauge and lamp in the system. All the devices in the system can be remote controlled through internet.

The system has the basic functions of the intelligent home,has the features of lower energy consumption,easy operation,cost-effective and good scalability, which has a wide application prospect.

The system has good man-machine interface and remote access capabilities, good probability and extension. You can easily have the expansion of sensors on ZigBee module according to specific requirements in order to achieve more application.

KEYWORDS: ARM processor; Embedded system; Linux; Wireless monitoring;

ZigBee

2

XX学院2012届本科生毕业设计(论文)

目 录

引言 ................................................................ 5 第一章 嵌入式系统 ............................................... 8

1.1 嵌入式系统概述 ................................................ 8 1.2 嵌入式系统的组成 .............................................. 9 1.2.1 嵌入式处理器 .............................................. 10 1.2.2 嵌入式外围设备 ............................................ 11 1.2.3 嵌入式软件 ................................................ 12 1.2.4 嵌入式操作系统 ............................................ 13 1.3 本章小结 ..................................................... 14

第二章 ZigBee技术介绍 ......................................... 15

2.1 ZigBee技术概述 ............................................... 15 2.1.1 ZigBee技术的概念与起源 ................................... 15 2.1.2 ZigBee技术的特点 ......................................... 16 2.1.3 ZigBee的设备节点类型 ..................................... 17 2.1.4 ZigBee的网络拓扑结构 ..................................... 17 2.2 ZigBee协议 ................................................... 19 2.2.1 ZigBee协议栈 ............................................. 19 2.2.2 基于ZigBee协议栈的应用函数接口(API)开发 ................ 20 2.3 本章小结 ..................................................... 21

第三章 STH11温湿度传感器介绍 ................................. 22

3.1 STH11温湿度传感器简介 ........................................ 22 3.2 STH11温湿度传感器的外形和内部结构 ............................ 23 3.3 本章小结 ..................................................... 23

第四章 系统整体设计 ............................................ 24

4.1 系统概述 ..................................................... 24

3

XX学院2012届本科生毕业设计(论文)

4.2总体功能设计 .................................................. 24 4.3 系统软硬件选型 ............................................... 25 4.3.1 系统硬件选型 .............................................. 25 4.3.2 系统软件选型 .............................................. 27 4.4 整体流程设计 ................................................. 28 4.5 本章小结 ..................................................... 29

第五章 环境的搭建 .............................................. 30

5.1 VMware Workstation ........................................... 30 5.2 嵌入式开发平台的搭建 ......................................... 30 5.2.1 交叉编译环境 .............................................. 30 5.2.2 安装交叉编译工具 .......................................... 31 5.2.3 嵌入式Linux内核的配置与编译 .............................. 32 5.3 本章小结 ..................................................... 33

第六章 系统实现 ................................................. 34

6.1 温湿度采集模块 ............................................... 34 6.2 ZigBee网络的建立 ............................................. 38 6.3 本毕业设计的实现 ............................................. 38 6.4 本章小结 ..................................................... 39

结束语 ............................................................ 40 致谢 ............................................................... 41 参考文献: ........................................................ 42 附录: ............................................................ 43

4

XX学院2012届本科生毕业设计(论文)

引言

随着经济和科技的发展,人们对生活质量的要求越来越高,智能家居技术应运而生。智能家居利用先进的计算机技术、网络通信技术和综合布线技术,把与家居生活有关的各种子系统有机地结合在一起统一管理,使生活更加舒适、安全和高效,具有巨大的发展前景。

“智能家居”(Intelligent Home),又称智能住宅,是通过采用先进的计算机、通信和控制技术,建立一个由家庭安全防护系统、网络服务系统和家庭自动化系统等组成的家庭服务与管理集成系统,从而实现全面的安全防护、舒适的居住环境以及便利的通讯网络的家庭住宅。智能家居是一个多功能的系统,它包括可视对讲、家庭内部的安全防范、家电控制、远程的视频监控、远程医疗诊断及护理系统、网上教育系统、家庭的影音系统等。智能家居的基本目标是将家庭中各种与信息相关的通信设备、家用电器和家用安防等装置连接到一个智能化系统上进行集中或异地的监视、控制和家庭事务性管理,并保持这些家庭设施与住宅环境的和谐与协调。随着人类的应用需求和住宅智能化的发展,智能家居系统将拥有更丰富的内容,系统也越来越复杂。

在当前市场中,智能家居相比传统家居、建材行业所占的市场份额还是微乎其微。在目前的智能家居市场不少企业均是发展项目与渠道建设并行发展,其中项目合作占据着相当重要的位置,这些项目往往也是以定位相对高端的别墅、复式楼和大户型高档小区住宅居多。随着信息技术并和Internet技术的飞速发展,智能家居技术在实现成本上大幅度降低,同时人们永不停步的追求生活的智能化和舒适化,如果技术更加成熟,其市场需求会非常大。同时由于是朝阳产业,电子电信领域的知名企业都在智能家居的研发上不遗余力。中国家电巨头海尔、TCL相继高调投入智能家居的研发,海尔推出的“U-home新型家庭智能终端”,TCL的“易家通\智能家居以及中国电信的“我的e家”和“工商e通”等,智能家居市场的发展潜力,由此可见一斑。在不久的将来,没有智能家居系统的住宅肯定不合潮流。同时智能家居在控制系统、智能建筑系统和计算机领域的广泛运用将使电子科学和计算机科学等科学中产生革命性的变革。

一、 智能家居的现状与发展

在国际上,智能家居系统是上个世界80年代才发展起来的新技术。自1984年世界上第一幢智能建筑在美国哈特福德市出现后,“智能家居”逐步走入人们的视野,美国、加拿大、欧洲、澳大利亚和东南亚等经济发达的国家先后提出了各种智能家居方案,并在美国、德国、新加坡、日本等国得到

5

XX学院2012届本科生毕业设计(论文)

应用。在我国,智能化住宅和智能化家居虽然起步比较晚,但发展速度很快。1999年,建设部勘察设计司、建设部住宅产业化办公室联合组织实施全国住宅小区智能化技术示范工程,该示范工程的启动,标志着我国智能化家居的建设掀开历史的一页。

国内的智能化家居产品,经历了从2000年左右的概念炒作到如今的推广和普及过程。目前,国内一些传统家电业的巨头如海尔、TCL、创维、科龙、海信等也高调进入智能化家居市场。进入该领域的一些企业基本都推出了各自的产品,如清华同方推出的经济型的智能化家庭设备“e-home数字家园\系统,已经得到了一定程度的应用;海尔推出的“U-home新型家庭智能终端\系统解决方案,TCL以“易家通”智能家居系统解决方案全力进军智能家居领域;而中国电信的“我的e家\和“工商e通”等智能家居服务,在其原有的各项应用上加上无线移动技术,迅速开发出可利用多种终端及网络实现无线控制的智能家居系统,在3G网络如火如荼发展之时,也将大有作为。智能家居市场的争夺日趋白热化。基于目前科技的发展情况和人们的消费理念,智能家居系统有以下五个发展方向:

1.“一体化系统集成”

家居智能化需满足自动化管理、安全防范监控、火灾报警、三表计量、对讲呼叫、设备监控等六方面内容,把这些功能集成,以降低成本,是其未来发展的一个方向。

2.智能化、网络化、人性化

智能化是智能控制发展的必然要求和趋势,它是当代高科技技术的综合和升华。网络化是信息技术、通信技术和计算机技术发展的必然趋势,是智能化的一个重要条件;人性化体现“以人为本”的思想,是科技发展的最终目的。

3.节能环保

智能化的本质之一是降低成本和提高效率,节能是降低成本的关键技术;环保是全球的要求,智能家居如何结合现有技术降低功耗、减少对家庭和小区的环境污染,提高生活环境的质量,这些也是其未来发展必须考虑的因素。

4.规范化、标准化

我国智能家居发展较晚,产业和技术标准和规范还在制定之中。产品的标准化、规范化方面存在着许多问题,还需考虑和国际接轨的问题。规范化、标准化是智能家居快速发展、走入国际市场的必由之路。

5.具有“中国特色”的家居智能化

家居智能化系统需要大量的适合中国国情的产品和运行软件,目前国内开发的软硬件产品的种类较少,水平较低。因此,这一方面的研究开发急需加强。

6

XX学院2012届本科生毕业设计(论文)

二、智能家居系统的技术特点

智能家庭网络随着集成技术、通信技术、互操作能力和布线标准的实现而不断改进。它涉及到对家庭网络内所有的智能器具、设备和系统的操作、管理,以及集成技术的应用。其技术特点表现如下:

1.通过家庭网关及其系统软件建立智能家居平台系统

家庭网关是智能家庭局域网的核心部分,主要完成家庭内部网络各种不同通信协议之间的转换和信息共享,以及同外部通信网络之间的数据交换功能,同时,网关还负责家庭智能设备的管理和控制。

2.统一的平台

用计算机技术、微电子技术、通信技术,家庭智能终端将家庭智能化的所有功能集成起来,使智能家居建立在一个统一的平台之上。首先,实现家庭内部网络与外部网络之间的数据交互;其次,还要保证能够识别通过网络传输的指令是合法的指令,而不是“黑客’’的非法入侵。因此,家庭智能终端既是家庭信息的交通枢纽,又是信息化家庭的保护神。

3.通过外部扩展模块实现与家电的互联

为实现家用电器的集中控制和远程控制功能,家庭智能网关通过有线或无线的方式,按照特定的通讯协议,借助外部扩展模块控制家电或照明设备。

4.嵌入式系统的应用

以往的家庭智能终端绝大多数是由单片机控制。随着新功能的增加和性能的提升,将处理能力大大增强的具有网络功能的嵌入式操作系统和单片机的控制软件程序作了相应的调整,使之有机地结合成完整的嵌入式系统。

7

XX学院2012届本科生毕业设计(论文)

第一章 嵌入式系统

1.1 嵌入式系统概述

嵌入式系统是当今社会最热门、发展前途最广的IT应用领域之一。根据国际电气和电子工程师协会的定义,嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置(Devices used to control,monitor, or assist the operation of equipment,machinery or plants)。一般对嵌入式系统的定义为:以应用为中心,计算机技术为基础,软硬件可裁剪并适用于应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。“嵌入性\,“专用性”和“计算机系统\是嵌入式系统的三个基本特征。

与通用计算机相比,嵌入式系统具有以下六个重要特征:

1.系统内核小。因为嵌入式系统一般是应用在小型电子装置上的,系统资源相对有限,所以其内核与传统的操作系统相比要小得多。

2.专用性强。嵌入式系统个性化很强,软件系统和硬件的结合很紧密,一般要针对硬件系统进行移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级’’是完全不同的概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时有利于实现系统安全。

4.高实时性OS(操作系统)。这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。而软件代码要求高质量和高可靠性、实时性。

5.嵌入式开发走向标准化。有些嵌入式应用程序可以没有操作系统直接在芯片上运行,但为了合理地调度多任务、利用系统资源、系统函数以及和函数库接口,开发者必须自行选配RTOS(Real—Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

6.嵌入式系统需要开发工具和环境。由于本身基本不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

数字信息时代使得嵌入式获得了巨大的发展,嵌入式市场面临着巨大的机遇,同时嵌入式生产厂商也面临着新的挑战,从中可以看出未来嵌入式系统的几大发

8

XX学院2012届本科生毕业设计(论文)

展趋势:

1.嵌入式的开发是一项系统工程,所以要求嵌入式生产厂商不仅要提供嵌入式软硬件系统本身,同时还需要强大的硬件开发工具和操作系统的支持。

2.随着Internet技术的成熟、带宽的提高,信息化、网络化的要求日益提高,使得以往单一功能的设备如手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,结构更加复杂。

3.联网成为必然趋势。为了适应网络发展的要求,未来的嵌入式设备必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEEl394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。

4.精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。所以,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。

5.提供友好的多媒体人机界面。嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和力,自然的人机交互界面。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、收发电子邮件以及彩色图形、语音拨号上网、图像都会使用户获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。

1.2 嵌入式系统的组成

嵌入式系统由嵌入式处理器、嵌入式软件系统、嵌入式外围设备和嵌入式操作系统组成,它是集软硬件于一体的可独立工作的“系统\。如图1.1所示为嵌入式系统体系结构:

9

XX学院2012届本科生毕业设计(论文)

嵌入式处理器 嵌入式应用软件 嵌入式操作系统 嵌入式外围装备 嵌入式硬件平台 图1.1 嵌入式系统体系结构

1.2.1 嵌入式处理器

嵌入式处理器是嵌入式系统的核心,负责控制整个嵌入式系统的执行。与通用处理器相比,嵌入式处理器最大的不同点在于,嵌入式CPU大多是在为特定用户群所专门设计的系统中工作,它将通用CPU中许多由板卡完成的任务集成到芯片内部,从而实现嵌入式系统的小型化,使系统具有高效率和高可靠性。嵌入式微处理器一般具备如下4个特点:

1.对实时多任务有很强的支持能力,可完成多任务并有较短的中断响应时间,从而使得内部代码和实时内核的执行时间减少到最短。

2.具有很强的存储区保护功能。这是因为嵌入式系统的软件结构已模块化,而为了防止在软件模块间出现错误的交叉作用,这就需要设计强大的存储区保护功能,同时也有利于软件诊断。

3.处理器结构可扩展,以实现快速地开发出满足应用需求的最高性能的嵌入式微处理器的要求。

4.嵌入式微处理器功耗低,特别是用于靠电池供电的便携式无线及移动的计算和通信设备中的嵌入式系统更是如此,比如需要功耗仅有mW甚至μW级。目前据不完全统计,全球嵌入式处理器的品种总数已超过1000多种,有三十几个系列的流行体系结构。如今几乎每个半导体制造商都在生产嵌入式处理器,越来越多的公司拥有自己的处理器设计部门。嵌入式处理器包括单片机,DSP,ARM,FPGA等,嵌入式系统的一个主要特点就是硬件平台的多样性,但目前ARM处理器已经拥有了3/4的32位RISC芯片的市场份额。

ARM是一类微处理器,同时也是一个公司的名字。,ARM公司在英国剑桥成立,原名为Advanced RISC Machine,它是全世界领先的16/32位嵌入式RISC微处理器解决方案供应商,向全球各大领先电子公司提供低成本、高性能和高效率的RISC处理器、外设和系统芯片授权。到目前为止,全球有几十家大的半导体公司都在使用ARM公司的授权,其中包括Motorola,Samsung,IBM,ATMEL,SONY,LG等,他们购买ARM公司设计的ARM微处理器核,然后根据各自不同的应用领域,加入适合的外围电路,形成自己的ARM微处理器芯片进入市场。这样就使得ARM技术

10

XX学院2012届本科生毕业设计(论文)

既获得了更多的第三方工具、制造、软件的支持,又降低了整个系统的成本,从而使得产品更容易进入市场而被消费者所接受,具有更强的竞争力。

目前,ARM微处理器的应用几乎已经深入到各个领域:

1、工业控制领域:基于嵌入式芯片的工业自动化设备将会获得长足的发展,到目前为止已有大量的8、16、32 位嵌入式微处理器在应用中,网络化是减少人力资源、提高生产效率和产品质量的主要途径。对于传统的工业控制产品来说,低端型采用的一般都是8位单片机。可是随着技术的发展,32位、64位处理器将逐渐成为工业控制设备的核心,必将在未来几年内获得巨大的发展。

2、无线通讯领域:到目前为止,已经有超过85%的无线通讯设备采用了ARM技术。

3、交通管理:在流量控制、汽车服务、信息监测与车辆导航方面,嵌入式系统技术已获得了广泛的应用,内嵌GSM模块和GPS模块的移动定位终端已在各种运输行业被成功的使用。到目前为止,GPS设备已从尖端产品进入到了普通百姓的家庭,只需几千元,就能够随时随地找到你的位置。

4、信息家电:这将成为嵌入式系统最大的应用领域,空调、冰箱等的智能化、网络化将会把人们的生活引导到一个崭新的空间。即使你不在家中,也能够通过电话线或网络进行远程监控。在这些设备中,嵌入式系统将得到极大的应用。 5、家庭智能管理系统:水表、电表、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高、更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。

6、POS网络及电子商务:公共电话卡发行系统,公共交通无接触智能卡发行系统,自动售货机,各种智能ATM终端将全面走进人们的生活,到时手持一卡就能够走遍天下。

7、环境工程与自然:防洪体系及水土质量监测、堤坝安全,实时气象信息网,水文资料实时监测,地震监测网,水源和空气污染监测。在很多地况复杂、环境恶劣的地区,嵌入式系统将实现无人监测。

在这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/IP的嵌入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。

1.2.2 嵌入式外围设备

在嵌入式系统的硬件系统之中,除了中心控制部件以外,嵌入式系统与真实

11

XX学院2012届本科生毕业设计(论文)

环境交互的各种设备,包括输入设备、输出设备、存储设备等都属于嵌入式外围设备。目前常用的外围设备按功能可划分为显示设备、通信设备及存储设备三类。在实际环境中,嵌入式设备的硬件配置十分灵活。除基本外围电路和CPU外,其余部分都可以裁剪。

1.2.3 嵌入式软件

嵌入式应用软件是针对特定的应用领域,基于某一固定的硬件平台,从而达到使用者预期目标的计算机软件,因为用户任务可能会有精度和时间上的要求,所以有些嵌入式应用软件需要特定的嵌入式操作系统的支持。嵌入式应用软件与普通应用软件之间有一定的区别,它不仅要求其稳定性、安全性及准确性等方面能够满足实际应用的需要,还需要尽可能地进行优化,从而减少对系统资源的消耗,降低硬件成本。因此,如果说硬件是嵌入式系统的骨架,那么软件就是嵌入式系统的灵魂。

嵌入式系统的软件可以分为四个层次:设备驱动、操作系统、应用中间件和应用系统,如图1.2所示为其结构:

Application API(Application Programming Interface) BASIC Power Manager File Manager OS Core GUI Manager Extended TCP/IP WAP Browser HTTP Database DDI(Device Driver Interface) 图1.2 嵌入式系统软件结构框图

设备驱动接口DDI:它负责嵌入式系统与硬件设备的信息交互。

操作系统EOS:该系统分成基本和扩展两部分。前者是操作系统的核心,负责整个系统的任务调度、存储分配、时钟管理和中断管理,并提供文件、GUI等基本服务;后者是为用户提供操作系统的扩展功能,包括网络、数据库等。 应用编程接口API:该接口称为应用编程中间件,是为编制应用程序而提供的各种编程接口库(LIB)。它能够针对不同应用领域(如机项盒、PDA、网络设备等)、不同安全要求分别构件,从而减轻应用开发者的负担。

应用系统:实际的嵌入式系统应用软件,如嵌入式文本编辑、读/写卡系统、

12

XX学院2012届本科生毕业设计(论文)

游戏等。

当实际构建嵌入式系统时,并不是一定需要EOS和应用编程接口。即使使用,也可以根据实际需要配置和裁剪。

1.2.4 嵌入式操作系统

嵌入式操作系统(Embedded Operation System,EOS)是一种用途非常广泛的系统软件,它过去主要是应用于工业控制和国防系统领域。嵌入式系统的全部软、硬件资源的分配与任务调度以及控制、协调并发活动都由嵌入式操作系统负责。它必须体现其所在系统的特征,能够通过装卸某些模块来实现系统所要求的功能。目前,已经拥有一些应用比较成功的嵌入式操作系统产品系列。随着Internet技术的发展、信息家电的普及应用和嵌入式操作系统的微型化和专业化,嵌入式操作系统开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在应用的专用性、系统实时高效性、软件固化、以及硬件的相关依赖性等方面具有较为突出的特点。嵌入式操作系统是相较于一般操作系统而言的,它除了具备有一般操作系统最基本的功能,如中断处理、任务调度、文件功能、同步机制等外,还有以下特点:

1、可装卸性。开放性和可伸缩性的体系结构。

2、强实时性。嵌入式操作系统实时性一般较强,应用于各种设备控制当中。

3、操作简单、方便、提供友好的图形GUI,图形界面,追求易学易用。 4、统一的接口。提供各种设备驱动接日。

5、提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。

6、固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。由于辅助存储器在嵌入式系统中很少被使用,所以,嵌入式操作系统的文件管理功能应该能够很容易地被拆卸,而用各种内存文件系统。

7、强稳定性,弱交互性。嵌入式系统一旦开始运行就无需用户过多的干预,这就要求负责系统管理的嵌入式系统具有较强的稳定性。嵌入式操作系统的用户接口一般并不提供操作命令,它通过系统调用命令向用户程序提供服务。

8、良好的移植性。

13

XX学院2012届本科生毕业设计(论文)

1.3 本章小结

本章中主要介绍了嵌入式系统的定义、特点和发展趋势,分析了嵌入式系统的软硬件结构,以及系统设计中将要用到的嵌入式ARM处理器和操作系统的特点。

14

XX学院2012届本科生毕业设计(论文)

第二章 ZigBee技术介绍

2.1 ZigBee技术概述

2.1.1 ZigBee技术的概念与起源

ZigBee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在的方位信息,也即是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、自组织、低复杂度、低功耗、低成本、低数据速率。主要适用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的、低功耗的近距离无线组网通讯技术。

ZigBee,在中国被译为“紫蜂”或“智蜂”,与蓝牙类似,是一种新兴的短距离无线技术。 它主要用于传感控制应用(sensor and control)。 此想法在IEEE 802.15工作组中被提出,于是成立了TG4工作组,并制定规范了IEEE 802.15.4标准。

2001年8月,ZigBee Alliance成立。 2004年,ZigBee V1.0诞生,它是ZigBee的第一个规范,但因为推出比较仓促,所以存在一些错误。2006年,推出了比较完善的ZigBee 2006。2007年底,ZigBee PRO被推出 。2009年3月,ZigBee RF4CE被推出,它具备更强的灵活性和远程控制能力 。

ZigBee的底层技术基于IEEE 802.15.4标准。 物理层和MAC层则直接引用了IEEE 802.15.4标准。

在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多的优点,但是仍存在许多的缺陷。对工业、家庭自动化控制和工业遥测遥控领域而言,蓝牙技术显得太复杂,组网规模太小、功耗大、距离近等。可是工业自动化,对无线数据通信的需求越来越强烈,所以,对于工业现场,这种无线数据传输必须具有高可靠性,并且能够抵抗工业现场的各种电磁干扰。所以,在经过人们的长期努力之后,ZigBee协议于2003年正式问世。另外,ZigBee使用了在它之前所研究过的面向家庭网络的通信协议Home RF Lite。

长期以来,低价、短距离、低传输率、低功率的无线通讯市场一直都存在着。自从蓝牙技术出现以后,曾让家用自动控制、工业控制、玩具制造商等业者雀跃不已,

但是蓝牙技术的成本一直很高,严重影响了这些厂商的使用意愿。如今,这些业者都已参加了IEEE802.15.4小组,负责制定ZigBee的物理层和媒体介质访问层。

15

XX学院2012届本科生毕业设计(论文)

IEEE802.15.4规范是一种经济、高效、低数据速率(<250kbps)、工作在2.4GHz和868/928MHz的无线技术,用于个人区域网和对等网络。它是ZigBee应用层和网络层协议的基础。ZigBee是一种新兴的近距离、低数据速率、低复杂度、低功耗、低成本的无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。主要用于近距离无线连接。它依据802.15.4标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需很少的能量,通过无线电波以接力的方式将数据从一个网络节点传到另一个网络节点,因此它们的通信效率非常高。

2.1.2 ZigBee技术的特点

作为一种新兴的无线通信技术,ZigBee技术之所以能够得到快速的发展和推广,在于它本身的许多技术特点相对于其他的无线传输技术而言具有很大的优势。ZigBee技术的特点主要包括如下内容:

1、功耗低:因为工作时间短、收发信息功耗低并且采用了休眠模式,就使得ZigBee节点非常省电,工作时间可以长达6个月至2年左右。

2、数据传输可靠:ZigBee的媒体接入控制层(MAC层)采用talk-when-ready的碰撞避免机制,每个发送的数据包都必须等待接收方的确认信息,从而避免了发送数据时的竞争和冲突。

3、时延短:通信时延和从休眠状态恢复到正常工作状态的时延都做了相应的优化,时延比较短。

4、网络容量大:一个ZigBee的网络最多包括有255个网路节点,其中一个是主控(Master)设备,其余则是从属(Slave)设备。若是通过网络协调器(Network Coordinator),整个网络最多可以支持超过64000个ZigBee网路节点,再加上各个网络协调器可互相连接,整个ZigBee网络节点的数目将十分可观。

5、安全性:ZigBee提供了数据完整性检查和鉴权功能,在数据传输中提供了三级安全性。

6、兼容性:ZigBee技术与现有的控制网络标准无缝集成。通过网络协调器(Coordinator)自动建立网络,采用载波侦听/冲突检测(CSMA-CA)方式进行信道接入。为了可靠传递,还提供全握手协议。

7、实现成本低:模块的初始成本估计在6美元左右,很快就能降到1.5-2.5美元,并且ZigBee协议免专利费用。目前低速低功率的UWB芯片组的价格至少为20美元,而ZigBee的价格目前仅为几美元。

8、ZigBee网络的自组织和自愈功能强:不需要人工干预,网络节点能够自动感知其他节点的存在,并确定连接关系,组成结构化的网络;而且当网络内节点产生故障或节点位置发生变动时,网络都能够自我修复,并对网络拓扑结构进行相应地调整,保证整个系统的正常工作。

16

XX学院2012届本科生毕业设计(论文)

2.1.3 ZigBee的设备节点类型

从前一节我们知道,ZigBee网络的网络容量非常大,ZigBee标准规定可以在一个单一的网络中容纳65535个节点。可以说节点的数量十分庞大,但是节点的类型却十分有限,所有节点都属于以下三种节点中的一种。 1、协调器(Coordinator)

不论网络采用何种拓扑结构即网络的组织形式,网络中都需要有一个并且只能有一个节点。在网络层上,通常只在系统初始化的时候起作用,在一些应用中网络初始化完成后,即便是关闭了节点,网络仍然可以正常的工作。但是如果还负责提供路由路径,比如说在星形网络的拓扑结构中我们将很快提到这种拓扑结构,就不能被关闭,而必须持续的处于工作状态,同样如果在应用层提供一些服务,比如两个网络通过进行绑定时也必须持续的处于工作状态,总体来说的主要任务有四个:

(1)在2400MHz到2483.5的频段中选择网络所使用的频率通道,通常应该是最安静的频率通道。

(2)开始组建一个无线网络。

(3)接收其他节点的请求信息,选择性的允许其他节点加入到刚组建中网络中来。

(4)它通常还会提供信息路由、安全管理和其他的服务。 2、路由器(Router)

如果ZigBee网络采用了树形和星形拓扑结构就需要用到Router这种类型的节点,这类节点在网络中占有最大的比重。一般来说,这类节点是不允许休眠的。它主要有以下两个任务:

(1)在同一个网络内的节点之间转发信息而达到通信的目的。 (2)允许一些子节点通过自己加入到它所在的网络中。 3、终端节点(End Device)

End Device一般处于网络的边缘,主要任务就是发送和接收信息,可是它不能够转发信息,也不能让其他节点加入到网络中来。通常End Device节点是由电池来供电的,而且为了节省电能,当它不在数据收发状态时都是处于休眠状态的。

2.1.4 ZigBee的网络拓扑结构

与一般网络的拓扑结构相类似,ZigBee网络的拓扑结构一般有三种形式:星形拓扑、树形拓扑、网状拓扑。 1、星形拓扑

17

XX学院2012届本科生毕业设计(论文)

这是最简单的一种拓扑形式,在这种拓扑结构中主要包含一个Coordinator节点和一系列的End Device节点,如图2.1所示。Coordinator是任意两个End Device通信的中转站,也即是说End Device可以自如的与Coordinator进行通信,如果想与其他的End Device节点进行通信的话就必须先通过Coordinator节点进行信息的转发。不难发现,万一网络中的Coordinator节点发生了故障,整个网络就会陷入瘫痪的状态。

终端设备

2、树形拓扑

树形拓扑包括一个协调器以及一系列的路由器和终端节点,如图2.2所示。协调器既可以与路由器相连又可以与终端节点相连,而它的路由器子节点又可以连接一系列的路由器和终端节点,这样就形成了一个层次清晰的通信网络。

协调器

终端 终端 协调器 路由 终端 图2.1 ZigBee的星形拓扑

终端设备 路由器 路由器

终端设备

协调器 终端设备

终端设备 终端 终端 终端

路由 终端 路由 路由

图2.2 ZigBee的树形拓扑

在这种拓扑结构中,有同一个父节点的节点之间称为兄弟节点,而有同一个祖父节点的节点之间称为堂兄弟节点。每一个节点都只能和他的父节点和子节点

18

XX学院2012届本科生毕业设计(论文)

之间进行通信,如果需要从一个节点向另一个节点发送数据,那么信息将沿着树的路径向上传递到最近的祖先节点然后再向下传递到目标节点。和星形拓扑结构一样,信息具有唯一路由通道,中间有一个路由节点发生故障,就会造成局部或大面积的系统阻塞。 3、网状拓扑

同树形拓扑一样,网状拓扑结构也是由一个协调器以及一系列的路由器和终端节点组成,如图2.3所示。但是与树形拓扑相比,网状拓扑具有更加灵活的信息路由规则,在可能的情况之下,路由节点之间可以直接的通讯。这种路由机制使得信息的通讯变得更有效率,而且即使网络中有某个节点出现了故障,信息也可以自动的沿其他的路由路径进行传输,从而提高了信息传输的可靠性。

图2.3 ZigBee的网状拓扑

2.2 ZigBee协议

ZigBee标准定义了一种网络协议,这种协议能够确保无线设备在低成本、低功耗和低数据速率网络中的互操作性,它是构建在IEEE 802.15.4标准基础之上的。802.15.4标准定义了MAC层和物理(PHY)层的协议标准,MAC和物理层定义了射频以及相邻的网络设备之间的通讯标准。而ZigBee协议栈则定义了网络层,应用层和安全服务层的标准。

2.2.1 ZigBee协议栈

协议栈框架是在七层模型的基础上根据市场和实际需要定义的,它采用标准的分层结构,与其他常见的无线通信标准相比,协议栈具有紧凑而且简单的特点,而且对环境配置要求不高。ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。这些组件的概况如图2.4所示。

19

XX学院2012届本科生毕业设计(论文)

图2.4 ZigBee协议栈

从图2.4可以看出,最上面的应用层主要包括AF、APS、ZDO以及用户定义应用对象。在这一层中,应用支持子层(APS)负责维护设备绑定表,以及在绑定的设备间传输数据。ZigBee设备对象(ZDO)负责定义设备在网络中的角色如(如协调器、路由器或者其他的中断设备),提出或响应绑定请求,以及建立网络设备间的安全关系。此外,它还要负责网络设备的发现及判定对方提供哪类服务。网络层主要是选择设备在建立连接和断开时所采取的机制,以及数据在传输过程中为保证安全性所采取的一些措施。此外,在网络建立后,它还要负责设备的路由发现、维护和转交。例如在建网之初,它会根据需要选择网络的组织形式为新设备分配短地址,并提供一些必要的函数以保证相邻层也能顺利的工作等。而最下面的PHY层和MAC层主要定义了射频以及相邻的网络设备之间的通讯标准,它是由802.15.4协议来完成的。

在这种层次结构中,每一层都接受下一层所提供的服务,并为上一层提供服务。在这一过程中存在两个比较重要的实体:数据实体和管理实体。他们分别提供数据传输和管理的服务。

2.2.2 基于ZigBee协议栈的应用函数接口(API)开发

1、Application Development(AD) API

这类函数是实际应用与协议栈进行交互的基本接口,主要分为三类: (1)应用初始化函数接口:主要负责系统上电时初始化协议栈。例如AppColdStart、

AppWarmStart。

(2)应用程序调用协议栈的函数接口:这类函数一般由第一类函数来调用。例如

JZS_u32InitSystem、JZS_vStartStack。

(3)协议栈调用应用程序的函数接口:这是应用程序与协议栈进行通信的接口,

20

XX学院2012届本科生毕业设计(论文)

数目比较多,例如JZA_boAppStart、JZA_vStackEvent、JZA_vAppDefineTasks等。协议栈在运行过程中如果需要应用程序进行相应的处理,就会把控制权交给应用程序的接口。

2、Application Framework(AF) APIs

这类函数主要用来处理数据的发送和有关设备描述的处理问题,主要分为两大类:

(1)AF sub-layer Data Entity(AFDE) API:主要用来创建和发送数据请求,一般在af.h文件中进行定义。

(2)AF sub-layer Management Entity (AFME) API: 主要用来对设备的描述进行增加、修改和删除等操作,以便及时的更新网络,这一系列函数在afProfile.h中定义。 3、ZigBee Device Profile (ZDP) APIs

ZDP API是用来和远程节点的ZigBee Device Objects进行交互的函数接口,它主要包含三类函数:

(1)ZDP Device Discovery API:这类函数用来获得远程节点的网络标识。 (2)ZDP Service Discovery API:主要用来获得远程节点所能够提供的服务。 (3)ZDP Binding API:用来实现设备间的绑定和反绑定。

ZDP API是通过请求应答的模式来工作的,即节点可以通过函数调用的方式向网络发送请求,网络会以地址或广播的形式在网络内转送这一请求,然后由网络中可以应答的节点发出回应信息。 4、Basic Operating System(BOS) API

BOS API用于与BOS进行交互,提供注册用户任务以及处理应用程序与BOS之间的消息、内存管理和中断管理等功能。

在实际的应用开发过程当中,我们就是要在这些函数接口之中添加自己的一些应用逻辑,定义自己需要的数据结构以及数据处理方法,并选择适当的时机进行调用。有些接口可能在开发过程中应用比较少,或者根本应用不到,但仍然需要保留函数体,以保证系统的正常运转。

2.3 本章小结

本章一开始简单介绍了ZigBee技术的概念、名称的由来和技术特点,接着详细研究了ZigBee技术的网络基础,包括节点类型、拓扑结构和路由方式,然后对ZigBee协议进行了解析并给出了协议栈的框架结构,最后在协议栈框架结构的基础上学习了基于ZigBee协议栈进行开发的程序框架和常用的应用函数接口。

21

XX学院2012届本科生毕业设计(论文)

第三章 STH11温湿度传感器介绍

3.1 STH11温湿度传感器简介

SHTxx系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专利的工业COMS过程微加工技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个SHTxx传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

两线制串行接口和内部基准电压,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品提供表面贴片LCC(无铅芯片)或4针单排引脚封装。特殊封装形式可根据用户需求而提供。

STH11温湿度传感器主要特性如下:

1、将温湿度传感器、信号放大调理、A/D转换、I2C总线接口全部集成于一芯片(CMOSENSTM技术);

2、可给出全校准相对湿度及温度值输出; 3、带有工业标准的I2C总线数字输出接口; 4、具有露点值计算输出功能; 5、具有卓越的长期稳定性;

6、湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位;

7、小体积(7.65×5.08×23.5mm),可表面贴装; 8、具有可靠的CRC数据传输校验功能; 9、片内装载的校准系数可保证100%互换性; 10、电源电压范围为2.4~5.5V;

11、电流消耗,测量时为550μA,平均为28μA,休眠时为3μA。

22

XX学院2012届本科生毕业设计(论文)

3.2 STH11温湿度传感器的外形和内部结构

图3.1 STH11温湿度传感器

图3.2 STH11引脚图

如图3.2,其引脚说明如下: (1)GND:接地端;

(2)DATA:双向串行数据线; (3)SCK:串行时钟输入;

(4)VDD:电源端:0.4~5.5V电源端; (5~8)NC:空管脚。

3.3 本章小结

本章着重介绍了STH11温湿度传感器的特性、外观和内部构造,并介绍了STH11温湿度传感器的引脚图。

23

XX学院2012届本科生毕业设计(论文)

第四章 系统整体设计

4.1 系统概述

本次毕业设计系统旨在设计实现一个基本的嵌入式WLAN接入与家居监控设计,主要实现温湿度采集与WLAN无线接入设计。所以本系统主要实现的功能有:通过温湿度传感器采集各个房间的温湿度;实现通过网络对外通信模块。系统如图4.1所示:

计算机 WEB服务器 ARM 串口 1 ZigBee 串口2 传感器 图4.1 系统设计图

4.2总体功能设计

根据本次设计预定的目标,设计了温湿度采集模块、WEB网络服务器。如图4.2所示:

温湿度采集模块 图4.2 系统功能框图

WEB物联网关 网络服务器 ? 温湿度采集模块:通过温湿度传感器采集温湿度并显示房间温度。 ? WEB网络服务器:可以使用户在网络上查看设备信息,并可以对监控的

必要信息进行设置。

由于系统是运行在嵌入式开发平台的基础上的,因此除了要实现基本功能之外,还需要在ARM平台上移植Linux操作系统、开发必要的驱动程序、进行必要的

24

XX学院2012届本科生毕业设计(论文)

函数库的移植等。在系统的操作方面,可以通过互联网进行远程的查看和控制,在远程端对该系统进行必要的配置和控制等操作,使系统真正做到使用方便。

4.3 系统软硬件选型 4.3.1 系统硬件选型

因为ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,和千变万化的内部功能配置组合,这就给开发人员在选择方案时带来了一定的困难,因此,就必须对ARM芯片做一些对比研究。

出于应用的角度,在选择ARM微处理器时应该考虑的主要问题包括: 1.ARM微处理器内核的选择

由前面介绍的内容可以知道,ARM微处理器包含了一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持WindowsCE和标准Linux,但是目前有uCLinux等不需MMU支持的操作系统可运行在ARM7TDMI硬件平台上。

2.系统的工作频率

系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz;ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9芯片的系统主时钟频率为100MHz-233MHz,ARMl0最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、DSP、UART、音频等功能部件提供不同频率的时钟。

3.芯片内存储器的容量

大多数ARM微处理器片内存储器的容量都不是太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间。

4.片内外围电路的选择

除了ARM微处理器核之外,几乎所有的ARM芯片都根据各自不同的应用领域,扩展了相关的功能模块,并集成在芯片中,称之为片内外围电路,如IIS接口、USB接口、LCD控制器、键盘接口、ADC、RTC和DAC、DSP协处理器等,设计人员应分析系统的需求,尽可能的采用片内外围电路完成所需的功能,这样既能简化

25

XX学院2012届本科生毕业设计(论文)

系统的设计,同时又能提高系统的可靠性。

除了以上介绍的四个准则外,还有许多其他因素需要考虑,比如兼容性、价格等。

综上所述,博创科技推出的嵌入式系统教学科研平台UP-CUP6410-II型比较适合本次设计。嵌入式系统教学科研平台UP-CUP6410-II型采用了基于Samsung公司最新的S3C6410X(ARM11)嵌入式微处理器。S3C6410X是一款16/32位的RISC微处理器,具有低成本、低功耗、高性能等优点,适用于移动电话和广泛的应用开发。为给2.5G和3G的通信服务提供优越的性能,S3C6410X采用64/32位内部总线结构。其内部总线是由AXI、AHB和APH三部分总线构成。S3C6410X也包含了许多强大的硬件,用于提高任务运行的速度,例如音频处理、2D图形、动态视频处理、显示和缩放等。其集成了多种格式编解码器,支持MPEG4/H.263/H.264的编码及解码和 VC1 解码。H/W 型编码器/解码器支持NTSC和PAL模式的实时视频会议和电视输出。三维图形(以下简称3D引擎)是一种3D图形硬件加速器,可以更好地支持openGLES的1.1及2.0。这个3D引擎包括两个可编程着色器:顶点渲染和象素渲染。

S3C6410X 具有良好的外部存储器结构。这种优化的结构能够在高端的通信服务中维持很高的内存宽带。存储系统拥有两个外部存储器接口,DRAM和 Flash/ROM。DRAM的端口可支持移动DDR。Flash/ROM端口支持NOR Flash,NAND Flash,OneNAND,CF和光盘类型的外部存储器。

为降低整个系统的成本,并提供整体功能,UP-CUP6410包括许多硬件外设,如16位真彩液晶LCD控制器、相机接口、4通道UART接口、系统管理(电源管理等)、32通道DMA、5通道32位定时器与2PWM输出、总线接口、通用I/O端口、I2C总线接口、USB主机、I2S接口、高速USB接口OTG设备(480Mbps的传输速度)、3通道SD/MMC记忆主机控制器和的PLL时钟发生器。ARM子系统是基于的ARM1176JZF-S核心。其包括独立的16KB指令16KB数据高速缓存,16KB指令和16KB数据TCM(Terminal-to-ComputerMultiplexer,终端设备至计算机多路转接器)。它还含有一个完整的MMU进行处理虚拟内存管理。ARM1176JZF-S 是一种单芯片的MCU,支持Java。ARM1176JZF-S特含矢量浮点协处理器,可有效执行各种加密设置以及高品质的3D图形应用。S3C6410X采用了标准的AMBA总线架构。正式因为这些强大的功能以及工业级的标准,使得S3C6410X支持工业级标准的操作系统。

UP-CUP6410-II型教学科研平台集成了USB、SD、LCD、Camera 等常用设备接口,适用于各种手持设备、消费电子和工业控制设备等产品的开发。UP-CUP6410-II 型平台可以作为计算机、电子通讯、软件开发等。

另外,数字温度传感器选择STH11温湿度传感器。

SHTxx系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专利的工业COMS过程微加工技术,确保产品具有极高的可靠性与卓越

26

XX学院2012届本科生毕业设计(论文)

的长期稳定性。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个SHTxx传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

两线制串行接口和内部基准电压,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。

4.3.2 系统软件选型

嵌入式操作系统选择了嵌入式Linux操作系统。

随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。目前,已推出一些应用比较成功的EOS产品系列。国际上嵌入式操作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Com公司下属子公司的PalmOS,Microsoft公司的WindowsCE,开放源代码的Linux以及WindRiver公司的实时系统VxWorks等。

在所有的操作系统中,Linux是一个发展最快、应用最广泛的嵌入式操作系统。Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,在新兴的嵌入式操作系统领域内获得了飞速发展。嵌入式Linux是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几K或者几M字节的存储器芯片或者单片机中,适合于特定嵌入式应用的专用Linux操作系统。嵌入式Linux的研究和开发是操作系统领域中的一个热点,目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。Linux本身的种种特性使其成为嵌入式开发的首选。

1.广泛的硬件支持。Linux能够支持x86,ARM,MIPS,ALPHA,PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。并且Linux有非常丰富的驱动程序资源,支持各种主流硬件设备,甚至可以运行在没有存储管理单元(MMU)的处理器上,这些进一步促进了Linux在嵌入式系统中的应用。

2.内核高效稳定。Linux的内核设计非常精巧,分成进程调度、进程间通信、内存管理、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块插入内核或从内核移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。

3.开放源码,软件丰富。嵌入式系统千差万别,往往需要针对具体的应用进

27

XX学院2012届本科生毕业设计(论文)

行修改和优化,因而获得源代码至关重要。Linux开放源代码,它为用户提供了最大限度的自由度。Linux的软件资源十分丰富,几乎所有的通用程序都能够在Linux上找到,而且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,可选择一个类似的自由软件作为原型进行二次开发。

4.优秀的开发工具。开发嵌入式系统的关键是需要有一套完善的开发和调试工具。传统的嵌入式开发调试工具是在线仿真器(In-Circuit Emulator,ICE),价格昂贵,只适合做非常底层的调试。嵌入式Linux为开发者提供了一套完整的工具链(Tool Chain),能够很方便地实现从操作系统到应用软件各个级别的调试。

5.完善的网络通信和文件管理机制。Linux从诞生之口起就与Internet密不可分,支持各种标准的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2,fat32,romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。

4.4 整体流程设计

嵌入式系统开发时,不仅要设计系统实现的功能,还要考虑系统的结构框架和启动流程,这将直接关系到系统运行的稳定性。嵌入式系统在运行初期需要对系统外围设备进行检测和驱动加载,系统构建的监控系统属于入式系统的应用程序,为此在课题中设计了如图4.3所示的加载过程。

图4.3 系统启动流程图

28

开始 Bootloader初始化 Linux内核初始化 加载外围驱动 加载文件系统 启动监控系统 等待触发条件 N 满足条件 Y 转进处理进程……… XX学院2012届本科生毕业设计(论文)

打开系统电源时,首先执行bootloader程序,Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,系统可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。bootloader只是负责在kernel没有运行时管理一些必要硬件,实现布局系统和主机通信、把kernel的起始地址放到指针中启动,其作用类似PC机启动前的BIOS引导。

之后是Linux内核初始化,其主要工作是划分物理内存和创建进程,然后检测外围设备并加载驱动程序。之后加载根文件系统,根文件系统指的是Linux系统启动时所使用的第一个文件系统,在启动内核时需要挂载根文件系统来支持访问外部设备,以及装载和运行内核模块与应用程序,在操作系统正常工作时也需要根文件系统来支持各种功能。Linux引导启动时,默认使用的是文件系统是根文件系统。装载根文件系统也是引导系统启动过程的最后一个步骤。

当前面的所有初始化工作做完之后就开始加载监控系统。监控系统大多都是后台程序,系统运行起来就开始进行监听,在本系统中采用的监听是查询方式,当有信号触发时则进行相应的服务。由于系统的设计对于实时性的要求不是很高,十几毫秒的延迟对于整个系统的性能没有太大影响。

4.5 本章小结

本章主要介绍了系统的应用需求,并进行了功能设计。在此基础上进行了系统的软硬件选型,然后设计了系统的和系统总体流程设计。

29

XX学院2012届本科生毕业设计(论文)

第五章 环境的搭建

5.1 VMware Workstation

安装虚拟机,安装完毕之后,双击启动如图5.1所示:

图5.1虚拟机

然后安装Linux系统,在此选择了RetHat9系统。安装完毕。

5.2 嵌入式开发平台的搭建

为了使Linux操作系统能在所用的开发板上运行,必须进行操作系统的移植。在移植Linux操作系统之前先建立系统交叉编译环境。

5.2.1 交叉编译环境

开发基于Linux的应用程序,一般的步骤是先编写程序源代码,然后编译调试,最终生成可执行程序。目前,己有各种基于x86架构的GNU开发工具集一般都作为标准Linux的一部分存在,但使用这些工具编译出来的可执行程序只能在基于x86架构的CPU上运行,因为编译器最终编译出来的是基于x86架构的机器码。由于嵌入式设备没有足够的内存和存储资源,一般不能直接安装发行版的Linux系统来完成其编译过程,所以需要在主机上编译生成针对目标的代码,然后将其下载到嵌入式开发板上去运行,这个过程称为交叉编译。这也是目前大多数嵌入式设备开发所使用的编译方式。嵌入式Linux开发环境一般由如下几部分构成:

Linux服务器(宿主机)、工作站、嵌入式目标系统和将它们连接在一起的网络环境。

双方一般通过串口、并口或以太网接口建立连接关系。在一台PC机上安装

30

XX学院2012届本科生毕业设计(论文)

ZIGBEE(CC2431)模块外形,如图6.3所示。

图6.3 ZigBee模块

ZIGBEE(CC2431)模块硬件上设计有2个LED灯(参见图6.4),用来编程调试使用。 R4 R5 220 图6.4 LED硬件接口 D1 D2 LED0 LED1 VDD_3.3v 分别连接CC2431的P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。 J5 4 3 2 1 A/D P0_1 P0_0 VDD GND 图6.5 ZigBee模块主板J5接口 36

XX学院2012届本科生毕业设计(论文)

系统配套的温湿度传感器,与ZIGBEE模块的J5排线相连,这样我们可以知道,温湿度传感器模块的时钟线与ZIGBEE模块的P0_0 IO引脚相连,温湿度传感器的数据线与P0_1 IO引脚相连(参见图6.5)。因此我们需要在代码中将相应引脚进行输入输出控制模拟该传感器时序,来监测温湿度传感器状态。

温湿度采集模拟时序代码参见工程代码sht11.c文件,其中大部分采用官方提供DEMO代码完成,稍加时序控制即可使用。

在本次实验中,在温度采集过程中所调用的主要函数如下: void uDelay(uint n); void _nop_(void);时延函数

void s_connectionreset(void);连接复位函数

char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);温湿度测量函数

void calc_sth11(float *p_humidity ,float *p_temperature); 温湿度值标度变换及温度补偿

float calc_dewpoint(float h,float t); 从相对温度和湿度计算露点 char s_read_byte(unsigned char ack);读数据函数 char s_write_byte(unsigned char value);写数据函数

以上函数均在Linux的数字温湿度传感器STH11驱动模块中实现,为了便于调试,该驱动模块没有以内核驱动的方式配置,而是以模块方式配置。

系统通过调用函数s_measure (unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)来读取温湿度传感器的温度值和湿度值,读取后的温度值和湿度值保存在TEMP字符串中。具体过程如下: 在main函数中,存在

Value humi_val, temp_val;

unsigned char error=0,checksum;

定义了两个共同体,humi_val用于湿度,temp_val一个用于温度//定义了两个无字符的char变量并对error变量赋初值0,error用于检验是否出现错误,赋值为0代表通讯正常。

再定义一个10位的数组temp_buf[10]用于存储测量的温度,定义一个10位的数组humi_buf[10]用于记录测量的湿度。 定义一个浮点型变量dew_point。

然后进行初始化,设置引脚,初始化串口并复位温湿度传感器。 然后开始实现循环采集温湿度状态并通过串口发送数据。

其中,先建立一个死循环,只要通讯正常,系统就一直实时地监测环境的温湿度。

37

XX学院2012届本科生毕业设计(论文)

假设通讯正常,开始测量湿度 ,在这里调用s_measure函数,并将测得的值与变量error相加并把结果重新赋予error变量。 延时一段时间后,测量温度,同上。

这时若error的值不为零,即通讯不正常,则系统复位,跳出循环。 而若通讯正常,则将共同体成员取浮点数。再调用calc_sth11函数,计算温湿度值并修正。然后格式化数据输出,通过串口将数据传送给平台并显示。 详细代码见附录。

而程序通过配置CC2431处理器的IO P0_0、P0_1引脚来模拟温湿度传感器时序,进而取得传感器的状态,如果顺利采集到温湿度状态,则LED2闪烁且在串口输出相应的温湿度数据。

6.2 ZigBee网络的建立

本系统在组网的过程中主要涉及两种节点,协调器节点和一般的路由节点,其中协调器起着决定性的作用。组网的流程是这样的首先确定一个节点作为系统的主控制器节点,也就是作为协调器。它会在自己所处的空间内进行信息扫描,从2400MHz——2483.5MHz的16个通道中选择一个,一般是最安静的一个,发起请求并创建一个个人局域网络(PAN)。同时它会创建一个网络邻接表,以便存储即将加入本网络的其他路由节点的信息。然后协调器会时刻对网络进行监听,当发现路由节点的请求信息后,它会根据路由节点所提供的有效信息(一般是由分配的64位全球唯一标识符)对其进行审核。以决定是否允许该节点加入。审核通过后,协调器会为该路由节点分配一个16位的短地址以区别于本网络内的其他节点,并将该节点的基本信息添加到网络邻接表中。以此类推,协调器会以同样的方法添加其他的路由节点或其他路由节点的子节点,直至家庭中的各个设备节点都已经添加到网络中为止.最后,协调器会为节点间的通信制定统一的协议标准,实时的更新网络邻接表,以便合理有效的管理整个网络。

6.3 本毕业设计的实现

最后通过物联网的实验箱来实现实验的完成。分别把相关模块安装到实验箱上就能开始记录实验数据。如下图6.6所示:

38

XX学院2012届本科生毕业设计(论文)

图6.6 系统功能的实现

6.4 本章小结

本章具体讲述了相关模块的功能和毕业设计系统的最后实现。

39

XX学院2012届本科生毕业设计(论文)

结束语

本文将ZigBee技术与ARM技术相结合,设计完成了一套简单的监控系统,设计的工作主要包括以下几部分:

(1)在已有知识的基础上,进一步学习和查阅了大量的相关知识,结合实际

提出了本文的总体设计方案。

(2)根据本设计的需要,分析和研究了目前流行的几种操作系统,在ARM开发

板UP-CUP6410上移植了Linux操作系统、嵌入式WEB服务器和ZigBee模块,搭建了本系统所需要的软硬件平台,为进一步的开发打下了坚实的基础。

(3)构建完成了基于一的嵌入式家庭网关,来满足用户完成远程控制和查询

的功能。

(4)学习和研究了ZigBee技术的特点、网络基础、协议栈框架结构和应用开

发接口函数,在此基础上组建了家庭内部的无线传感网络,实现了家庭内部设备与家庭网关服务器以及内部设备之间的相互通信,实现了预定的远程控制和查询功能。

在本文的研究过程中,尽管我学习查阅了大量的参考文献,认真研究了与本系统相关的技术环节,并大胆的进行了应用,取得了一定的成果。但由于本系统涉及的技术面甚广,自身的知识层面尚有欠缺,所以本系统还需要进一步改善:

(1)本系统所实现的设备控制和查询功能还略显单一,没有充分发挥服务器应有的功能。在未来的学习和研究中,可以不断的进行拓展,以丰富系统的功能。

(2)系统的安全性和实时性还偏低,可能会给用户带来一些不便,需要在今后做进一步的研究,提高系统的安全性和实时性,让用户更加方便放心的使用本系统。

(3)系统网络的稳定性和响应速度不是很理想,下一步应尝试提高ZigBee模块陶瓷天线的稳定性和高效性。

40

本文来源:https://www.bwwdw.com/article/o117.html

Top