基于HBS协议手持编址器的设计与开发
(4)可编程的全双工串行通信;
(5)8个中断源,2个中断优先级;
(6)可选高达24MHz的晶振;
(7)IDLE和POWERDOWN两种工作方式降低功耗;
2.1.2电源调理模块
因为编址器是手持设备,所以其4.5V供电电源由3节1.5V的干电池提供。手持编址器中采用的液晶是3.3V供电,所以需要将DC4.5V变换成DC3.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(对应保安接入)。
《基于HBS协议手持编址器的设计与开发(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140369.html
(5)8个中断源,2个中断优先级;
(6)可选高达24MHz的晶振;
(7)IDLE和POWERDOWN两种工作方式降低功耗;
2.1.2电源调理模块
因为编址器是手持设备,所以其4.5V供电电源由3节1.5V的干电池提供。手持编址器中采用的液晶是3.3V供电,所以需要将DC4.5V变换成DC3.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(对应保安接入)。
《基于HBS协议手持编址器的设计与开发(第2页)》