专利名称:经由电力线和射频通信的智能设备网状网络的制作方法
技术领域:
本发明涉及在不需要网络控制器的情况下通过一个或多个物理介质彼此通信的智能设备。
背景技术:
在许多应用中使用低成本设备之间的通信。例如,在家庭环境中,如果房间传感器、电灯开关、灯调光器和互联网网关之间通信,则它们能够一起工作。当家里的房间有人时应开灯,否则根据由远程计算机上运行的程序建立的条件发出警报。
可使用许多不同的物理通信介质来建立通信设备网络。通常使用光纤、同轴电缆、双绞线和其它结构化布线来形成包括PC、打印机和其他计算设备的相对高性能的局域网。如使用手持远程控制器一样,可以在一个房间中的短距离范围内使用红外信号。而移动电话、寻呼机和长距离微波通信则使用经许可的射频(RF)波段。
当在现有建筑(例如家庭)中创建低成本设备的网络时,这些物理介质都有缺点。大多数已经建立的家庭中没有结构化布线,而增加结构化布线具有破坏性并且价格昂贵。红外信号没有覆盖整个房子。经许可的RF通常需要用户支付定制费。
现有的电力线(powerline wiring)和未经许可的RF频带不具有这些问题。它们随处可见并且可由用户任意使用。然而,它们具有其它的问题。即使在存在实际噪音、由线提供电力的设备信号衰减和多个设备之间可能干扰的情况下,电力线上的设备也必须通信。使用未经许可的RF波段的设备必须发射低功率,并且未经许可的波段通常拥挤着多个用户。
在电力线上通信的许多现有设备使用已知的X10(见美国专利号4,200,862、授权日期为1980年4月29日的专利文献)协议。使用与电力线的过零点同步的低振幅120KHz的脉冲来完成信号传输。大部分X10设备只能够发送或接收,但是不能同时发送和接收。X10发送器在不需要确认应答的情况下发送命令,从而大部分控制是开环的。用户通常必须通过在接收设备上人为设置机械的“房间码”和“单元码”开关来地配置X10系统。
通过添加RF至X10转换设备,在RF手持远程控制器中发出的命令可以对电力线上的X10接收器进行操作。RF中继设备可用于增加这种系统的范围。一般地,RF远程控制信令协议独立于X10信令协议,并且非常类似于红外远程控制器使用的信令协议。
对于基本X10设备的改进已见诸于市场(见Smarthomepro Catalog,63D,Spring 2004)。在必要时包括有命令确认和重试的双向通信能够实现更可靠的性能。中继器和多相桥接器可解决这种信号衰减的问题。使用非易失性存储器(例如EEPROM)和系统控制器能够简化系统设置。
使用扩展频谱技术的电力线和RF信令可以比类似窄带X10信令更快更可靠。美国专利5,090,024、授权日期为1992年2月18日的专利文献公开了这种系统,并且美国专利号5,777,544、授权日期为1998年7月7目的专利文献公开了与窄带信令组合的扩展频谱。扩展频谱信号的编码和解码比窄带处理更加复杂,而更加复杂意味着相对更高的成本。
不管在物理介质上使用哪种信号传输方法,包括多个设备的系统必须解决相互干扰的问题。对于该问题的许多解决方案是通用的。
在频分多路复用(FDM)中,窄带设备通过调整为可用频谱中的不同波段来保持会话。扩展频谱系统可使用码分多路复用(CDM)的不同扩频序列,或者这些系统可使用不同的跳频图案。使用这些方法,网络中的每个设备必须明确知道如何与其它每个设备进行连接。不可能立刻向所有设备发出广播。
对于所有设备共享同一通信信道并不复杂,但是很通用。在电力线上或在RF波段中的窄带通信的成本比频率捷变方法的成本低。通常使用时分多路复用(TDM)或载波侦听多路访问(CSMA)方法来管理设备干扰。
TDM使得在介质上的每个设备仅在特定时隙中发送数据。可以以多种方式来分配时隙。
IEEE 802.5令牌环网络通过传送称为令牌的特定包来动态地向期望发送的设备分配时隙。设备可以仅在其拥有令牌时进行发送。在完成传输之后,该设备将令牌释放给下一设备。这种网络的更完整描述见http://www.pulsewan.com/data101/token ring basics.htm。
受让给路创电子公司(Lutron Electronics Company)的美国专利号5,838,226、5,848,054、5,905,442和6,687,487的专利文献公开了一种包括主设备、从设备和中继器的灯光控制系统,其中所述主设备、从设备和中继器通过RF进行通信并且也可以在电力线上进行通信。
具体地,可以在系统中安装多个RF中继设备,以提高信号可靠性。为了避免中继器彼此之间干扰的问题,路创公司专利需要安装者设置一个中继器作为主中继器,而其它中继器作为第二、第三和以后的中继器。这种指定对应于为每一中继器进行严格的时隙分配,从而仅允许给定的中继器在其各自的预分配的时隙期间进行发送。此外,在该系统中的多个从设备可以将它们的状态发送回主控制器。这些从设备还可以在每一设备的安装过程期间使用所建立的时隙。
CSMA网络基于先听后说规则。说话方将消息分成短包。然后,说话方在发送包之前安静地侦听介质。即使这样,也能够发生数据碰撞,因此通常采用CSMA-CD-CR(碰撞检测,碰撞解决)方法。碰撞检测可包括使用由包被访地址发送的专用肯定/否定(ACK/NAK)包进行的闭环通信。碰撞解决可包括在随机延迟之后的发送重试。
TDM和CSMA两个系统的目的在于在任一给定时间仅允许一个设备使用可用通信信道。因此,信道上的信号强度取决于当前正在发送单个设备。
发明内容
本发明的一个目的在于利用电力线、射频波段或上述两者以使简单、低成本的设备能够网络连接在一起。这些设备是对等的,意味着在不需要主控制器的情况下,任一设备可根据简单的协议发送、接收或中继其它消息。该协议支持单一介质上的多个设备,因为添加更多设备使得多个设备之间的通信更强健和可靠。在电力线上,根据本发明的多个设备不仅彼此兼容,而且还提高了现有X10设备的性能。
图1为如何使用电力线、RF信号传输或两者将根据本发明的设备(已知为InsteonTM设备)网络连接的框图。
图2示出在网络中如何使用多个电力线、RF和混合设备,以及使用RF如何实现电力线相位桥接。
图3示出如何将InsteonTM设备用作主设备、从设备或上述两者的框图。
图4示出用于在电力线上发送的InsteonTM消息的包结构。
图5示出使用RF发送的InsteonTM消息的结构。
图6示出在InsteonTM标准消息中包含的10字节数据。
图7示出在InsteonTM扩展消息中包含的24字节数据。
图8示出在消息标记字节中的比特含义。
图9示出InsteonTM设备如何重发消息。
图10示出InsteonTM设备如何接收消息的流程图。
图11示出如何将消息发送至多组InsteonTM设备的流程图。
图12示出InsteonTM设备如何重复发送引导消息的流程图。
图13示出所有类型的InsteonTM消息。
图14示出BPSK InsteonTM信号。
图15示出平滑转换的BPSK InsteonTM信号。
图16示出如何将InsteonTM和X10信号传输应用于电力线。
图17示出如何将标准消息包应用于电力线。
图18示出如何将长消息包应用于电力线。
图19给出InsteonTMRF信号传输的规范。
图20示出InsteonTM消息如何被发送、重发和应答。
图21示出InsteonTM引擎如何发送和接收消息的框图。
图22示出InsteonTM引擎如何在电力线上发送消息的框图。
图23示出InsteonTM引擎如何从电力线接收消息的框图。
图24示出InsteonTMRF子板如何与InsteonTM母板进行通信的流程图。
图25示出InsteonTMRF子板如何经由RF发送消息的流程图。
图26示出InsteonTMRF子板如何经由RF接收消息的流程图。
图27为具有可选子板的InsteonTM主板的框图。
图28为具有RF子板的InsteonTM主板的框图。
图29为具有USB子板的InsteonTM主板的框图。
图30为具有RS232子板的InsteonTM主板的框图。
图31为具有以太网子板的InsteonTM主板的框图。
图32示出连线接入的InsteonTM壁开关。
图33示出连线接入的InsteonTM键区控制器。
图34示出插入式InsteonTM灯调节器、设备控制器和通信接口设备。
图35示出具有RF通信的插入式InsteonTM灯调节器。
图36示出桌面式或壁式InsteonTM按钮控制器。
图37示出开盖的具有铰接按钮的InsteonTM按钮控制器。
图38示出桌面式或壁式InsteonTM触摸屏控制器。
图39为根据InsteonTM使用会话的实例的某种假设来发送的特定InsteonTM消息的布局。
具体实施例方式
介绍现在参照附图,图1示出根据本发明教导所构造的控制设备和通信设备的网络,以下称为InsteonTM设备,INSTEONTM为申请人的受让人的商标。在北美的建筑和家庭通常分配的电源为两相220伏交流电(220VAC)。在建筑的主接线箱,三线220VAC电力线被分成两个两线110VAC电力线,已知为相1(phase 1)和相2。在图1中,相1标记为10,相2标记为11。一般地,相1的布线用于建筑中一半的电路,而相2的布线用于另一半。
以下将根据本发明的设备指定为InsteonTM设备。示出InsteonTM设备20、21、22和23连接至电力线相10和11。InsteonTM设备使用InsteonTM电力线协议30通过电力线彼此进行通信,以下将详细介绍。
还示出与电力线连接的X10设备51和52。X10设备使用X10协议50通过电力线进行通信。InsteonTM电力线协议30兼容X10协议50,这表示InsteonTM设备可以使用X10协议50对X10设备进行听说。然而,X10设备对InsteonTM电力线30却没有反应。
InsteonTM设备可选择性包括RF通信装置,如同具有InsteonTM设备20和21的情况。InsteonTMRF设备可以使用InsteonTMRF协议60与其它InsteonTMRF设备进行通信。可使用InsteonTM电力线协议30和InsteonTMRF协议60的InsteonTM设备解决了仅通过电力线进行通信的设备所产生的主要问题。由于在相对的电力线相10和11上没有用于传输的定向电路连接,所以它们的电力线信号严重减弱。对于该问题的传统解决方案是在电力线相之间连接一种相间耦合设备,所述相间耦合设备通过硬连线连接在接线箱中或者将其插入220VAC插座。在本发明中,只要这种设备连接在相对电力线相上时,就使用支持InsteonTM电力线协议30和InsteonTMRF协议60的InsteonTM设备自动解决电力线相间耦合问题。如图1所示,InsteonTM设备20不仅可以经由电力线与标记为10的电力线相1上的所有设备进行通信,也可以经由电力线与标记为11的电力线相2上的所有设备进行通信,因为InsteonTM设备20可以经由InsteonTMRF协议60与InsteonTM设备21进行通信,而所述InsteonTM设备21又直接连接至标记为11的电力线相2。
当适当地安装有附加的专用通信装置(例如RS232、USB或以太网)时,InsteonTM设备还可以与计算机以及其它数字设备接口。如图所示,InsteonTM设备20可以使用串口链接70与PC 71进行通信。串口通信70是这样一种装置,即,使得InsteonTM设备20的网络可以桥接至在建筑中的其它不兼容设备的网络,连接至计算机并且用作局域网(LAN)的节点或者登陆全局网。结合向InsteonTM设备下载新软件的功能,这种连接使得InsteonTM设备的网络执行非常复杂的新功能,包括在生产或安装时没有预想的功能。
图2示出多个InsteonTM设备如何形成可靠的通信网络,其中每个InsteonTM设备能够中继InsteonTM消息。在附图中,已知为InsteonTM设备的设备110和111支持InsteonTM电力线通信和InsteonTMRF通信。设备120、121、122和123仅支持InsteonTMRF通信。剩余设备31、32、33、34、40、41、42以及43仅支持InsteonTM电力线通信。
每个InsteonTM设备能够使用根据本发明的InsteonTM协议来中继InsteonTM消息,以下将详细描述。添加更多的设备增加了传输消息的可用路径的数量。路径多样性导致消息到达其期望目的地的可能性更高,因此在网络中的InsteonTM设备越多越好。
作为实例,假设RF设备120期望发送消息至RF设备123,但是RF设备123超出RF设备120的范围。然而,由于在RF设备120中的设备(即设备110和121)接收该消息并将其中继至它们自己范围内的其它设备,所以该消息仍然能够到达。在该附图中,设备110可到达设备121、111和122,并且设备111和121可以处在指定接收方(即设备123)的范围内。因此,存在多条消息传输的路径,例如设备120至121至123(2次跳跃)、设备120至110至111至123(3次跳跃)、设备120至110至121至111至123(4次跳跃)。
应清楚的是,除非存在某种机制来限制消息所采用到达其最终目的地的跳跃次数,否则这些消息在网络中可以以一系列嵌套式的重复循环的方式不断传播。通过中继消息而产生的网络饱和称为“数据风暴”。InsteonTM协议通过将每个消息可以采用的最大跳跃次数限制到某一较小次数来避免该问题,例如4次。
图2还示出在电力线上的路径多样性如何具有相似的有益效果。例如,如图所示,由于信号衰减问题或者由于通过电子布线的直接路径不存在,所以电力线设备40不能与设备43直接进行通信。但是,可以通过采用以下路径,即设备40至111至43(2次跳跃)、或路径40至41至111至43(3次跳跃)、或路径40至41至42至43(4次跳跃)使来自设备40的消息到达设备43。
最后,图2示出这些消息如何在建筑布线的不同相上安装的电力线设备之间进行传输。为了实现相桥接,在每一电力线相上安装至少一个InsteonTM混合电力线/RF设备。在该附图中,在相A上安装SignaLincTM设备110,在相B上安装SignaLincTM设备111。在设备110至111(1次跳跃)之间的直接RF路径或使用110、121和111或110、122和111(2次跳跃)的间接路径使这些消息在电力线相之间进行传播。
所有的InsteonTM设备是对等的,表示任一设备可用作主设备(发送消息)、从设备(接收消息)或中继器(中继消息)。在图3中示出这种关系,即用作主设备的InsteonTM设备210发送消息至用作从设备220、221和222的多个InsteonTM设备。用作主设备230、231和232的多个InsteonTM设备也可以发送消息至用作从设备221的单个InsteonTM设备。任一InsteonTM设备都可以通过既用作主设备又用作从设备来中继消息,例如SwitchLincTM设备250,其中所述SwitchLincTM设备250被示出将来自用作主设备的ControLincTM设备240的消息中继至用作从设备的LampLincTM设备260。
InsteonTM消息多个InsteonTM设备通过发送消息而彼此进行通信。通过电力线发送的消息被分成多个包,每一发送的包与电力线电压的过零点关联。如图4所示,有两种类型的InsteonTM消息,即标准消息310和扩展消息320。标准消息包括5个包,而扩展消息包括11个包。每一包包含24比特信息,但是可以以两种不同的方式解释该信息。标准包330出现在InsteonTM消息中的第一包,如在标准消息310和扩展消息320中的符号331所示。在消息中剩余的包为长包340,如在标准消息310和扩展消息320中的符号341所示。
电力线包开始为一系列的同步比特。在标准包330中有8个同步比特332,而在长包340中有2个同步比特342。在同步比特之后是4个起始码比特,如在标准包330中的333和在长包340中的343所示。在包中剩余的比特为数据比特。在标准包330中有12个数据比特334,而在长包340中有18个数据比特344。
标准消息310中的数据比特总数为12+(4×18),即等于84,或101/2字节。在标准消息中的最后4个数据比特被忽略,所以可用数据为10字节。在扩展消息320中的数据比特总数为12+(10×18),即等于192,或24字节。
图5示出使用RF发送的InsteonTM消息内容。由于InsteonTMRF的消息传输比电力线的消息传输快的多,所以不需要将RF消息分成更小的包。RF标准消息示出为410,RF扩展消息示出为420。在这两种情况下,消息开始为2个同步字节411或421,随后是一个起始码字节412或422。RF标准消息410包含10个数据字节(80比特)413,而RF扩展消息420包含24个数据字节(192比特)423。
在图6中给出标准消息的有效数据字节的含义,并且在图7中给出扩展消息的有效数据字节的含义。比较这两个附图,其不同仅在于图7中的扩展消息包含14个用户数据字节550,而图6的标准消息中则不包含。这两种类型消息的剩余信息字段是相同的,并且在这两个附图中编号均相同,所以以下的说明对于图6和图7都是有效的。
首先发送InsteonTM消息字节中的最高有效字节,并且首先发送比特中最高有效比特。
InsteonTM消息中的第一字段为“源地址510”,是24比特(3字节)数字,其唯一标识产生发送消息的InsteonTM设备。由3字节数字标识的InsteonTM设备有16,777,216种可能。该数字可被用作ID码,或等同地用作InsteonTM设备的地址。在制造期间,唯一的ID码被存储在每一设备的非易失性存储器中。
InsteonTM消息中的第二字段为“目的地址520”,也是24比特(3字节)数字。大部分InsteonTM消息是“引导”或“点对点(P2P)”类型,而期望的接收方是另一单个的和唯一的InsteonTM设备。第三字段为“消息标记字节530”,其用以确定InsteonTM消息的类型。如果该消息确实是“引导”类型,则“目的地址520”包含期望接收方的3字节唯一ID码。然而,InsteonTM消息也可以作为“广播”消息被发送给其范围内的所有接收方,或者作为“组广播”消息被发送给其设备组的所有成员。在广播消息的情况下,“目的地址520”包含“设备类型”字节、“设备子类型”字节和“固件版本”字节。对于组广播消息,“目的地址520”包含组号。组号的范围从0至255,由一个字节给出,因而该3字节字段的两个最高有效字节为0。
InsteonTM消息中的第三字段,即“消息标记类型530”不仅表示消息类型,而且还包含与该消息相关的其它信息。3个最高有效比特,即广播/NAK标记532(第7比特)、组标记533(第6比特)以及ACK标记534(第5比特)一起表示消息类型531。以下将更详细地说明消息类型。如果该消息为扩展消息,即其包含14个用户数据字节,则将第4比特(即扩展标记535)设置为1,或者如果该消息为不包含用户数据的标准消息,则将其设置为0。低效半位元组包含两个2比特字段,即“剩余跳数536(第3比特和第2比特)”和“最大跳数537(第1比特和第0比特)”。如以下说明,这两个字段控制消息重发。
InsteonTM消息中的第四字段为“2字节命令540”,由命令1的541和命令2的542构成。如以下详细说明,该字段的使用取决于消息类型。
只有在该消息为扩展消息的情况下使扩展标记535设置为1,则其包含14个字节的用户数据字段550,如图7所示。用户数据可以被任意定义。如果需要发送多于14字节的用户数据,则必须发送多个InsteonTM扩展消息。用户可以对于它们的数据定义包方法,从而接收设备能够可靠地对长消息进行重组。对用户数据的加密可以向敏感的应用提供秘密安全的通信(例如安全系统)。
InsteonTM消息中的最后字段为1字节CRC,或循环冗余校验560。InsteonTM发送设备对于消息中从“源地址510”开始的所有字节计算CRC。计算CRC的方法在现有技术中已知。InsteonTM使用通过软件实现的在两个最高有效比特具有标签的7比特线性反馈移位寄存器。对于标准消息,CRC占用9个字节,对于扩展消息则占用23个字节。InsteonTM接收设备在接收到消息时在同一消息字节上计算其自身的CRC。如果该消息被破坏,则接收方的CRC与发送的CRC不匹配。消息完整性的检测需要高可靠的、经验证的通信。以下公开基于该检测方法的InsteonTMACK/NAK(肯定、否定)闭环消息传输协议。
图8列举图6和图7的消息标记字节530中比特字段的含义。广播/NAK标记611(第7比特)、组标记612(第6比特)以及ACK标记613(第5比特)共同表示8种可能的消息类型610。
为了充分理解各种消息类型,认为有4类InsteonTM消息,包括广播消息、组广播消息、引导消息和应答消息。
广播消息包含不具有特定目的地的通用信息。这些广播消息定向到其范围内的设备群。广播消息不被应答。
组广播消息被引导至先前与发送器链接的一组设备。组广播消息不被直接应答。它们的存在仅是用于对多个设备所期望的命令的响应进行加速的手段。在发送组广播消息至一组设备之后,发送器随后分别发送引导“组清除(Group-cleanup)”消息至该组中的每一成员,并等待从每一设备返回的应答。
引导消息(还称为点对点(P2P)消息)用于单个特定接收方。接收方通过返回应答消息来响应该引导消息。
应答消息(ACK或NACK)是响应于引导消息的从接收方至发送方的消息。没有用于广播或组广播消息的应答。ACK或NAK消息可包含来自应答设备的状态信息。
再参照图8,应注意的是只要该消息是广播消息或组广播消息,就设置广播/NAK标记611。在上述两种情况下,应答标记613将被清空。如果设置了应答标记613,则该消息为应答消息。在该情况下,在应答消息为NAK时,将设置广播/NAK标记611,以及在应答消息为ACK时,广播/NAK标记611被清空。
将设置组标记612,以表示该消息是组广播消息还是部分组清除会话。对于普通广播消息和引导会话,则将该标记清空。
现在,所有8个消息类型610可以列举如下,其中以第7比特、第6比特、第5比特的顺序给出3个比特字段。广播消息为消息类型100。引导(P2P)消息为000。引导消息的ACK为001,引导消息的NAK为101。组广播消息为110。伴随组广播发送一系列组清除引导消息010至该组中的每一成员。组清除引导消息的每一接收方将返回具有组清除ACK 011或组清除NAK111的应答。
在图8中的第4比特(即621)为扩展消息标记620。如上所述,对于包含14字节用户数据字段的24字节扩展消息设置该标记,并且对于不包含用户数据的10字节标准消息,该标记被清空。
在图8中的剩余两个字段(即最大跳数640和剩余跳数630)管理消息重发。如上所述,所有的InsteonTM设备能够通过接收和重发这些消息来对这些消息进行中继。在没有机制用以限制可重发消息次数的情况下,无休止地中继消息而导致不能控制的“数据风暴”会使网络饱和。为了解决该问题,产生这样的InsteonTM消息,即其2比特最大跳数字段640设置为值0、1、2或3,而2比特剩余跳数字段630设置为相同的值。最大跳数值0通知其范围内的其它设备不重发该消息。更大的最大跳数值通知接收到该消息的设备根据剩余跳数字段630来重发该消息。如果剩余跳数值为1或更大的值,则接收设备将剩余跳数值减1,然后使用新的剩余跳数值来重发该消息。接收到消息的其剩余跳数值为0的设备将不重发该消息。此外,无论剩余跳数值是什么,作为消息的期望接收方的设备将不再重发该消息。
应注意的是,标识符“最大跳数”实际指的是允许的最大重发次数。所有的InsteonTM消息最少“跳跃”一次,所以最大跳数字段640中的值比消息实际从一个设备跳跃至另一设备的次数小1。由于该字段中的最大值为3,所以实际上有4次跳跃,包括初始发送和3次重发。4次跳跃可跨越5个设备链。在图9中示意性示出该情况。
图10中的流程图示出InsteonTM设备如何接收消息以及如何确定是重发消息还是处理消息。在步骤710中,InsteonTM设备接收到消息,在步骤715中,确定是否需要处理该消息。如果该设备为被访问地址,则设备需要处理引导消息;如果该设备为组的成员,则设备需要处理组广播消息,以及处理所有广播消息。如果需要处理该消息时,则该设备在步骤740中进行处理,然后,如果在步骤745中,发现该消息为引导消息或引导组清除消息,则在步骤750,该设备发送应答消息至消息发送器,并在步骤755结束任务。如果在步骤745中发现该消息为广播消息或组广播消息,则在步骤720继续处理,以确定该消息是否应被重发。在步骤720,检测消息标记字节的最大跳数比特字段。如果最大跳数值为0,则在步骤755完成处理,否则在步骤725检测剩余跳数比特字段。如果有0个剩余跳数,则在步骤755完成处理,否则在步骤730,该设备使剩余跳数值减1,并在步骤735重发该消息。
在图11中的流程图示出InsteonTM设备如何发送消息至组中的多个接收设备。在先前的注册处理之后,在设备的数据库中存储组成员关系。在步骤810中,该设备首先发送对应于给定组的所有成员所需的组广播消息。将该消息标记字节中的消息类型字段设置为110,以表示组广播消息,以及将目的地址字段设置为组号,其范围为从0至255。在组广播消息之后,该发送设备分别发送引导组清除消息至其数据库中的组的每一成员。在步骤815,该设备首先设置该消息的目的地址为该组的第一成员的地址,然后在步骤820,其发送引导组清除消息至该受访地址。如果在步骤825确定已经将组清除消息发送至该组的每一成员,则在步骤835完成发送。否则,该设备设置该消息的目的地址为该组的下一成员地址,并在步骤820发送下一组清除消息至该受访地址。
图12中的流程图示出在未从受访地址接收到期望ACK的情况下如何对引导消息进行多次重发。从步骤910开始,在步骤915,设备发送引导消息或引导组清除消息至受访地址。在步骤920,该设备等待来自受访地址的应答消息。以下给出该步骤的精确时间。如果在步骤925接收到应答消息并且其包含具有期望状态的ACK,则在步骤945完成处理。如果在步骤925未接收到应答消息,或者不满足状态的条件,则在步骤930检测重发计数。如果已经尝试了最大重发次数,则在步骤945处理完成。InsteonTM设备的缺省最大重发次数为5。如果在步骤930已经尝试的重发次数小于5次,则在步骤935,该设备将其重发计数加1。在步骤940,该设备还增加消息标记字节中的最大跳数字段至最大3次,以尝试通过由更多设备重发更多次数来实现对该消息发送的更大范围。在步骤915再次发送消息。
图13列举出每种类型InsteonTM消息中的所有字段。标准消息1050列举为线1051至1058,扩展消息列举为线1061至1068。该图清楚示出标准消息和扩展消息之间的区别仅在于对应于标准消息清空扩展标记1021,而对应于扩展消息设置扩展标记1021,并且扩展消息具有14字节用户数据字段1070。如上说明源地址1010、目的地址1015、消息标记1020、CRC 1040以及CRC1045。
命令1字段1030和命令2字段1035包含用于InsteonTM消息1051至1058或1061至1068的8个字节中每一字节的不同信息。在广播消息1051或1061的情况下,两个字段共包含从65,536个可能的命令中选择的适合于立刻发送至所有设备的2字节命令。例如,广播命令可指导所有设备以进入系统安装模式。每一接收设备包含能够执行的广播命令数据库。
在点对点(引导)消息1056或1066的情况下,两个命令字段1030和1035共包括从65,536个可能的命令中选择的适合于立刻发送至一个设备的2字节命令。例如,引导命令可通知LampLincTM灯控制设备打开插入其中的灯。每一接收设备包含能够执行的广播命令数据库。
考虑到最大系统可靠性的作用,InsteonTM协议需要对引导消息进行应答。接收设备可发出成功通信和完成任务的应答,即如线1057或1067所示的ACK。否则,接收设备可发出如线1058或1068的NAK,用以表示某种类型失败。如果接收设备发送回ACK或NAK至初始设备失败,则如图12所示发送设备可重发该消息。
为了用ACK或NAK响应,接收设备在其接收到的消息中交换源地址1010和目的地址1015,并对于ACK设置消息类型比特为001,或者对于NAK设置消息类型比特为101。根据在命令字段1030和1035中接收到的命令,接收设备包括用于ACK的2字节状态响应码或用于NAK的2字节原因码,其插入至命令字段1030和1035中。根据在设备软件中编码的一组规则产生这些响应码。例如,如果灯调光器接收用以将灯设置为某一亮度的命令,该命令是以命令1字段1030中的设置亮度码以及命令2字段1035中256个值的其中一个期望亮度等级发出,该调光器用包含在命令字段1030和1035中的两个相同字节的ACK消息来响应,以表示成功执行该命令。
剩余的InsteonTM消息类型用于处理多组设备。组广播消息用于性能的提高。尽管事实为可向一组设备的所有成员发送具有相同命令(例如用于开启)的各引导消息,但是对于所有按顺序待被发送的消息需要花费明显大量时间。该组的成员不同时执行所有命令,而是按接收顺序执行。InsteonTM通过首先发送组广播消息来解决该问题,然后在该消息之后发送多个引导(组清除)消息。
在图13的线1052和1062中示出的组广播消息在目的地址字段1015中包含组号,并且在命令字段1030和1035中包含组命令。在随后的引导组清除消息期间,将在命令1字段1030中发送组命令,以及在命令2字段1035中发送组号。它们都是1字节字段,所以仅存在256个组命令以及仅存在256个组号。假设在多个设备的快速和同步响应是个问题而仅需使用组广播的情况下,这是一种合理的限制。在任一情况下,通过使用扩展消息以及在用户数据字段中嵌入附加命令或组成员关系标准来克服这种数字的限制。
组广播消息的接收方根据在数据库中记录的它们自己的组成员关系检查在目的字段1015中的组号。在先前组注册处理期间优选地在非易失性存储器中建立该数据库。如果接收方为对其广播的组成员,则其执行在命令1字段1030中的命令。由于组命令仅占用1个字节,所以在字段1035中的其它字节可以为参数或子命令。
然后,组广播命令接收方可期望分别寻址的引导组清除消息。如果接收方已经执行了字段1030中的组命令,则不会第二次执行该命令。然而,如果接收方由于任何原因错过组广播命令,则其将不执行,所以其在接收到引导组清除消息之后执行该命令。
在接收到引导组清除消息和执行组命令之后,接收方设备将通过组清除ACK消息来响应,或者如果出现错误,则通过组清除NAK消息来响应。在两种情况下,命令1字段1030将包含在引导组清除消息期间接收的相同的1个字节组命令。在ACK情况下,在命令2字段1035中的其它字节将包含1字节ACK状态码,或者在NAK的情况下,将包含1字节的NAK原因码。所述1字节码可以为在引导ACK消息和引导NAK消息中使用的对应的2字节码的子集。
InsteonTM信号传输InsteonTM设备通过向电力线电压添加信号而在电力线上进行通信。在美国,电力线电压为60Hz、均方根为110伏特的交流电。这些值将用在随后的公开中,尽管所属领域的普通技术人员能够为其它电力线标准而调整该结果。
InsteonTM电力线信号使用131.65KHz的载波频率,在5欧姆负载的情况下具有峰-峰值为4.64伏特的额定振幅。实际上,电力线的阻抗根据电力线的结构和插入其中的设备而有很大的变化,所以测量的InsteonTM电力线信号可以从次毫伏变化到大于5伏特。
在存在噪声的情况下,使用为提高可靠性能而选择的二进制相移键控或BPSK将InsteonTM数据调制成131.65KHz载波。
图14示出具有交流BPSK比特调制的InsteonTM131.65KHz电力线载波信号。对于每一比特,InsteonTM使用10个周期的载波。标记为1110的解译为1的第1比特由正相载波周期开始。标记为1120的解译为0的第2比特由负向载波周期开始。标记为1130的第3比特由正向载波周期开始,所以其被解译为1。应注意的是,比特解译的意义是随意的。即,只要解译结果一致,1和0可以颠倒。仅在比特流从0改变至1或者从1改变至0时发生相变。在1之后是另一个1或者在0之后是另一个0将不产生相变。这种类型的编码已知为NRZ,或者不归零码。
图14示出在比特边界1115和1125处的180度相位突变。这些相位突变将麻烦的高频分量引入信号频谱。用相位锁定检测器跟踪这种信号存在问题。为了解决该问题,InsteonTM使用相位渐变,以减少不期望的频率分量。
图15示出具有相位渐变移位的BPSK信号。发送器通过以131.65KHz的1.5倍的频率插入1.5个周期的载波来引入相位改变。因此,在131.65KHz的一个周期时间内,将出现3个半周期的载波,由于奇数个半周期,所以在该期间结束时载波相位反转。注意到在附图中的平滑过度1115和1125。
如图4中所示,所有的InsteonTM电力线包包含24比特。由于一个比特利用10个周期的131.65KHz载波,所以在InsteonTM包中具有240个周期的载波,意味着一个包持续1.823毫秒。电力线环境以无法控制的噪声而出名,尤其是由马达、调光器以及便携式荧光灯产生的高振幅峰值。在电力线中的电流反相时(已知为电力线过零点时间)噪声最小。因此,如图16所示,在接近过零点时发送InsteonTM包。
Tt图16示出具有两个过零点1210和1215的一个电力线周期1205。在过零点1210示出InsteonTM包1220,在过零点1215示出第二InsteonTM包1225。InsteonTM包从过零点之前的800微秒开始,直至在过零点之后的1023微秒结束。
图16还示出如何将X10信号施加至电力线。X10为世界上已经采用的由许多设备使用的信号传输方法。用X10进行协同工作是InsteonTM设备的主要特点。InsteonTM设备可接收X10信号,发送X10信号以及增强X10信号。X10信号使用在电力线过零点开始以及在大约1000微秒结束的大约120个周期的120KHz载波的突发信号。在突发信号之后没有突发信号表示比特1,以及在突发信号之后没有突发信号表示比特0。在比特1后面的行中,X10消息以2个突发信号开始,随后是9个数据比特。图16示出在两个过零点1210和1215的两个X10突发信号1230和1235。
应注意的是,X10规范还要求两个附加突发信号为半个电源信号周期路径的三分之一和三分之二。这些点对应于三相电源的其它两相的过零点。InsteonTM对于那些附加的X10突发信号不敏感,并且在发送X10时不对其进行发送。
示出具有添加了X10突发信号1260的InsteonTM包1250的展开图1240。X10信号1260起始于过零点1270,其位于在InsteonTM包1250的开始之后800微秒。两种信号大约在同一时间结束,即在过零点之后的1023微秒。
InsteonTM设备通过接听在过零点之前800微秒开始的InsteonTM信号来实现与X10的兼容。以软件实现的InsteonTM接收器可以非常敏感,但是在能够有效验证正在接收到真实的InsteonTM包之前必须接收到该包的主要部分。可靠有效验证可在过零点之后的450微秒处发生,尽管InsteonTM设备仍然开始接听刚好在过零点处可能的X10突发信号。如果在450微秒的标记处InsteonTM接收器有效验证其未接收InsteonTM包,但是存在X10突发信号,则InsteonTM接收器将切换至X10模式,并且在接下来的11个电力线周期接听完整的X10消息。如果InsteonTM设备检测到其正在接收InsteonTM包,则其将保持InsteonTM模式,并且不接听X10,直至其接收到所述完整InsteonTM消息的剩余部分。
可选地,虽然如果以软件实现InsteonTM接收器,X10突发信号可在450微秒之后被重发,但是InsteonTM设备可通过重发X10信号来增强X10信号。由于X10接收器使用较强信号实现更好,但是其对于精确信号定时相对敏感,所以虽然X10重发突发信号较迟,但是通过增强X10信号可提高总体X10性能。
由于可使用具有二阶锁相环的专用集成电路(ASIC)来实现,所以使用足够多的信号检测硬件实现的InsteonTM设备可以在过零点之前的800微秒期间检测是否存在有效InsteonTM包。为了能够独立并同时接听X10,这种设备可以仅在较短的硬件X10检测器延迟之后增强X10突发信号。
图16还示出用于InsteonTM的InsteonTM的原始比特率比用于X10的更快。InsteonTM比特1280需要10个周期的131.65KHz载波,或75.96微秒,而10X比特需要两个120KHz的120个周期的突发信号1285。一个X10突发信号1285使用1000微秒,但是由于每一X10突发信号在过零点处被发送,所以其使用16,667微秒来发送在一个比特中的2个突发信号,导致每秒60比特的持续比特率。InsteonTM包包括24个比特,并且可在每一过零点期间发送InsteonTM包,因此用于InsteonTM的额定持续比特率为每秒2880比特,比X10快48倍。
实际上,InsteonTM在发送消息之后等待一个或两个附加过零点,以允许InsteonTMRF设备可能重发消息的时间。图17示出在电力线信号1305上正被发送的一系列5个包的标准InsteonTM消息1310。InsteonTM在发送另一包之前、在每一标准包之后等待一个过零点1320。图18示出在电力线信号1305上正被发送的一系列11个包的标准InsteonTM消息1330。InsteonTM在发送另一包之前、在每一扩展包之后等待两个过零点1340。
InsteonTM标准消息包含120个原始数据比特,并需要6个过零点或50毫秒,以用于发送。扩展消息包含264个原始数据比特,并需要13个过零点,或108.33毫秒,以用于发送。因此,对应于标准消息的InsteonTM的实际原始比特率为每秒2400比特,或者对应于扩展消息的InsteonTM的实际原始比特率为2437比特每秒,而并非每秒2880比特,因而无需等待额外的过零点。
InsteonTM标准消息包含9字节(72比特)的可用数据,不包括包同步字节和起始码字节,也不包括消息CRC字节。扩展消息包含使用相同标准的23字节(184比特)的可用数据。因此,用于可用数据的比特率被进一步减少至对应于标准消息的每秒1440比特和对应于扩展消息的每秒1698比特。如果在扩展消息中仅包含14字节(112比特)的用户数据,则用户数据比特率为每秒1034比特。
RF InsteonTM设备可发送和接收在电力线上出现的相同消息。然而,与电力线消息不同,由RF发送的消息不被分成在电力线过零点处发送的更小包,而是整个发送,如图5中所示。由于使用电力线,所以有两种RF消息长度标准10字节消息和扩展24字节消息。
图19提供用于InsteonTMRF信号传输的规范。中心频率位于波段902MHz至924MHz,在美国其被允许用于未经许可的操作。每一比特被曼彻斯特编码,表示每一比特发送两个符号。1符号其后是0符号表示比特1,0符号其后是1符号表示比特0。使用频移键控(FSK)将这些符号调制到载波上,其中0符号将载波调制为向下的半个FSK偏移频率,而1符号将载波调制为向上的半个FSK偏移频率。为InsteonTM而选择的FSK偏移频率为64KHz。将符号以每秒38,400符号调制到载波上,导致其为原始数据速率的一半,或者每秒19,200比特调制。自由空间接收的典型范围为150英尺,其在存在墙壁和其它RF能量吸收器的情况下降低。
InsteonTM设备首先发送最高有效比特的数据。参照图5,RF消息起始为包括16进制的AAAA的2个同步字节411或421,其后为16进制的C3的起始码字节412或422。接下来,在标准消息中为10个数据字节413,或者在扩展消息中为24个数据字节423。如上所述,消息中的最后数据字节为关于数据字节的CRC。
使用5.417毫秒来发送104个比特的标准消息,并且使用11.250毫秒来发送216比特扩展消息。在电力线上每8.333毫秒出现过零点,因此标准RF消息在一个电力线的半周期期间可被发送,以及扩展RF消息在两个电力线的半周期期间可被发送。如图17和图18所示,如果存在,则在发送电力线消息之后的等待时间使InsteonTMRF设备有充足的时间重发电力线消息。
InsteonTM消息重发为了提高可靠性,InsteonTM消息传输协议包括消息重发,其为使其它InsteonTM设备帮助中继消息以增加其范围的方法。为了避免无休止重复的数据风暴,消息可重发最多3次。然而,重发次数越多,将完成的消息越长。
如图20所示,当发送InsteonTM消息时,存在特定模式的发送、重发和应答。根据消息是标准消息还是扩展消息,该电力线上的InsteonTM消息占有6个或13个过零点周期。在以下说明中,该消息发送时间(6个或13个电力线半周期)被称为时隙。
在一个时隙中(例如1420),InsteonTM消息可被发送、重发或应答。对InsteonTM消息进行通信的整个过程(可包括重发和应答)将在时隙的整数倍时发生。
1401是最简单的实例1,其示出没有重发的广播消息。T表示发送方产生并发送一条消息。不存在所期望的接收方已经接收到消息的应答。该消息需要6个或13个电力线过零点的一个时隙来完成。
1402是实例2,其示出最大跳数为1的广播消息。如上所述,结合图9,最大跳数的范围可以从0至3。发送方发送由T表示的广播消息。用作中继器的另一InsteonTM设备接听到由L表示的该消息,,然后在由R表示的下一时隙对所述消息进行重发。
使用消息可以最多三次重发。1403是实例3,其示出在初始的发送方和三个中继设备中消息的进程。实例3假设中继器之间的范围为仅相邻中继器可以彼此接听到。此外,仅中继器1可接听到发送方。应注意的是,发送方将不重发它自己的消息。
当发送方发送引导(或点对点)消息时,它期望来自接收方的应答。1404为实例4,其示出在最大跳数值为0时发生的过程。A表示接收方对接收到引导消息的应答的时隙。C示出在发送方发现该消息被确认时的时隙。
在将最大跳数设置为1时,如表示为1405的实例5中所示,传播引导消息。中继器1将重发初始引导消息和来自接收方的应答。
如表示为1406的实例6中所示的消息流,如果将最大跳数设置为1,则由于接收方处于发送方的范围内,所以不需要重发。在发送方和接收方行中的W表示等待。由于接收方处于发送方范围内,所以接收方立即接听到发送方。然而,由于中继设备能够重发发送方的消息,所以接收方在发送其应答之前必须等待一个时隙。尽管在不存在中继器的情况下,接收方将必须等待,但是在该实例中,示出的中继器1必须进行该处理。仅当发送方所有可能的重发消息完成时,接收方才可发送其应答。在其范围内,发送方立即接听到应答,但是在发送方可发送另一消息之前其还必须等待,直至可能重发的应答完成。
表示为1407的实例7示出在最大跳数为3并且实际上该消息需要3次重发来到达接收方时发生的过程。应注意的是,如果发送方或接收方接听到其它消息早于所示的时间,则在其可以发送其自身消息之前必须等待,直至在发出该消息之后所经过的最大跳数时隙。如果设备不等待,则这些设备由于在相同时隙发送不同消息而在彼此之间造成堵塞。设备可通过从最大跳数减去接收消息中的剩余跳数来计算在接收到消息之前已经经过多少时隙。
通过监控InsteonTM消息流量,根据上述协议,InsteonTM设备可确定完成所有可能重发和对InsteonTM消息的应答的时间。同样,InsteonTM设备可监控X10消息流量,从而计算将完成发送X10命令的时间。在发送之前通过等待,直至完成先前存在的消息流量时,希望产生消息的InsteonTM设备可避免已在进程中的任一InsteonTM或X10通信的可能堵塞。这种先听后说的形式称之为“礼貌”。
如果InsteonTM设备希望连续发送多条消息,则将该礼貌进一步扩展。在这种情况下,该设备在产生随后的消息之前等待一个附加的电力线过零点。该附加时间使已经等待消息流量的其它InsteonTM设备完成发送的时机,并防止单个设备用较长的一系列其自身的消息来垄断信道。
InsteonTM同步广播通过参照消息传播的上述规则,InsteonTM系统实现了通信可靠性的显著增加。原因在于多个InsteonTM设备可以在给定时隙内同时发送相同的消息。因此,在彼此范围内的InsteonTM设备“彼此帮助”。用于共享物理介质的大部分网络传输协议防止多个设备在相同波段中同时发送,如现有技术中的相关部分所述。相比而言,InsteonTM通过保证同时发送的设备彼此同步地发送相同的消息来将本来是问题的情况变成一种有益的情况。
人们会想,在电力线上的多个InsteonTM设备会很容易彼此抵消,而非彼此增强。实际上,即使试图完成该过程,由多个设备实现的信号抵消也很难设置。原因在于,对于在给定接收器抵消两个信号,两个发送器必须发送载波,从而使接收器看到它们在振幅上精确一致并且在相位上十分接近180度的相移。发生这种情况和持续扩展时间段的可能性较小。在典型InsteonTM设备上用于产生131.65KHz电力线载波频率的晶振彼此独立运行并具有几十个百分比的频差容限。因此,尽管对于InsteonTM包的1823毫秒持续时间偏移较慢,在多个电力线载波之间的相位关系将偏移。即使两个发送器的相位碰巧抵消,振幅也不可能相等,因而即使在最差的暂态相位关系的情况下,接收器也很可能接听到一些信号。InsteonTM接收器具有较宽的动态范围,从毫伏至大约5伏,这使得InsteonTM接收器即使在临时衰减的情况下也能够跟踪信号。添加更多的发送器更大地减少了信号抵消的可能性。此外,所有信号总和将增加信号强度的可能性变得更大。
使用二进制相移键控(BPSK)来调制InsteonTM电力线载波,表示接收器正在寻找在载波中的180度相移,以检测在比特字符串中从1至0或从0至1的改变。不考虑这些载波的绝对相位,只要它们的相对载波频率在包时间上的偏移不超过几度,多个发送器将产生其和在比特改变边缘具有180度相位反转的信号。当然,每一发送器的比特定时需要很好锁定,从而使InsteonTM发送器与电力线过零点同步。InsteonTM比特持续10个周期的131.65KHz电力线载波,或76微秒。电力线过零点检测器在一个或两个载波时间段内是精确的,从而从多个发送器接收的比特彼此覆盖。
实际上,同步广播相同消息的多个InsteonTM电力线发送器将提高整个建筑物的电力信号强度。由于将RF信号传输用作对电力线信号传输的扩展,所以其也基于同步广播。然而,使用RF,即使在载波和数据处于理想同步时,在抵消载波信号的情况下也会形成干扰图案。由于使用电力线,对于待发生的抵消,两个载波必须具有180度的相移并且振幅必须相同。实际上,不可能获得最佳的抵消。一般地,具有随机相位关系的相同频率和相同天线极化的两个协同定位载波将求和,其功率电平大于仅一个发送器的时间的67%的功率电平。由于一个发送器远离接收器,所以抵消的可能性进一步降低。由于发送器的个数增加,所以抵消的可能性接近于0。
移动InsteonTMRF设备(例如手持控制器)是用电池运行的。为了节约电源,不将移动设备构造为RF中继器,仅构造为消息发生器,从而同步广播不是问题。将不中继RF消息的InsteonTM设备附加至电力线上,从而大部分InsteonTM设备在初始设置之后不再移动。在设置期间,RF设备可被定位,并调整它们的天线,从而不发生信号抵消。通过固定发送器的位置,将不确定地保持不抵消的构造。
附加至电力线上的InsteonTMRF设备使用过零点用于消息同步。这些设备同步接收电力线上的InsteonTM消息,从RF中继器经由RF同步接收InsteonTM消息,或者可从移动RF设备经由RF异步接收InsteonTM消息。需要被重发的消息的剩余跳数计数大于0。如果InsteonTM设备从电力线接收到这样的消息,则在InsteonTM设备接收到电力线消息的最后包时尽量快地使用RF重发该消息,然后其在下一时隙在电力线上重发该消息。如果该设备经由RF接收到消息,则其将在下一时隙在电力线上重发该消息,然后在发送电力线消息的最后包之后使用RF立即重发该消息。
InsteonTM引擎InsteonTM引擎包括使得InsteonTM设备发送和接收InsteonTM消息的硬件和固件。图21示出通过InsteonTM引擎的全部消息流。接收到的信号1510来自电力线或经由RF。信号调整电路1515处理原始信号,并将其转换为数字比特流。消息接收器固件1520根据需要处理比特流,并将消息净荷数据存储到对于在InsteonTM设备上运行的应用程序可用的缓冲器1525。消息控制器1550使用控制标记1555通知应用程序数据可用。
为了发送InsteonTM消息,该应用程序将消息数据存储到缓冲器1545中,然后使用控制标记1555通知消息控制器1550发送消息。消息发送器固件1540将该消息处理为原始比特流,其中所述原始比特流被提供至调制解调器1535的发送器部分。调制解调器发送器发送比特流作为电力线或RF信号1530。
InsteonTM引擎电力线接口在图22中详细给出图21的消息发送器1540,图22示出InsteonTM引擎如何在电力线上发送InsteonTM消息。InsteonTM应用程序首先构成期望发送的消息1610,不包括CRC字节,并且将该消息数据放入发送缓冲器1615中。然后,该应用程序通过设置适当的控制标记1620来通知发送控制器1625发送该消息。发送控制器1625通过多路复用器1635对该消息数据进行打包,以在从先入先出(FIFO)发送缓冲器1615移出的数据之后的包开始输入来自发生器1630的同步比特和起始码。在该消息数据移出FIFO 1615时,CRC发生器1630计算CRC字节,所述CRC字节由多路复用器1635附加至比特流,作为该消息的最后包的最后字节。该比特流被缓存至移位寄存器1640,并与过零点检测器1645所检测的电力线过零点的锁相。BPSK调制器1655将来自载波发生器1650的131.65KHz载波的相位偏移至180度的比特0,并使得未调节的载波为比特1。应注意的是,如结合图15所公开,相位在一个载波周期逐渐偏移。最后,通过图21的调制解调器发送电路1535将调节的载波信号施加至电力线。
图23详细给出图21的消息接收器,其示出InsteonTM引擎如何从电力线接收InsteonTM消息。图21的调制解调器接收电路1515调整电力线上的信号,并将其转换为数字数据流,并且图23中的固件处理该数字数据流以检索InsteonTM消息。由于接收的InsteonTM信号可具有低至仅几毫伏的振幅,并且电力线通常携带高能量噪声脉冲或其自身的其它噪声,因此一般地来自电力线的原始数据1710具有噪声。因此,在优选实施例中,以固件实现的科斯塔斯(Costas)锁相环(PLL)1720用于找到噪声中的BPSK InsteonTM信号。在现有技术中已知的Costas PLL在同相和正交相位锁相信号。锁相检测器1725提供一个输入至窗口定时器1745,该窗口定时器1745还接收过零点信号1750和指示,其中该指示表示起始码检测器1740已找到包中的起始码。
根据是否被锁相,Costas PLL 1720发送数据至比特同步检测器1730。当在包起始处的在1和0之间变换的同步比特到达时,比特同步检测器1730能够恢复比特时钟,其用于将数据移位至数据移位寄存器1735。起始码检测器1740寻找同步比特之后的起始码,并且在找到起始码之后输出检测信号至窗口定时器1745。在数据流在电力线过零点之前的800微秒开始时,窗口定时器1745确定有效InsteonTM包正在被接收,锁相检测器1725表示锁定,并且检测器1740已经找到有效起始码。因此,窗口定时器1745设置起始检测标记1790,并使接收缓冲控制器1755开始将来自移位寄存器1735的包数据聚集至FIFO接收缓冲器1760。存储控制器1755保证FIFO 1760仅建立消息中的数据字节,而不建立同步比特或起始码。其通过检查消息标记字节中的扩展消息比特来存储正确数目的字节,即对于标准消息为10,对于扩展消息为24。当已经聚集了正确数目的字节时,则设置HaveMsg标记1765,以表示已经接收到消息。
由于Costas PLL在同相或反相可同样好地锁定信号,因此Costas PLL具有180度的相位模糊。因此,来自PLL 1720的检测数据可从其真实含义进行转化。起始码检测器1740通过寻找真实起始码、C3(16进制)以及其补码,3C(16进制)来解决相位模糊问题。如果其找到补码,则反相锁定PLL,并且转换数据比特。来自起始码检测器1740的信号通知数据补码器1770是否不转换数据。CRC检查器1775计算所接收到数据的CRC,并将其与所接收到消息中的CRC比较。如果它们匹配,则设置CRC OK标记1780。
来自补码器1770的数据经由路径1785流入应用程序缓冲器(图中未示出)。在设置了HaveMsg标记1765和CRC OK标记1780时,该应用程序已经接收到有效消息。
InsteonTM引擎RF接口图24示出InsteonTM引擎如何经由RF发送和接收消息。在优选实施例中,用于电力线的InsteonTM设备可被配置用以扩展设备功能的子板。在图24中示出的子板1850向主设备1810提供RF接口。其具有板载RF收发器和其自己的微控制器单元(MCU),该MCU用作对于主MCU的从设备。主MCU和从MCU使用已知的TTL逻辑电平的RS232串口协议1880进行通信。
当在主MCU上运行的InsteonTM引擎需要发送RF消息时,主MCU开始在步骤1812执行过程。首先,主MCU在步骤1814发送一传输命令至RF子板上的从MCU,然后在步骤1816等待已经接收到该命令的应答,并且从MCU准备发送。当从MCU准备就绪时,在步骤1818,主设备向从MCU发送InsteonTM消息中的数据。由于从MCU处理发送RF消息的所有细节,所以在步骤1820,主设备可继续其它操作。
为了检查是否已接收到RF消息,主设备开始在步骤1822执行过程。在步骤1824,主设备检查其RS232接收缓冲器,以查看从设备是否通知主设备RF消息可用。如果不是,则在步骤1830,主设备继续进行其它处理,但是如果存在RF消息,则在步骤1826,主设备向从设备发送应答。在步骤1828,从设备发送消息中的数据至主设备,并且在步骤1830,该主设备继续进行处理。
如图24右侧的流程图所示,在RF子板1850上的从MCU处理其任务。在步骤1852,从MCU周期性检查RS232接收缓冲器,该RS232用于存储来自主设备的命令。在步骤1854,如果从设备发现其已经接收到来自主机并要求从设备发送RF消息的命令,则在步骤1856其应答该命令,并在步骤1858从主设备接收该消息数据,然后在步骤1859,构成RF消息并发送该消息。
如果在步骤1854,从MCU发现其未接收到来自主设备的发送命令,则在步骤1860,从MCU试图接收来自板载RF收发器的RF数据。如果在步骤1862,从设备未接收到有效的RF消息,则在步骤1852,其重新进入轮询循环,并再次尝试。然而,如果从MCU已经接收到有效RF消息,则在步骤1864通知主机,并在步骤1866等待主设备已经准备接收该数据的应答。当主设备发送应答时,在步骤1868,从设备发送消息中的数据至主机,然后在步骤1852继续进行轮询循环。
图25更详细示出在图24的步骤1859从MCU 1925如何构成并发送RF消息。这些步骤类似于在图22中给出的发送电力线消息的步骤,除了在一个包中立刻发送所有的RF消息。在图25中,主MCU构成其希望发送的消息,不包括CRC字节,并经由RS232串口通信1920发送消息数据至从MCU1925。从设备将消息数据放入发送缓冲器1915。从MCU 1925使用多路复用器1935,以从先入先出(FIFO)发送缓冲器1615移出的数据之后的RF消息开始输入来自发生器1930的同步比特和起始码。在该消息移出FIFO 1915时,CRC发生器1930计算CRC字节,所述CRC字节通过多路复用器1935附加至比特流,作为在消息的最后字节。该比特流被缓存至移位寄存器1940,并与RF收发器1955锁定。收发器产生RF载波,将消息中的比特解译成曼彻斯特编码符号,FM用符号流调制载波,并使用天线1960发送所产生的RF信号。在优选实施例中,RF收发器1955为单芯片硬件设备,并且在从MCU 1925上运行的固件中实现附图中的其它时钟。
图26更详细示出在图24的步骤1860中从MCU如何接收RF消息。这些步骤类似于在图23中给出的接收电力线消息的步骤,除了在一个包中立刻接收所有的RF消息。在图26中,RF收发器2015从天线2010接收RF传输,并将其FM解调以恢复基带曼彻斯特符号。在消息开始的同步比特使收发器恢复比特时钟,其使用该时钟恢复来自曼彻斯特符号的数据比特。收发器输出比特时钟和恢复的数据比特至移位寄存器2020,其聚集在消息中的比特流。
起始码检测器2025寻找在消息开始的同步比特之后的起始码,并在其找到一个起始码之后输出检测信号2060至从MCU 2065。起始检测标记2060使接收缓冲控制器2030开始将来自移位寄存器2020的消息数据聚集到FIFO接收缓冲器2035。存储控制器2030保证FIFO 2035仅存储消息中的数据字节,而不是同步比特或起始码。该存储控制器2030通过检查在消息标记字节中的扩展消息比特来存储正确数目的字节,即对于标准消息为10,对于扩展消息为24。当已经聚集了正确数目的字节时,则设置HaveMsg标记2055,以表示已经接收到消息。CRC检查器2040计算所接收到数据的CRC,并将其与所接收到消息中的CRC进行比较。如果它们匹配,则设置CRC OK标记2045。在设置了HaveMsg标记2055和CRC OK标记2045时,该消息准备经由RS232串口通信2070被发送至主设备。在优选实施例中,RF收发器2015为单芯片硬件设备,并且在从MCU 2065上运行的固件中实现附图中的其它块。
InsteonTM硬件图27是包括典型InsteonTM设备的硬件电路框图。在优选实施例中,InsteonTM设备包括具有可选子板2120的主电路板2110。通过添加各种类型的通信接口,典型子板2120向InsteonTM设备提供附加功能。主板和子板使用TTL逻辑电平的串口RF232协议2130进行通信。
InsteonTM主板通过在其中安装的设备或通过插入或硬件连线接入来连接至电力线。电源2140从电力线获取能量,并对电源2140适当调整以对主板和可选子板上的逻辑块和通信硬件进行供电。微控制器单元(MCU)2133执行在生产时预先加载至设备中的所有固件程序,以及执行在使用期间可下载至MCU的所有软件程序。可选的非易失性随机存取存储器(NVRAM)2170提供用于本地数据库信息、操作参数和下载应用程序的存储器。如图中的内部集成电路(I2C)链路所示,这种存储芯片2170典型地经由串行链路2175与MCU 2133进行通信。
电力线接口2150包括电力线发送器2152和接收器2154,所述电力线发送器2152和接收器2154能够在电力线上发送并且接收InsteonTM和X10信号。如果存在,负载控制器2156一般包括三端双向可控硅开关元件(triac)或继电器。三端双向可控硅开关元件可向电阻负载(例如灯)提供可变功率,从而对该电阻负载进行调节。可使用机械继电器对电感负载或高功率负载进行开关切换。某些加载控制模块还能够感测是否手动打开或关闭被控制的负载。例如,如果将灯插入至InsteonTM灯控制器,并且用户使用灯上的开关打开灯,则负载控制模块可感测电流移动,并打开三端双向可控硅开关元件,从而灯开始照明。相反,如果三端双向可控硅开关元件打开,但是灯的开关关闭,则负载控制模块可感测出问题,从而InsteonTM设备可显示或发送适当的错误消息。
用户接口模块2160可根据嵌入到主板2110的设备类型而改变。简单的情况,例如SwitchLincTM设备,其看起来像壁开关,并连线至电气接线箱,在塑料控制盒下面的瞬时接触开关检测用户输入。在用户推动控制盒的顶部时,一个开关进行接触,以及在用户推动控制盒的底部时,另一开关进行接触。这种设备典型地将具有一个或多个发光二极管(LED),以指示控制下的负载状态,或者以通过设置过程指导用户。为此,很多InsteonTM设备使用白光LED,其具有可选的彩色滤波器,以使用户定制LED所显示的光色。对LED亮度的用户控制是通常合并到InsteonTM设备的另一特性,一般地,由调节LED功率的循环负载来实现。
多个较好的InsteonTM设备可组成显示器,例如在移动电话、PDA或PC中使用的单色光或彩色光LCD。可存在被构造为键区或键盘的多个按钮,或者可存在例如近程检测器的其它类型的感测设备。本领域普通技术人员可预测能够嵌入到InsteonTM技术的多个设备,并且这里公开的优选实施例仅是多种可能选择构造的一种构造。
图28示出一种InsteonTM主板2210,其具有经由RS2322230与RF子板2220连接的MCU 2215。以上已经详细描述了该结构。RF子板包括与RF收发器芯片2224进行通信的其自己的MCU 2222。RF收发器包括电路2226,以使用天线2228来发送和接收RF信号。
图29示出一种InsteonTM主板2310,其具有与通用串行总线(USB)子板2320连接的MCU 2315。如图所示,USB板包括具有芯片上USB接口的其自己的从MCU 2322、实时时钟(RTC)2324以及附加的非易失性随机存取存储器(NVRAM)2326。从MCU 2322使用串口RS2322330与主MCU2315进行通信。RTC与NVRAM经由I2C总线2335连接至主MCU。USB接口2328使InsteonTM设备与具有USB端口的任何其它设备接口。
图30示出一种InsteonTM主板2410,其具有与RS232子板2420连接的MCU 2415。如图所示,RS232板包括具有电平转换器2423的RS232收发器2422、实时时钟(RTC)2424和附加的非易失性随机存取存储器(NVRAM)2426。RTC与NVRAM经由I2C总线2435连接至主MCU。主MCU 2415经由RS232串行链路2430连接至RS232接口2428,从而使InsteonTM设备与具有RS232端口的任何其它设备接口。
图31示出一种InsteonTM主板2510,其具有与互联网协议(IP)子板2520连接的MCU 2515,其使InsteonTM设备与局域网(LAN)或互联网进行通信。IP板2520具有其自己的从MCU 2522,用以运行动态主机配置协议(DHCP)客户机、地址解析协议(ARP)客户机以及超文本传输协议(HTTP)栈。MCU 2522经由以太网控制器2528和物理接口2529附加至以太网LAN2540。LAN可经由路由器2542连接至互联网2544。一旦在互联网上,InsteonTM设备可以与世界任何地方的计算机2546接口。
InsteonTM应用和设备
InsteonTM技术可包含在多种不同类型的设备中,并且其可经由通信桥接器与所有类型的非InsteonTM设备接口。支持InsteonTM设备的应用多种多样。
部分应用列表包括(1)家庭管理,包括传感器、暖通空调(HAVAC)、设备、照明以及安全设施;(2)音频/视频(A/V)远程控制,其与家庭管理相互关联;(3)能源管理;(4)经由互联网的远程监控;以及(5)具有语音识别、响应、相机以及其它传感形式的互操作。
使用InsteonTM技术可改善的产品包括(1)电子设备,例如插入、连线接入调光器、开关或输出口;(2)家用设备;(3)报警器、温度调节器、接入控制器;(4)泳池/温泉和冲洗控制器;(5)环境传感器、设备状态传感器、运动传感器、房间占用状态传感器或接触传感器;以及(6)PC控制器、触摸屏控制器、键区控制器、手持设备控制器或遥控钥匙控制器。
使用针对其它网络标准的桥接器,InsteonTM设备可以使用WiFi(IEEE802.11)、蓝牙、ZigBee、ZWave、HomePlug、HomeRF、Intellon、Echelon、CEBus或其它未来技术与其它设备进行互操作。
具有至少一个设备带有USB、RS232或以太网通信功能的InsteonTM设备网络可连接至PC或互联网的接入点。新软件可被下载至InsteonTM设备,使其能够被升级而具有未来的新功能。这种相同的连接性还使InsteonTM设备的局域网与远程处理互连。可以以多种不同方式来使用能够被更新和远程接口的具有低成本、可靠设备的内部结构,所述多种不同方式不能完全预见到。
这里给出包括InsteonTM技术的一组初始设备。图32示出连线接入壁开关2610。用户可压下控制盒2640的顶部或底部,以压下下面的顶部或底部瞬时按钮开关。控制盒2640和框2645脱离,从而它们可由不同光色中的一种光色简单代替。塑料光导管2620和2630由下面的白光LED照明。这些光导管可由不同光色中的一种代替,从而可改变用户看见的光色。组件2650是LED光导管、瞬时按钮开关和拉伸式空气间隙开关的组合。将其按下使得该设备进入设置装模式,或者将其拉出通过使其与电力线断开来禁用设备。
图33示出一种InsteonTM设备2710,其连线接入接线箱来代替壁开关。其具有8个按钮2720,这些按钮从后面由可被任一颜色过滤的白光LED照明。由激光打印机打印的透明图案可位于按钮背面,以标识它们。组件2750用作与图32中组件2650相同的目的。
图34示出一种InsteonTM设备2810,其可被构造为调节器或继电器开关。被控制的设备插入至插孔2820。可选的连接器2830可被构造为用于提供适合内部InsteonTM子板的USB、RS232或以太网连接。装置2850用作与图32中组件2650相同的目的。
图35示出除了其支持内部RF子板之外其余类似于图34的插入InsteonTM设备2910。RF天线2915连接至RF子板上的RF收发器。用户可扭曲或弯曲该铰接的天线,以实现最佳性能。
图36示出具有按钮3020的按钮控制器3010。激光打印的图案可位于透明带条3030背面,以标记按钮功能。LED 3040向用户提供反馈。
图37示出另一版本的按钮控制器3110,其实质上具有更多的按钮3120。在盖子3130关闭时,其覆盖除了8个按钮之外的所有按钮,从而向用户提供更简单、更不集群的接口,类似于图36的情况。
图38示出InsteonTM控制器设备3210,其具有触摸屏液晶显示器(LCD)3230和6个按钮3220。触摸屏LCD可以是单色光的或彩色光的,可选地为点矩阵(backlit)。LED 3240提供附加的用户反馈。
图36、图37或图38中的控制器的本体3010、3110和3210可以使用不同的弹起后盖。一个弹起后盖使得控制器被用作独立式桌上单元。另一弹起后盖可将控制器转换为壁式安装单元。
InsteonTM消息的使用本领域普通技术人员将认识到在多种设备中可以以多种不同的方式来使用InsteonTM消息传输技术。为了利用在图13中给出的所有可能的InsteonTM消息类型,这些设备必须共享一组通用的特定、预分配数目的值,所述值用于一个或两个字节命令、两个字节设备类型/子类型、一个字节或两个字节ACK状态以及一个字节或两个字节NAK原因。在生产时,InsteonTM设备被分别预分配三个字节地址。
对于InsteonTM扩展消息,编程者可以自由定义在设备之间可交换的用户数据的所有类型的含义。例如,设备固件可包括全部高级语言的解译器,所述高级语言被编译成令牌环并且使用扩展消息被下载到设备中。
编程者在InsteonTM设备上可以实现多个可能的用户接口。以下实例将示出在固件中可实现的一个用户接口。考虑到用户希望开关模块(例如图32中所示)控制两个灯模块(如图34所示)的情况。假设开关模块具有InsteonTM地址00003E,灯模块A具有地址000054,灯模块B具有地址000051。在该实例中,所有数字以16进制给出。
对于控制灯模块的开关,必须在设备中具有这样的固件,其使得这些设备链接为普通组的成员。这种固件可响应经由USB或RS232接口设备由PC发送的一系列InsteonTM消息,或者其可使用户通过按下按钮来手动链接设备。
以下是一种可能的固件设计,其使用户手动完成上述组连接。第一,用户将按下和保持图32的开关模块上的设置按钮2650。该开关模块可广播给出其设备类型和“设置按下按钮”的命令的消息。第二,用户将按下开关控制盒2640的顶部,以表示所述设备将加入一个组。(按下控制盒的底部可表示所述设备从组中去除)。第三,用户将按下图34的灯模块A的设置按钮2850。灯模块A广播其设备地址、设备类型以及“设置按下按钮”的命令。开关模块使用引导消息发送具有组号(假设组号1)的“加入组”命令至灯模块A。灯模块A应答该引导消息并更新其组成员数据库,以示出其为组1的成员。在开关模块接收到ACK时,该开关模块更新其自己的组成员数据库,以示出灯模块A是组1的成员。第四,用户将按下灯模块B的设置按钮,并且该设备可按照对灯模块A相同的消息处理程序在组1中注册。最后,用户可按下在开关模块上的开关控制盒顶部,以结束组注册会话。
一旦组连接完成,用户可使用开关模块立即运行两个灯模块。根据固件设计,许多用户接口都是可能的。例如,通过轻拍控制盒顶部,灯可被打开,以及通过按下控制盒底部,灯可被关闭。按下和保持控制盒顶部可逐渐使得灯变亮,直至用户停止。可使用控制盒的底部类似地实现调节灯的处理。
假设用户轻拍开关控制盒顶部,以打开两个灯模块,则图39中示出的InsteonTM消息可被发送。行3310是通知组1打开的组广播消息。源地址00003E是开关模块的地址。目的地址000001是组号。标记(CF或二进制的11001111)表示组广播、标准消息、3次剩余跳数、3次最大跳数。命令1(组命令01)表示“打开”,命令2(参数)为00。两个灯模块接收该消息,检查它们的组数据库,并找到它们实际上是组1的成员,执行打开它们的负载的命令。该消息的其它接收方不是组1的成员,因此它们忽略该消息。
在行3320,开关模块用去往灯模块A的引导组清除消息跟踪组广播命令,并且重复“打开”命令。源地址也是00003E,但是这次目的地址为000054,或灯模块A。标记00表示引导、标准消息、0次剩余跳数、0次最大跳数。命令1的41表示“组清除、打开”,命令2(组号)为01。
行3330是来自灯模块A的应答。源地址000054为灯模块A,目的地址00003E为开关模块。标记(20或二进制00100000)表示ACK、标准消息、0次剩余跳数、0次最大跳数。命令1和命令2(41和01)是引导消息中相同字段的重复。
行3340和行3350是引导消息和用于灯模块B的ACK。除了灯模块B的地址000051由000054(灯模块A的地址)所代替之外字段相同。
根据以上描述,使用InsteonTM控制和通信设备的通信和控制系统将变得清楚,本发明的InsteonTM协议具有多种优点,其中某些优点在上文已经被描述,其它优点是本发明固有的。
此外,应理解的是,在不脱离本发明的教导的情况下可以对本发明的通信、控制系统以及设备进行修改。因此,本发明的保护范围不限于所附权利要求所必需的范围。
权利要求
1.一种通信模块,其用于包括多个所述通信模块的系统,所述通信模块包括用于存储数字的电路,该数字表示模块地址,其指定所述通信模块的地址;用于在至少一个通信介质上发送和接收消息的电路;用于产生消息、接收消息以及解译消息的电路和软件;每一所述消息包括第一数字字段,表示发生器地址,其指定产生该消息的模块的模块地址;第二数字字段,表示接收方地址,其指定期望的接收模块的模块地址;第三数字字段,表示消息标记,其指定消息的类型;第四数字字段,表示最大重发计数,其指定该消息可被重发的最大次数;第五数字字段,表示当前重发计数,其指定该消息已经被重发多少次;第六数字字段,表示命令字段,其指定一种操作;以及第七数字字段,表示消息的有效验证,其指定消息完整性的有效验证;通过检查所述消息标记和通过将所述接收方地址与所述模块地址进行比较,以确定所接收的消息是否已经到达所有期望的接收方的电路和软件;通过将所述最大重发计数与所述当前重发计数进行比较,以确定所接收的消息已经被重发的次数是否为对应于该消息的最大次数的电路和软件;以及仅在所述接收的消息未到达所有期望的接收方,并且重发次数未达到最大次数的情况下,通过将当前重发计数改变1来重发所接收的消息的电路和软件。
1.如权利要求1所述的通信模块,其被构造和安排为在电源电力线和/或射频上发送和接收消息,其中所述射频包括开放、非限制性的射频。
2.如权利要求1所述的通信模块,还包括如下电路和软件,其在利用与所述模块地址匹配的所述接收方地址接收到所述消息的其中一个消息时,通过交换所述接收方地址与所述发生器地址来发送应答消息至产生该一个消息的模块。
3.如权利要求2所述的通信模块,其中所述消息包括多个信号包,其中每一所述信号包与该电源电力线上的交流电的过零点同步。
4.如权利要求4所述的通信模块,其中构成所述消息的所述信号包的数目由所述消息标记中的一个比特确定,并且所述消息包含基于所述一个比特的状态的任意数据字段,并且所述数据字段优选地包括14个字节。
5.如权利要求4所述的通信模块,包括如下电路和软件,其在发送或接收所述消息的其中一个消息之后、发送另一消息之前等待直至至少一个所述附加过零点出现。
6.如权利要求4所述的通信模块,包括如下电路和软件,其在未从所述消息的期望接收方接收到应答消息的情况下尝试重发消息固定次数,并且在每次重发所述消息时,将所述最大重发计数加1,但是不将所述最大重发计数增加到超过重发消息所允许的最大值。
7.如权利要求4所述的通信模块,其中所述包在所述交流电的所述过零点之前开始并且在所述交流电的所述过零点之后结束,并且优选地,所述包在所述交流电的所述过零点之前800微秒开始并且在所述交流电的所述过零点之后1023微秒结束。
8.如权利要求4所述的通信模块,包括如下电路和软件,其使用施加到该电源电力线的载波信号的二进制相移键控来发送和接收信号包,以及通过在1倍和1.5倍所述载波信号频率处插入1个和1.5个信号周期来逐渐偏移所述载波信号的相位,其中所述载波信号优选地具有131.65千赫兹的频率。
9.如权利要求4所述的通信模块,包括如下电路,其用于发送和接收符合X10通信协议的X10消息,其中如果在该电源电力线上的交流电的过零点之后450微秒内未接收到另一二进制相移键控信号,则接收所述X10消息,并持续接收所述X10消息的其中之一,直至所述X10消息完成。
10.如权利要求1所述的通信模块,包括串行通信接口电路和软件,其使用不同的信号传输协议和/或使用外部数字设备来与另一网络进行通信,其中所述串行通信接口电路和软件包括通用串行总线链路和/或RS232链路和/或以太网链路和/或互联网协议连接。
11.如权利要求1所述的通信模块,包括控制电路,其用于操作与所述通信模块关联的设备,所述关联的设备包括传送电流的改变量至负载的电路,和/或感测负载汲取的电流量的电路,和/或多个按钮开关,用于启动多种命令功能,和/或图形显示器,和/或具有触摸屏的图形显示器,和/或用于确定环境状态的传感器,和/或语音响应和/或语音识别电路和软件,和/或图像捕捉和处理电路和软件,和/或至少一个白光发光二极管,其具有可替换的彩色滤波器,用于改变所看到的所述发光二极管的光色。
12.一种在多个通信模块中发送和接收包含数字信息的消息的方法,该方法包括以下步骤对每一模块提供表示模块地址的一地址;对每一消息提供第一数字字段,其表示发生器地址,用以指定产生该消息的模块的模块地址;对每一消息提供第二数字字段,其表示接收方地址,用以指定期望的接收模块的模块地址;对每一消息提供第三数字字段,其表示消息标记,用以指定消息的类型;对每一消息提供第四数字字段,其表示最大重发计数,用以指定所述消息可被重发的最大次数;对每一消息提供第五数字字段,其表示当前重发计数,用以指定所述消息已经被重发多少次;对每一消息提供第六数字字段,其表示命令字段,用以指定一种操作;对每一消息提供第七数字字段,表示消息有效验证,用以指定消息完整性的有效验证;通过检查所述消息标记和通过将所述接收方地址与所述模块地址进行比较,以确定所接收的消息是否已经到达所有期望的接收方;通过将所述最大重发计数与所述当前重发计数进行比较,以确定所接收的消息是否已被重发了对应于该消息的最大次数;以及仅在所述接收的消息没有到达所有期望的接收方,并且重发次数未达到最大次数的情况下,通过将所述当前重发计数改变1来重发所接收的消息。
13.一种通信模块,其用于包括多个所述通信模块的系统,所述通信模块包括在电源电力线上发送和接收消息的电路;用于产生消息、接收消息以及解译消息的电路和软件;每一所述消息包括多个信号包,其中每一所述信号包与该电源电力线上的交流电的过零点同步,并且对于给定长度的消息,用于发送所述消息的所述过零点周期的数目固定;用于在所述过零点周期的所述固定数目的整数倍开始重发所接收到的其中一条所述消息的电路和软件,其中所述过零点周期的所述固定数目的整数倍表示消息时隙;以及在其它所述通信模块发送相同消息的同时发送被重发的消息的电路和软件。
14.如权利要求14所述的通信模块,包括RF收发器设备,用于在射频上发送和接收消息;在经由该电源电力线接收或发送消息之后,在该电源电力线的下一过零点开始经由所述射频发送和接收消息的电路和软件,其中经由所述射频发送和接收的所述消息与经由该电源电力线发送和接收的消息相同;以及在其它所述通信模块经由所述射频发送相同消息的同时经由所述射频发送所述消息的电路和软件。
15.如上所述任一权利要求所述的通信模块,包括如下电路和软件,其仅在由发起方通信模块发送先前消息之后经过的消息时隙数等于一数值之后产生并发送新消息,该数值表示新消息时隙延迟,并且该数值由所述最大重发计数加1所得,其中如果所述先前消息的期望接收方模块可发送应答消息至所述先前消息的发生器,则通过将所述最大重发计数加1来增加所述新消息时隙延迟。
16.多种通信模块,每一通信模块包括如下电路,其使用连接到电源电力线不同相位的至少一个所述通信模块在该电源电力线上以及射频上发送和接收消息,使得在该电源电力线的一个相位上传播的消息在利用所述射频被中继之后,在该电源电力线的另一个相位上传播。
17.一种通信模块,其用于包括多个所述通信模块的系统,所述通信模块包括用于存储数字的电路,该数字表示模块地址,其指定所述通信模块的地址;用于在至少一个通信介质上发送和接收消息的电路;用于产生消息、接收消息以及解译消息的电路和软件;用于保存数据库的电路和软件,该数据库包含组号与其它通信模块的多个所述模块地址之间的组成员关联关系;发送表示组广播消息的消息至多个通信模块的电路和软件;以及伴随所述组广播消息的发送,发送表示组跟随消息的多个消息至所述多个通信模块中的每一通信模块的电路和软件。
全文摘要
设置低成本智能控制和通信设备(21、22、23、51、52),以通过一个和多个共享的物理介质(10、11),例如电力线和射频波段来彼此通信。不需要网络控制器,因为任一设备可用作主设备、从设备或中继器。考虑到通信重发和重新尝试的简单协议(30、50、60),添加更多的设备使得系统更强健。
文档编号H04L12/28GK101076967SQ200580042787
公开日2007年11月21日 申请日期2005年6月1日 优先权日2004年12月15日
发明者丹尼尔·布赖恩·克里格, 马库斯·P.·埃斯科博萨, 罗纳德·J.·沃特尔, 唐纳德·J.·巴特利 申请人:斯玛特莱博斯有限公司