可移动屏障操作器的安全系统的制作方法

文档序号:22688653发布日期:2020-10-28 12:58阅读:170来源:国知局
可移动屏障操作器的安全系统的制作方法

相关申请的交叉引用

本申请要求于2017年12月21日提交的号为62/608,977的美国临时专利申请的权益,其全部内容通过引用合并于此。

本发明总体上涉及允许在接收适当编码的信号后即进行操作的安全系统。更具体地,本发明涉及一种安全系统或涉及一种屏障操作器系统,诸如车库门操作器,其采用通过码进行通信的发射机和接收机,所述码具有其中至少一部分随着发射机的操作而变化。



背景技术:

在本领域中众所周知的是,提供车库门操作器或其他屏障操作器,其包括可通过变速器连接至要打开和关闭的门或其他可移动屏障的电动马达。由于许多的这些系统都与住宅以及车库相关联,因此重要的是,只允许被授权获准进入屏障保护区域的人员打开屏障。过去,一些车库门操作器系统采用与安装在车库外部的电气开关相关联的机械锁和钥匙布置。尽管这些系统享有相对较高程度的防篡改安全性,但它们使用起来不方便,并且要求用户离开车辆以打开车库门,从而可能会带来安全隐患。

众所周知的是,提供无线电控制的车库门操作器,其包括具有无线电接收机的车库门操作器单元和连接到车库门的马达。无线电接收机适于接收具有特定信号特征的射频信号或其他电磁信号,这些信号在被接收时会使门打开。这样的系统可以包括无线电发射机,其采用多值数字或三值的数字(也称为“三进制位”)的编码传输,或其他串行编码传输技术。在这些系统中有授予willmott的号为3,906,348的美国专利,其采用了发射机和接收机系统,其中可以使用多个机械开关来设置存储的授权码。

授予liotine等的号为4,529,980的美国专利公开了一种在诸如车库门操作器的装置中使用的发射机和接收机的组合,其中发射机存储授权码,该授权码将通过射频链路发射到接收机并由接收机接收。为了更改或更新发射机中包含的授权码,接收机配备了编程信号发射机或发光二极管,该发光二极管可以将数字化的光信号发送回存储其的发射机。也采用编码传输的其他系统是号为4,037,201、4,535,333、4,638,433、4,750,118和4,988,992美国专利。

尽管安全系统已经变得更加复杂,但是希望未经授权地访问以进行财产或人身相关的犯罪的人也已变得更加复杂。如今,在安全行业中,已知可用到能截获或窃取滚动码的装置。

已知包括跳码编码器的系统,其产生具有固定部分(即,其不会随着编码部分的重复致动而变化)和随芯片的编码部分的每次致动而变化的滚动码部分的串行码。为了避免在超出接收机范围时发射机的意外激活造成发射机滚动码与接收机永久不同步并因此无法被接收机识别,这些跳码编码器提供了一个前向窗口系统,即它们可与具有码接收机的系统一起使用,该码接收机将某个码窗口或值的窗口内的多个滚动码(而不是单个滚动码)识别为有效码,该值是在与可用滚动码总数相比的相对较少数量的开关关闭上生成的值。示例包括transequatorialtechnology,inc.的keeloq型号ntq105、ntq115、ntq125d和ntq129跳码编码器以及德州仪器(texasinstruments)的markstartrc1300和trc1315遥控发射机/接收机组合。但是,如果用户离开并无意间使得码被发射成超出有效前向码窗口中通常允许的码的数量,则接收机将不识别该码,并且用户必须规避该系统,这可能会损坏系统或需要工程师。

最近,许多可移动屏障操作器(例如车库门操作器)使用激活码,该激活码在每次传输之后变化。这种变化的码(称为滚动访问码)由发射机创建并由接收机作用,这二者均根据相同的方法操作,以预测要发送和接收的下一个滚动访问码。一种这样的滚动式访问码包括四个部分:固定的发射机标识部分、滚动码部分、固定的发射机类型标识部分和固定的开关标识部分。在该示例中,固定的发射机标识是唯一的发射机标识号。滚动码部分是一个数字,该数字每次传输都会变化以确认该传输不是已记录的传输。固定的发射机类型标识用于通知可移动屏障操作器该发射机的类型和特征。开关标识用于识别按压了发射机上的哪个开关,因为存在这样的系统,其中执行的功能依赖按压的哪个开关而不同。

还存在用于将遥控装置与屏障操作器配对的方法,使得用户可以购买附加的控制装置以与单个屏障操作器一起使用,或者利用集成在车辆中的控制装置。当安装了可移动屏障操作器时,房屋所有者通常会接收至少一个已经被训练适合该操作器的手持发射机。为了从一个新学习的收发机操作门,通常有两步学习过程来训练新学习的收发机。第一步是将所有者的手持式发射机的类型以及可能地将该发射机的码教给该学习的收发机。当所有者将手持式发射机保持在距学习的收发机几英寸的位置时,在按压学习的收发机上的按钮时,同时按压并按住手持式发射机的按钮,以将访问码的类型和频率教给该学习的收发机。学习过程的第二步是将该学习收发机训练给操作器。为此,必须按压屏障操作器上的学习按钮,并且应在给定的时间期间内激活该学习的收发机。在另一种现有方法中,这两步被组合为一步或同时完成。在一个示例中,预训练的发射机将码发射到操作器和学习的收发机,这二者均保存该码。接下来,在预定的时间内,在学习的收发机上按压按钮以发射第二滚动访问码,该第二滚动访问码被操作器接收并与保存在操作器中的第一滚动式访问码进行比较。如果在第一滚动式访问码和第二滚动式访问码之间存在预定的相关性,则操作器存储来自该学习的收发机的第二滚动式访问码的表示。根据该方法,要求用户身上有预先训练的发射机以将学习的收发机训练给可移动屏障操作器,以确保用户被授权进入车库。某些系统甚至允许在发生预定事件时,通用收发机通过在通用收发机与可移动屏障操作器之间建立双向通信而从可移动屏障操作器学习证书,而无需使用预编程的发射机。

然而,仍然需要一种经济的编码系统,该系统通过结合使用变化或滚动码和在装置使用或配对期间防止或最小化对码的截获和复制的附加措施,来提供增强的安全性。



技术实现要素:

本发明总体上涉及一种用于为致动特定装置提供安全性的电子系统。该系统例如在诸如车库门操作器之类的障碍物操作器系统中是有用的,它允许车库门以相对安全的方式打开和关闭,同时防止可能截获射频信号的人员能够未经授权进入车库。

以某些形式提供了系统和方法,其通过将计时参数引入至少两个装置之间的双向通信序列中,解决了人员拦截和复制来自授权的装置的射频信号(诸如通过使用“码抓取器”)的“中间人”问题。计时参数可以是例如指定大小或持续时间的时间延迟或时间窗口。如果第一装置与第二装置通信,并且在时间参数之外从第二装置发送了响应,则该响应将被第一装置视为无效或忽略。以这种方式,在指定的时间窗口之外(即之前和之后)拦截的传输将是无用的,该时间窗口可能为数十毫秒或数百毫秒的量级。通过设置装置以基于相关传输的可变部分(或其一部分或导出物)确定时间窗口,该时间窗口将因操作而异,并且进一步提高了安全级别。

在一些实施例中,该系统可以包括第一装置,该第一装置被配置成触发通信事件和另一装置的后续响应。第一装置可以是例如手持式或车载收发机,并且可以是用户操作的或由地理围栏、接近度检测或其他变量触发。某些形式的第一装置可以通常被配置成用于经由无线信号开发和发射包括固定码和变化或可变码(例如滚动码)的第一加密消息。随着收发机的每次致动,变化或可变码被改变。固定码是静态的,且对于收发机的每次致动保持相同。第二装置,例如操作器(诸如电动车库门开启器),接收加密消息,通过将固定码及变化或可变码与存储值进行比较来验证消息,该存储值优选地存储在物理上并入第二装置的计算机存储器中,并且一旦验证即发送响应信号,该响应信号至少包括具有第二固定码和第二变化码的第二加密消息。第一装置然后接收并尝试验证第二加密消息,并且在一些实施例中,第一装置被配置成向操作器装置发射第三加密消息,该第三加密消息包括第一固定码和第二变化码的变化的版本。该第三加密消息被配置成引起操作器装置执行动作,例如提升或降低可移动屏障结构。

以某些形式,提供了一种在第一装置与第二装置之间安全通信的系统,以引起第二装置动作。在一些实施例中,第一装置包括控制器电路;与控制器电路可操作地通信的发射机;与控制器电路可操作地通信的接收机;和与控制器电路可操作地通信的用户输入装置。第一装置的控制器电路可以被配置成:响应于在用户输入装置处检测到输入,控制发射机发射第一加密消息,该第一加密消息至少包括第一固定码和第一变化码;通过接收机从所述第二装置接收响应,其中所述响应包括第二加密消息,所述第二加密消息包括第二固定码和第二变化码;通过将第二固定码及第二变化码与第二存储码值进行比较,来验证响应;以及响应于验证响应,控制发射机以发射第三加密消息,该第三加密消息至少包括第一固定码和第二变化码的变化的版本,其中第三加密消息被配置成引起第二装置执行动作。在一些实施例中,第二装置可以包括控制器电路;与控制器电路可操作地通信的发射机;与控制器电路可操作地通信的接收机;以及与控制器电路可操作地通信的计时器电路。第二装置的控制器电路可以被配置成使能第二装置的接收机接收第一加密消息;通过将第一固定码及第一变化码与存储码值进行比较,来验证第一加密消息;确定何时发射响应;响应于验证第一加密消息,控制从第二装置的发射机发射响应;使能第二装置的接收机以接收第三加密消息;通过将第一固定码及第二变化码的变化的版本与存储码值进行比较,来验证第三加密消息;以及响应于验证第三加密消息,引起执行动作。

在一些实施例中,至少一个时间窗口与一个或多个加密消息相关联,且提供附加的安全层,并使第三方未经装置的所有者同意而拦截传输并利用该固定码和变化码的机会最小化。可以相对于特定动作(诸如,第一装置的激活、第二装置的传输接收等)来确定时间窗口,或者替代地可以基于绝对时间测量(例如,通过参考时钟来确定窗口的开始和结束)来确定时间窗口。如果使用绝对时间测量,则第一装置和与其通信的装置应同步,以使它们的绝对时间测量基本相同。在一些这样的实施例中,第一和第二装置各自包含与它们各自的控制器电路可操作地通信的计时器,并且一旦致动,第一装置除了发射至少包括第一固定码和第一变化码的第一加密消息之外,即确定时间窗口,以在该时间窗口中期望接收响应。在一些实施例中,可以基于用于创建第一加密消息的一个或多个码部分(例如消息的变化码部分或其一个或多个部分)或基于消息的加密形式或其一个或多个部分,来确定时间窗口。第二装置接收并解密第一加密消息,并通过将其固定码及变化或可变码与存储值进行比较来验证消息。第二装置还基于加密消息确定第二时间窗口,以在第二时间窗口中将响应发射到用户操作的收发机。第二时间窗口可以与第一装置确定的时间窗口相同或在其内,并且可以或不可以使用加密消息的相同部分来确定该第二时间窗口。第二时间窗口可以是位于第一时间窗口内的离散时间点。

在一些实施例中,当第二装置验证第一加密消息后,第二装置在第二时间窗口内发送响应信号到第一装置。响应信号至少包括从第二固定码和第二变化码创建的第二加密消息,其中第二变化码可以但不必须独立于第一变化码。如果第二加密消息被第一装置在第一时间窗口内接收,则第一装置将试图通过将第二加密消息的固定码及变化或可变码与一组存储码值进行比较来验证第二加密消息。在一些实施例中,第一装置可以将第二加密消息的接收时间与第一时间窗口进行比较,仅继续分析在第一时间窗口内接收的信号或消息。替换地,为了节省功率,第一装置可以在时间窗口的开始处打开并使能接收机元件,并在时间窗口的结束处关闭接收机元件,使得第一装置仅能够在第一时间窗口内从第二装置接收传输。在这样的实施例中,如果在第一时间窗口之外发送和接收第二加密消息,则将完全忽略该第二加密消息。一旦验证来自第二装置的响应,则一些实施例中的第一装置可以被配置成发射第三加密信息,该第三加密信息包括第一固定码和第二变化码的变化的版本。该第三加密消息被配置成引起第二装置执行动作,例如提升或降低可移动屏障。

固定码和可变码可以具有任何选择的长度,并且可以以各种方式进行修改或改变,以增加附加的安全层。在一些示例中,发射机可以被配置成产生包括码的固定部分的指定数量的位的帧和包括码的可变部分的第二帧。在一些实施例中,码的可变部分(其可以是滚动码)然后可以被镜像以提供镜像的滚动码。然后,通过将该镜像的滚动码的最高有效位设置为零,可以将其“删除”。然后,发射机可以将固定码和镜像的滚动码转换为三值的或三进制位固定码和三值的或三进制位滚动码。为了提供进一步的安全性,在一些实施例中,可以对固定码和滚动码进行混洗或交错,使得交替的位由固定码位和滚动码位组成。单个同步和/或识别脉冲可以行进第一帧和第二帧,以指示帧的开始以及其是第一帧还是第二帧。

附加地或替代地,在一些实施例中,加密可以包括提供可变码和多个不同的数据位顺序模式、提供多个不同的数据反转模式、选择每个数据位顺序模式和数据反转模式中的特定一个以提供选择的模式,并使用选择的模式作为传输特性来发射加密的可变码的至少一部分。在一些形式中,选择每个数据位顺序模式和数据反转模式中的特定一个以提供选择的模式包括使用可变码来选择特定数据位顺序模式和数据反转模式以提供选择的模式。

还提供了一种将第一装置和第二装置配对以在第一装置和第二装置之间建立安全通信以引起第二装置动作的方法。第一装置向第二装置发射第一加密消息,该第一加密消息至少包括第一固定码和第一变化码。第一装置可选地还确定时间窗口以在其中期望来自第二装置的响应,并且该时间窗口可以基于第一加密消息的至少一部分。在一些实施例中,第一装置可以使能第一装置接收机在时间窗口期间从第二装置接收响应,或者替代地,第一装置接收机可以保持在打开状态并将响应的时间戳与时间窗口进行比较。当第二装置处于“学习”模式时,第二装置接收第一加密消息,在该“学习”模式中,第二装置正在等待来自发射机的信号,而没有关于第一装置的变化码的当前版本的信息。当在学习模式中,第二装置存储第一加密消息,并确定时间窗口以在其中发射对第一加密消息的响应。在一些实施例中,第二装置可能已经由用户手动地置于学习模式,诸如通过按压第二装置上的按钮、开关或操纵杆,因此在一些实施例中可能需要同时手动激活第一装置和第二装置。由第二装置确定的时间窗口可以取决于第一加密消息的一个或多个部分。第二装置在第二装置确定的时间窗内将其响应发射到第一装置,该响应包括第二加密消息,该第二加密消息至少包括第二固定码。当第一装置在第一装置确定的时间窗口内接收该响应的第二加密消息时,存储该响应,并且第一装置将第三加密消息发射回到第二装置,该第三加密消息至少包括第一固定码和第一变化码的变化的版本。第二装置接收第三加密消息,并通过将第一固定码及第一变化码的变化的版本与来自第一加密消息的存储码值(第一固定码和第一变化码)进行比较来验证该第三加密消息,并且一旦验证(通过确认第一变化码的变化的版本是来自第一加密消息的变化码的一个前向改变),则第二装置然后发射第四加密消息,该第四加密消息包括第二固定码和第二变化码(其可以独立于第一变化码)。第一装置接收第四加密消息,通过将第二固定码及第二变化码与第一装置存储的响应进行比较来验证该第四加密消息,并响应于验证该第四加密消息而存储第二固定码和第二变化码。

本系统提供了优于先前的车库门操作器系统和先前的滚动码系统的优点。根据本发明的一些系统通过双向通信提供了增强的安全性,在该双向通信中第一和第二装置都发射和接收独立的码以验证在用户端和操作器端上的装置之间的交易。一些实施例通过将与后续传输的计时有关的信息链接到加密传输,提供了增强的安全性,并且要求在指定的时间窗口内接收响应传输作为码验证的前提。这些增强的安全措施也可以在配对和/或同步装置的方法中使用。

附图说明

图1是从用户操作的收发机接收控制信号的示例性可移动屏障操作器系统的透视图;

图2是图1的用户操作的收发机的示例的框图;

图3是图1的系统的可移动屏障操作器的示例的框图;

图4a-c是示出了正常操作期间在第一装置和第二装置之间的示例的通信流程的流程图;

图5a-c是示出了学习或配对顺序期间在第一装置和第二装置之间的示例的通信流程的流程图;

图6是由第一和第二装置之一的发射机的一部分生成的信号的示例的时序图;

图7a-c是示出了发射机的操作的示例的流程图;

图8a-f是示出了第一和第二装置之一的接收机的操作的示例的流程图;

图8g是用在加密消息中的位处理的一个示例的示意图;

图8h是根据加密消息的一个示例的示例的消息图;

图9a-c是示出了正常操作期间在第一装置和第二装置之间的另一个示例的通信流程的流程图;

图10a-c是示出了学习或配对顺序期间在第一装置和第二装置之间的另一个示例的通信流程的流程图。

技术人员将理解,图中的元件是为了简单和清楚而示出的,并且不一定按比例绘制。为了简单和/或清楚起见,可能省略了普通但易于理解的元件,该元件在商业上可行的实施例中有用或必需。还将意识到的是,可以以特定的发生顺序来描述或描绘某些动作和/或步骤,而本领域技术人员将理解,实际上不需要这种关于顺序的特性。

具体实施方式

本文所述的系统和方法包括用户致动的第一装置,例如手持式或车载的收发机,其通常被配置用于形成第一加密消息,该第一加密消息包括固定码和变化或可变码(例如滚动码)。随着收发机的每次致动,该变化或可变码根据可被第一装置和与之通信的第二装置访问的设置的序列或协议而改变。对于第一装置的每次致动,固定码保持相同。第二装置包括操作器机构,例如电动车库门开启器,以在被第一装置命令时引发一个或多个动作。第一和第二装置可以被配置成通过各种技术彼此通信,各种技术例如,有线通信路径、射频或任何各种专有无线平台。

在一些实施例中,第二装置从第一装置接收加密消息,通过将固定码及变化或可变码与存储值进行比较来验证消息,并且一旦验证,则发送包括至少第二加密消息的响应信号,该第二加密消息具有第二固定码和独立于第一变化码的第二变化码。该存储值例如可以表示来自先前操作的固定值和变化值,其中与变化码相关联的序列或算法确定变化码值。在一些实施例中,第二装置可以将多个变化码值识别为有效,以解决第一装置的意外或无效致动(例如,当在第二装置的范围之外时,或当干扰阻止与第二装置正常通信时)。

第一装置接收并尝试验证第二加密消息,并且在一些实施例中,第一装置被配置成向第二装置发射第三加密消息,该第三加密消息包括第一固定码和第二变化码的变化的版本。该第三加密消息被配置成引起第二装置执行动作,例如提升或降低可移动屏障。因此,装置之间的通信可以涉及消息的双向验证,其中两个装置中的每一个都被配置成既发射和接收消息,又将它们与存储值进行比较,存储值诸如来自装置之间先前通信的值。在一些实施例中,装置之间的通信可以涉及附加的消息交换,以便进一步提高安全性,例如,传输和验证包含固定码和变化码的第四和第五加密消息。

在一些实施例中,至少一个时间窗口与加密消息相关联,以提供附加的安全层,并使第三方未经装置的所有者同意而截获传输并利用该固定码和变化码的机会最小化。在一些这样的实施例中,一旦致动,第一装置还确定一时间窗口,以期望在其发射包括至少第一固定码和第一变化码的第一加密消息时,在该时间窗口中接收响应。在一些实施例中,可以至少部分地基于加密消息的一个或多个部分来确定时间窗口,使得时间窗口本身充当附加的加密层。例如,特定的时间长度可以与消息的固定码部分中的特定值或数字相关联,以便特定的时间窗口链接到第一装置,或与消息的变化码部分中的特定值或数字相关联,因此时间窗口随第一装置的每次致动而变化。第二装置接收加密消息,并通过将固定码及变化或可变码与存储值进行比较来验证消息。然后,第二装置基于加密消息确定第二时间窗口,以在第二时间窗口中将响应发射到用户操作的收发机,第二时间窗口与第一装置确定的时间窗口相同或在其内,并且可以或不可以使用加密消息的相同部分来被确定。在一些实施例中,第二时间窗口可以是位于第一时间窗口内的具有或不具有误差余量的离散时间点。

当第二装置验证加密消息时,第二装置在第二时间窗口内发送响应信号。响应信号包括第二加密消息,该第二加密消息可以是例如包括第二固定码和独立于第一变化码的第二变化码的消息。第一装置可以被配置成忽略由第一装置在第一时间窗口之外接收的响应,但验证在由第一装置计算的时间窗口内接收的响应,从而允许来自第二装置的响应信号的计时充当附加的安全层,该附加的安全层核实该装置是被授权彼此通信的。如果第二加密消息被第一装置在第一时间窗口内接收,则用户操作的装置将通过将第二加密消息的固定码及变化或可变码与一组存储码值进行比较来验证第二加密消息。第一装置可以将第二加密消息的接收时间与第一时间窗口进行比较,仅继续分析在第一时间窗口内接收的信号。替代地,为了节省功率,第一装置收发机可以打开并且使能接收机部分仅在第一时间窗口内接收传输,使得如果在第一时间窗口之外发送和接收第二加密消息,则将完全忽略该第二加密消息。在一些实施例中,时间窗口小于大约360毫秒,并且在一些实施例中,时间窗口在其被第一装置确定后数十或数百毫秒开始。时间窗口优选地足够短,以使得对用户而言在致动发射机装置与引起所请求的动作之间没有明显的延迟。

一旦验证来自第二装置的响应,则第一装置可以被配置成发射第三加密消息,例如,包括第一固定码和第二变化码的变化的版本的第三加密消息。该第三加密消息被配置成引起操作器装置执行动作,例如提升或降低可移动屏障结构。在一些实施例中,第三消息也可以与时间窗口相关联,并且仅当在计算的时间窗口内被接收时才由第二装置识别。这些装置还可以被配置成在引起第二装置动作之前要求验证附加的消息。

现在参考附图,尤其是图1,提供了可移动屏障操作器系统10,其包括安装在车库14内的可移动屏障操作器12和手持式收发机30。操作器12安装在车库14的天花板16上,并且包括从其延伸的轨道18,该轨道18附接有可释放的触轮20,其具有延伸到多面板车库门24的臂22,该臂22定位成用于沿着一对门轨道26和28运动。手持式收发机单元30适于向操作器12发送信号和从操作器12接收信号。天线32可以被定位在操作器12上并且如下文所讨论地联接到接收机,以便接收来自手持式收发机30的传输。外部控制板34也可以定位于车库14的外部,其上具有多个按钮,并通过射频传输与操作器12的天线32通信。光学发射器42可通过电源和信号线44连接到操作器12,光学检测器46通过电线48连接到操作器12,以防止门24关闭在意外地处于门的路径中的人或物体上。可以提供开关300用于在诸如操作模式和学习模式的模式之间进行切换。

现在参考图2,提供了收发机30的框图。收发机30包括分别与天线220和221可操作地通信的发射机206和接收机207(其可以组合成单个机构)。天线可以被定位在用户操作的收发机30中、在用户操作的收发机30上,或从用户操作的收发机30延伸,其中,发射机206和接收器207被配置成向和从可移动屏障操作器12无线地发射和接收传输信号,包括包含第一滚动访问码的传输信号,该第一滚动访问码具有固定码部分和滚动码部分。在一些实施例中,发射机和接收机都可以与单个天线或多个天线通信,并且在一些实施例中,两个装置都可以被配置成与单个天线通信的单个收发机装置。用户操作的收发机30还包括与发射机206和存储器204可操作地通信的控制器202,并且被配置成用于处理数据和执行命令。存储器可以是例如非暂时性计算机可读介质,并且可以在其上存储指令,该指令在被控制器电路执行时使控制器电路执行操作。电源205联接到控制器202和/或其他部件,并且在一些实施例中可以被路由使得开关31将电源联接/不联接到其他部件,使得仅在激活开关31时或在其后的指定时间才供电。控制器202被配置成生成并使得发射机206发射第一滚动访问码,该第一滚动访问码包括用于传输信号的至少一个固定码部分和至少一个变化或滚动码部分,并且接收机207被配置成接收响应传输。与控制器202通信的计时器230提供了一种确定输入和输出信号传输的时间的方式,并为控制器202提供参考以使能和禁用装置的发射机206和/或接收机207。存储器204被连接用于与控制器202可操作地通信,并且被配置成存储码以及在一些实施例中用于输出传输的其他信息。存储器204还被配置成存储固定码值和/或变化或可变码值,用于与输入传输进行比较。开关31可以包括一个或多个用户可操作的开关,用于向收发机30输入命令,例如发出屏障移动命令或学习命令。开关31可以与按钮、操纵杆或其他装置相关联,以例如通过用户的手或其他动作、事件或条件来致动。作为其他示例,开关31可以是语音操作的,或者可以作为在触敏屏幕上显示的对象的位置由用户接触该触敏屏幕操作。

现在参考图3,在一个示例中,操作器12包括与存储器304通信的控制器302,并且被配置成用于向存储器304存储数据和从存储器304检索数据以及处理数据和执行命令。电源305(例如ac电源导管、电池或其他已知电源)向控制器302供电以允许操作。操作器12还包括与控制器302可操作地通信的无线发射机306和接收机307(或组合装置)。如图所示,发射机306与第一天线320通信,并且接收机与第二天线321通信,但是两个装置都可以与单个天线或多个天线通信,并且在一些实施例中,该装置可以被配置成具有与单个天线通信的单个收发机装置。天线可以被定位在可移动屏障操作器12内、在可移动屏障操作器12上或从可移动屏障操作器12延伸。就这一点而言,诸如射频或其他无线传输载波的信号可以根据各种频率或调制被发送到用户致动的收发机30以及从用户致动的收发机30接收。信号可以通过多种不同方式进行调制;因此,收发机30和可移动屏障操作器12可以被配置成经由多种技术彼此通信。操作器装置12的控制器302还与马达340通信,以执行操作,该操作诸如提升或降低车库门;滑动、摆动或旋转门;或以其他方式移动或重新定位屏障结构。可提供一个或多个开关331以覆写(override)控制器302或将控制器置于学习模式中或从中退出,在该学习模式中,操作器12可通过交换和存储消息与用户操作的装置配对。

术语控制器广义上指具有处理器、存储器和可编程输入/输出外围设备的任何基于微控制器、计算机或处理器的装置,其通常被设计为管理其他部件和装置的操作。还可理解,其包括通常的随附附件装置。控制器可以通过一个或多个处理器、微处理器、中央处理器、逻辑、本地数字存储、固件、软件和/或其他控制硬件和/或软件来实现,并且可以用于执行或辅助执行本文描述的过程、方法、功能和技术的步骤。此外,在一些实施方式中,控制器可以提供多处理器功能。这些架构选择在本领域中是众所周知且很好理解的,在此无需进一步描述。可以将控制器配置成(例如,通过使用存储在存储器中的相应程序,如本领域技术人员将容易理解的那样)执行本文描述的步骤、动作和/或功能中的一个或多个。

通常,控制器202和302可以被类似地或独立地配置,并且每个控制器可以包括固定用途的硬接线平台,或者可以包括部分或全部可编程的平台。这些架构选择在本领域中是众所周知且很好理解的,在此无需进一步描述。控制器可以被配置成(例如,通过使用本领域技术人员将很好理解的相应编程)来执行本文所述的步骤、动作和/或功能中的一个或多个,并且可以存储指令、代码以及类似物,其由控制器和/或处理器执行以实现预期功能。在一些应用中,控制器和/或存储器可以分布在提供分布式和/或冗余处理和功能的通信网络(例如,lan、wan、因特网)上。在一些实施方式中,控制器可以包括集成在一起的处理器和存储器模块(诸如在微控制器中)。一个或多个电源可以向每个控制器供电,并且可以是任何已知的类型。

当用户致动用户操作的收发机30的开关31(例如通过按压被指定为执行特定动作的按钮)时,控制器202基于存储在存储器部件204中的信息激活发射机206以通过天线220发射消息。该消息由操作器装置12的接收机307接收,并被传送到操作器的控制器302。在一些实施例中,控制器302通过将消息与来自操作器的存储器模块304的存储信息进行比较来验证该消息,并且一旦验证,控制器302被配置成使响应信号从发射机306通过天线320发射。如果来自用户致动的收发机30的消息包括与用于响应的计时参数有关的信息,则操作器的控制器302从计时器330接收时间信息,以便确定何时发射响应以便遵守用户致动的收发机30的计时参数。

用户致动的收发机30可以被配置成以任何数量的方式验证来自操作器12的响应符合所发射的计时要求。在一些实施例中,控制器202可以将与操作器的响应有关的时间戳或其他计时信息与使用计时器230的所发射的时间参数进行比较。在一些实施例中,接收机207通常处于非活跃状态,但仅被控制器202打开达一短时间期间,该时间期间与所发射的计时参数一致。例如,控制器202可以打开接收机207达一时间窗口,该时间窗口与在通过发射机206的输出消息中发射的时间窗口相匹配,并且一旦根据计时器230该时间窗口期满,则控制器202再次关闭接收机207。计时信息要么可以是相对的,例如在发射输出信号或其他事件之后的指定秒数、毫秒数或纳秒数,要么可以是绝对的,诸如特定时区的标准日期和时间信息。

一旦在与指定的计时参数一致的适当时间通过接收机207接收操作器12的响应,则用户致动的收发机30可以通过将该响应与其存储器模块204中的存储信息进行比较来验证该响应。一旦验证该响应,则用户致动的装置30可以通过发射机206将另一个消息发射到操作器12。该第三消息被配置成使操作器的控制器302致动马达340,以便执行与用户致动的装置的致动相关联的功能。收发机30可以包括多个按钮、操纵杆、开关、显示器、麦克风、扬声器或与要由操作器12执行的不同任务相关联的其他输入。

在另一示例中,可将可移动屏障操作器12与用户致动的收发机配对。操作器12的接收机307被配置成接收授权信号,该授权信号指示其被授权与用户致动的收发机30进行通信,并且将其接收了授权信号的指示提供给控制器302。可以提供一个或多个开关331以便打开和/或以其他方式允许接收机307接收授权信号。响应于接收授权信号,控制器302被配置成生成第一滚动访问码并将第一滚动访问码的表示存储在存储器装置304中。控制器302配置有发射机306,以将包括第一滚动访问码的发射信号发射到用户致动的装置30。接收机307还从用户致动的收发机30接收包括第二滚动访问码的传输信号,如下文进一步描述的。在该示例中,接收机307将传输信号提供给控制器302,控制器302将第二滚动访问码与存储在存储器装置304中的第一滚动访问码的表示进行比较。

图4a、图4b和图4c是互连的流程图,其示出了过程的一个示例的步骤,其中在第一和第二装置之间交换信号以验证授权并执行活动。中央虚线左边的步骤涉及第一装置,诸如用户操作的远程装置,而右边的步骤涉及第二装置,诸如可移动屏障操作器。例如,第一和第二装置可以是先前讨论的收发机30和操作器12。在该示例中,在较早的时间已执行了诸如配对过程或操作序列的先前操作,使得第一装置和第二装置中的每一个都已经存储了从另一装置接收的信息;将在下面结合图5a-图5c进一步解释配对或同步序列形式的装置的首次操作。

最初,第一和第二装置都已在其存储器中存储了来自涉及第一装置的前一操作的第一固定码和第一可变码,以及来自涉及第二装置的前一操作的第二固定码和第二滚动码。第一装置评估401其是否已经以意图使第二装置动作的方式被激活。例如,用户按压第一装置上的按钮可以完成电路或对第一装置的至少一个部件引起可测量的改变。当第一装置尚未被激活时,它将继续等待激活。一旦被激活,第一装置即发射403第一消息,该第一消息至少包括第一固定码和第一变化或可变码,其表示在前一操作中对第一变化码的修改。现在,将第一固定码和/或第一可变码存储在第一装置的存储器内,并且可以使用一个或多个加密方法来对其进行加密。加密方法没有特别限制,并且可以包括一种或多种类型的公钥或私钥加密、分组密码、流密码和其他技术。在一些实施例中,加密可以包括使用预定位数的变化码的作为选择特定数据位顺序模式和特定数据反转模式的基础。第一装置还计算405时间窗口,其在该时间窗口中期望接收响应,并且该计算可以在第一装置发射消息之前或之后进行。在一些实施例中,从第一加密消息的至少一部分或从未加密可变码的至少一部分或从两者来计算该时间窗口。

同时,第二装置已经被置于操作模式,并且等待402信号以引起动作,并且一旦从第一装置接收404第一消息,则解密该消息以获得第一固定码和第一可变码。然后第二装置存储第一固定码和第一可变码,并且通过将它们与存储码值进行比较406来验证该第一固定码和第一可变码。在该步骤中,将来自加密消息的第一固定码和第一可变码与来自先前操作的第一固定码和可变码进行比较。如果固定码匹配并且来自加密消息的第一可变码与根据一组已建立的可变码规则修改的先前可变码匹配(例如,与来自预定序列或算法的后续值匹配),则第一加密消息将被视为已验证。如果解密的码值与存储码值不匹配,则第二装置忽略第一消息并等待402其他信号。另一方面,如果码值在407中有效,则第二装置基于第一加密消息来计算408响应时间窗口,诸如特定窗口或时间点。响应时间可以与第一装置所计算405的响应窗口相同或不相同,并且可以使用或不使用第一加密消息和/或第一可变码的相同的一个或多个部分。例如,第二装置可以使用第一固定和/或第一可变码的相同多个部分来计算由第一装置计算的相同时间窗口,或者可以被配置成读取该第一固定或变化码的一个或多个部分来确定完全处在第一装置计算的窗口内的响应时间。

响应于验证第一加密消息,并且在确定响应时间窗口之后,第二装置在408中计算的时间窗口内发射响应410。该响应包括第二加密消息,该第二加密消息包括第二固定码和第二变化/可变码,在所描述的实施例中,该第二变化/可变码独立于第一变化码,并且代表来自前一操作的可变码的修改的版本。第二固定码值和修改的第二可变码值存储在第二装置的存储器中,因此在此阶段,第二装置存储器包含来自先前操作的第一固定和可变码、来自先前操作的第二固定和可变码、来自第一装置的第一加密消息中的第一固定和可变码以及来自加密响应的第二固定和可变码。

第一装置在第一装置计算的时间窗口期间使能409接收机,使得其能够从第二装置接收加密响应。如果第二装置在第一装置计算的时间窗口之外发送响应,则由于第一装置接收机被关闭而根本不会接收该信号。但是,如果第二装置在计算的时间窗口期间(在该时间窗口中第一装置接收机处于活跃状态)发送响应,则第一装置将接收411并解密第二加密消息,该第二加密消息包括第二固定码和第二变化/可变码。第二固定码和变化可变码,和来自先前操作的第二固定和可变码以及来自第一加密消息的第一固定和可变码一起,被存储在第一装置的存储器中。不再需要来自先前操作的第一码,可以将其从存储器中删除。

然后,第一装置将第二固定码及第二可变/变化码与存储在第一装置的存储器中的来自先前操作的固定码及可变码进行比较412。如果第二固定码与来自先前操作的固定码匹配,并且第二可变码与根据一组已建立的变化码规则修改的先前变化码匹配,则验证响应消息。如果确定413第二固定码和可变码有效,则第一装置发射414第三加密消息,该第三加密消息至少包括第一固定码和第二变化码的变化的版本。如果第一装置不能验证来自第二装置的响应,则流程结束,并且第一装置返回到等待401随后的激活。

当第二装置接收415第三加密消息时,第二装置解密415该消息,以确定第一固定码和第二可变码的变化的版本。这些值存储在第二装置存储器中,其现在包含来自先前操作的第一固定和可变码、来自第一加密传输的第一固定和可变码、来自先前操作的第二固定和可变码、来自第二加密(响应)传输的第二固定和可变码以及来自第三加密消息的第一固定码和变化的第二可变码。然后,第二装置将第一固定码及第二可变码的变化的版本与包括第一固定码和未修改的第二可变码的存储码值进行比较416,以便验证417第三加密消息。虽然验证步骤可能具有可接受的值的前向窗口(当变化码的接收的版本为序列中预期的接下来的几个(例如12个)值中的任何一个时,就会进行验证),但是通过减小此前向窗口的大小或完全消除此前向窗口,可以提高安全性。因此,在一些实施例中,仅当第三加密消息包含序列中的下一个可变码值时,才对其进行验证。如果第三消息被验证,则第二装置执行418与第一装置的激活相关联的所请求的动作。如果第二装置不能验证该第三消息,则第二装置结束流程,而不执行所请求的动作,并返回到等待402来自第一装置的信号。

现在转到图5a-c,流程图示出了将第一装置配对到第二装置,以使得例如用户致动的装置和操作器装置同步以便识别和验证在装置之间共享的信号的示例方法。第一装置可以是收发机30,第二装置可以是先前讨论的操作器12。该方法涉及至少一个装置,其从另一个装置学习变化的码序列,并且在一些实施例中,可以涉及双向学习,使得每个装置从另一装置接收并存储一系列固定码值和变化码值。在一些实施例中,装置可以被配置成使得配对方法需要在每个装置上操纵按钮或其他致动器,例如按压车库门操作器上的按钮以将该装置设置在学习模式中,然后按压远程控制装置上的一个按钮以启动配对过程。

在一种形式中,当用户将第一装置激活451,同时第二装置已被置于452“学习”模式时(例如通过按压按钮或切换操纵杆,其在第二装置上或与第二装置相关联),则配对方法开始。首先,第一装置在其存储器中包含第一固定码和第一可变码,第二装置包含第二固定码和第二可变码。当第一装置被激活时,其从第一装置发射453第一加密消息(该第一加密消息至少包括第一固定码和第一变化或可变码),并且至少基于第一加密消息的一部分来确定455时间窗口,以在该时间窗口中期望来自第二装置的响应。在时间窗口期间使能456第一装置接收机以从第二装置接收响应。同时,第二装置在第二装置处于学习模式时接收454第一加密消息,并将来自第一加密消息或其部分的解密的第一固定和第一可变码存储457在第二装置的存储器中。第二装置基于第一加密消息确定458时间窗口,以在该时间窗口中发射响应。然后,第二装置在时间窗口内发射459响应,该响应包括第二加密消息,该第二加密消息包括来自第二装置的第二固定码。如果在第一装置为响应计算的时间期间内第一装置接收460第二加密消息,则第二消息被解密,并且第一装置存储461第二固定码。如果在该时间窗口内未接收来自第一装置的响应,则该消息将被忽略,并且配对过程停止。

在时间窗口内接收来自第二装置的响应并存储关联值之后,第一装置然后发射462第三加密消息,该第三加密消息至少包括第一固定码和第一可变码的变化的版本。第一装置还使能463第一装置的接收机,预期从第二装置接收进一步的通信。在一些实施例中,在第一装置中使能463接收的这一步骤可以包括从第三消息导出的相关联的时间窗口。

当第二装置接收464并解密第三加密消息时,第二装置通过将第一固定码及第一可变码的变化的版本与来自第一加密消息的存储码值进行比较465,来验证该消息。如果第二装置确定466该比较是有效的,则第二装置响应于验证第三加密消息而发射467第四加密消息,该第四加密消息包括来自第二装置的存储器的第二固定码和第二变化码。

第一装置接收468第四加密消息,并通过将第二固定码及第二变化码与第一装置所存储的响应进行比较469,来并验证第四消息。如果第四消息被确定470为有效,则第一装置响应于验证第四加密消息而存储471第二固定码和第二可变码的第二变化的版本。

由第一和第二装置发射的可变或变化码可以从本领域中已知的那些中选择,诸如滚动码系统,其中基于预设算法和/或预定义列表或数字序列来修改该变化码。当装置通过将变化码与存储值进行比较来验证该变化码时,该装置通常会将接收的码值与多个预期的后续值进行比较,以说明一个装置的激活超出了另一装置的范围,否则不导致与其他装置通信。例如,在一些实施例中,装置将把接收的变化码与至少十二个存储值进行比较,并且在一些实施例中,与至少24、48、96、128或256个存储值进行比较。

可以使用多种方法和/或算法来加密和/或解密在装置之间发射的每个消息的固定和变化码。在某些形式中,第一装置通过生成射频振荡信号、生成可变二进制码、生成响应于该可变二进制码的三值/三进制码以及用该三进制码调制射频振荡信号产生调制的三进制编码的可变射频信号,来发射加密信号,用于第二装置的操作或控制。为了提供进一步的安全性,在一些实施例中,可以对固定码和滚动码进行混洗或交错,使得交替的三进制位由固定码位和滚动码位组成,以产生例如总共40个三进制位。然后可以将40个三进制位打包在第一20个三进制位帧和第二20个三进制位帧中。单个同步和/或识别脉冲可以行进第一帧和第二帧,以指示帧的开始以及其是第一帧还是第二帧。信号可能被配置成符合当地法律和法规;例如,紧随在每个帧之后,可以将第一装置置于安静状态,以在典型的100毫秒间隔上并在当地法规内(例如,在美国联邦通信委员会颁布的法律限制内)保持发射机的平均功率。第一三进制帧和第二三进制帧可以用于调制射频载波(例如经由幅度调制),以产生幅度调制的加密信号。幅度调制的加密信号然后可以被发射并且可以被第二装置接收。

在一些实施例中,第二装置接收振幅调制的加密信号并将其解调以产生一对三进制位编码的帧。每个帧中的三进制位可以被基本上实时地转换为指示三进制位的值的2位或半字节,其最终可以用于形成两个16位固定码字和两个16位可变码字。这两个16位固定码字可以用作指针,以标识运算符内先前存储的可变码值的位置。通过取具有较高有效位的16位字,将其乘以310,然后将结果加到第二个字中以生成一个32位加密可变码,可以将两个16位滚动码字连接起来。然后可以通过二进制减法将该32位加密码与存储的可变码进行比较。如果该32位码在窗口或固定计数内,则第二装置的微处理器可生成授权信号,然后第二装置的电路的其他部分可响应该授权信号,从而使车库门按照命令打开或关闭。如果该码大于存储的滚动码加上固定计数(其表示相对大的增加的数),则可以允许用户向接收机提供其他信号或标记以建立授权,而不是被锁定,这不会显著降低安全性。该过程可以通过接收机使用两个或更多个要接收的连续有效码(而不是仅仅一个)进入替代模式来完成。如果在此示例中接收两个或更多个连续有效码,则操作器将被致动并且车库门将打开。然而,在这样的实施例中,为了防止先前或最近记录了最近有效码的人能够获得进入车库,将尾部窗口与接收的码进行比较。如果接收的码在此尾部窗口内,由于指示该码已被窃,系统的响应只是不采取任何进一步的行动,也不在该码周期内提供授权。

图6-图8展示了一种潜在的加密/解密方案。图6是实际用于修改射频振荡信号的三进制码的示例。在所描绘的示例中,0的位定时是下降时间1.5毫秒和上升时间0.5毫秒,1的位定时是下降时间1毫秒和上升时间1毫秒,2的位定时是下降时间0.5毫秒和上升时间1.5毫秒。上升时间实际上是活跃时间,在该时间生成载波。下降时间是非活跃时间,在该时间载波被切断。码被组装在两个帧中,每个帧有20个三进制位,其中第一帧由0.5毫秒同步位标识,第二帧由1.5毫秒同步位标识。

现在参考图7a至图7c,其中给出的流程图描述了一种从第一装置生成要被发射到第二装置的滚动码加密消息的形式。在步骤500中,将滚动码加三,然后存储502该滚动码,用于在按压按钮时从装置进行下一次传输。在步骤504中,反转该滚动码中的二进制数字的顺序或对其进行镜像,然后在步骤506中,将最高有效位转换为零,从而有效地截断该二进制滚动码。然后将滚动码变化为具有值0、1和2的三进制码,并将初始三进制滚动码位设置为0。在某些形式中,三进制码实际上被用于修改射频振荡信号,并且在图6中示出了三进制码的示例。可以注意到的是,在图6中,0的位定时是下降时间1.5毫秒和上升时间0.5毫秒,1的位定时是下降时间1毫秒和上升时间1毫秒,2的位定时是下降时间0.5毫秒和上升时间1.5毫秒。上升时间实际上是活跃时间,在该时间生成或发射载波。下降时间是非活跃时间,在该时间载波被切断。码被组装在两个帧中,每个帧有20个三进制位,其中第一帧由0.5毫秒同步位标识,第二帧由1.5毫秒同步位标识。

在步骤510中,从滚动码中减去3的次高幂(nexthighestpowerof3),并在步骤512中进行测试以确定结果是否大于零。如果是,则在步骤514中增加二进制滚动码的下一个最高有效位,然后方法返回到步骤510。如果结果不大于0,则在步骤516中将3的次高幂加到滚动码。在步骤518中,增加另一个3的最高幂,并且在步骤518中,增加另一个3的最高幂,并且在步骤520中,确定关于滚动码是否完成的测试。如果否,则控制调回到步骤510。如果滚动码完成,则步骤522清除位计数器。在步骤524中,测试空白计时器以确定其是否处于活跃状态。如果否,则在步骤532中递增位计数器。但是,如果空白计时器处于活跃状态,则在步骤526中进行测试以确定空白计时器是否已到期。如果空白计时器尚未到期,则将控制调到步骤528,在该步骤中,递增位计数器,然后将控制调回到判定步骤524。如果在判定步骤526中测量到空白计时器已到期,则在步骤530中停止空白计时器,并在步骤532中递增位计数器。然后在步骤534中测试位计数器的奇数或偶数。如果位计数器不是偶数,则将控制调到步骤536,其中将位计数器的被2除的输出位固定。如果位计数器是偶数,则在步骤538中位计数器的被2除的输出是滚动的。在步骤540中测试位计数器以确定是否将其设为等于80——如果是,则在步骤542中启动空白计时器,但如果不是,则在步骤544中测试位计数器是否等于40。如果是,则测试空白计时器并在步骤546中启动该空白计时器。如果位计数器不等于40,则将控制调回到步骤522。

现在参考图8a至图8f,特别是图8a,其中给出了第二装置对来自第一装置的加密消息进行处理的一个示例。在步骤700中,检测到中断并对其进行操作。在步骤702中确定上个边缘之间的时间差,并清除无线电的非活跃计时器。在步骤704中确定这是活跃时间还是非活跃时间,即,是否信号正在与载波一起被发送。如果这是不活跃时间,指示没有载波,则将控制调到步骤706以将不活跃时间存储在存储器中,并且在步骤708退出例程。如果其是活跃时间,则在步骤710中将活跃时间存储在存储器中,并在步骤712中测试位计数器。如果位计数器为零,则将控制调到步骤714,如在图8b中最佳可见,并进行测试以确定非活跃时间是否在20毫秒和55毫秒之间。如果不是,则在步骤716清除位计数器以及滚动码寄存器和固定码寄存器,并在步骤718退出例程。

如果非活跃时间在20毫秒和55毫秒之间,则在步骤720中进行测试以确定活跃时间是否大于1毫秒,如图8c中所示。如果不是,则在步骤722中进行测试以确定非活跃时间是否小于0.35毫秒。如果是,则在步骤728中设置帧1标志,将输入信息识别为与帧1相关联,并在步骤730中退出中断例程。在步骤722中活跃时间测试不小于0.35毫秒的情况下,在步骤724中,清除位计数器以及滚动码寄存器和固定寄存器,并在步骤726退出返回。如果在步骤720中测试的活跃时间大于1毫秒,则在步骤732中进行测试以确定活跃时间是否大于2.0毫秒,并且如果不是,则在步骤734中设置帧2标志,并且在步骤730退出例程。如果活跃时间大于2毫秒,则在步骤724中清除位计数器滚动码寄存器和固定码寄存器,并在步骤726中退出例程。

在步骤712中位计数器测试指示位计数器不为0的情况下,则将控制调到设置736,如图8a所示。测试活跃期间和非活跃期间,以确定它们是否都小于4.5毫秒。如果任一期间不少于4.5毫秒,则清除位计数器以及滚动码寄存器和固定码寄存器。如果两者都等于或大于4.5毫秒,则在步骤738中,增加位计数器,并从非活跃时间中减去活跃时间,如图8d所示。在步骤740中,确定减的结果是否小于0.38毫秒。如果它们是位值,则在步骤742中将位值设置为等于零,并且将控制调到判定步骤743。如果结果不小于0.38毫秒,则在步骤744中进行测试以确定活跃时间与非活跃时间之间的差是否大于0.38毫秒,然后将控制调到步骤746,将位值设置为等于2。在步骤742和746中设置的两个位值都涉及从三电平的三进制位0、1和2到二进制数的转化。

如果步骤744的结果是否定的,则在步骤748中将位值设置为等于1。然后将控制调到步骤743以测试位计数器被设置为奇数还是偶数。如果被设置为奇数,则将控制调到步骤750,在该步骤中,将固定码(其指示了该位是帧序列中的奇数位而不是偶数位,这意味着它是交错的滚动码位之一)乘以三,然后将位值加入。

如果位计数器指示正在处理奇数三进制位,则将现有的滚动码寄存器乘以3,然后将从步骤742、746和748获得的三进制位值加入。无论发生步骤750或步骤752,然后在步骤754中测试位计数器值,如图8e中所示。如果位计数器值大于21,则在步骤758中清除位计数器滚动码寄存器和固定码寄存器,并退出例程。如果位计数器值小于21,则在步骤756中从中断序列返回。如果该位计数器值等于21,表示已经接收了下沉位(sinkbit)加上三进制数据位,则在步骤760中进行测试以确定该下沉位是指示第一帧还是第二帧,如果其指示第一帧,则清除位计数器并为第二帧完成设置,随后在步骤762中从例程返回。在步骤760的判定指示了第二帧被接收的情况下,两个帧的滚动贡献被加在一起以形成完整的反转的滚动码。然后在步骤764中对滚动码进行反转或镜像以恢复滚动码计数器值。在步骤766中进行测试以确定是否已经设置了程序模式。如果已经设置,则将控制调到步骤768,在步骤768,将码与上个接收的码进行比较。如果不匹配,则将读取另一个码,直到两个连续的码匹配,否则终止程序模式。在步骤770,测试码,使得测试固定码与固定码非易失性存储器的匹配。如果存在匹配,则滚动部分被存储在存储器中。如果没有,则滚动部分被存储在非易失性存储器中。然后将控制调到步骤772,关闭程序指示器,退出程序模式,并且从中断返回。在步骤766的测试指示了尚未设置程序模式的情况下,在步骤774中打开程序指示器,如图8f所示。在步骤776,测试码以确定是否有对码的固定部分的匹配。如果不匹配,则在步骤778中关闭程序指示器并且退出例程。如果存在匹配,则测试指示滚动码的计数器,以确定其值是否比存储的滚动码大一个因数或差小于3,000(其指示对第一装置的按钮按压1000次的时间间隔)。如果不是,则在步骤786中进行测试以确定来自同一第一装置的上次传输是否具有比接收部分小二到四的滚动码,如果为真,则是否存储值减去接收的滚动码计数器值大于1,000。如果是,则将控制调到步骤782,关闭程序指示器并设置操作命令字,其使命令信号操作车库门操作器。清除接收超时计时器,并将滚动码的计数器值存储在非易失性存储器中,然后在步骤784中退出例程。如果在步骤786中差不大于1,000,则在步骤784中立即从中断返回。在步骤780中的计数器测试为肯定的情况下,则此后执行步骤782和784。

图8g和图8h是根据形成加密消息的一个示例配置的位处理和解析(图8g)的示意图以及示例消息图(图8h)。这提供了一个示例,其中可以使用固定码部分和可变(例如滚动)码部分来形成加密消息。现在参考图8g,将呈现位处理和解析的一个说明性实施例。在此示例中,要与28位滚动码790关联并发射的唯一实质内容包括代表固定信息791的40位值。该固定信息791可以例如用于唯一地标识将最终发射该信息的发射机。在该实施例中,通过对包括滚动码790的位进行镜像来对这些位加密792,然后将那些镜像后的位转换成如上所述的三进制值,以提供对应的位对(在本示例中,这将包括18个这样的位对),从而提供形成的加密滚动码793。该镜像可以应用于滚动码中的特定位分组,创建镜像组,也可以涉及整个值。在该说明性示例中,将加密滚动码793呈现为四个组以供进一步处理。在该示例中,这四个组包括由四个二进制位对组成的滚动组e793a、由五个二进制位对组成的滚动组f793b、由四个二进制位对组成的滚动组g793c和由五个二进制位对组成的滚动组h793d。

尽管在该实施例中没有加密,但是以类似的方式细分40位固定信息791。在此特定说明性方法中,这包括形成四个子组,包括固定组a794a、固定组b794b、固定组c794c和固定组d794d,其中每个这样的组由原始40位值中的10位组成。

然后,可以如图8h中所示使用这些不同划分的数据组来引起所需的传输。在该示例中,一个或多个联合消息795提供了主要传播媒介,通过其来通信期望的信息(其包括加密滚动码和固定信息数据(其根据加密滚动码的给定部分而被修改),以及代表加密滚动码的给定部分的恢复标识符)。通常来说,该联合消息795包括第一20位部分796和第二30位部分797。

在本实施例中,第一部分796包括以下字段:“0000”——这些位796a用于预充电解码过程并有效地建立操作阈值;“1111”——这些位796b包含两个位对,它们呈现非法状态“11”(“非法”,因为它对应于这些通信的三进制上下文中的第四个未分配状态),并在此处用作便利于与接收平台同步的基础;“00”——该位对796c标识了联合消息承载的负载的类型(在此实施例中,“00”仅对应于发射机本身的固定标识信息,“01”对应于补充数据负载,“10”对应于补充数据-仅负载——有关这些负载类型的进一步说明请参见下文);“xx”该位对796d表示帧标识符,其可以被接收机用来确定是否已经接收所有需要的联合消息795,并且还可以被用来便利于对发射的数据的适当重构;“b3、b2、b1、b0”——这些两位对796e包括反转模式恢复标识符,并且从包括上述加密滚动码793的位中选择;“b7、b6、b5、b4”——这些两位对796f包括位顺序模式恢复标识符,并且也从包括上述加密滚动码793的位中选择。

有多种方式可以选择这些恢复标识符值。通过一种方法,可以从加密滚动组中选择指定数量的位以形成相应的滚动子组。这些可能包括,例如,加密滚动组的前八位或后八位(前向或反转顺序)。这些可能还包括例如以任何预选的位位置开始的任何八个连续位。还存在其他可能性。例如,仅偶数位置位或奇数位置位可以适用这方面。例如,也可能的是,使用预选的位作为包括一个或多个先前描述的滚动组子组。

还可能的是,将选择机制从例如联合消息改变为联合消息。通过在这方面的一种简单方法,例如,加密滚动组793的前八位可用于形成滚动子组,而加密滚动组793的后八位以类似的形式以交替的方式被使用。然后可以进一步解析包含该滚动子组的位,以形成两个恢复标识符。这些恢复标识符可以与一个或多个查找表结合使用,以确定数据位顺序模式,来用于将数据格式化为包括联合消息的一部分。在一些实施例中,用于形成恢复标识符的滚动组没有出现在联合消息中。

图9a、图9b和图9c是互连的流程图,其示出了以上关于图4a-c讨论的过程的更具体示例。在此示例中,第一装置(例如手持式或车载收发机)通过滚动码的加密传输命令第二装置(例如车库门操作器)采取动作。贯穿图9a-c,“1f”是指第一固定码,“1r”是指第一滚动码,“2f”是指与1f无关的第二固定码,“2r”是指与1r无关的第二滚动码。“1a”、“2a”和“3a”每个皆是指“加值”,其表示被添加到滚动码或滚动码的一个或多个滚动的值。1a、2a和3a可以相同或不同。

最初,第一和第二装置都已在其存储器中存储了来自涉及第一装置的前一操作的第一固定码和第一可变码,以及来自涉及第二装置的前一操作的第二固定码和第二滚动码。当用户以意图使第二装置动作的方式(诸如通过按压激活按钮(第一步骤801))激活第一装置时,第一装置创建第一消息,该第一消息包括对应于第一装置的第一固定码(1f)和第一滚动码的第一变化的版本(1r+1a),其表示通过第一变化协议(即,逐一地循环遍历指定数量的码或从初始滚动码值计算新值的算法)修改的来自先前操作的滚动码值。变化的码(1f1r+1a)被存储在第一装置的存储器中,并且还使用一种或多种加密方法对其加密以发射到第二装置(步骤803)。此时,可以可选地从装置存储器中删除滚动码(1r)的初始值。第一装置还确定805在其中期望接收响应的时间窗口(w)或延迟。可以从滚动码值(1r和/或1r+1a)之一或两者或其一部分确定时间窗口(w),或者从加密消息或其一部分确定时间窗口(w)。例如,1r+1a可以在其序列的特定部分内包括一个时间,或者第一装置可以将算法应用于1r+1a或其一个或多个部分,以便计算w的时间值。例如,恢复标识符的传输特征(例如,图8h中的796e和/或796f)、加密的变化码部分的一部分(例如,图8h中的797的一部分)和/或解密的变化码值的一部分可以确定时间窗口的开始和结束。时间窗口w可以表示相对时间期间(例如,来自诸如初始按钮按压或第一加密信号传输的特定动作的,在特定时间间隔的起点和终点)或绝对时间期间(例如,基于根据第一装置的(或与第一装置通信的)时间装置的时间值,该时间装置与第二装置的(或与第二装置通信的)时间装置同步)。

处于操作模式并且正在等待信号(步骤802)的第二装置从第一装置接收第一加密消息,对该消息进行解密以获得第一固定码和第一可变码(1f1r+1a)并将新值存储在其存储器中(步骤804)。然后,第二装置将从第一装置接收的第一固定码和第一可变码(1f1r+1a)与基于存储码值的期望值进行比较(例如,通过将第一装置使用的相同算法应用于存储在第二装置的存储器中的先前的第一装置值(1f1r))(步骤806)。当将接收的值与存储值进行比较时,第二装置将执行验证步骤807。如果固定码匹配并且接收的第一滚动码(1r+1a)与基于存储的滚动码(1r)的期望值匹配,则第二装置将继续与第一装置通信。为了说明第一和/或第二装置的意外触发、多个第一装置与该第二装置一起使用或从第一装置接收的滚动码可能不完全匹配期望值的其他情况,此验证步骤优选地将接收的滚动码(1r+1a)与落入期望值之前和/或之后的序列内的一系列值中的设定数量的值(即,在期望值周围的指定大小的窗口内)进行比较,如果接收的滚动码与该系列中的任何值匹配,则认为来自第一装置的消息有效。这样,当一个装置不在另一个装置的范围内时,激活它将不会使两个装置完全失去同步并使通信变得不可能。如果解密的码值与存储码值不匹配,则第二装置忽略第一消息并返回步骤802。

如果接收的消息被验证,则第二装置计算808响应时间窗口。如图9a所绘示的,在步骤805中,第二装置以与第一装置计算相同的方式计算相同的时间窗口(w)。在其他实施例中,在步骤808计算的窗口或延迟可以不同,例如在w内的较短时间窗口,或与w一起落的单个时间点,甚至可以从1r、1r+1a和/或加密的消息的不同部分计算或确定。

响应于验证第一加密消息,并且在确定响应时间窗口之后,第二装置在计算的响应时间窗口内发射810响应。该响应包括第二加密消息,该第二加密消息源自对应于第二装置的第二固定码(2f)和第二滚动码(2r+2a),其独立于第一变化码,并且代表来自前一操作的第二变化码(2r)的修改的版本。这些值存储在第二装置的存储器中,因此在此阶段,第二装置存储器包含来自先前操作的第一固定和可变码(1f1r)、来自先前操作的第二固定和可变码(2f2r)、来自第一装置发送的第一加密消息的第一固定和可变码(1f1r+1a)以及来自加密响应的第二固定和可变码(2f2r+2a)。

第一装置在第一装置确定(步骤809)的时间窗口期间使能接收机,使得如果该响应在确定的时间窗口(w)到达第一装置,其能够从第二装置接收加密响应。如果响应是在w外部发送的,或者由于某种其他原因在w外部到达第一装置,则该响应将被忽略,因为第一装置接收机处于非活跃状态或被编程为忽略输入信号。假设第一装置在w内接收响应,则第一装置将解密第二加密消息以确定第二固定码和第二滚动码(2f,2r+2a)(步骤811)。这些值(2,2r+2a),和来自先前操作的第二固定和可变码(2f2r)以及来自第一加密消息的第一固定和可变码(1f1r+1a)一起,被存储在第一装置的存储器中。

然后,第一装置将第二固定码及第二滚动码(2f2r+2a)与存储在第一装置的存储器中(步骤812)的来自先前操作的固定码及可变码(2f2r)进行比较。然后,第一装置将执行验证步骤(步骤813),其与第二装置在步骤807执行的验证步骤相似。如果第二固定码与来自先前操作的固定码匹配,并且第二可变码(2r2a)与根据一组已建立的变化码规则修改的先前变化码匹配,考虑到预先确定的接受的错误量(例如前视窗口),则认为响应消息已验证。如果第二固定码和可变码(2f2r+2a)被确定为有效(步骤813),则第一装置生成消息,该消息至少包括第一固定码和第二滚动码的变化的版本(1f2r+3a),通过对从第二装置接收的滚动码值(2r+2a)应用算法(其可以与在步骤803和/或步骤810使用的算法相同或不同),对消息进行加密以创建第三加密消息,将新值存储在其存储器中,并将第三加密消息发射到第二装置(步骤814)。如果第一装置不能验证来自第二装置的响应,则流程结束,并且第一装置返回到等待随后的激活(801)。

第二装置接收并解密815第三加密消息,以确定第一固定码和第二可变码的变化的版本(1f2r+3a)。然后,第二装置将来自第一和第三加密传输的固定码进行比较,以确认它们是由同一第一装置发射的,并且将来自第三加密消息的滚动码与基于上次存储的第二滚动码值(来自第二加密消息的2r+2a)的期望值进行比较(步骤816)。在类似于以上讨论的那些的验证步骤中,第二装置然后确定817第三加密消息是否有效。如果第三消息被验证,则第二装置执行818与第一装置的激活相关联的所请求的动作。如果第二装置不能验证该第三消息,则其结束流程,而不执行所请求的动作,并返回到步骤802,等待来自第一装置的信号。

图10a-c示出了将第一装置与第二装置配对的特定方法的一个示例,其对应于图5a-c中示出的更一般的方法。在该示例中,第一装置(例如,用户致动的装置)和第二装置(例如,用于执行特定动作的操作器装置)被同步,以便识别和验证在两端的装置之间共享的信号。贯穿图10a-c,“1f”是指第一固定码,“1r”是指第一滚动码,“2f”是指与1f无关的第二固定码,“2r”是指与1r无关的第二滚动码。“1a”、“2a”和“3a”每个皆是指“加值”,其表示被添加到滚动码或滚动码的一个或多个滚动的值。1a、2a、3a可以相同或不同。这些值中的每一个不必与图9a-c中的那些相同。

当第一装置被激活时(例如,通过用户按压该装置上的按钮)(步骤851),同时第二装置已经被置于“学习”模式(步骤852)(例如通过按压按钮或切换与第二装置相关联的操纵杆)时,配对过程开始。首先,第一装置在其存储器中包含第一固定码(1f)和第一可变码(在此情况下为滚动码1r),它们表示初始值或来自第一装置先前操作的值,第二装置包含第二固定码(2f)和第二可变码(在此情况下为滚动码2r),它们表示初始值或来自先前操作的值。固定码分别与各自的装置关联并标识其各自的装置,而滚动码彼此独立。当第一装置被激活时,其从第一固定码和第一滚动码的修改的版本(1f1r+1a)生成第一加密消息(步骤853),并且基于第一滚动码或第一加密消息的至少一部分来确定时间窗口(w),以在该时间窗口(w)中期望来自第二装置的响应(步骤855)。可以由第一滚动码或第一加密消息内的值限定该时间窗口,或者可以基于算法从其中计算该时间窗口。在时间窗口期间使能第一装置接收机以从第二装置接收响应(步骤856)。

同时,第二装置在第二装置处于学习模式时接收第一加密消息(步骤854),并将来自第一加密消息(或其部分)的解密的第一固定和第一可变码(1f1r+1a)存储在第二装置的存储器中(步骤857)。第二装置基于第一加密消息和/或第一滚动码确定时间窗口,以在该时间窗口中发射响应(步骤858)。由第二装置确定的时间窗口可以与在步骤855由第一装置确定的w相同或在w之内,并且可以以相同或不同的方式确定。然后,第二装置在确定的时间窗口内发射响应(步骤859),该响应包括第二固定码(2f)和第二滚动码(2r)的加密的版本。可选地,可以在第二加密消息中包括独立于第一滚动码的第二滚动码。第二滚动码可以例如以最小值(诸如00)开始。如果在第一装置为响应计算的时间期间w内第一装置接收第二加密消息,则第二消息被解密(步骤860),并且第一装置存储第二固定码(以及可选的第二可变码,如果其被发送)(步骤861)。如果在时间窗口内未接收来自第一装置的响应,则该消息将被忽略,并且配对过程停止,而第一和第二装置分别返回步骤851和852。

在时间窗口w内接收来自第二装置的响应并存储相关值,并且要么被激活开关设置为学习模式要么从第二装置接收学习指示符之后,第一装置然后发射第三加密消息,其至少包括第一固定码(1f)和第一变化码的变化的版本(1r+2a)(步骤862)。第一装置还使能第一装置的接收机,预期从第二装置接收进一步的通信。在一些实施例中,在第一装置中使能接收的这一步骤(步骤863)可以包括从第三消息导出的相关联的时间窗口。

当第二装置接收并解密第三加密消息(步骤864)时,其通过将第一固定码及第一变化码的变化的版本(1f1r+2a)与来自第一加密消息的存储码值(1f1r+1a)的期望值进行比较(步骤865),来验证该消息(步骤866)。如果第二装置确定该来自第三加密信息的码(1f1r+2a)是有效的(步骤866),则第二装置响应于验证第三加密消息而发射第四加密消息,该第四加密消息包括第二固定码和第二变化码(2f2r)(步骤867)。

第一装置接收该第四加密消息(步骤868),并且通过将第四消息的固定码与先前接收的固定码进行比较(步骤869)来验证第四消息。如果固定码相同,这表示两者均来自第二装置,第四消息被确定为有效(步骤870),第一装置存储第二固定码和第二滚动码(2f2r)(步骤871)。现在,第一装置和第二装置已在其各自的存储器中存储了匹配的第一固定/滚动和第二固定/滚动码对(1f1r+2a和2f2r),它们在操作中可用作初始值(1f1r和2f2r),诸如图9a-图9c中所示的。

学习模式可以在与操作模式相同的频率上操作,并且可以在多个频率上操作。在一些实施例中,第一装置和第二装置在操作模式和/或学习模式中经由一个或多个频率、信道、频带和无线电物理层或协议进行无线通信,包括但不限于例如300mhz-400mhz、900mhz、2.4ghz、wi-fi/wilan、蓝牙、低功耗蓝牙(ble)、3gppgsm、umts、lte、lte-a、5gnr、专有无线电等。在其他实施例中,第一装置和第二装置在操作模式和/或学习模式中经由有线连接和各种协议进行通信,包括但不限于两个(或更多个)有线串行通信、通用串行总线(usb)、集成电路间(i2c)协议、以太网、控制区域网络(can)车辆总线、专有协议等。在一些实施例中,第一装置和第二装置之间的最大距离可以在学习模式和操作模式之间变化,而在其他模式中,由于干扰范围的变化,两个模式中的最大范围将是相同的。

尽管已经示出和描述了本发明的特定实施例,但是本领域技术人员将认识到,可以在不脱离本发明范围的情况下,对上述示例进行多种修改、变更和组合,并且这种修改、变更和组合应视为在本发明构思的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1