基于Zigbee和ARM9的智能家居系统的研究与设计

更新时间:2023-05-10 00:14:01 阅读量: 实用文档 文档下载

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

武汉理工大学

硕士学位论文

基于Zibee和ARM9的智能家居系统的研究与设计

姓名:冯承金

申请学位级别:硕士

专业:信号与信息处理

指导教师:杨杰

20100501

武汉理工大学硕士学位论文

摘要

随着数字信息技术和网络技术的高速发展,以及人们物质生活水平的不断

提高,人们的工作、生活与通讯、信息的关系日益紧密,可以说信息化社会正在逐步改变人们的生活方式与工作习惯,同时也对传统的住宅提出了挑战,智能家居便应运而生了。

本文将ZIGBEE技术与ARM技术相结合,以ARM微处理器为中心建立家

庭网关硬件平台,对外通过宽带Ethernet及公共电话网接入公共网络,对内将家用电器及其他联网设施通过家庭内部ZIGBEE无线局域网连接成一体,实现信息家电、安全防范的集中管理。用户通过远端PC或者电话就可以对家用电器进行状态查询和控制,在本地可以利用家庭内的手持控制终端进行信息家电的控制和管理。论文的主要研究内容如下:

1)分析了系统进行可行性,包括简要的理论基础,处理器和开发板的选型,系统性能参数的设定等。

2)研究了Linux操作系统内核原理及Linux系统中的内存管理,进程管理,文件系统管理和设备管理,编写了Linux操作系统下串口读写操作程序,为系

统的开发打下基础。

3)研究了嵌入式开发的相关技术,尤其是ARM9处理器及其外围设备构建的嵌入式系统。在ARM9开发板进行了Linux操作系统、嵌入式文件系统和嵌入

式数据库的移植。

4)在W曲服务器和用通用网关程序(CGI)的基础上结合嵌入式系统的相关技术设计完成了嵌入式家庭网关,实现了家庭网关对信息家庭的远程控制。

5)研究了ZIGBEE无线通信协议,对ZIGBEE协议的层次,ZIGBEE网络的拓扑结构,ZIGBEE设备的路由做了深入研究。结合一般家庭的家居环境,实

现了一种星型ZIGBEE网络在智能家居中的应用。

该系统具有良好的人机交互界面和远程访问功能,良好的可移植性和扩展

性,可以根据具体要求方便地在ZIGBEE模块上进行传感器的扩充以实现更多功能。关键词:无线传感器网络,嵌入式web网关,ARM9,ZIGBEE,CGI

武汉理工大学硕士学位论文

Abstract

Withthefastdevelopmentofdigitalinformationandnetworktechnologies,and

ofpeople'slivingstandards,therelationship

cancontinuousimprovementpeople’Sdailylifeandbetweentheinformationisbecomingcloser.Wesaythat

informationsocietyisgradually

achangingthewaypeopleliveandwork,butalsothetraditionalhomeposedchallenge,intelligenthomecameintobein吕

CombinedZIGBEEtechnologywithARMtechnology,this

onarticlecremedthecancentralgatewayhardwareplatform,which

accessbasedorARMmicroprocessor.WetopublicnetworksthroughEthemetpublictelephonenetwork,and

onedomesticappliancesandothernetworkingfacilitieswillbeconnectivityinto

throughtheZIGBEEWirelessLANtoachieveinformationappliances.Users咖

acheckthe

PCorstatusofhomeappliancesandcontrolisasthoseappliancesthroughremotetelephone.Majorresearchfollows:

1)Analysisthefeasibilityofthewholesystem,includingtheselectionofthe

systemperformanceparametersandothersettings.

2)Firstly,thekernelofLinuxoperatingsystemWasresearched.Then,Intensive

studyWasmadeonmemorymanagement,processmanagement,filemanagement

.system,devicemanagementofLinuxoperatingsystem.SerialPortreadingor

writingprogrambasedonLinuxoperatingsystemWaswrote,whichlaytherootprocessorandtheboard’S,the

forsystemdevelopment.

3)nerelatedtechnologyofembeddeddevelopmentwasresearched,especiallythe

embeddedsystembasedonarln9processoranditsperipheral

fileequipment.Herebythelinuxoperatingsystem,embeddedsystemandembeddeddatabasewere

transplantedonthearm9developmentboardinthepaper.

4)AfterresearchingtheknowledgeoftheW曲serverandCommonGateway

Interface(CGI),an

onembeddedimplementsARM—basedZIGBEEhomegatewayisdesignedthisbase,which

ontheremotecontrolofinformationappliances.

ZIGBEE5)ResearchtheZIGBEEwirelesscommunicationprotocolstack,thelayersoftheZIGBEEprotocol,ZIGBEEnetworktopologyandrouting.Forma

武汉理工大学硕士学位论文

ZIGBEEstar-networkinsmarthomeapplication.

Thesystemhasgoodman-machineinterface

probabilityandremoteaccesscapabilities,goodonandextension.You

tospecificcaneasilyhavetheexpansionofsensorsZIGBEEmoduleaccordingrequirementsinordertoachievemoreapplication.

Keywords:wirelesssensornetwork,embeddedwebgateway,ARM9,ZIGBEE,CGI

独创性声明

本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学和其它教育机构的学位和证书而使用过的材料。与我一同工作的同志对本研究所作的任何贡献均已在论文中作了明确的说明并表示了感谢。

签名:.攫垂金:

关于论文使用授权的说明日期:扭纽:』:坐

本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手段保存论文。

研究生(≤主;:滥导师(签名):如期:迦业(保密的论文在解密后应遵守此规定)

武汉理工大学硕七论文

第1章引言

1.1课题研究的背景

在论文展开之前,不妨让我们静静的闭上眼睛想象一下:下班前,我们可

以预先将家中的空调打开调节室内的温度、可以让热水器提前烧好热水以便我们回到家便可以舒舒服服的洗个澡、可以让出门前准备好的电饭煲煮好香喷喷的米饭……;当我们吃完饭后静静的坐在房间里看电视时灯光会自动减弱、当电话铃响起或拿起话机准备打电话时电视机会自动静音……;当我们出差在外时可以通过网络远程的查询和控制家庭内部的设备,随时留意家中的各种情况,

实现真正意义上的家庭信息智能化。这样的工作生活该是多么惬意啊!

上述为我们描绘出了一幅智能家居的画面,所谓“智能家居”(SmartHome),

又称智能住宅。通俗地说,它利用先进的计算机、嵌入式系统和网络通讯技术,将家庭中的各种设备(如照明系统、环境控制、安防系统、网络家电)通过家庭网络连接到一起【l】。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间,还由原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,

甚至为各种能源费用节约资金。

随着计算机技术、信息技术、控制技术的发展,以及人们物质生活水平的

不断提高,人们的工作、生活与通讯、信息的关系日益紧密,可以说信息化社会正在逐步改变人们的生活方式与工作习惯,同时也对传统的住宅提出了挑战,智能家居便应运而生了。随着网络时代的到来,拥有一个体现高新科技无穷魅力的智能化、现代化的家庭己不再是梦想,家庭网络化是信息时代的必然趋势。1.2智能家居的国内外发展现状

世界上第一幢智能建筑1984年在美国康涅迪格州出现,当时只是对一座旧

式大楼进行了一定程度的改造,采用计算机系统对大楼的空调、电梯、照明等设备进行监测和控制,并提供语音通信、电子邮件和情报资料等方面的信息服

武汉理工大学硕士论文

务【21。随之而来,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国

家先后提出了各种智能家居的方案。智能家居在美国、德国、新加坡、日本等

国都有广泛的应用。其中比较重要的有下述几个系统:美国的X-10、

CEBUS(ConsumerElectronicBus)、LONWORKS:日本的HBS(HomeBus

System)欧洲的E1B(EuropeanInstallationBus)和EHS(EuropeanHomeSystem)

等。

上世纪末,在美国、日本、新加坡等国家已有少数居民安装了“家庭智能化

系统”,随着科技的进一步发展相信21世纪将会有更多的住宅安装上这一类高科

技智能化系统。近些年来,美国有一种占据市场主流的产品X.10,销售已超过

1亿个,设计户型为单体别墅,应用多为旧房改造,仅在美国便有超过400万个

家庭在使用。但这些产品技术限制较多,并不适合在我国原样照搬使用。而且,

三星已经开始在中、韩两国同时推出其智能家居系统,通过机顶盒和网络,将

家居自动化控制、信息家电、安防设备以及娱乐和信息中心这四部分集成一个

全面的,面向宽带互联网的家居控制网络。

住宅智能化将是人类住宅的又一场新的革命。近年来在我国,高科技和信

息技术正在由智能大厦走向智能住宅小区,进而走迸家庭。现代社会的家庭正

在以家庭智能化带来的多元化信息和安全、舒适、便利的生活环境,作为一个

理想的目标来追求。国家也早在《2000年小康型城乡住宅科技产业工程项目实

施方案》中,将建设智能化小康示范小区列入国家重点的发展方向。因此也就

必然促使智能化从智能大厦建设向智能化住宅小区,乃至向家庭智能化的方向

发展。

目前,国内一些传统家电业的巨头如海尔、创维、TCL、科龙、海信等已经

进入智能化家居市场。而先进入该领域的一些企业基本都推出了各自的产品,

如清华同方推出的经济型的智能化家庭设备“e.home数字家园”系统已经得到了

一定程度的应用【31。

1.3课题研究的目的和意义

传统的智能家居系统一般是有线的方式来组建的,如LONWORKS,CEBUS,

X-lO,RS485,CANBUS,Ethernet等【41。其中X.10是智能型家庭网络系统中被

广泛采用之技术,主要是因为价格便宜及部分消费者可自行装设。以上各种技

术都分别对应于不同的应用场合,一些技术发展已经相对比较成熟,而且在行

武汉理工大学硕士论文

业已经具有一定的标准性和通用性,但普遍还存在以下缺点:

(1>基于有线方案,布线麻烦,增减设备需要重新布线,而且影响美观。

(2)标准不统一,智能家居内部设备的通信和控制没有一个国际上统一的通信

接口标准,家居设备在家庭内部的编码方式随便混乱.

(3)对PC的依赖,传统的智能家居系统中的家电需要依靠家庭内部PC,否则

家庭内部的管理就无法进行,无论是升级和维护都不方便。

正是基于以上的事实,本文考虑将ZIGBEE技术与ARM技术相结合,以

ARM微处理器为中心建立家庭网关硬件平台,对外通过宽带Ethemet及公共电话网接入公共网络,对内将家用电器及其他联网设施通过家庭内部ZIGBEE无线局域网连接成一体,实现信息家电、安全防范的集中管理。用户通过远端PC或者电话就可以对家用电器进行状态查询和控制,在本地可以利用家庭内的手持控制终端进行信息家电的控制和管理。

ZIGBEE技术是一种新兴的近距离、低功耗、低成本和低复杂度的无线网络

技术,具有非常高的通信效率。利用ZIGBEE技术可以方便的组建家庭无线网络,既省去了布线的麻烦,又为家居设备制定了统一的标准,同时还满足了美观的需求。而ARM处理器以其强大的指令系统、高速的数据存储速度,广泛的应用领域以及灵活的开发工具在嵌入式领域占据了举足轻重的地位。ARM9更是在ARM7的基础上,将流水线升级到5级,并优化了内部结构,整体性能得到了进一步的提升。ARM处理器的使用一举摆脱了传统智能家居系统对PC的依赖,可以在低成本、低功耗的前提下方便快捷的控制各种家居设备,为你的工作和生活带来无限便利。

1.4本文研究的主要内容

在智能家居领域,由于平台和组网方式的多样化,导致了智能家居的实现

方案也是多样化的,因此基于国内外在网络家电的研究现状,成本,性能以及市场等多方面因素的综合考虑,本课题采用近年逐渐兴起的ZIGBEE无线网络来实现智能家居系统的内部网络连接,并通过嵌入式家庭网关接入Internet。本文的研究内容主要有以下几个方面:

(1)分析智能家居系统开发中的一些重要因素,提出本系统的总体设计方案。

(2)根据系统需求选择本设计所需的处理器和嵌入式操作系统,搭建系统开发

平台。

(3)以嵌入式Linux为平台,构建嵌入式WEB服务器,移植并创建嵌入式数据

库sqlite3,同时为了满足用户与服务器进行交互的需求,设计CGI应用程序,

整个系统均选择C/C++语言作为开发语言。

(4)深入学习和研究ZIGBEE技术的协议和规范,通过对ZIGBEE网络拓扑以

及智能家居网络特点的分析,选定网络的拓扑结构,从而组建所需的无线

家庭网络。

(5)编写接口函数,将各单元模块整合为完整的系统,进行系统功能测试。

(6)对本文的研究工作进行总结和展望。

第2章智能家居系统的总体设计

2.1智能家居系统设计需要考虑的因素

在第一章中我们已经知道,虽然一些传统的智能家居系统技术已经相对成

熟,而且在行业已经具有一定的标准性和通用性,但是普遍存在基于有线方案,布线麻烦,标准不统一和过分依赖PC的缺点。因此本着从技术发展的角度来看,我们必须要认真的考虑在系统设计中的一些重要因素,以便提高系统的可行性和实用性。

与现有的数据通信网络技术相比,智能家居系统不需要高速率、高

QOS(QualityofService)的通信技术来支撑,相反它需要的是低速率低成本的控制手段来实现家居设备的互联和控制,需要的是能提供更为便利的低成本组网方式。从这个角度来看,在智能家居系统的设计中应重点考虑以下因素:

(1)低成本。智能家居系统中控制的对象主要是大量的家电和传感器终端节点,

这种较大规模的网络需要一个低成本的节点组网技术【5】。

(2)标准化。即需要为家居内的设备制定统一的通信和控制接口,统一内部的

编码方式。

(3)自组织。一般的用户不可能对系统进行复杂的配置和管理,为了让用户能

方便快捷的对系统进行使用和管理,系统下各种资源的自组织和相互间的

协调性便显的至关重要了。

(4)摆脱对PC的依赖。这就需要借助嵌入式处理器直接接入Intcrnet实现信息

交互的过程,或者通过移动通信模块直接接入移动网络实现远程交互的过

程。

(5)可扩展性。系统在设计之初,似乎已经满足了用户的各种需求,但随着技术

的进一步发展和人们对生活质量要求的不断提高,系统能否自动的进行升

级也是一个不容忽视的要素。

2.2智能家居系统的总体设计方案

本文所设计的智能家居系统的体系结构如图2.1所示,用户通过PC端的

Web浏览器登录用户管理系统,利用Internet远程访问家庭内部的嵌入式网关,

嵌入式网关中的服务器会根据用户的需求通过串口(IyART)向无线家庭网络的

协调器(Coordinator)发送交互指令,用以控制家庭网络内部的各种关联电器。

由结构图不难看出,本系统主要包含三部分:PC客户端用户管理系统、嵌

入式家庭网关和无线家庭网络。

无线家庭网络

图2.1智能家居系统的体系结构

(1)PC客户端用户管理系统。这一系统是在嵌入式家庭网关的基础上实现了

WEB服务器和数据库的相关功能,通过一组人机交互的晃面和相应的

CGI程序以达到方便用户使用和管理的效果。

(2)嵌入式家庭网关。嵌入式家庭网关是整个系统的核心部分,它是处于外

部Intemct和内部无线家庭网络中间的一个节点,也就是家庭网络的入口

节点。一方面,嵌入式家庭网关要支持TCP/IP协议并能提供Web服务,

从而允许客户远程访问它;另一方面,它要实现外部Internet和内部家庭

网络之间协议的转换、地址转换和路由等功能,类似Internet上的网关【6】。

(3)无线家庭网络。该部分采用了新兴的ZIGBEE技术,每个嵌入ZIGBEE

模块的信息家电都可以看作是一个ZIGBEE节点,整个家庭无线网络是

由ZIGBEE节点组成的无线局域网。网关接收用户从远程发来的控制信

息,经过处理转发给ZIGBEE网络的Coordinator,Coordinator根据信息

中地址把控制信息转发相应的Router节点,实现对家庭内的信息电器监

测和控制。

在这一方案中,嵌入式处理器和ZIGBEE组网技术的使用可以说完全打破

了传统智能家居的一些不足和局限性。嵌入式设备不仅功耗低、体积小、成本

低,而且稳定性、实时性好,同时也可以方便地接入Internet,完全摆脱了对PC

的依赖。而同样低成本、低功耗的ZIGBEE技术,不仅组建网络方便快捷,免

除了布线的麻烦,更为家庭内部的各种节点设备制定了统一的标准,十分适合

组建无线家庭网络。他们的使用,方便了用户对整个系统的管理,也便于用户

今后对系统进行维护和升级。

2.3嵌入式家庭网关的硬件选型

嵌入式家庭网关是整个系统的核心部分,在系统中发挥着至关重要的作用。

而嵌入式处理器则是家庭网关的核心部件,其性能的好坏直接决定整个系统的

运行效果。为了让家庭网关实现系统所需要的全部功能,并且最大程度的提高

整个系统的效率,选择一款成本低且合理实用的嵌入式处理器是十分必要的。

2.3.1嵌入式处理器简介

嵌入式处理器是控制、辅助系统运行的硬件单元,其种类繁多,从最初的4

位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,

64位嵌入式CPU。目前流行的嵌入式处理器主要包含以下四类f7】:嵌入式微处

理器(EmbeddedMicroProcessorUnit,EMPU)、嵌入式微控制器(Embedded

MicrocontrollerUnit,EMCU),嵌入式DSP处理器(EmbeddedDigitalSignal

Processor,EDSP)和SOC(systemonchip)片上系统,每一类处理器都是针对不

同的应用而存在的,各自又包含有许多不同的小类。

嵌入式微处理器中的ARM9系列处理器具有功耗低、成本低、效率高,接

口资源丰富的优点,与其它嵌入式处理器相比,它的通用性、稳定性、功能的

完备性以及可扩展能力都有着巨大的优势[8】。鉴于以上诸多因素,本文采用了以

ARM920T为核心的¥3C2440处理器。

2.3.2¥3C2440处理器

¥3C2440是三星公司推出的16/32位ARM微处理器,提供了一系列丰富的

内部设备,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微

控制器的解决方案。¥3C2440A的杰出的特点是其核心处理器(CPU),是一个由

AdvancedRISCMachines有限公司设计的16/32位ARM920T的RISC处理

器。ARM920T实现了MMU,AMBABUS和Harvard高速缓冲体系结构。这

一结构具有独立的16KB指令Cache和16KB数据Cache。每个都是由具有8字

长的行组成。通过提供一套完整的通用系统外设,¥3C2440A减少整体系统成本

和无需配置额外的组件。

¥3C2440的具体功能与特剧9】如下:

1.2V内核,1.8V/2.5V/3.3V储存器,3.3V扩展I/O,16KB指令Cache(I.Cache)

/16KB数据Cache(D.Cache)。

外部储存控制器(SDRAM控制盒片选逻辑)。

集成LCD专用DMA的LCD控制器(支持最大4K色STN和256K色n叮)。

4路拥有外部请求引脚的DMA控制器。

3路URAT(IrDAl.0,64一ByteTxFIFO,64ByteRxFIFO)。

2路SPI。

IIC总线接口(多主支持)。

IIS音频编解码器接口。

AC97编解码器接口。

1.0版SD主接口,兼容2.1I版MMC接口。

2路USB主机控带1]/1路USB期间控制(verl.1)。

4路PWM定时器/l路内部定时器/看门狗定时器。

8路10位ADC和触摸屏接口。

具有日历功能的RTC。

摄像头接口(支持最大4096x4096的输入,2048x2048缩放输入)。

130个通用I/O,24个外部中断源。

. 电源控制:正常,慢速,空闲,睡眠模式。

带pLL的片上时钟发生器。

2.3.3MINl2440开发板接口与资源

MINl2440是一款低价实用的ARM9开发板,也是目前国内性价比最高的

一款实验板,它采用Samsung¥3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性,实物如图2.2。

图2-2M1N12440实物图

MINl2440各种参数指标‘1”如下:

CPU处理器

一Sarasung¥3C2440A,主频400MHz.最高533Mhz。

SDRAM内存

一在板“MsDRAM。

-32bit数据总线。

.SDRAM时钟频率高达100MHz。

FLASH存储

.在板128MNandFlash,掉电非易失。

.在板2MNorFlash,掉电非易失,已经安装BIOS。

LCD显示

.板上集成4线电阻式触摸屏接口,可以直接连接四线电阻触摸屏。

.支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸从

3.5寸到121寸,屏幕分辨率可以达到1024x768象素。

.支持黑白、4级荻度、16级款度、256色、64K色、真彩色1FT液晶屏,

尺寸从3.5寸到121寸,屏幕分辨率可咀达到1024x768象素。

一标准配置为NEC256K色240x320/35英寸TFT真彩液晶屏,带触摸屏。

.板上引出一个12V电源接口,可以为大尺寸TFr液晶的12VCCFL背光

模块0nverting)供电。 接口和资源

.1个100M以太网RJ-45接口(采用DM9000网络芯片)。

.3个串行口。

.1个USBHost。

.1个USBSlaveB型接口。

.1个SD卡存储接口。

.1路立体声音频输出接口,一路麦克风。

.1个2.0mm间距lO针JTAG接口。

_4USERleds。

.6USERbuttons(带引出座)。

.1个PWM控制蜂鸣器。

.1个可调电阻,用于AD模数转换测试。

.1个12C总线AT24C08芯片,用于12。

.1个2.0mill间距20pin摄像头接口。

.板载实时时钟电池。

.电源接n(sv),带电源开关和指示灯。

系统时钟源

.12M无源晶振。

实时时钟

.内部实时时钟(带后备锂电池)。

扩展接口

.1个34pin2.0mmGPIO接El。

.1个40pin2.0mm系统总线。

规格尺寸

一100X100(mm)。

操作系统支持

一Linux2.6.29.4+Qtopia-2.2.0。

-WindowsCE.NET5.O。

2.4嵌入式操作系统的选择

嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种用途广泛的系

统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的资

武汉理工大学硕士论文

源分配、为用户提供访问硬件的接口、调度多个应用程序、管理文件系统,控

制协调并发活动等。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

在嵌入式领域可以选择的操作系统有很多,最流行的主要有以下几种:

VxWorks、WindowsCE、UC/OS.II、嵌入式Linux[1l】。在本设计中选用了嵌入式Linux操作系统,之所以选择嵌入式Linux,是因为它与其他的嵌入式操作系统

相比,具有很多的优势【12】:

(1)Linux的源码开放,开发出的嵌入式产品成本低。实际中不仅Linux本身

是开放源码的,许多基于Linux的系统软件、应用软件、驱动程序等也是

开放源码的。

(2)Linux拥有丰富的资源和优秀的开发工具。Linux利用GNU项目的C编

译器编译程序,使用GDB源程序级调试器调试程序。它们均提供合适的

手段使开发者能够开发嵌入式Linux系统。通过串口和GDB通信,可以

进行C源程序级的调试,甚至可以下载程序到RAM或Flash中。

(3)Linux内置网络支持,可以进行高效的网络通信。Linux支持所有标准的

因特网协议,几乎所有的协议和网络接口都定制在其中,并可以利用

Linux的网络协议栈将其开发成为嵌入式的TCP/P网络协议栈。

(4)Linux内核健壮,运行稳定。Linux本身的健壮性、可靠性和稳定性已不

容置疑,而嵌入式Linux是由Linux发展而来的,必然继承了Linux的这

些特性。嵌入式系统中健壮性、稳定性的要求要比通用系统更高。

(5)支持大量的周边硬件设备。Linux上有丰富的驱动程序,支持各种主流硬

件设备和最新的硬件技术,而且随着Linux的广泛应用,许多芯片厂家开

始提供Linux上的驱动,这进一步促进了Linux在各种硬件平台上的应用。

2.5本章小结

本章首先分析了设计智能家居系统需要考虑的几个重要因素,接着给出了智

能家居系统的总体设计方案,然后根据实际需求选出了适合于本系统的处理器和操作系统,而且对其中一些重要知识做了深入的学习和研究。

武汉理工大学硕士论文

第3章嵌入式家庭网关的构建

嵌入式家庭网关一方面要支持TCP/IP协议并能提供Web服务,从而允许客

户远程访问它;另一方面要实现外部Intcmet和内部家庭网络之间协议的转换、

地址转换和路由等功能。在设计过程中需要完成三个主要任务:搭建嵌入式系

统开发平台,建立嵌入式WEB服务器和移植应用嵌入式数据库。

3.1系统开发平台的搭建

嵌入式家庭网关的设计涉及许多必须的工作,但首先要根据所选定的处理器

类型和操作系统搭建系统开发所需要的平台环境,为进一步的开发打下良好的

基础。

3.1.1Linux交叉编译环境的建立

所谓交叉编译简单的说就是在一个平台上生成另一个平台上的可执行代

码,这一点对于嵌入式Linux操作系统的应用开发来说是很重要的。在这里我们

已经确立了一个平台,即开发板MINl2440,我们把它称作目标板。那么另一个

平台是什么呢?另一个平台我们把它称作宿主机,是安装了Linux操作系统的

PC机。本设计中,在Windows操作系统下利用虚拟机(VMwareWorkstation)

安装了目前使用范围最广的Linux版本RedHatLinux9.0,以它作为今后开发过

程中的宿主机。目标板用于运行操作系统和系统应用软件,而目标板所用操作

系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成,这一过

程就是交叉编译。双方之间一般通过串口、并口或以太网接口建立连接关系,

可以通过串口、FTP或NFS来进行通信。

Linux交叉编译环境的建立一般有以下几个步骤【13】:

(1)从网络上下载交叉编译工具的源码,本设计所用编译工具的版本为4.3.2,

下载的源码为arm—linux—gce-4.3.2.tgz。

(2)将交叉编译工具的源码ann-linux—gee-4.3.2.tgz复制到宿主机的某个工作

目录下女I/tmp,然后进入到该目录,执行解压命令:

cd/trap

武汉理工大学硕士论文

tarxvzfarm—linux一目oo_432tgzZ/

(3)把编译器路径加入系统环境变量,运行命令:

geditlroot/.bashro

编辑/root/bashrc文件,在最后一行添加如下语句,保存后退出。

exportPATH=¥PATH:ABr/loca]/arm/432/bin

重新登录系统f不必重启机器.注销即可),使以上设置生效.在命令行输入

arm—linux.go。_v,会出现如图3-1所示信息,这说明交叉编译环境已经成功安装。

臼1eE出幽洲DrmlrIaI如倒p

j∞dolocdh05t一

匕rom刊*dho北-[rootOlocalhost—t】#arm—linux—gcc—v

Readingspecsfro./一,l…l/arn/31/lib/gcc/a—linux/3.4.1/specs4

configuredwith:/work/crosstool一0

31…with

header5=/usr/l—l/一,3.4inux/include一1th—localmnls—enable—threads-posLx一一enable—synvers-gnu—一enable-_cxa—atexit一一enable—languages-c.…一一enable—shared一一enable—c99一一enable—long—long27/build/era—linux/gcc一34.1-glibc一22/gcc一34i/configuretarget=arm—linux~hOst-i686host_pc—linux—gnu4—prefLx=/usr/local/arm/3i/arm一1prefixlusr/local/arm/3.4.Z/arm—linux一一disabl

Ittreadmodel:posix

gccversion341卜

[rcotOIocalhostroot】#l

I’

圈3-1交叉编译环境安装成功提示信息

3.1.2Linux内核的移植

9.0默认的Linux内核是2.4版本的,为了最大程度的满足gedHatLinux

本系统所需要的各种功能,减少一些不必要的工作量.尽可能地减少开发周期,

本设计中移植了最新版本的2.6内核。

内核的移植工作比较复杂,主要步骤如下‘”Ⅱ15】:

(1)从网络上下载Linllx内核源码Lmux-26291tgz和文件系统yaffs2的补丁

源码ors-roottgz,并统~放在,homef巧目录中

(2)进A/homd翻目录,解压内核源码:

cd/hom“fcj

tar-xvzflinux-2629ltgz-C/opt/FrioldARM/mini2440(3)进入内核目录,修改makelile,并对内拔进行默认配置修改193行:

武汉理工大学硕士论文

ARCH?=arm

CROSS—COMPILE?=ann linux

(4)修改平台输入时钟。

找到内核源码arch/arm/mach-s3c2440/maeh-smdl!【2440.c文件,在函数

staticvoid—initsmdk2440_map_io(void)修改原有的时钟频率:

s3c24xx_init_clocks(12000000)。

(5)修改Nandflash分区信息。

修改文件kernel.git/areh/arm/plat-s3c24xx/eommon—smdk.co

staticstructmtd_partitionsmdk_default_nand_part[】=

【0】={

.name=”bootloader”,

.offset=0x00000000,

.size=Ox00030000,

>,

[1】={

.name=”kernel”,

.offset=Ox00050000,

.size=Ox00200000,

),

[2】_{

.name2什root什,

.offsa=0x00250000,

.size=Ox03dac000,

);

s3c2410_platform_nand_smdk_nand_infosmdk—nand—info=

.tacls=0,

.twrphO=30,

.twrphl=O,

武汉理工大学硕士论文

(6)修改LCD背光。

修改文件/arch/arm/mach-s3c2440/mach-smdk2440.C,因为友善的3.5寸液

晶的背光控制是由¥3C2440的GPG4引脚来控制的,故下面的改动将开

启背光。

staticvoid....——initsmdk2440machineinit(void)

s3c24xx——fbset_platdata(&smdk2440fbinfo);

platform_add_devicesO;

s3c2410...gpio_cfgpin(S3C2410GPG4,¥3C2410_GPG4_OUTP);

s3c2410_gpio_setpin(S3C2410_GPG4,1);

smdk_machine_initO;

);

(7)修改LCD参数。

这里用的是NEC3.5英寸屏液晶屏,大小为320x240,需要修改文件

arch/arm/mach-s3c2440/mach-smdk2440.c:

staticstructs3c2410fb_displaysmdk2440_lcd__cfg—jnitdata-

.rightmargin;37,

.hsync_len=6,

.uppermargin=2,

.10wer_margin=6,

.vsynclen22,

);

staticstructs3c2410fb—mach—infosmdk244州nfo—j11itdata2{

.defaultdisplay=0

.gpccon=Oxaa955699,

=Oxffc003cc,

=OxOOOOfttf,.gpccon_mask.gpcup

武汉理工大学硕士论文

.gpcup_mask=0xfttttttT,

.gixlcon=0xaa95aaal,

.gpdcon__mask

.gpdup=OxffcOfffO,=OxOOOOfaff,

.gpdup_mask=0xflttI箍,

.1pcsel=0xf82,

);

(8)给内核yaffs2文件系统打补丁。

tar-zxvfevs—root.tar.gz--C/opt/FriendlyARM/mini2440

ed/opt/FriendlyARM/mini2440/cvs/yaffs2/

./patch-ker.shC/opt/FriendlyARM/mini2440/linux-2.6.29.1/

(9)修改¥3C2440的机器号。

由于Bootloader传递给Linux内核的机器号为782,与Bootloader传递参

数一致,故修改arch/arm/tools/math-types文件:

s3c2440ARCH——S3C2440¥3C2440362

修改为:

s3c2440ARCH—.¥3C2440S3C2440782

3.1.3Linux内核的配置与编译

Linux.2.6内核是十分庞大的,有丰富的驱动程序,支持各种主流硬件设备和

最新的硬件技术,但对于本设计来说,有些驱动是必须的,而有些就显得可有

可无,从这个角度出发,要对Linux内核进行适当的配置,选择一些系统必须的

驱动程序【16】【171。

执行makemenuconfig命令,便可进入内核配置的主菜单,如图3.2。主菜

单下主要有Networkingsupport、DeviceDrivers、Filesystems、Kernelhacking、

Securityoptions、CryptographicAPI、Libraryroutines六项,每一项下面还有不同

数目的子菜单,用户可以根据自己的需要进入不同的菜单进行设定【12】。在本设

计中,依据系统所要实现的具体功能主要对以下几个方面进行了配置:

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

Top