电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

基于HBS协议手持编址器的设计与开发

1 基于HBS协议的智能家居系统

家庭总线系统HBS(Home Bus System)是由日立、三菱、松下、东芝等公司联合提出的,由日本电子机械工业协会与电波技术协会共同制定的。根据HBS标准,家庭总线由一条同轴电缆和四对双绞线构成,前者用于传输图像等视频信号,后者用于传输语音、数据和控制信号[l]。家用电器经HBS互联,组成一个完整的家庭网络。本项目以HBS的子集为目标,用一对双绞线实现分布式智能照明安防系统。

基于HBS的智能家居系统如图1所示。

智能家居系统由四部分组成:主控模块、传感器、执行器和辅助模块。主控模块是智能家居系统的核心,每套设备必备,负责总线供电、信号仲裁和组态信息的存储。手持编址器属于主控模块。通过手持编址器,用户可以灵活地给传感器、执行器设置地址;通过地址绑定,灵活组合出各种控制功能而无需变更系统布线。传感器是系统的输入通道,控制指令由传感器发出,红外/无线接收器提供系统的遥控接口。执行器是系统的输出通道,

它根据控制指令驱动具体的对象。辅助模块扩展系统的功能(电话模块实现异地遥控功能;耦合器将系统的通信距离从600m扩到1200m)。

系统的主要功能:一对一控制(一个传感器控制一个执行器)、一对多控制、多对一控制、场景控制(一处传感器控制多处执行器到某一状态)、状态显示、红外遥控、安全监控(防盗、防煤气泄漏、防火、报警,通过电话远程监控)。

系统主要技术指标:网络节点间通信距离最大600m、通信速度4800bps、网络通信节点数最多256点、网络节点可编程可记录、具有软件校验错误功能、供电电压24V直流[2]。
图1
2 手持编址器设计方案

手持编址器采用矩阵扫描电路产生键位码,经识别后,进行编码转化,产生一组脉宽串行指令码,经三极管放大后驱动红外发射管发射出不同脉冲编码的红外线。

由于手持编址器不需要像遥控器那样进行远距离操作,所以信号没有采用载波的方式进行通信,而是直接把发射和接收引脚接到了AT89c52的串口上,经三极管放大后,直接输出。这样可以简化系统的软/硬件设计,降低成本[3]。

2.1 硬件设计

手持编址器的硬件电路如图2所示。

从图2可以看出,手持编址器的硬件结构主要由电源调理模块、MCU、人机界面、红外收发模块以及蜂鸣器模块构成。下面主要介绍一下MCU和电源调理模块。

2.1.1 MCU介绍

从性价比、开发环境等多方面考虑,系统以ATMEL公司的AT89c52作为主控模块的MCU。AT89c52是当今最流行的MCU之一,与MCS-51系列微处理器兼容,是采用CMOS工艺制造的一款低功耗、高性能的8位微处理器,片内有8K字节可编程的Flash ROM(可擦写1000次),256字节的RAM。AT89c52的特性如下:

(1)一个8位算术逻辑单元;

(2)32个可编程I/O口;

(3)3个16位定时/计数器;

(4)可编程的全双工串行通信;

(5)8个中断源,2个中断优先级;

(6)可选高达24MHz的晶振;

(7)IDLE和POWER DOWN两种工作方式降低功耗;

2.1.2 电源调理模块

因为编址器是手持设备,所以其4.5V供电电源由3节1.5V的干电池提供。手持编址器中采用的液晶是3.3V供电,所以需要将DC 4.5V变换成DC 3.3V。如图2,当SHDN=1时,4.1V稳压管起稳压作用,Q1的基极(B)有4.1v的电压,并且此时Q1处于饱和导通状态,由于Q1的基极和发射极之间(B-E)有0.7V压降,由4.1-0.7=3.4V,Q1的发射极就产生了大约3.3V的电压。当SHDN=0时,该DC-DC变换电路停止工作。通过改变电阻R1的值,可以改变该转换电路的供电电流。电路中电解电容C3、C4起储能和低频滤波作用,瓷片电容C5起高频滤波作用。
图2
2.2 软件设计

手持编址器的软件设计采取事务处理方式。为了便于设计和理解,进行如下处理:

(1)将事务的处理抽象为一个有限状态机;

(2)通信解析中得到的数据和用户的操作抽象为消息;

(3)将事务的所有活动抽象为一系列的状态;

(4)把事务在各种状态之间的转化抽象为一种规则。

所谓状态机模型是一个描述状态变迁的方法,它总是将一种状态向另一种状态的变迁视为由输入消息激励所产生的结果。对于HBS家庭网络来说,各设备通信的建立过程就是一个典型的有限状态数之间的状态变迁过程。

这样每当消息促使事务需要做出某种操作时,有限状态机的当前状态也随之改变。这种改变是根据预先制定好的规则来实现的。最终设计出的有限状态机如图3所示。从图3中可以看出,编址器所描述的事务有5个状态,8种消息,13条转换规则。其中转换规则1~4负责具体的事务处理,5~8负责出错处理,9~13主要是进入消息等待。

这个模块运行机制如下:

(1)初始化,接收消息并创建消息队列;

(2)从队列中取出需要处理的消息;

(3)根据状态机的当前状态和消息的类型,找到相应规则;

(4)根据规则,转入相应的处理程序,同时更新状态机的状态;

(5)从消息队列中获取新的消息,重复上述过程。

3 应用实例

现以二居室的家居为例(参见图1),介绍手持编址器的操作。当用户离开家居时,要关闭除保安系统外的所有电器,这是个烦琐且容易遗忘的事情,利用手持编址器的场景功能,实现地址绑定,可以方便地实现上述功能。现以用户要关闭图1中大厅的开关执行器1、开关执行器2的所有电器,打开卧室1的保安接入为例,介绍如下:

(1)首先设定执行器地址,不妨设开关执行器1、开关执行器2、保安接入的地址分别为001、002、003。

(2)其次设定对应传感器的地址:在手持编址器的设置功能菜单的单独子菜单下,分别设定大厅中开关1的地址为001(对应开关执行器1)、开关2的地址为002(对应开关执行器2)、开关3的地址为003(对应保安接入)。

(3)最后在场景菜单下,新建场景1;并分别设定开关传感器1、2、3的状态。

在设置完成后,当用户要离开家居时,只要启动场景1,那么家居中开关执行器1、2的所有电器将关闭,保安接入将开启。当用户回到家居时,关闭场景1,那么系统会回到用户离开家居前的状态。

博主
qiurisiyu
qiurisiyu's Blog
qiurisiyu
点击跳转