网络化智能家居系统Word下载.doc
《网络化智能家居系统Word下载.doc》由会员分享,可在线阅读,更多相关《网络化智能家居系统Word下载.doc(23页珍藏版)》请在冰点文库上搜索。
基于Motorola多元化的DigitalDNATM技术,我们开发出应用于家庭的一系列智能化网络控制系统,已经在近千家住户中实际使用,这些充满智慧与灵感的模块使得人们的生活更加轻松写意。
网络化的智能家居系统由智能家庭总线以及总线上挂接的多种功能模块(节点)构成。
在一个对等型的网络上众多节点可以交换数据和相互控制,通过专门开发的ECHomePro软件,可以设定各节点之间的逻辑关联和工作模式。
水/电/煤气表
传感器接入
灯光控制器
温度传感器
光照传感器
安防传感器
智能网络开关
日程管理模块
INTERNET
以太网网关终端
手持遥控器
家庭总线
电动窗帘
网络微波炉
录像机
红外家电控制器
智能电话控制器
电视机
电话线路
DVD
门禁控制器
电源开关控制器
中央空调控制器
红外线
空调
图1网络化智能家居系统的节点构成
在解决智能住宅中的设备互联问题时,采用了分布式网络控制系统这一方案,它非常适合众多的嵌入式智能设备发挥网络化的特点,更容易扩充和维护。
由于采用了对等网、单一总线方式,使得系统的布线简洁、安装方便。
所有的终端设备可随时接入总线或脱离总线;
作为一套成本敏感的消费电子产品,应以提供实用化功能为原则,将其控制在合理的价格范围。
每个网络节点根据不同的功能需求,选择MC68HC08系列的某一款微控制器。
例如,在“以太网网关终端”和“智能灯光控制器”中,采用了MC68HC908SR12;
而在“红外家电控制器”、“智能电话控制器”等资源要求相对较多的节点,采用MC68HC908GP32作为核心。
本论文将选择最具有代表性的两个节点的设计情况进行深入介绍:
l以太网网关终端(ESWeb)
该网关终端一端连接在小区的以太网上,另一端连接在家庭内的控制总线上。
它可以提供三表传送、安防报警、紧急求助、网络远程控制等功能。
该终端采用MC68HC908SR12设计,实现了TCP/IP协议栈及WebServer。
l智能灯光控制器(ESLight)
它是智能网络上一个典型的节点。
具有轻触式调光控制、网络场景控制、红外遥控、预设存储等丰富功能。
通过面板上的轻触按钮,可以控制灯光的开关和亮度,或者使多盏灯光进入某种预设的场景;
也可以通过手持遥控器来控制住宅内所有的灯光。
通过遥控器上的场景设置按键,可以方便地设定灯光场景和迅速切换。
二、设计概述
在网络智能家居系统中,具有代表性的两个节点是“以太网网关终端”和“智能灯光控制器”。
如下图所示,通过智能灯光控制器,可以对各盏灯光进行直接控制;
通过以太网网络终端,可以实现对灯光亮度的远程控制和查询。
家庭总线ESBus
以太网
以太网网络终端
智能灯光控制器
(003A)
(004C)
图2简单的控制网络框图
下面将分别介绍它们的设计方案。
2.1以太网网关终端
2.1.1背景信息
随着互联网技术的发展,宽带网络在全国范围内迅速发展。
许多新建住宅小区都将以太网铺设到了用户家庭,使得整个小区的居民通过以太网实现宽带上网成为可能。
同时,随着社区服务的完善,智能小区需要通过一个安装在每个家庭的终端设备实现信息发布、物业管理、三表传送、紧急求助等功能。
以往,这样的信息终端和社区服务中心通过铺设专线,如485总线来进行连接,工程量大,故障率高,且由于只能采取主机轮循方式而效率较低。
如果能够利用已经铺设到用户家庭的、现成的、稳定的以太网络组建社区综合服务体系是一项非常有意义的事情。
而目前基于以太网的信息终端通常采用32-bit的微处理器和WindowsCE等通用操作系统,这种结构开发周期短、功能强、信息交换速率高、但致命的缺点是成本太高,这也是一直在国内无法推广的主要问题。
因此,向智能小区的每个住宅提供一个基于8位MCU连接Ethernet的低成本信息终端,不仅具有实用价值,而且市场前景也相当广阔。
2.1.2设计目标
在本方案中,设计了一台家庭信息终端,安装在智能小区的每个家庭中,提供三表传送、安防报警、紧急求助、网络远程控制等功能。
它是相对独立的智能测控设备,可以直接与小区的以太网相连接。
作为一个成本敏感的消费电子产品,应以提供实用化功能为原则,将其控制在一个适当合理的价格范围。
在此应用中,信息终端对数据交换的速率要求并不高(如1Mb/s以下),所以可采用价格低廉的高速MCU,写入TCP/IP协议,从而将整个终端的成本降到100-200元人民币。
经过分析,我们选择了MC68HC908SR12作为设计核心,并利用10M以太网芯片RTL8019AS建立Ethernet网络连接。
在软件设计方面的重点是实现TCP/IP协议栈,由于RAM和FLASH空间的限制,必需设计出相当精炼的网络连接协议栈,同时又需要保证其可靠性。
基于IP的设计使它能通过一个开放的网络平台相互通讯。
68HC908是具备FLASH在线编程能力的MCU,为了满足调试、升级的需要,我们设计了利用以太网进行在线程序升级的代码,使得信息终端可以通过下载新的应用程序来获得更丰富的功能。
由于信息终端是一台嵌入式WWW服务器,使得用户在世界任何地方随时可以上网通过WWW浏览器了解家中情况并简单控制家中电器,进行设防/撤防;
真正让用户每天都能感受到家庭智能化的强大魅力。
2.1.3功能特性
1.MCU采用Motorola的MC68HC908SR12(7.4MHzBusFrequency,512byteRAM,12KBFLASH);
2.10MEthernet采用RTL8019AS以太网芯片;
3.软件上实现协议:
ARP,ICMP,TFTP,UDP,TCP,IP,TELNET,HTTP,CGI等;
4.网络类型:
Ethernet通讯介质:
UTP(非屏蔽双绞线);
5.网络带宽:
10Mbit,由于处理器限制,实际只能达到50Kbit/s左右的传输速率;
6.输入:
4路光电隔离,可以配接传感器,紧急求助按钮等;
7.输出:
4路光电隔离输出,可配接功率驱动模块;
8.键盘:
16键,功能:
智能终端配置、设防/撤防等;
实际上,在68HC908系列MCU上实现了TCP/IP协议栈之后,其应用领域是相当广泛的:
1.网络化控制:
电机、灯光、工业自动化、家庭自动化……
2.网络仪表:
远程分布式数据采集……
3.网络家电:
智能家电、WWW方式监控界面、在线更新……
4.网络摄像机:
在远程浏览器上可以进行视频监控;
5.家庭网关:
非INTERNET协议的轻量级设备联网的转换器;
2.2智能灯光控制器
2.2.1背景信息
随着人们生活质量的提高,灯具已不单纯是实现室内基本照明的工具,而且是建筑装饰的一种实用艺术品。
当家里有各式各样的灯具之后,将它们精心地搭配在一起,并且达到最适合气氛的效果是高品质生活的需要。
同时目前灯光的控制主要还是手动形式,逐个地去控制所有的灯具,这样不仅麻烦而且效率低下,也不符合现代舒适生活的标准。
因此,一个可以对灯光进行方便的控制,同时提供场景组合等功能的智能化灯光系统不仅具有实用价值,而且市场前景也相当广阔。
2.2.2设计目标
设计一个智能化灯光控制器,安装在家中的各个房间,提供轻触式灯光控制、红外遥控、场景组合、预设存储等丰富功能。
系统分为接收外来控制信号和执行控制操作两部分。
为了接收控制信号,系统需具备红外接收功能,按键输入面板。
为了对灯具执行控制,需要设计220V调光控制电路。
利用MC68HC908SR12的FLASH在线刷新(ISP)能力,我们设计了一套可重用的内核(包含BIOS与OS),通过与内核的交互可以方便地在线下载应用层的程序。
应用层的程序包括以下功能:
开关面板按键输入判断、红外遥控器接收、预设场景存储、调光可控硅控制。
由于MC68HC908SR12具有丰富的外围接口资源,并有着很高的可靠性和运算速度,非常适合于该款产品的设计。
2.2.3功能特性
1.MCU采用Motorola的MC68HC908SR12;
2.RS485总线型网络,通讯波特率19200;
3.输入:
轻触按键,红外遥控器。
4.输出:
开关输出,调光输出;
5.采用简单的实时多任务内核;
6.网络化的开关按钮控制,可以通过Windows版本软件任意设定;
7.多种场景的设置,存储,及执行。
三、硬件描述
整个系统的核心由MC68HC908SR12构成。
它的内部框图如图3所示:
图3MC68HC908SR12内部框图
对于以太网网关终端(ESWeb)和智能灯光控制器(ESLight)的设计,选择MC68HC908SR12作为核心处理器是基于以下理由:
1.较低的成本:
由于是家用设备,对成本非常敏感;
而SR12不到$2.5美金的价格,单芯片的解决方案,使得整体成本可以降低;
2.适用的功能:
通过ESWeb实现基于Web浏览器的网络远程控制界面相对简单,用高端处理器或者PC来实现显得不够经济;
我们编写的TCP/IP协议栈约占用7KBFLASH和380BytesRAM,SR12完全可以满足这一需求并有富余。
此外,高达8MHz的总线频率使得它和其他MCU相比具有较强的处理能力,经过实测,在以太网上传输HTML页面并没有感到特别的延迟;
对于ESLight来说,需要10KB~12KB的空间来存储代码和配置信息,SR12恰好能满足这一需求。
3.在线升级能力:
对于ESWeb,由于每个家庭的设备情况不一样,要能根据实际情况形成不同的网页控制页面;
而MC68HC908系列的芯片均支持FLASH的在线编程能力,我们设计了一套运行在Windows环境的配置软件,可以根据每个家庭的情况定制不同的HTML页面下载到SR12芯片上;
对于ESLight,可以在线下载关联定义、场景配置、遥控器接收定义等信息,这些信息可以在掉电后存储。
4.足够的器件资源:
SR12具有多达31个GPIO,可以很方便地和以太网控制器RTL8019AS相连接;
剩余接口可以用来扩展传感器、键盘、功率输出等接口;
内置的温度传感器和10-bitAD转换器可以用来采集温度和模拟量数据;
通过时钟单元的输入捕获功能,还可以实现对水、电、气三表的脉冲输出采集。
在ESLight的设计中,由于需要对可控硅进行控制,一方面,需要精确地获取220V交流电中的过零信息,另一方面,也需要通过定时器控制可控硅的开关时间,SR12的两个IRQ以及两个定时器能很好地满足两路调光控制器的设计要求。
5.安全可靠:
系统要有非常高的可靠性,不易出现误动作,例如,在灯光系统中,由于和220V交流电距离很近,不能受到交流电的影响。
由于MC68HC908系列的芯片在稳定性和抗干扰能力方面表现不俗,所以能极好地满足这一要求。
接下来,将分别描述两个节点的硬件设计细节。
3.2以太网网关终端
3.2.1硬件框图
MCU
MC68HC908SR12
PLL(32.768KHz)
D(7..0)
A(2..0)
Ethernet
RTL8019AS
20MHz
IOR
IOW
Isolation
Transformer
RJ45
Connector
LED:
Power,Link,LAN
KeyPad(16Keys)
ControlNetwork
MAX487
Digital/AnalogInput
Forsensorsstatus
EEPROM
24LC256
RJ11
SCI
GPIO
I2C
LED
AD
DC5VPowerSupply
图4信息终端模块硬件系统框图
硬件由以下几部分组成:
1.单片机及其外围器件,主要是:
MC68HC908SR12、PLL(32.768KHz晶体等)、LED指示灯;
2.以太网控制器部分,主要是RTL8019AS、耦合变压器、RJ45插座、20MHz晶体;
3.外置存储器,由一片I2C接口的EEPROM构成。
通过SR12内置的I2C接口连接;
4.家庭控制网络连接部分,由MAXIM公司的MAX487、RJ11插座构成。
5.外部接口,16键按键键盘、4路模拟量输入、4路数字量输入、2路脉冲量输入;
6.电源部分,由一片7805提供5V的直流电压。
3.2.2电路原理图
图5RTL8019AS部分电路
图6RS485电平转换部分的电路图
3.3智能灯光控制器
3.3.1硬件框图
RJ11
LED,Beeper
Power,Indicate
TTL-RS485
Converter
6KeyInput
InfraredInput
Dimmer
SCR
图7智能灯光控制器的原理框图
MC68HC908SR12、PLL(32.768KHz晶体等)、LED指示灯、蜂鸣器;
2.按键输入接口,在面板上,提供6键的按钮,作为调光控制或场景控制;
3.红外遥控接口,在面板上有一个红外遥控器接收窗口,可以实现红外遥控信号的接收;
4.调光驱动部分,使用两片可控硅(SCR,Silicon-ControlledRectifier,又称硅控整流器)进行调光控制。
通过一片光藕(MOC3021),从220V交流电上取出过零点信号作为同步,过零信号表现为一个低电平脉冲,连接到SR12的IRQ1、2上作为中断输入;
5.家庭控制网络连接部分,由MAXIM公司的MAX487、RJ11插座构成。
6.电源部分,由控制总线可提供12V直流电压,由一片7805提供5V的直流电压。
四、软件描述
我们用汇编语言实现了一段启动代码(BootCode),而全部的应用程序则采用C语言编程,编译环境为HiwareC。
以太网网关终端的软件框图如下:
Applications
模拟量采集
键盘采集
EEPROM读写
CEBus应用层协议栈
CGI处理模块
ESBus控制总线链路层
RS485通讯控制
UDP
TCP
IP
ARP
ETHERNET
控制总线通讯接口
HTTP
BOOTCode
图8以太网网关终端的软件框图
智能灯光控制器的软件框图如下:
交流电过零采集
按键输入支持
可控硅驱动
红外输入支持
OS
系统调用支持
网络协议支持
实时多任务内核
应用层更新模块
输入<
->
输出关联支持,场景支持
提供在线擦写上层程序功能
RS485总线
图9智能灯光控制器软件框图
4.1启动代码(BootCode)
Motorola的MC68HC908SR12是片内集成FLASH的8位单片机,FLASH擦写速度快,可靠性高,可独立擦写至少1万次以上,所以在需周期修改存储的数据和代码的场合,都是理想的选择。
同时,表贴工艺(SMD)因其使相同集成度的器件封装性能更好、尺寸更小等优点,越来越得到推广。
但是这也给嵌入式系统的开发带来了新的问题:
表贴的芯片一旦焊接到PCB板上,就很难再取下来,如果事先写入的程序错误或者丢失,则会给修改或恢复带来诸多的麻烦。
在本项目中,包括SR12在内的大部分器件选择了贴片形式的,因此需要实现程序的在系统编程。
如果通过Monitor方式在线编程,那么需要在PCB板设计时预留相应的管腿和跳线。
但在本设计中由于体积限制无法预留。
因此,我们采用了固定BOOT代码的方式。
BOOT代码的工作流程如图10所示。
我们将烧写了BOOT代码的芯片直接焊接到目标板上,通过串口通讯就可以随时更新目标板上的程序,无需设置任何跳线,非常方便。
Boot代码约为1.5K,如果去掉其中的CRC校验计算部分,改为Checksum校验和,代码将更简洁。
上电初始化
(Config寄存器;
PLL;
串口通讯)
启动延时
延时是否够3秒?
串口是否接收到升级FALSH代码段的请求?
反馈确认信息
接收数据
FLASH编程/校验
反馈校验数据
跳转到正常程序代码(main)
升级是否完成?
Yes
No
图10BOOT代码工作流程图
有了Boot代码,调试的过程为:
1.通过串口连接目标板;
2.编译程序,生成SX格式文件;
3.复位目标板,在3秒钟的延时时间内,通过自行编写的DLS19工具,将S19格式文件下载到目标板上;
4.程序将自动按照正常工作状态开始执行。
此时,可以通过串口打印信息,在DLS19工具中进行调试。
4.2TCP/IP协议栈设计
4.2.1现有的8-bitMCU连接网络的方案比较
利用8位MCU通过精简的TCP/IP协议栈来连接以太网,现在已有的方案的如表格1所示。
表格1常见的MCU连接网络的方案比较
方案
采用的处理器
内存需求
代码尺寸
所实现的协议栈
物理层
特点/评价
AN2120
HC908GP32
384Byte
6KB
SLIP/PPP/UDP/IP
Serial
不能连接以太网
8052.lphard.cz
8051
32KByte
15KB
TCP/IP/UDP
协议栈用ASM编写且以LIB形式发布,不利于移植
TCP/IPleanServer
PIC
500Byte
10KB
PPP/TCP/IP/UDP
只有SLIP、代码过于简化
MSP430
1KByte
5KB
TCP/UDP/IP
代码过于简化
Adu0812
参考TinyTCP设计
Scenix
ScenixMCU
-
TCP/IP
使用高速单片机
Rabbit
RabbitMCU
可见,目前尚无运行在Motorola8-bitMCU上的具备以太网连接功能、支持TCP/IP协议的解决方案。
因此,在本项目中,希望能够在Motorola典型的8位单片机MC68HC908SR12上做到以太网协议栈的支持。
4.2.2现有的嵌入式TCP/IP协议栈的比较
TCP/IP最先是在UNIX系统里实现的,后来的LINUX、DOS、WINDOWS也实现了TCP/IP,随后TCP/IP协议也被移植到其它嵌入式的处理器上,
由于指令以及资源上的原因,在UNIX上实现的TCP/IP协议的原代码并不能够直接移植到8位的单片机上。
单片机的程序空间是极为有限的,直接寻址的空间仅64K字节,可用的内存RAM也是非常小的,最多只能扩64K的RAM。
单片机的运算速度也极为有限,一般只有2MIPS,而电脑上的处理能力在100MIPS以上。
因此,嵌入式系统尤其是8位单片机上的TCP/IP协议栈需要高度简化专门设计。
可以用来参考的协议栈包括如下表所示。
表格2常见嵌入式TCP/IP协议栈比较
TCP/IPleanServeronPIC
只有SLIP的支持,不能连接以太网
TCPIPStackonMSP430
代码过于简单,不利于扩展
lwIP
40KB
资源需求稍多
TinyTCP
比较可行的方案
uip0.6
Ucip1-0-3
需要和uC/OS这一实时内核配合
EtherNut
需要和NUTOS这一实时内核配合
在本方案中,选择了TinyTCP、uIP0.6作为参考设计。
4.2.3TCP/IP原理简述
4.2.3.1网络协议栈
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。
TCP/IP通常被认为是一个四层协议系统,如图11所示。
每一层负责不同的功能。
图11网络协议层
(1)数据链路层,有时也