配色: 字号:
智能家居红外遥控系论文
2012-05-04 | 阅:  转:  |  分享 
  
厦门大学

硕士学位论文

基于WinCE的嵌入式系统的研究与应用——智能家居红外遥控系



姓名:蔡燕玲

申请学位级别:硕士

专业:计算机应用技术

指导教师:陈启安

20060501

摘要

摘要

随着信息技术的高速发展,综合了计算机技术、网络技术和通信技术的嵌入

式技术已成为人类继PC和互联网之后最热门的技术。嵌入式技术的应用已经广泛

渗透至0我们的工作、生活中,特别是智能家电、手持通讯设备、信息终端等与人

们生活息息相关的消费类电子产品的热销,促进了各类形式多样的嵌入式产品成

为信息化时代的主流。据嵌入式技术专业杂志RTC报道:21世纪初的十年中,全

球嵌入式产品市场需求量具有比Pc市场大lO至100倍的商机。后PC时代将是嵌

入式产品的天下,嵌入式系统的研究已成为全球IT业研究的热点。

智能家居是嵌入式系统的一种形式,它使家居具有高效性、安全性、舒适性

和便捷性。遥控家居设备是智能家居领域的重要研究部分,是实现家居与外界信

息交换的关键。目前国内外已有不少研究成果,但在实际应用中仍然存在许多难

以解决的问题,因而这方面的研究一直没有停止。

本文首先阐述了智能家居的背景、内容、作用及发展现状,分析了嵌入式系

统的体系结构、实现的技术路线,并对嵌入式操作系统WindowsCE的体系结构、

定制方法、应用开发了进行深入研究。智能家居设备的遥控存在许多方法,通过

研究和分析国内外相关专题,发现红外遥控家电是最经济的方案,在不改变原有

…一……一…

电器的结构及放置位置的情况下,可利用红外遥控技术控制所有带红外遥控器的

家电。因此,本文重点研究了红外遥控器信号的解码及红外遥控的实现方法,对

其中关键的红外遥控器信号解码提出了一种新的算法。在此基础上,制作了以

AT89C52为核心的解码电路,并在基于WindowsCE操作系统的eBoxII平台上开

发并实现了智能家居红外遥控系统原型。

本文阐述的系统尚需进一步拓展以适应实际应用需求,本系统的开发旨在研

究嵌入式系统的实现方法和实现过程,可为后续的相应研究应用奠定基础。

关键词:嵌入式系统;WindowsCE:红外遥控

AbsU''act

Abstract

Withhigh-speeddevelopmentofinformationtechnology,theembedded

technologysynthesizingcomputer,networkandcommunicationtechnologyhasbecome

themostpopulartechnologyafterPCandInteract.Theapplicationoftheembedded

technologyhasalreadyseepedthroughextensivelyinourworkandlife,especiallythe

needoftheconsumptionelectronicsproductssuchasintelligenceappliance,handholds

andinformationterminalspromotetheemergenceofeachkindoftheembeddedsystem.

TheSmartHomeisonekindoftheembeddedsystem.Homebecomesmoreand

moreeffective,secure,comfortableandconvenientbecauseofit.Thetechnologyof

homeremotecontrolisanimportantresearchpartandisthekeyoftheSmartHome

System.Atpresenttheresearchstillcontinuebecausemanyresearchresultshadsome

problemsinthepracticalapplication.

Atfirstthisarticleelaboratethebackground,thecontent,thefunctionandthe

presentdevelopmentsituationoftheSmartHome.Thenanalyzethesystemstructure

andthetechnicalrouteoftheembeddedsystem.Furthermoreresearchthesystem

structure,customizingmethodandtheapplicationdevelopingoftheoperatingsystem

WindowsCE.Therearemanymethodsinhomeremotecontr01.Afterstudyingand

analyzingthedomesticandforeigncorrelativetopics,Ifoundtheinfraredremote

controlisthemosteconomicalmethodinelectricalappliancesremote—controlling.It

maycontrolselectricalappliancesonthebaseofnotchangingthestructureandthe

laying—positionoftheoriginalelectricappliances.Therefore,thisarticlestudythesignal

decodingofIRremotecontrollerandtheactualizingmethodoftheinfraredremote

contr01.Finally,acircuitboardofIRremotecontrollersignaldecodingandIRsignal

transmittingwithAT89C52wasmade,andaIRremotecontrolsystemmodelbasedon

WindowsCEwasdeveloped.

Thesystemelaboratedinthisarticlestillneedtodevelopinordertoadaptthe

Abstract

p匿a娟calapplicationdemands,ThedevelopmentofthissystemWaSforthepurposeof

smdyingtheembeddedsystemdevelopmentprocess,andprepareforthefollowing

correspondingresearch.

KeyWords:EmbeddedSystem;WindowsCE;IRControl

厦门大学学位论文原创性声明

兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。

本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明

确方式标明。本人依法享有和承担由此论文产生的权利和责任。

声明人(签名).莽蕊.诠

2D口占年●月协日

厦门大学学位论文著作权使用声明

本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大

学有权保留并向国家主管部门或其他指定机构送交论文的纸质版和

电子版,有权将学位论文用于非营利目的的少量复制并允许论文进入

学校图书馆被查阅,有权将学位论文的内容编入有关数据库进行检

索,有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密

后适应本规定。

本学位论文属于

I、保密(),在年解密后适用本授权书。

2、不保密()

日期:加D6年f月皿日

日期:zlo弘Ff月7≯日

第一章绪论

1.1研究背景

第一章绪论

过去几年,PC机的应用迅猛普及,但根据调查,目前全球计算机资源的平均

利用率不足10%t”。在现实生活中,具有多功能、强大处理能力的Pc往往无法物

尽其用,特别是在控制特定的硬件设备方面显得体积笨重、控制能力不强、价格

昂贵等缺点,由此产生了一个新的计算机技术的分支…嵌入式系统。

随着信息技术的快速发展,综合计算机技术、网络技术和通信技术的嵌入式

系统已从航天航空、工业控制等传统应用领域扩展到大众生活中的方方面面,大

大小小、形式各异的嵌入式产品已成为市场消费的主流。据嵌入式技术专业杂志

RTC报道:2l世纪初的十年中,全球嵌入式产品市场需求量具有比Pc市场大10

至100倍的商机[2】。著名未来学家尼葛洛庞帝在《数字化生存》一书中预言,嵌

入式技术将成为人类继Pc和互联网之后,最伟大的发明[3】。嵌入式系统是一种非

PC形态的计算机系统,它没有统一的物理形态,而是根据主体设备及应用的需要

将计算机的相关部件嵌入到设备内部,发挥计算机的处理、控制和存储功能。嵌

入式系统的一个显著特点是将产品赋予了智能化,我们周围的许多产品诸如手机、

PDA等都是典型的嵌入式产品。嵌入式系统的应用众多,系统可大可小,可简单

可复杂,实现的工具、手段也各种各样。正因为嵌入式系统的商机及其设计应用

存在着许多不定数,引发了许多IT人士的研究热潮,研究嵌入式系统己成为近年

来各国研究的热点。

嵌入式系统的一个应用就是智能家居。随着人们生活水平的提高及对生活质

量的追求,家居舒适、安全、方便己成为生活中的重要需求。智能家居就是综合

应用了计算机、网络通信、家电控制及综合布线等技术实现家居智能化控制的嵌

入式系统,它由多个方面的嵌入式子系统组合而成。其中,智能家居远程控制是

智能家居的一个重要部分,利用远程控制技术可实现离家时对家居设备的监视、

控制,使生活更加方便。今后几年将是国内智能家居的推广普及年,国内多家厂

基于WinCE的嵌入式系统的研究与应用

商正致力于这方面的研究和应用。

1.2本文的主要工作

本文描述了采用在微软提供的基于WindowsCE操作系统的eBoxII硬件平台

上实现智能家居红外遥控系统的实现方法及过程。

本课题的工作主要包括以下几个部分:

一.研究嵌入式系统的特点及体系结构;

二.研究嵌入式操作系统WindowsCE的特性、定制方法及基于cE的应用程

序的开发过程;

三.研究智能家居的构成及实现方法;

四.研究红外遥控信号解码方式,设计制作了以AT89552为核心的红外遥控

器信号解码电路及红外发射电路的电路板及相关软件;

五.利用PlatformBuilder定制了WindowsCE开发平台;

六.用EVC开发了eBoxII的串口通信;

七.实现了遥控器的红外信号“学习”,并由eBoxII根据“学习”结果控制

设备的功能;

八.提出了一种远程控制eBoxII的思路。

第二章智能家居简介

第二章智能家居简介

自从计算机特别是微处理器诞生以来,人们就想方设法对非智能的事物赋予

智能。从早期应用计算机对工业生产的自动化控制,到单片机控制家电使家电具

有简单智能,一直到现在将微处理器嵌入到各种产品终端的嵌入式系统,智能化

的东西已经弥漫在我们周围,智能家居就是其中的一种。

2.1智能家居的起源与发展状况

智能家居概念的起源甚早,1984年在美国康乃迪克洲哈特佛市出现了世界首

栋智能建筑cityPlaceBuilding【41。同时期,大量采用电子技术的家用电器问世,

开始了住宅的电子化概念。随着通信与信息技术的发展,人们开始通过总线技术

控制住宅中的各种通信、家电、安防设备并实行监控与管理,这样的系统就是今

天我们称之为”智能家居”的原型。最典型的智能家居要数比尔.盖茨的豪宅,

该豪宅历经7年时间、“用硅片和软件”于1997年建成,彻底展示了智能家居的

概念。

从首栋智能建筑到比尔.盖茨的豪宅,智能家居的概念不断地被完善、补充,

现在的智能家居虽然没有明确的定义,但业界普遍认为,智能家居就是通过综合

采用先进的计算机、通信和控制技术(3c),建立一个由家庭安全防护系统、网络

服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面

的安全防护、便利的通讯网络以及舒适的居住环境的家庭住宅【5】。

在中国,2000年开始提出智能家居概念,主要由一些房地产开发商宣传住宅

方面的智能化因素,当时的智能概念多指楼宇对讲系统。经过国内近几年信息技

术快速的发展,元器件、家电智能化程度不断提高,互连网畅通无阻,多种无线

网络技术不断成熟,国内研发能力不断提高,因此智能家居产品也从简单到复杂、

从功能单一到各种技术融合的多智能化,现在的智能家居概念基本上包含以下功

能的模块:

·门禁系统:包括可视对讲、门禁识别等

基于WinCE的嵌入式系统的研究与应用

·家居安全监控:包括煤气、火警等探测及防盗系统

·家居三表抄送:水表、电表、气表的远程抄送

·家电控制:包括照明系统、背景音乐及家用电器自动化

·家居远程控制:指通过电话或互联网对家居设备实现远程控制

国内自提出智能家居概念后,各厂商就致力于技术方面的研究,但由于国内没

有制定一个统一的标准,出现了百家争鸣的现象。各厂商针对某一独立功能模块

各成系统,各有一套平台,各有一种协议,与其它系统兼容性差,造成重复投入,

系统间不能对接等弊端,妨碍了智能家居在中国的成长。

智能家居在国内虽有六年多的发展史,但它的应用并没有得到很好的推广和发

展。尽管目前已有不少智能家居产品,但智能家居在硬件和软件上都有一定的难

度,不同厂商推出的智能家居产品在功能、稳定性、可靠性及费用方面差异较大。

因此在解决“标准协议”问题的基础上,产品的关键是贴近实际需求,提高稳定

性,降低成本。国内各机构、厂商都没有停止对这方面的研究,以期研发出更适

合消费者的产品。

2.2智能家居的控制技术

家居自动化是智能家居的主体,在家庭范围内将个人计算机、各种各样的智能

信息家电用总线技术连接在一起时,就构成了家庭网络。家庭网络使用户通过电

话或互连网控制家居设备成为可能,是家居设备与外界信息交换的平台。

2.2.1家庭网络的连接技术

当前家庭网络中所采用的连接技术可以分为“有线”和“无线”两大类。有

线方案是指采用双绞线、同轴电缆、电话线、电源线的连接,如x一10等;无线方

案则包括红外线连接、无线电连接,基于射频技术的连接和基于个人计算机的无

线连接,如蓝牙(Bluetooth)、HomeRF、IEEE802.11和HiperLAN2等。有线方案

可获得合理的配置及更高的数据传输速率,但对于已入住的家庭,需重新布线,

家庭环境变化后,还要重新调整,非常不便;无线方案则免去这些烦恼,特别是

第二章智能家居简介

红外线连接,控制简单、实施方便、传输可靠性高、对人体无辐射等,是家电设

备常用的通信方式。

2.2.2智能家电的远程控制技术

远程控制技术大体分为两大类。

一.电话远程控制技术

公共电话网络遍布,用户众多,在互连网普及之前,远程控制大多利用电话

通信实现。另外,还有一种基于公共电话线和电力线‘61联合的远程控制方式,主

要由电话远程控制主机和终端控制器组成。其原理是通过远程拨打电话将控制信

号通过电话线传送到主机,译码后经电力载波通信将控制指令发送给终端控制器,

最终利用终端控制器控制家用电器。

利用电话线通信存在信号衰减和噪声问题,可靠性、系统性、开放性等方面

都存在不足之处。

二.互连网远程控制技术

互连网不仅发展迅速,而且有标准的网络布线和通信协议,在这个平台上,

人们开发了多种远程控制技术。有线方面可通过TCP/IP协议远程访问家庭网络,

无线方面则可通过无线局域网、GPRS等技术来实现,控制设备可以是普通PC、手

机或PDA等。

基于WinCE的嵌入式系统的研究与应用

3.1嵌入式系统概述

第三章嵌入式系统

随着嵌入式技术的快速发展,嵌入式计算机系统已成为计算机技术发展的一

个重要分支,是继个人计算机和因特网之后的一大热点。尽管嵌入式系统已熔入

我们生活的方方面面,嵌入式系统却没有一个明确的定义。简单地蜕,嵌入式系

统就是将计算机技术、电子技术和各行业的具体应用结合起来,面向特殊用途而

设计的计算机系统。现在对嵌入式系统的普遍描述是“以应用为中心、以计算机

技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗

严格要求的专用计算机系统”。

所谓嵌入式,并不是简单地把一台通用计算机原封不动地搬入设备对象,而

是将计算机的核心技术有机地植入设备对象中。早期人们将通用计算机嵌入到控

制对象如机床等以实现工业控制自动化,结果发现通用计算机的控制能力弱,抗

干扰性差,且体积大,功耗大,成本高等等,这样的系统不是真正的嵌入式系统。

嵌入式计算机必须针对应用环境而设计。20世纪70年代,根据嵌入式系统的要

求设计的面向控制的单片微型计算机,开始了嵌入式计算机的发展之路。

嵌入式系统是以微处理器和操作系统的性能为基础,最早的嵌入式系统至今

已经历了三十多年,虽然在技术方面曾经处于停滞状态,但随着微电子技术的高

速发展,处理器速度不断提高,存储器成本不断下降,高性能的片上系统SoC

(SystemonaChip)趋于成熟,及Internet的迅猛普及,嵌入式系统也得到突

飞猛进的发展,其产品已从早期主要应用于航空航天及军事领域扩展到工业控制、

仪器仪表、汽车电子、通信、办公及家用电子类产品,如今的嵌入式系统『F朝着

信息家电(IA)和3c产品方向发展。

嵌入式系统没有单一的物理形态,它是根据主体设备及应用的需要,将计算

机技术嵌入到主体设备中,通过运算、处理、存储、控制等,使主体设备表现出

智能化。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片

第三章嵌入式系统

级(MCU、SoC)。嵌入式系统主要由嵌入式硬件和嵌入式软件组成。嵌入式硬件的

核心是嵌入式微处理器。通常在仪器仪表、机械电子、家用电器等低端应用中通

常采用单片机,而在网络、通信、多媒体等信息量大的高端应用中则采用速度快、

处理能力强的32位微处理器。嵌入式的支撑硬件含存储部件(如ROM、FLASH

MEMORY、RAM)和I/0接口(如串口、网络接口、USB口、蓝牙接口、红外接口及

键盘、显示接口、A/D、D/A接口等)。嵌入式软件包括嵌入式操作系统和应用软

件。在嵌入式低端应用中没有嵌入式操作系统,其应用软件直接与硬件打交道;

而对于功能强大的32位嵌入式系统,操作系统在产品开发中起着举足轻重的作

用,它使开发人员绕开繁杂的底层控制,把精力集中在应用开发上,从而缩短产

品开发周期,提高开发效率。因此,硬件的性能及操作系统的差异决定了嵌入式

系统的多样性。

3.1.1嵌入式系统硬件结构

嵌入式系统与通用微机一样是由硬件和软件组成,硬件是整个系统的物理基

础,是软件运行的平台。

嵌入式系统的硬件分为板级电路和外围设备,其硬件结构[7】如图3-1。板极

电路包含了计算机的基本组成部分,即微处理器、存储器和接口电路。通常,微

处理器决定了该系统的运行速度,存储器和接口决定了系统的存储容量及与外部

设备连接的能力。基于嵌入式设备的特点,外围设备通常包括LCD显示屏、触笔

及其它常用设备。实际应用中,应根据具体的要求,配置不同性能的微处理器、

不同容量的存储器以及所需的接口。各种嵌入式系统的硬件配置是不相同的。

3.1.2嵌入式系统软件结构

软件包括操作系统和应用程序。嵌入式操作系统按层次划分有操作系统内核、

设备驱动程序和应用接口程序(API)。

嵌入式系统软件体系结构‘71如图3—2。

早期的嵌入式系统中没有系统软件,应用软件控制所有的硬件。开发时对硬件

的依赖性强,系统的稳定性较差。引入嵌入式操作系统,能有效管理复杂的系

基于WinCE的嵌入式系统的研究与应用

Power

Supply

OsilIation}

Circuit

,Rcset

fCircuit

{Ports

Connection

|『For

Debugging

ExtemalDevjCCS

f石孑i磊:ting

}{SRAM|

}connectingI)RAM

I。cD|Pen||Keyboard}IRDA|10thers】

图3-1嵌入式系统硬件体系结构

Applicatjon

Extended

|TCP/lPWAP

DDl(DeviceDriverInterface)

CPU、Extemaldevices

图3-2嵌入式系统软件体系结构

耋翟

第三章嵌入式系统

统资源,完成进程管理、处理器调度、存储管理、设备管理、中断处理等通用操

作系统能完成的任务,为应用软件提供了虚拟硬件平台,更有利于嵌入式应用系

统的开发。

从原理上说,嵌入式操作系统与通用计算机的操作系统类似,但嵌入式系统

的应用环境与通用计算机系统的应用环境有很大的差别。通用计算机的操作系统

趋向于多方面的、强大的功能,如多处理器、多媒体、网络等,嵌入式操作系统

则必须考虑不同的硬件平台和使用环境,倾向于面向控制的、特定的功能。

嵌入式系统的系统资源有限,处理器的速度远低于通用计算机,存储器容量

只有几百兆,通常采用电池供电,其外部设备种类多,应用环境千变万化,因此,

对嵌入式操作系统有如下要求:

·占用系统资源要少

·可定制

·可移植

·实时性强

·稳定性、可靠性高

从操作系统的实时性角度看,嵌入式操作系统又可分为实时操作系统和分时

操作系统,实时操作系统追求系统的实时性,主要用于控制、通信等对实时性要

求高的领域,而分时操作系统则主要考虑系统资源的总体利用率,多用于消费类

电子产品如PDA等对实时要求不高的产品。

从应用角度看,嵌入式操作系统分为通用型和专用型。通用型操作系统适应

面广,但应用到实际中一般要经过重新定制以适应具体环境;专用型操作系统则

专门针对某种应用环境而设计,可不经裁减直接应用。

常见的通用型嵌入式操作系统有:

·VxWorks

VxWorks是美国WindRiverSystem(WPS)公司推出的实时操作系统,具有良好

的可靠性和卓越的实时性,广泛应用于航空航天、军事等高精尖技术及实时性要

求极高的领域,是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。

-嵌入式Linux

基于WinCE的嵌入式系统的研究与应用

嵌入式Linux是一种开放源代码、软实时、多任务的嵌入式操作系统,源代

码免费,可大大减少开发成本,在市场上有很强的竞争力。

·WindowsCE

WindowsCE是微软基于Win32API重新开发的、专为嵌入式领域打造的32

位、多线程、多任务的嵌入式操作系统,采用模块化设计,实时性好,通信能力

强,支持多种微处理器。由于其使用函数、界面风格等与Windows操作系统相似,

易于接受,在嵌入式操作系统中已逐渐占据一席之地。

常见的专用型嵌入式操作系统有:

·PalmOS

PalmOS由PDA操作系统的先驱PalmComputing公司开发,采用开放式的架

构,至今已推出多个版本,省电及系统资源开销小使其在PDA市场占据最大的份

额既

3.2WindowsCE操作系统

WindowsCE操作系统是微软于1996年发布的、专门针对资源有限的各种嵌

入式系统和产品设计的一种压缩的、高效的、可升级的嵌入式操作系统,用于信

息设备、消费类电子产品、移动通信、嵌入式设备等非PC领域。

1996年发布的WindowsCE并不被人们接受,直到WindowsCE.net3.0开始,

cE操作系统才开始走向成功,目前推出的WindowsCE.net5.0在实时性和稳定

性上有大幅度提高,己广泛应用于平板电脑、数码相机、彩羼手机、PDA等多种

高性能产品。

WindowsCE与目前流行的嵌入式Linux操作系统相比,具有良好的人机界面

及丰富可靠的应用程序,能轻松满足商业应用、多媒体消费等需求,因此在无线

通信、工业控制、电子消费类产品中,占有越来越多的市场份额。

3.2.1WindowsCE操作系统特性

WindowsCE具有多线程、多任务、全优先特性。

第三章嵌入式系统

WindowsCE只占用500K的RAM,只需200K的内核运行空间。

WindowsCE采用模块化设计,可根据嵌入式设备的要求量身定做,是一种可

定制的操作系统。

WindowsCE最大程度地继承了桌面版Windows操作系统的特性,开发人员无

需花太多的时间就可以很容易地进行基于WindowsCE的软件开发。但它却不是桌

面版Windows的缩小版,而是基于Win32API重新开发的、新型的信息设备平台。

较之桌面版Windows,WindowscE增添了许多新特性,以适应嵌入式领域的实际

情况和要求。

WindowsCE支持超过1000个公共MicrosoftWin32API和几种附加的编程

接口,这些接口包括组件对象模型(COM)、Microsoft基础类(MFC)、Microsoft

ActiveX控件和Microsoft活动模板库(ATL)。

WindowsCE还支持管理受时间限制响应的实时处理、各种串行及通讯技术(包

括USB)、Web服务、自动化和相互通讯的其它方法等。

WindowsCE支持各种硬件外围设备、其它设备及网络系统,包括键盘、鼠标

设备、触板、串行端口、以太网连接器、调制解调器、通用串行总线(USB)设备、

音频设备、并行端口、打印设备及存储设备。

对于台式计算机的硬件来说,WindowsCE允许用户通过台式计算机与基于

WindowsCE的附加设备之间传递信息。

3.2.2windowsOE操作系统体系结构

WindowscE由模块构成,每个模块功能不同。其中有几个模块又被分成几个

组件。组件能使WindowsCE变得较为紧凑(小于200兆ROM),仅需要使用最小

的ROM、RAM和其它硬件资源就可运行设备。

WindowsCE包含四个主要模块:Coredll模块(内核)、Object模块(对象存

储)、GWES模块(图形、窗口、事件子系统)和Communication模块(通讯),这

四个模块提供了操作系统的重要功能。除此之外,还有其它可选模块,支持管理

可安装设备驱动程序和支持COM的任务等。

WindowsCE操作系统的结构p】如图3-3。

基于WinCE的嵌入式系统的研究与成用

图3-3WindowsCE操作系统的结构

内核是操作系统的核心,提供内存管理、进程管理、文件管理及调度、多任

务、多线程管理和预期处理等所有设备上都必须存在的基本操作系统的功能。配

置WindowsCE时内核的大部分组件都需选定。

对象存储支持信息的持久存储。

GWES是用户、用户应用程序和操作系统之问的图形化用户接口,控制图形及

与窗口有关的特性。

通讯组件支持序列I/O、远程访问服务(RAS)、传输控制协议/Internet协议

(TCP/IP)、局域网(LAN)、通话API(TAPI)、WindowsCE无线服务等通讯硬件

和数据协议。

可选组件则包括了设备管理程序和可安装设备驱动程序、多媒体(声音)支持

模块、COM支持模块、WindowsCE外壳(Shell)模块等。

第四章通用红外遥控系统原型开发

第四章通用红外遥控系统原型开发

在可视范围内遥控某一设备的最经济、最可靠的方法就是采用红外遥控。当

今,几乎所有可遥控的家电设备都采用红外遥控。相对于无线射频遥控来说,应

用红外线遥控的可靠性强,不易受干扰,成本低,缺点是遥控距离近,且必须在

可视范围内。目前已出现了红外转发器【10】,通过红外转发器,就能实现遥控非可

视范围内的家电设备。

4.1系统原型

4.1.1系统示意图

本系统构建了应用嵌入式计算机遥控家电设备的红外遥控系统原型。在此基

础上,通过互连网可进一步实现远程红外遥控功能。示意图如图4—1所示。

图4-l智能家居红外遥控系统示意图

基于W''mCE的嵌入式系统的研究与应用

系统原型分为两大部分。第一部分是基于AT89C52单片机的红外解码、红外

发射电路板,用以实现各种红外遥控器各按键发射信号的解码及解码的红外调制

发射;第二部分是在嵌入式系统开发平台eBoxlI上存储相关家电的红外遥控器各

按键的发射编码,从而通过控制系统界面上的遥控器按钮,将按键发射编码传送

到电路板上,并发射红外遥控信号,即用eBoxII控制家中所有可按收红外遥控的

设备如电视机、热水器、灯具、插座等。系统还可延伸为接收由远程终端设备如

手机、PDA、PC等通过网络发来的控制eBoxII的指令,从而远程控制家电设备。

4.1.2系统流程图

整体流程图如图4-2所示。

红外遥控器扦锉鹏

的红外编码解码及

解码数槲的存储

根据需要发剩年1{应控制

功能的红外编码信号

图4-2红外遥控系统总流程图

第四章通用红外遥控系统原型开发

4.1.3电路板总电路图

为了实现红外遥控器解码及红外调制发射功能,制作了一块以AT89S52单片

机为核,tl,的电路板,整个电路分为红外接收/解码模块、串口通信模块、红外调制

发射模块及电源部分。

总电路图如图4—3所示。

4.2开发环境

4.2.1cE系统定制工具PIatform8uiIder

WindowsCE操作系统不是通用的安装版,实际应用中不能象Windows桌面操

作系统那样简单地安装,必须针对嵌入式设备的硬件平台和应用场合对Windows

cE操作系统进行裁减、定制,定制工具采用微软提供的工具软件PlatformBuilder

(PB)Is]。

PlatformBuilder自带了设计、创建、生成、测试及调试~个基于WindowsCE

平台所必须的工具,它运行于桌面Windows下,向用户提供一个集成开发环境。

其开发界面如图4—4所示。

通过平台开发向导(PlatformWizard)和主板支持软件包开发向导(BSP

Wizard),开发人员可以很方便地创建系统平台,并能根据需求选择模块、组件

或修改系统特性,最后通过编译和调试生成具有不同内核功能的WindowsCE操

作系统镜像。

PlatformBuilder同时也是一个集成的编译环境,在此环境下可进行应用程

序和驱动程序的开发。

4.2.2应用程序开发工具EVC

运行于WindowsCE下的应用程序,其采用的编程工具有微软推出的Windows

CE程序可视化开发工具EVB(EmbeddedVisualBasic)、EVCf11](EmbeddedVisual

c++)和VS.NET。VB编译器效率低,编译出的应用程序代码冗长,c++编译器的效

基于WinCE的嵌入式系统的研究与应用

l

图4-3总电路图

.16.

第四章通用红外遥控系统原型开发

图4-4PlatformBuilder集成开发环境

率高、性能好,编译出的应用程序结构紧凑。在嵌入式系统资源有限的情况下,

较慢的处理器和较少容量的存储器要求操作系统和应用软件必须尽可能地减少对

系统资源的消耗,同时还要保证高的执行效率,因此,EVC是最适合开发CE下软

件的开发工具。由于EVC的开发界面、语法和开发流程与Windows下的vc开发基

本相同,对于熟悉VC开发的人员来说可以很容易地进行CE下的EVC的开发,所

以EVC也是最受欢迎的开发工具。

EVC集成开发环境与Vc集成开发环境有以下几个不同之处:

·EVC支持多种嵌入式CPU,支持多种指令集;

·EVC包含一个能在开发机上调试的模拟器;

·EVC包含可调试实际设备上运行程序的远程调试工具。

·EVE安装附带的SDK内容少,不够软件使用,必须安装WindowsCE才能得

到全部的SDK。

EVC中的模拟器(Emulator),能在PC下模拟WindowsCE的物理平台,支持

多种CPU,开发人员可以将应用程序下载到模拟器上进行测试,通过仿真加速和

基于WinCE的嵌入式系统的研究与应用

简化系统的开发过程。但该模拟器实际上只是一个运行于Ring3级的用户程序,

所以需要直接操作硬件的软件都不能够在模拟器中调试。

使用EVC开发需注意开发对象的硬件环境,如CPU的特性、存储器容量的大

小、显示器的有无等。除此之外,还需注意以下几点:

·Unicode码。cE操作系统默认的字符为Unicode码,Windows95/98为ANsI

码,Windows2000则两种码都用。因此,新编软件或移植程序时需注意这个问题。

·EVC帮助文件的快捷方式需手工设置。

·EVC模拟器不支持中文。

4。2,3硬件平台aBaxl

eBoxlI是微软提供的最新的基于WindowsCE的嵌入式系统开发平台,eBoxlI

具有强大的运算能力和网路功能,跟普通Pc相比,具有体积小,重量轻、功耗

低、噪音低、便于移动、系统相对封闭、安全等特点,同时含有普通Pc的基本功

能及接口部分。

eBoxII外观小巧,图4-5为将eBoxlI与键盘、显示器放在一起的效果图,

图4-6为eBoxlI背面的电源及接口部分。

图4-5eBoxII外观效果图图4-6eBoxlI电源及接口

eBoxlI的主要性能指标[12]如下

第pU章通用红外遥控系统原型开发

CPU70rtex86—200Mhz(SoC:Systen-on—Chip)

B10SAMIBIOS

实时时钟通过锂电池备份的实时时钟

内存128MBSDRAM板贴

VGA输出共享系统内存8MB

分辨率可达1920x1440真彩色

外接15一pinD形母头VGA连接器

以太网界面Realtek8100B单芯片

10/100Mbps自适应

I/OEnhancedIDE接口,44pinbox接头xl

ParallelPort,2SpinD-sub接头x1

USBPortx3(其中1个前置)

外接6-pinPS2键盘接头

外接6-pinPS2鼠标接头

音频AC97CODEC,全兼容AC97V2.1

麦克风输入,线性输入/输出接口

屯源供应单电源+5V@3A,及支持ACPI功能(高级电源管理接口)

及1个开关按钮

尺寸133mmX63mmx11imm

重量484克

使用温度0、+60。C

eBoxII采用Vortex86—200Mhz微处理器。Vortex86家族系列‘1习是ICOP公司

为适应市场对高性能/低成本的SoC(系统集成芯片)的需求而开发的。它集成了兼

容X86结构的处理器,高性能的北桥,更优越的硬件GUI引擎和超级南桥。Vortex86

基于WinCE的嵌入式系统的研究与应用

SoC的高性能处理器支持X86结构,有3个整数运算单元,3路超标量结构和一个

完全管道式的浮点运算单元。超级南桥结合了良好的外围设备控制器/an速器/接

口。同时,结合了简易计算机的支持即用/即开计算机技术,USB,常规界面移除,

CIR,静态存储和支持多种信息应用的无插槽设计。此外,处理器采用ACPI节能

设计,大大降低了电源功耗与主板发热量。

Vortex86系列的结构如图4—7所示。

图4—7Vortex86SoC结构图

Vortex86SoC具有奔腾处理器同样的性能,支持CRT/LCD,UDMAIDE,软区

和I/0等外围设备。Vortex86与嵌入式产品的设计开发同步,基于嵌入式SBC和

处理器模块,具有低功耗,低发热和能在一20+60度的宽温条件下工作。Vortex86

SoC在低功耗,低发热情况下有强大的处理能力。同时,ICOP提供基于通用嵌入

式操作系统WindowsCE和嵌入式WindowsXP的板载软件包,可帮助客户降低新

产品开发的风险和成本。

第四章通用红外遥控系统原型开发

Vortex86SoC具有以下杰出性能:

·低功耗

·低发热

·一20~+60度宽温范围内工作

·一20度冷启动

·BIOS快速启动

·支持ACPI

·支持Linux

·基于WindowsCE.NET的BSP

·支持嵌入式WindowsXP

·DOSDSOCK下完全支持TCP/IP协议(BooTP/DHcP,FTP,HTTP,SMTP,TELENT,

TALK等)

·单+5V供电

·最小PCB尺寸设计

Vortex86SoC已应用于多种嵌入式系统,eBoxII就是Vortex86SoC在瘦客

户机方面的应用。

4.2.4单片机AT89S52

AT89系列是ATMEL公司将其优势技术一FLASH存储器技术与单片机的典型代

表MCS一51系列的80C51核相结合而开发的单片机,完全兼容51工业标准,内含

的ROM存储器为采用ATMEL公司的高密度、非易失性存储技术制造的FLASH存储

器,与传统的ROM、EPROM、EEPROM存储器相比,不需增加额外电路,可快速地反

复地擦写千次以上,在开发调试应用程序时非常方便,是目前取代MCS一51系列单

片机的主流芯片之一。

该系列的单片机分为低档型、标准型和高档型。标准型AT89单片机硬件部分

的核心采用Intel80C51/80C52单片机硬件技术,其引脚名称、排列及指令系统

与MCS一51系列完全相同。其中,AT89S52又增加了许多功能,使用更加灵活,

且具有较高的性价比,在嵌入式控制系统中的应用越来越广。

基于WinCE的嵌入式系统的研究与应用

AT89S52单片机的特性如下㈣:

·片内存储器为8KB的Flash,可在线编程,擦写次数不少于1000次;

·具有可编程的32根I/O线(PO、P1、P2和P3口);

·具有3个可编程定时器T0、T1和T2;

·内含两个数据指针DPTRO和DPTRl;

·中断系统包括8个中断源、6个中断矢量、2级优先权:

·串行通信口是一个全双工的UART串行口;

·2种低功耗节电工作方式:空闲模式和掉电模式;

·具有3级程序锁定位;

·含1个看门狗定时器;

-具有断电标志POF;

·工作电源电压为4.O~5.5V;

·全静态工作模式为O~3MHz;

·于MCS一51产品完全兼容。

AT89S52有4个8位可编程并行I/0口,分别为P0、Pl、P2和P3口。一般

情况下,这四个臼都可以作为一般的输入/输出口,每条I/0线都可单独编程控制。

由于单片机对外引脚有限,许多引脚的功能是复用的。扩展存储器或外设时,P2、

P0口分别作为高8位和低8位的地址输出,同时PO口还作为8位数据的输入/输

出口。P3口的每一位则都具有第二功能,如表4—1所示[13】。

表4-1P3口第二功能表

引脚第二功能

P3.ORXD(串行口输入)

P3.1TXD(串行口输出)

P3.2/INTO(外部中断0)

P3.3/INTl(外部中断1)

P3.4TO(定时器0外部计数输入)

P3.5T1(定时器1外部计数输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

第四章通用红外遥控系统原型开发

AT89S52在物理上有4个存储空间,分别是内部ROM存储空间、外部ROM存

储空间、内部RAM存储空间以及外部RAM存储空间,其存储器组织结构如图4—8

所示[13】。

F

2

80H

7FH

0011

内部

SFR

图4-8AT89S52存储器结构

AT89S52与AT89S51相比,增加了内部RAM存储器的容量,其内部RAM增加

128个字节,为256个字节,其中高128个字节的地址80H—FFH与特殊功能寄存

器的地址重叠,但二者在物理上是分开的。当一条指令访问80H—FFH地址范围的

内部RAM时,可由指令的寻址方式决定访问的是内部RAM还是特殊功能寄存器。

采用直接寻址方式表示访问特殊功能寄存器,采用间接寻址方式则表示访问内部

RAM的存储单元。例如访问内部RAM地址为90H的单元,具体指令如下:

MOVA,90H;该指令表示把内部SFR地址为90H单元的内容传送到A累加器

MOVRO,90H

MOVA,@RO;以上两条指令表示把内部RAM地址为90H单元的内容传送到A

累加器

本系统制作了以AT89单片机为核心的红外解码及红外发射电路,因解码后的

数据容量超过了128字节,所以选用AT89S52。

基于WinCE的嵌入式系统的研究与应用

4.2.5其它开发工具

制作和调试红外解码/红外发射电路板用到的工具有:

·DVCC一5219E;JH单片机仿真实验系统

·直流电源设备

·烧录器

·示波器

·万用表

·面包板及万能板

·基本焊接工具

4.3开发过程

4.3.1定制windowsOE操作系统

一.使用PlatformWizard生成一个初始镜像

运行PlatformBuilder5.0,选择FileJNewPlatform建立一个项目,在

项目导向对话框中按提示输入项目名及路径;接着选择BSP包,因eBoxII的CPU

是VORTEX86,所以在选项中钩上EMULATOR:X86和ICOP_VORTEX86—50:X86两

项;再下来选择设计模板,在应用程序和多媒体选项中钩上CustomDevice,最

后在网络和通讯组件中选择MFC及StandardSDKforWindowsCE,并在Core

Services中选择串口支持和网络支持功能,这样就完成新项且平台的选取配置工

作。

二.项目定制

在上面生成的项目平台基础上,还可以根据需要进一步添N/删减组件和驱动

程序来裁减这个平台,即从组件目录中找出需要的设备驱动,右击并选AddtoOS

Design。接着再把应用程序添加到项目中。至此,一个WindowsCE自定义平台已

完成,下一步准备生成一个WindowsCE操作系统镜像。

三.编译项目

第四章通用红外遥控系统原型开发

在菜单栏的工具中选取编译类型Debug或Release。Debug编译可提供附加的

调试信息,但它是Release类型的两倍大,这里选Debug。然后,在菜单栏上选

BuildOS/BuileandSysgen,开始编译项目并生成cE镜像文件。整个编译过程

大约需要25分钟。

四.下载镜像

先配置目标机eBoxII的连接属性。在菜单栏上选Target/C。nnectivity

Option,,从目标设备连接属性中选AddDevice,在Newtargetdevicename中

输入eBoxII—Image,并分别在Download和Transport及Debugger中作相应的设

置,同时点击Settings建立连接参数。

接着启动eBoxlI。启动后eBoxlI发送启动请求到开发主机,其信息显示在

开发主机的EthernetDownloadSettings对话框,选中ActiveDevices中的设

备点击OK。

最后,下载镜像到目标机。在菜单栏上选Target/AttachDevice,开始将镜

像下载到目标机eBoxII。下载完成后,eBoxII则启动刚收到的WindowsCE内核

镜像。

图4—9为eBoxII的启动界面。

4.3.2红外遥控器信号解码

红外遥控器是通过红外发光管发射波长为940mn的红外光来传递信号,红外

光为不可见光,以直线方式传递信号。

家庭中只要具有红外遥控功能的电器都是各自配备一个红外遥控器,各种遥

控器之间无法通用,造成家中遥控器多、使用不方便的现象。若要将家中所有的

遥控器整合在一起,即实现一个遥控器或一机(如eBoxlI)控制所有能接收红外

遥控的电器设备,则必须对原先的各种红外遥控器编码进行解码。由于市场上各

类电器的红外遥控器编码格式不同,不同厂家生产的同类电器其红外遥控器的编

码格式也不同,造成各类红外遥控器编码无法以统一的编码格式进行识别。目前

市场上解决这个问题的方法有两种,一种是将大多数常用电器的红外遥控器的键

码事先存储在所谓的万能遥控器中,因每个家庭选购的电器组合各不相同,这种

基于WinCE的嵌入式系统的研究与应用

方式不仅浪费遥控器的存储器资源,而且遇到某种电器的红外遥控器键码不属于

图4-9eBoxlI启动界面

其设想的范围内,就失去了“万能”的功能。另一种方法是在专门定制的红外遥

控器中通过软件判断某个红外遥控器的编码格式,从而以特定的格式对遥控器编

码进行解码,也就是“学习”原有的红外遥控器各键的编码,并将编码存储在该

遥控器中,这样,“学习”多少个红外遥控器的编码,就能取代多少个遥控器对相

应的家电进行控制,这种方式更能体现“万能”的含义。但是,若某种红外遥控

器的编码格式不是内置软件能判断的,还是无法进行“学习”,所以这种方式也不

是真正的“万能”。

本系统提出的对红外遥控器编码进行“学习”的原理是:不考虑信号的红外

编码格式,即不去判断接收进来的逻辑是“0”还是“1”,直接计算同一种逻辑

持续的时间,并根据持续时间的比例判断出两种不同的逻辑,用“0”或“l”表

第四章通用红外遥控系统原型开发

示,经解码后得到红外遥控器上各按键的发射编码,并将这些发射编码存储起来,

需要时,再将相应的发射编码经调制后发射出去。本系统制作了以AT89S52为核

心的红外接收/解码电路,用于对红外遥控器各键的红外发射信号进行解码。

4.3.2.1红外编码格式

红外编码采用一个高低电平组合的脉冲信号代表编码中的逻辑“0”和逻辑

“1”,红外遥控器上的每个按键对应一组规定的逻辑“0”和逻辑“1”,叫做按键

编码,简称键码。

各厂商对红外编码格式…的规定各不相同。例如,NEC编码格式规定,0.56ms

的高电平和1.69ms的低电平代表逻辑“l”,0.56ms的高电平和0.565ms的低电

平代表逻辑…0’,见图4—10。SONYSIC的编码格式则规定,1.2ms的高电平和

0.6ms的低电平为逻辑“1”,0.6ms高电平和0.6ms低电平为逻辑“0”,见图

4—11。也就是说,不同编码格式规定的逻辑…1,…0的脉冲高低电平的持续时

间是不同的。

k!:兰-l

图4—11SONYSIRC编码格式

臣“

基于WinCE的嵌入式系统的研究与应用

目前红外编码格式没有一个统一的标准,制造编码芯片的厂商都是各自规定

自己的红外编码格式,而且发码的格式也不一样,对红外遥控器信号的解码造成

一定的困难。

为了增加红外编码的传送距离,提高抗干扰能力,红外编码在传送之前必须

进行调制,国内常见的调制频率是38KHZ,国外为40KHZ。

红外编码调制方式有两种:脉冲宽度调制(PWM)和脉冲相位调制(PPM)。

一.脉冲宽度调制(P瓤)

以发射红外载波的占空比代表逻辑“0”和“1”的调制方式叫做脉冲宽度调

制。如上述的NEC编码,经调制后,发射载波0.56ms,不发射载波1.69ms,共2.25ms

的脉冲周期表示逻辑“1”,发射载波0.56ms,不发射载波0.56ms,共1.12ms的

脉冲周期表示逻辑“0”,如图4—12所示。同理,SONYSIC的编码调制方式见图

4-13。

。口glc日I…一ogIc●IU—一

1|lI|ll|110

一砖口us+|,,;~.量5印譬i一.

图4-12NEC编码的调制方式

㈣螋=面石烨=丽:=』

圈4—13SONYSIRC编码的调制方式

为了解码方便,多数协议规定了红外编码的引导码。引导码一般是一个高低

电平组成的脉冲,如NEC红外编码的引导码为9ms的高电平和4.5ms的低电平,

经脉宽调制后就是载波发射9ms和载波不发射4.5ms,如图4—14(a),SONYSIC

第四章通用红外遥控系统原型开发

红外编码的引导码为2.4ms的高电平和0.6ms的低电平,如图4—14(b)。

图4—14NEC、SONYSIRC红外编码引导码

同一协议中每组编码的周期是固定的,NEC为108ms。以NECupd6121编码

芯片为例,完整的编码串如图4—15(a)所示。SONYSIRC的编码串如图4—15(b)。

(a)

l-424m’l11001口o1oo0o■--___U_____

i{L58MSBiLS8MS8}l+start—''i·————一e∞1mand———————+l·—一Addreli———斗l

(b)

图4-15NEC(a)、SONYSIRC(b)红外编码串发射情况

二.脉冲相位调制(PPM)

以发射载波的相位表示逻辑“0”和逻辑“1”的调制方法叫做脉冲相位调

制。从发射载波到不发射载波规定为逻辑“0”,从不发射载波到发射载波规定为

逻辑“l”。其发射载波和不发射载波的时间是相同的,也就是逻辑“0”和“1”

脉冲周期是固定的,这种调制方式的代表产品有PHILIPS的RC一5、RC一6等,图

州■;~:一幅●_],j||Ⅲ_一

基于WinCE的嵌入式系统的研究与应用

4—16为PhilipsRC一5红外编码调制和红外编码串发射情况。

本文主要研究调制频率为38KHZ脉宽调制编码的解码方法。

ⅢⅡ删IIlllIll0咖ll【lII;;;删0Il【l|llIlllIIII|ⅢⅡ0{..—q日9坶—+{.+一啷¨。—+!{·—_B89pr斗i卜叫8却。—+{

Logic。D”

bitl1bit2lbik3|bi【4;bit5lbitGlbit7{”£』。也”L翼”L』“{..1■—卫“l

(a)

Logic。1”

biEllbitEI|bitlOibitl。1ibitl2lbitl3ibitl4

”1“l“1。|”1”i”口‘l“1“l“旷!”1¨

$11"S2i-{翌日_枷。—粤|登L—c。。别——霉

Startbits【alw倒s“¨

(b)

图4-16PhilipsRC-5红外编码调制(a)和红外编码串发射情况(b)

4.3.2.2红外解码方案及红外接收/解码模块

由于各制造商规定的红外编码格式不同,如果只按照某种型号的格式进行解

码,不能得到正确的解码。针对多种编码格式,本系统采用“学习”的方式,即

分析接收到的逻辑位高低电平的持续时间,得到对应的按键发射编码,需要时再

将对应的发射编码调制发射。这样就不必考虑编码格式和发码格式的问题,但这

种方法需要较大的存储器容量。

分析常见红外编码格式,可以看出,引导码的脉冲宽度在3ms以上,逻辑“0”

和逻辑“I”的脉冲宽度在0.52ms到1.69ms之间。

引导码为先高电平后低电平的脉冲,通过调制发射,经红外接收模块处理后

的信号相位变反,因此,AT89S52只要识别到低电平,就开始接收,接收到的前

两个逻辑位的持续时间为引导码的高低电平持续时间。按下来接收到的是按键发

射编码串各逻辑位的高低电平持续时间。依次将每个逻辑位的高低电平持续时间

存储在AT89S52的内部RAM,并计算已存的单元个数,直到接收到的逻辑位高低

第四章通用红外遥控系统原型开发

电平持续时间大大于逻辑…0或逻辑“1”的脉冲宽度,则可认为一串编码己发

射完整,AT89S52停止接收。将已存储的数据进行分析,并转换为二进制“0”和

“l”,形成该键的发射编码。

红外接收/解码电路以AT89S52为核心,包括红外接收电路和单片机解码部

分,具体电路见图4—3的总电路图。

一.红外接收电路

这部分的功能是接收红外遥控器发出的信号,并将解调信号送AT89S52的

P1.6脚。

为了防止周围光源对红外光的干扰,提高红外编码的传送距离,所有红外遥

控器发射的信号都是经过调制的。因此,要测量原先的编码脉宽,必须对已调波

进行解调,即还原出按键的发射编码。红外接收电路采用了市面上常见的一体化

红外接收头HS0038。IIS0038集成了光电转换、解调和放大电路,能解调接收到的

红外已调波,处理后输出与TTL电平信号兼容的红外编码信号。需注意的是,由

HS0038解调出来的信号与原信号的相位相反。图4—17(a)、(b)分别为HS0038的

外观图和引脚图。HS0038只有三个引脚,1脚OUT输出红外调制编码信号的解调

信号,2脚GND接地,3脚Vs为电源端。

图4—17(a)HS0038外观图图4—17(b)HS0038引脚图

二.单片机解码.

红外编码串由一组逻辑“0”和逻辑“1”组成,而逻辑“0”和逻辑“1”又

是由持续时间不同的高低电平组成。在不知逻辑“O”和逻辑“1”是由持续时间

多长的高低电平组成的情况下,无法根据预定的时间来判断接收到的逻辑位。因

基于WinCE的嵌入式系统的研究与应用

此,本系统中采用单片机的定时器计算逻辑位高低电平的持续时间,通过综合分

析判断出编码串中两种不同逻辑的组合方式,从而得出红外遥控器相应键按下后

发射出的红外编码信号的解码数据。图4—18为解码程序的流程图。

…_~彳i二j。]『一

l重置数据指引、计数初值

…二~=]一二。一一二:

计算搽准计时值

L—7一I.

(Aj

、。

图4—18红外遥控信号解码流程图(1)

第四章通用红外遥控系统原型开发

4.3.3串行通信

Y



r结束1

图4-18红外遥控信号解码流程图(2)

单片机内部的存储器容量有限,由单片机电路解码后的数据将传送到eBoxlI

保存。单片机自带串口,因此二者间的数据传送采用最简单的通信方式…串行通

信。

4.3.3.1串行通信概述

串行通信指被传送的数据和控制信息在一根传输线上一位接一位地传送,这

根线既作数据线又作联络线。传送速度比并行通信慢,但节省传输线,在对速度

基于WrmCE的嵌入式系统的研究与应用

无特殊要求的情况下常被采用。

串行通信的数据格式是固定的,对应串行通信的两种通信方式一同步通信和

异步通信,有同步数据格式和异步数据格式。同步通信要求收、发端的时钟要同

步,因此实际应用中通常采用异步通信方式。

异步数据传送以帧为单位,每帧包括l位起始位、5—8位数据位、1位控制位

和卜2位停止位,双方通信时必须约定数据传送的格式及传送的波特率。

波特率指每秒传送的二进制数据的位数,常用的波特率有110、300、600、

1200、2400、4800、9600和19200b/s。波特率由时钟产生,对于收、发端不同的

时钟频率,可以通过对波特率因子的选择获得相同的波特率,所以异步通信的发

送端和接收端可采用各自的时钟控制数据的发送和接收。

根据串行通信中数据流的方向,可将其传送方式分为单工、半双工和全双工。

全双工指数据的发送和接收分别由两根不同的传输线传送。

4.3.3.2AT89S52串口与RS-232C串口的连接与通信

一.AT89S52串口

AT89S52单片机自带一个全双工异步通信串行接口,该串口主要由发送缓冲

器(SBUF)、接收缓冲器(SBUF)和串行口控制寄存器(scoN)组成。

发送SBUF和接收SBUF共用一个字节地址,但在物理结构上是各自独立的,

这两个SBUF可由指令进行区分,即

MOVSBUF,A;表示把A中的数传送到SBUF后由引脚TXD(P3.1)串行

输出,此处的SBUF为发送SBUF;

MOVA,SBUF;表示把由引脚RXD(P3.0)串行输入后接收的数据则送接

收SBUF,CPU再从这里把数据取走。

串行控制寄存器(scoN)控制串行口的工作方式及显示串行口的工作状态,

寄存器的内容如下:

l位序D7D6D5ID4D3D2D1DO

l位符号SMOSMlSM2lRENTB8RB8TIRI

第叫章通用红外遥控系统原型开发

4—2。

其中,SMO、SMl用于选择串行口的工作方式,共有四种工作方式,定义如表

表4_2AT89S52串行口的工作方式

SM0SMl工作方式功能简述波特率

O0O8位同步移位寄存器fosc/12

O1110位UART可变

lO21l位UARTfosc/12或fosc/64

11311位UART可变

方式0和方式2的波特率是固定的,由单片机系统的时钟频率决定;方式1

和方式3的波特率不固定,通常由单片机中的定时器作为波特率发生器产生所需

的波特率。波特率还可通过电源控制寄存器PCON中的SMOD位选择波特率是否加

倍。当SMOD=O时,表示波特率不加倍;当SMOD=I时,表示波特率加倍。

电源控制寄存器(PCON)的内容如下:

本系统中AT89S52串口与RS一232C串口的通信协议设为:

·波特率:9600b/s

·数据帧格式:8个数据位,一个停止位,无奇偶校验位

·传送方式:采用查询方式收发数据

AT89S52有关串口部分的初始化程序为:

MOVTMOD,#20H;定时器T1作波特率发生器

MOVTHl,#OFDH

MOVTLl,#OFDH;波特率为9600时定时器Tl的定时初值

SETBTEl

MOVSCON,#950H;串行口选择工作方式1,允许接收

ANLPCON,#TFH;波特率不加倍

二.RS一232C串口

RS-232C标准(协议)是美国EIA与BELL等公司一起开发并于1969年公布

基于WinCE的嵌入式系统的研究与应用

的通信协议,它的全称是EIA-RS一232C标准,其中EIA(ElectronicIndustry

Association)代表美国电子工业协会,RS(ecommededstandard)代表推荐标准,

232是标识号,C代表RS232的最新一次修改(1969)。

RS一232C标准(协议)主要是针对公用电话网进行数据通信而制定的标准,

该接口用于数据终端设备(DTE)和数据通信设备(DCE)之间进行二进制交换。

DTE包括计算机、外设等,DCE则指调制解调器,标准中提到的“发送”和“接收”

都是站在DTE的立场定义的。尽管后来出现了不少更快、更复杂的接口技术,但

由于RS一232的硬件要求比较简单,价格便宜,大多数通信设备厂商都生产与

RS一232C制式兼容的通信设备,因而RS一232C串口标准在微机接口中应用比较广

泛。

RS一232C适于数据传输速率在O--20kbit/s范围内的通信。在通信速率低于

20kbit/s时,直接连接的最大物理距离为15m。

RS一232C标准接口有25条线,常用的有9条。由于RS一232C没有定义连接器

的物理特性,因此出现了DB一25、DB-15和DB一9三种连接器。目前Pc机上的COMl、

COM2接口,就是采用连接器为DB-9的RS一232C接口。

DB一9连接器的9条信号线,可分为三类:传送信号、联络信号和信号地。

传送信号有TXD和RXD,传送的数据以帧为单位,每帧数据由起始位、数据

位、奇偶校验位和停止位组成,数据位为5—8位,停止位为卜2位;

联络信号有RTS、CTS、DTR、DSR、DCD和BELL,用于传递通信双方的握手信

号;

信号地为GND,为Pc与终端设备提供同一电势参考点。

DB9引脚信号说明【15】如表4—3。

远距离通信时为了抑制干扰,降低信号衰减,需通过调制解调器MODEM将数

据调制后发送、接收后解调,而近距离通信时可直接传送数据,也就是采用零

MODEM方案,即不经过MODEM,通信双方直接连接。最简单的零MODEM方案为三线

制,即采用TXD、RXD和GND三线实现全双工串行通信。

表4-3DB9引脚信号的定义及功能

I引脚号l信号名称I缩写1方向l信号功能l

l1I数据载波检测IDCD1DTE--IDCE已接收到远程信号l

第四章通用红外遥控系统原型开发

2接收数据RXDDTE—DTE接收串行数据

3发送数据TXD—DCEDTE发送串行数据

4数据终端就绪DTR—·DCEDTE准备就绪

5信号地GND信号地

6数据设备就绪DSRDTE—DCE准备就绪

7请求发送RTS—DCEDTE请求切换到发送方式

8清除发送CTSDTE·一DCE已切换到准备接收

9振铃指示BELLDTE+一通知DTE,通信线路己妥

在三线制中,RS一232C接口的TXD接对方的RXD,RS一232C接口的RXD接对方

的TXD,双方的GND互连。除此之外,还需考虑以下问题。

双机通信时,必须在请求发送、允许发送、请求接收、允许接收的情况下才

能通过TXD和RXD发送、接收数据,因此,在三线制中,必须对RTS、CTS、DTR、

DSR联络线作一些处理,以保证通电后这些信号都有效。实际应用中,将DTR与

DSR连接在一起,有效时表示DTE、DCE设备可用;RTS与CTS连接在一起,表示

只要DTE请求发送,DCE立即允许。在这种方式下,通信双方都可被看作DTE,只

要任何一方的RTS和DTR有效就可开始发送与接收数据。

三线制的完整接线如图4—20所示。

图4-20串口DB9与电缆线的三线制连接图

三.AT89S52串口与RS一232C串口的连接

以上所述的三线制,用于PC与PC通过RS一232C接口通信,但对于PC经RS一232C

接口与单片机的通信,则不能直接将双方的TXD与RXD互连,这是因为二者规定

基于WinCE的嵌入式系统的研究与应用

的逻辑电平不同。

RS一232C接口的TXD和RXD的逻辑电平定义如下:

逻辑l(MARK):一3V~一15V;

逻辑0(SPACE):+3V~+15V。

RS一232C是用正负电压来表示逻辑状态,而TTL电路则以高低电平表示逻辑

状态。因此,双方的收发端之间必须经过电平转换。电平转换电路可采用分立元

件或集成电路芯片。常用的集成电路芯片有MCl488、SN75150芯片(实现TTL电

平到EIA电平的转换)、MCl489、SN75154(实现EIA电平到TTL电平的转换)和

MAX232芯片(实现TTL电平与EIA电平的双向转换),本系统采用MAX232C芯片,

用以实现RS一232C逻辑电平与单片机逻辑电平的双向转换。

PC机、单片机与MAX232C的连接电路如图4—21所示。

图4—21Pc机与单片机的串口连接

四.eBoxII串口编程

在eBoxII方面,通过WindowsCE提供的串行通信函数【ll】可进行串口数据的

收发。

第四章通用红外遥控系统顾型开发

串口操作如下:

1.打开串口

hComm=CreateFile(一T”COMl:”,

GENERIC—READGENERIC_WRITE,

0,

NULL,

OPEN—EXISTING,

0,

//允许读和写

//独占方式

//打开而不是创建

NULL):

//串口打开失败

if''(hComm==NULL)

(

return:

}

WindowsCE与桌面Windows不同的是将驱动程序分为本地设备驱动程序和流

设备驱动程序。本地设备驱动程序由原始设备制造商创建,用以驱动键盘等设备;

流设备驱动程序可由第三方生产商提供,以支持添加到系统中的设各。流设备驱

动程序用三字符名后跟一位数字表示。当引用流接口驱动程序时,应用程序将使

用三字符名后跟一位数字再跟一个冒号。如串口i应写成“COMl:”。冒号是Windows

cE下系统识别驱动程序名称所必须的,以区别WindowsNT或Windows98中的命

名规则。

2.关闭串口

串口打开后,串口就被独占,不使用时需关闭。

BOOLbResult=CloseHandle(hComm):

if(hComm!=NULL)

(

CloseHandle(hComm):

hComm=NUt.I.:

基于WINCE的嵌入式系统的研究与应用

}

3.配置串口

BOOLGetCommState(HANDI。EhFile。LPDCBlpDCB);获得串口配置

BOOLSetCommState(HANDLEhFile,LPDCBIpDCB):用指定的DCB结构设置

串口

配置串口需通过一个DCB结构来进行,DCB结构包含了诸如波特率、数据帧

等信息。实际应用中串口默认的配置大部分不需要修改使用时常常先调用

GetCommState接收默认的DCB结构,修改完需要设置的参数,然后调用

SetConmIState根据修改后的DCB重新设置串口,即

//默认串口参数

GetCommState(hComm,&dcb):

//修改需设置的参数

DCBdcb:

dcb.DCBlength=sizeof(dcb):

dcb.BaudRate=9600://波特率

dcb.ByteSize=8://每帧的数据位数

dcb.Parity=NOPARITY;//不采用奇偶校验

dcb.Stop_g_Bits=ONESTOPBIT;//l位停止位

//重新设置串口参数

SetCommState(hComm,&dcb):

//配置串口失败

if(!SetCommState(hComm,&dcb))

(

return;

)

4.设置串口读写时间

BOOLSetCommTimeouts(HANDLEhFile,LPCO删TIMEOUTSlpCommTimeouts)

WindowsCE提供了超时机制,可设置串口读写超时。

COMMTIMEOUTSCommTimeouts:

第四章通用红外遥控系统原型开发

GetCommTimeouts(hComm,&CommTimeouts):

CommTimeouts.ReadIntervalTimeout=MAXDWORD:

CommTimeouts.ReadTotalTimeoutMultjplier=O:

CommTimeouts.ReadTotalTimeoutConstant=0:

CommTimeouts.WriteTotalTimeoutMuitiplier=i0:

CommTimeouts.WriteTotalTimeoutConstant=1000:

//不能设置超时参数

if(!SetCommTimeouts(hComm,&CommTimeouts))

{

return:

)

5.写串口函数

WriteFile(hComm,//旬柄

&Byte,//数据缓冲区地址

nByte,//数据大小

&dwNumBytes,//返回发送出去的字节数

NULL//不支持重叠

):

6.读串口函数

ReadFile(hComm,//句柄

&Byte,//数据缓冲区地址

nByte,//数据大小

&dwNumBytes,//返回接收进来的字节数

NU[,L//不支持熏叠

):

读串口时既要考虑到能及时接收数据,还要考虑及时处理接收到的数据。对

于及时接收,在配置读操作的超时值时,设置不可太小;而对于边读边处理数据

可采用设置两个线程的方法,一个线程用于读,另一个线程处理读进来的数据。

基于WinCE的嵌入式系统的研究与应用

4.3.4红外编码调制发射

在eBoxII端,打开遥控器界面后,点击某个按钮,则调用对应该按钮的红外

遥控器发射编码,由串口将数据传送到电路板,再经AT89C52单片机调制后由发

射电路发射红外遥控信号。

发射遥控信号的方式与红外遥控器发射信号的方式必须保持~致才能控制相

应的设备。因此,由eBoxII传来的红外遥控嚣发射解码必须经过调制后才能发射。

实现发射编码的脉宽调制有两种方法,一种是将二进制脉冲信号与调制信号相与,

如图4—22所示,另一种是利用单片机中的定时器产生调制信号,并用软件的方法

将发射编码调制在调制信号上,然后通过I/0口输出已调信号。

已调脉冲信号

图4—22利用与门进行信号调制

为了提高电路的稳定性,尽量减少元器件等硬件,本系统采用软件调制信号

的方法,具体实现方法如下:

用AT89S52的定时器T1产生38KHz的调制信号,对从eBoxlI传来的发射编

码进行调制,即逻辑“1”的低电平时输出调制信号,高电平时关闭输出,同理,

逻辑“0”的低电平时输出调制信号,高电平时关闭输出。

红外调制发射模块的程序流程图如图4—23(1)、(2)所示。

已调信号只是脉冲波,还应转换为红外信号。本电路中,已调信号由AT89S52

的P1.7脚输出,经三极管放大后控制红外发射管,由红外发射管发射红外信号,

其原理等同于由红外遥控器发射红外编码信号。

第四章通用红外遥控系统原型开发

㈡开始、

t

初始化:串口

定时器

数据指针RO

计数单元R7

设置逻辑“0”藏电平的T0定f|寸

初值

开启定时器T1

T0定时}|}_j间到了吗?\/

工Y

关闭定时器Tl

设置逻辑“O”低屯平的TO定时

初值

Y

图4—23发射红外编码信号程序流程图(1)

基于WinCE的嵌入式系统的研究与应用

图4—23发射红外编码信号程序流程图(2)

第四章通用红外遥控系统原型开发

4.3.5远程控制方法

Internet使数以千计的计算机设备包括Pc机、PDA、手机等彼此之间可以迅

速方便地传输信息,因此应用Internet开发远程控制是当今最合适的方式。

Internet的核心是TcP/IP协议,TCP/IP协议和标准有几十个,它是一个包

含应用层、运输层、网际层和网络接口层的四层体系结构【”】,其中运输层的任务

是负责主机中两个进程之间的通信。在运输层使用的协议有两种,分别是面向连

接的传输控制协议TCP和无连接的用户数据报协议UDP。这两种协议各有优缺点。

UDP不需要建立连接,编程较TCP编程简单,但它不能保证所有数据都能准确地

到达目的地,因此常用来传输实时性要求高、数据安全性要求不高的数据;而TCP

能实现无差错、无重复的顺序数据传输,可靠性高,但它的编程要复杂得多。

远程控制家居设备必须采用可靠的数据传输,因此应采用TCP,将eBoxII作

为服务器端,远程计算机设备作为客户端,通过Socket进行远程控制。

基于WinCE的嵌入式系统的研究与应用

第五章系统原型测试

本系统包括红外解码/发射电路板和基于WINCE的应用程序。构建了整个系统

原型后,进行如下测试。

5.1电路板功能测试

自制的电路板如图5-1所示。

图5-1红外遥控器解码/红外编码发射电路板

该电路板的核心是单片机AT89S52,主要包括四个部分

A:红外接收电路

B:红外发射电路

C:串口通信电路

D:电源电路

第五章系统原型测试

单片机与红外接收电路结合构成红外接收/解码模块,与发射电路结合构成红

外调制发射模块。

5.1.1红外接收/解码模块的测试

该模块的功能是将红外遥控器发射出来的红外信号进行解码,算出按键发射

编码。遥控器上每个按键对应一组不同的发射编码。

测试环境:电路板,Panasonic电视遥控器,DVCC52196JH单片机仿真实验系

统。

测试方法:如图5—2所示,将电路板上的AT89S52串口与仿真实验系统的串

口相接,用51汇编语言编程将AT89S52读到的解调信号经双方串口传送到仿真系

统的RAM。测试时,先按一下电路板上的“学习”键K1,将遥控器发射端对准红

外接收模块并按“1”键,然后在仿真实验系统上,通过操作可查看传送过来的数

图5-2红外解码模块测试环境

据,即解调后发射编码各逻辑位高低电平的持续时间值。

基于WinCE的嵌入式系统的研究与应用

测试结果:受仿真实验系统晶振的限制,测试时AT89S52晶振改为8MtIz。测

试后,“1”键发射编码逻辑位高低电平的持续时间数据如下:

07090327

OOFB009500FB024900FB009300FD0093OOFD0093OOFB0095OOFB0095OOFB0093

OOFD0093OOFB0095OOFB0095OOFB0093OOFD009300FB0249OOFB0095OOFB0095

OOFB0093OOFD0093OOFB0095OOFB0095OOFB0093OOFD0093OOFB009500FB0249

00FB0095OOFB0093OOFD009300FD0093OOFB0095OOFB0095OOFB0093OOFD0093

OOFB0095OOFB0095OOFB0093OOFD009300FB0249OOFD0093OOFB0095OOFB0093

OOFD0093OOFB0095OOFB0095OOFB009300FD0247OOFD009300FD009300FB0249

OOFB9lBl

其中,每四位十六进制数表示电平的持续时间,八位十六进制数为一组,表

示逻辑位高低电平的持续时间。

第一组数据为引导码的高低电平持续时间。最术一组数据经判断后为结束

码。中间的数据为“1”键发射编码中各逻辑位高低电平的持续时间。经过分析,

这些数据中接近“OOFB0095”的数据为一种逻辑,接近“00FB0249”的数据为另

一种逻辑,因此可认为该键的发射编码为“01000000000001000000000100000000

0000100000001001”。

用相同的方法可得到遥控器上各键的发射编码,如下表所示。

按键按键的发射编码

1010000000000010000000001000000000000100000001001

201000000000001000000000100000000100010001000100l

3010000000000010000000001000000000100100001001001

401000000000001000000000l000000001100100011001001

5010000000000010000000001000000000010100000101001

6010000000000010000000001000000001010100010101001

7010000000000010000000001000000000110100001101001

8010000000000010000000001000000001110100011101001

—48.

第五章系统原型测试

9010000000000010000000001000000000001100000011001

O010000000000010000000001000000001001100010011001

+010000000000010000000001000000000000010000000101

010000000000010000000001000000001000010010000101

010000000000010000000001000000001101110011011101

八010000000000010000000001000000000010110000101101

V01000000000001000000000100000000101011001010110l

电源010000000000010000000001000000001011110010111101

静音010000000000010000000001000000000100110001001101

TV/AV01000000000001000000000l000000001010000010100001

F010000000000010000000001000000000110000001100001

N010000000000010000000001000000000011000000110001

定时010000000000010000000001000000001111000011110001

分析以上数据可以看出,每个按键的发射编码有6个字节,前4个字节相同,

应为厂商产品的编号,后两个字节不同,应为键码。再分析这两个字节,有一定

的规律,根据一些编码芯片红外发码的特点,可判定键码其实只有一个字节,最

后一个字节是为了增加可靠性而设置的校验码。

通过以上测试数据及数据分析,可初步判断红外接收/解码电路及软件设计思

路是正确的。

5.1.2红外调制发射模块的测试

该模块的功能是将解码后得到的发射编码经AT89S52软件调制后进行发射以

控制设备。

测试环境:电路板,普通示波器

测试方法:由于解码后的发射编码长度较长,受实验条件的限制,测试该模

块时无法观察到该码调制发射后的完整波形,因此该测试采用单片机软件预制一

组8位的二进制,同时产生频率为38KHz的调制信号,用本文4.3.4中阐述的软

基于WinCE的嵌入式系统的研究与应用

件调制方法将发射编码调制后由AT89S52的P1.7脚输出,控制红外发射电路发射

红外遥控信号。具体测试方法如下:

用软件设置一组8位的二进制逻辑“00001t11”,其中逻辑“0”设为0.56ms

的高电平和0.56ms的低电平,逻辑“1”设为0.56ms的高电平和1.69ms的低电

平,高电平时发射调制脉冲,低电平时不发射调制脉冲。程序烧写在AT89S52上,

示波器接发射电路的输出端。通电后,示波器上观察到的波形如图5—3所示。

图5—3红外调制发射模块测试环境

下表为几组二进制逻辑与观察到的波形图:

二进制逻辑对应的波形图

0000111l■■嗍■删■咖■

00110011删册佩删嗍㈣㈣㈣

第五章系统原型测试

ll

11010001■佣邢邢册■肿邢胛邢■

从预制的二进制逻辑与示波器上看到的波形可初步判断软件算法及调制发射

模块的正确。

5.1.3电路板接收解码与调制发射功能综合测试

测试环境:可用遥控器遥控的设备及相应的遥控器。图5-4为可接收红外遥

控信号的51单片机实验开发系统,图5.5为Panasonic电视及遥控器。

图5-4单片机实验开发系统图5-5Panasonic电视及遥控器

测试方法:首先在51单片机实验开发系统上进行测试。先按一下电路板上的

学习按键,将遥控器对准电路板上的红外接收模块按下键7,然后将电路板上的

红外发光管对准5l单片机实验开发系统按一下电路板上的发射按键,则开发系统

的LED数码管显示7,与使用遥控器遥控的结果一致。

接着,在Panasonic电视上进行测试,方法同上,测试结果同使用电视遥控

器的结果一致。

5.2应用程序功能测试

启动应用程序,主界面如图5—6所示。

基于WinCE的嵌入式系统的研究与应用

图5-6红外遥控系统主界面

系统有三个功能选项,分别为控制、学习和服务器设置。

学习

要进行远程控制某一家电,必须先将该家电红外遥控器上各键的编码保存在

eBoxll的FLASHMEMORY,红外遥控器发射的编码是经过调制后的编码,需解调还

原成与按键对应的发射编码。由于各种红外遥控器的编码格式不同,经解码后还

原成发射编码的格式是未知的,因此把从红外遥控器发射红外信号到解碣后得到

的红外发射编码的存储过程称为“学习”,即学习原红外遥控器各按键的编码格式

及相关编码。学习的予界面如图5—7。

图5-7学习子界面

第五章系统原型测试

在学习子界面中,可根据实际需要选择要控制的家电,如选择“TV”,则出现

如图5-8的TV遥控器学习界面。

对照原有的Tv遥控器,进行每个按键的学习。先点击该界面的“START”按

钮,eBoxlI处于准备学习状态。例如要学习“7”键时,将TV遥控器的发射端对

准解码电路中的红外接收模块,按下TV的“7”键,则“7”键的发射编码由AT89S52

单片机传送到eBoxlI,点击文本框中的按钮“7”,则遥控器上“7”键的红外发

射编码就保存在界面上按钮“7”对应的文件中。如此反复学习各键,则eBoxlI

就能保存该遥控器所有按键的红外发射编码。

各键学习完毕,点击“OVER”退出学习过程。

图5-8TV遥控器学习界面

二.控制

完成学习后,通过主界面选择控制功能。

选择“CONTROLLING”项,出现的子界面如图5—9所示。如果选择“TV”,弹

出类似于图5-8的TV遥控器控制界面,如图5—10所示。此时,如果要选电视的

基于WinCE的嵌入式系统的研究与应用

7频道,则点击按钮“7”,eBoxlI将按钮“7”对应的红外发射编码传送到单片

机,并由单片机调制后经红外发射电路发射,从而使电视调到7频道。即用eBoxlI

遥控电视时,效果等同于用原有的遥控器控制。

图5-9控制子界面

图5—10TV遥控器控制界面

第五章系统原型测试

三.SERVER设置

进行远程控制前,需设置服务器和用户等参数。在主界面选择“SERVER

SETTING”后,出现的界面如图5-11所示。

在该界面中设置完相应的地址、端口、用户名和密码后,点击“OK”即可。

远程控制时,通过客户端软件登录,各参数设置正确后,将出现如图5—6的

主界面,按照界面提示一步步操作即可。

图5—11SERVER设置界面

基于WinCE的嵌入式系统的研究与应用

第六章总结

本文研究了嵌入式系统的原理及实现方法,在基于WinCE的eBoxII平台上构

建并实现了通用红外遥控系统的原型。该原型是将一个家庭中的所有红外遥控器

的键码通过“学习”并将“学习”结果保存在一台嵌入式计算机上,与市场上出

现的万能遥控器相比,这台嵌入式计算机不仅可以在家中遥控所有原先带遥控器

的设备,还可以为远程遥控家居搭建一个很好的平台。同时,在这台嵌入式计算

机上还能开发出其它与智能家居有关的系统,如同课题组同学开发的视频监控系

统、温控系统等。

在整个学习、研究和开发过程中,我体会了一种产品如何从构思、市场分析

到开发以及实现的过程。首先,分析需求及现状很重要,这关系到所要开发的产

品的定位问题。本文在嵌入式计算机上开发红外遥控系统,最终目的不仅仅为了

实现在家中遥控设备,而是为远程遥控搭桥建路。其次,选择行之有效的快速的

要蕉直鎏塑,墅叁三墨,是若I{:鱼至主虽墅攀周期孕成功与否的关键。本文选用WinCE

和EVC,可以缩短熟悉开发工具的时间,尽快进入嵌入式系统的开发过程。

由于个人能力和精力有限及受到实验条件的限制,本文只是搭建开发了一个

简单的嵌入式系统原型,系统中的功能仍有不完善的地方。

本系统的不足之处在于:

1.红外通信属于点对点的直线通信,它无法穿过障碍物,要“穿越”家中的

墙,还需进行红外转发;

2.本文的红外遥控器信号解码算法只经有限的几个遥控器验证,是否适宜所

有的遥控器还有待求证;

3.本系统还应进一步开发远程控制功能,才能体现智能家居的真正含义。

智能家居已经悄悄向我们走来,有关智能家居的开发都具有很高的实用价值,

要成为一种合格的商业产品,还有许多需要考虑和扩展的地方。本系统还需继续

完善功能,继续拓展,以达到智能家居更高的要求。

参考文献

参考文献

[1]现场访谈:深圳市波创科技发展有限公司夏郑渠总经理.

http://www.ehomechina.net/news/newsb/200644131205.html,2006—04—04.

[2]第三届(2005)中国嵌入式技术应用高峰论坛.

http://mw.evoc.com/new/bm/2005一j.htm.

[2]任荃“聪明脑”嵌入未来家庭.

http://www.nsfc.gov.cn/nsfc/desktop/kjkx.aspx@infoid=7631.htm.

[4]智能家居发展历程.http://vrmv.smarthomecn.coⅢ/zt/zt2/sm01.html.

[5]综述:智能家居相关技术及比较.

http://v.m.enet.com.cn/article/2006/O105/A20060105489795,shtml,2006一Ol一05.

[6]黎辉.利用电力线实现住宅智能化.

httptf}Ⅷw.chinesel63.com/lunwen/2004/5—18/182321.html.

[7]桑楠编著.嵌入式系统原理及应用开发技术[M].北京:北京航空航天大学出版社,2002

年4月.

[8]周毓林等编著.WindowsCE.net内核定制及应用开发[M].北京:电子工业出版社,2005

年2月.

[9][美]Microsoft公司著.MicrosoftWindowsCE程序员开发指南[M].北京:北京大学出

版社,

[10]ACM-600红外转发系统(俗称红牙).http://www.anjiete.com/p2.htm.

[11]汪兵等编著.EVC高级编程及其应用开发[M].北京:中国水利水电出版社,2005年3



[12]DM&PVortex86SeriesandSolution.http://讪m.icop.COIn.cn/vortex86.htm.

[13]王幸之等编著.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,

2004年5月.

[14]SanBergmans.全面了解红外遥控

http://wWW.dtvbbs.cn/fordesigner/infraredsb.htm,2004年6月

.57

参考文献

[15]李朝青编著.Pc机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2000

年12月.

[16]谢希仁编著.计算机网络(第4版)[M].北京:电子工业出版社,2003年6月.

E17]罗军舟等.TCP/IP协议及网络编程技术[M],北京:清华大学出版社,2004年10月.

[18]晨风编著.嵌入式实时多任务软件开发基础[M].北京,清华大学出版社,2004年9月.

[19]田泽编著.嵌入式系统开发与应用[M].北京:北京航空航天大学出版社,2005年i月.

[20]陈向群等编著.WindowsCE.NET系统分析及实验教程[M].北京:机械工业出版社,2003

年1月

[21]eBoxlIWindowsCE5.0JumpStart[Z].ICOPTechnologyInc.2006.

[22]http://www.smarthomecn.com/

[23]http://ww.smarthomeasa.tom/

[24]8117IRLEARNER,http://www.smarthome.com/8117.html

[25]李湘闽等.学习型红外遥控器[J].《红外》,2004年第8期.

[26]赵海兰.红外学习机的设计原理与应用[J].《电子元器件应用》,2005年4月.

[273王永华等.一种通用学习型红外遥控器设计与实现[J].《广东自动化与信息工程》,2005

年第2期.

[28]陈明荧编著.8051单片机课程设计实训教材[M].

[29]傅曦等编著.嵌入式系统WindowsCE开发技巧与实例[M].北京:化学工业出版社,2004

年1月.

[30]田东风编著.WindowsCE应用程序设计[M].北京:机械工业出版社,2003.

[311李现勇编著,Visualc++串口通信技术与工程实践[加.北京:人民邮电出版社,2004年

7月.

[32]付林林专栏.http://www.vckbase.com/vckbase/c01umnist/fllsoft/.

.58,

攻读硕士学位期间发表的论文

攻读硕士学位期间发表的论文

[1]蔡燕玲.无线网在海洋渔业中的应用探讨.《福建水产》,2005年第3期

[2]蔡燕玲.基于现代通信技术的海洋渔业互联网初探.《福建水产》,2006年第l期

.59-

致谢

致谢

衷心感谢我的导师陈启安副教授。从论文的构思、选题以及实现都是在陈老

师的悉心指导下完成的。陈老师非凡的科学见解、敏锐的科学嗅觉、渊博的科学

知识、严谨的治学态度、朴实的工作作风以及正直的人格都给了我深刻的印象,

对我的学习和工作是很好的启迪。在整个学习阶段,陈老师给我提供了许多学习

机会,并在百忙之中时常关心论文的进度及遇到的困难,陈老师的细心指点,使

我能够顺利完成学业,在此谨向陈老师表示我最诚挚的谢意。

同时我要感谢三年学习期间所有向我授业解惑的老师们,你们不仅传授了知

识,还使我获得了很多宝贵的经验。

特别要感谢同课题组的陈飞、蔡莉白同学,你们在我完成论文期间给予了很

大的支持和帮助,能与你们一起学习探讨,我深感荣幸。

还要感谢中职班的同学们,认识你们使我的学习进步更快,生活多姿多彩,

与你们一起学习和生活的日子将是我日后最美好的回忆。

最后我还要特别感谢我的父母、先生和儿子,是你们的理解、付出、关怀和

支持给了我最大的动力,我的每一份成功和喜悦都将与你们分享,谢谢你们!

献花(0)
+1
(本文系朽木轩首藏)