先进嵌入代码跳动系统 本申请是下列US实用新型专利申请的部分继续:No07/945,667“先进汽车自动化和安全系统”(9/16/1992),No08/112,940“指明进入电子保护车辆的冲击的威胁程度的方法及所用设备”(08/30/1993),No08/396,020“安全系统的操作员唯一控制和用户专用功能的通道连接”(02/28/95),和No08/396,115“报警传感器多路化”。No08/112,940申请是现已放弃的申请No07/886,871“指明进入电子保护车辆的冲击的威胁程度的方法及所用设备”(05/22/1992)的部分继续。
本发明是关于为监视限定区域、例如一车辆内及其周围的安全系统领域,提供较之现有技术中这些系统的更多优点、更大范围的操作员-系统接口、和用户更友好的运行。较具体说,本发明提供采用具有交错的/播散地固定值和跳动的(Hopping)/变化位的代码字作由一遥控发射器至一报警控制器的远程通信。这提供了额外的安全性能,因为潜在的侵入者由于代码中的信息在各次传送和从发射器到发射器之间是无法预测并总是改变的不可能对安全代码进行译码/整理。
当前市场供应有许多安全系统。许多这些安全系统采用遥控发射器来传送命令到相关连的系统报警控制器。一些这样的系统利用固定代码发送。在普通的固定码传送中,所有的非通道识别位由同一发射器发送时各次传送中保持不变。一典型的传送包含一同步位即前同步信号,它是用来散发接收器和其自动增益控制(AGC)的一组(二位)位。其后跟随遥控发射器的序号、地址和/或通道识别位。这里可少至8位多至数百。这一位流中有发射器通道识别位、反扫描位和其它混杂位。这些混杂位被用于反扫描的目的和/或使代码字加长来更有效地隐匿真实地址码。
现有技术有固定传送技术存在有二个重大的防护上缺陷。传送的代码通常是固定的或者代码组合数相对很小。这些缺陷导至对被保护区域的非法接触。这种非法接触的得到可以是通过对带有限的代码组合的系统作全部组合的完全的扫描。此外,利用一代码攫取器的入侵者如果知道传送频率就能够记录实际上任何长度的普通固定代码传送。入侵者可利用这一记录得的信息在以后再发送此代码而进入被此安全系统所保护的区域。况且,在世界上一些国家内分配给安全系统的频率是固定的。这使得易于构成和利用一代码攫取器。代码攫取方法普遍被认为是不容许应用多重射频地区的极其严重的威胁。代码攫取始终是对所有当前的普通固定码射频遥控安全系统的严重威胁。
为提高安全性,代码跳动可被用来防止代码俘获和扫描。这在US专利No5103221(Serafino Memmola,April7,1992)中有说明。在代码跳动系统中,每次传送均采用不同的即变更的代码字。大部分通常用的代码跳动系统被设计成带有被划分成它们的二个各自区域的固定代码和跳动代码。另外的安全系统仅采用跳动字,由此每一传送均改变字的整个代码。这使得入侵者易于分析和计算用来改变代码字的跳动部分的简单的跳动代码算法,因为他知道固定和变更位。为克服这些弱点,这些系统就需要更繁复的更长的字长和/或更复杂的跳动算法来达到与本发明较单纯的播散代码跳动系统的相同结果。
播散代码跳动是一种提供一无线遥控发射器与一报警系统接收机之间作高安全性的远程射频传送信息即命令的方法。这种技术对遥控车辆报警、自动车库门以及其他依靠无线通信的系统均是很有用的。本发明提供借助对由遥控发射器发送到报警控制器的数据字的固定的和跳动位进行播散即交错来使对所发送代码的整理即破译复杂化的措施。对固定的和跳动代码的播散给预了辩别各传送位的位置、值和意义中的极端复杂性,由此建立对入侵者的有效障碍。在本发明的播散传送设备中,扩展的传送期间一给定跳动位改变需要数个小时,由此使得难以识别哪些是跳动位和哪些是固定位。它也使难以、即不能破译安全代码。此外,本发明需要复杂性较低和较简单的代码跳动算法来实现价格合理的高安全水平。
发明的概述
本发明的设备是一具有至少一遥控发射器和一由一遥控发射器接收命令的报警控制器。为克服上述的现有技术安全系统的缺点,本发明由遥控发射器发送被播散的代码字到报警控制器。此被播散的代码字含有其中的固定位和跳动的、即变更的位。这些位被播散或使得如不了解配置固定的和跳动的位在它们于代码字中各自的位置,就不会知道哪些位是固定的和哪些位是跳动的。
实现本发明的一种途径是给发射器和控制器提供一格式字,它在发射器中被用于播散位而在控制器中用于将这些位整理进它们各自的固定和跳动字。然后,控制器对最后接收到的跳动字进行一特定的预编程的跳动算法来将其与输入的跳动字加以比较。如果此二跳动字相符和且如果代码字的固定代码表明用于发送代码字的发射器是被授权发出命令的,则代码字中所记述的命令即被执行。另外,一学习模式提供对一特定的发射器进行编程、即授权使其发送命令到报警控制器的措施,它还使得发射器以其识别码、其格式字和/或其跳动算法来对控制器进行编程。
本发明的一种主固定码(master-fixed-code)技术采用具有一被用于播散固定和跳动位的特定格式字的发射器。此遥控发射器不发送其格式字到控制器和控制器起始并不具有用于遥控发射器的格式字。再者,各遥控发射器可利用一唯一的格式字。因此系统的控制器必须由输入的代码字导引得此格式字。这些系统中一主固定码格式字对控制器是已知道,它提供固定位部分在代码字内的位置。在其学习模式中,控制器将一主固定码算法应用到所接收到的代码字由此来形成一用于辩识所有固定的和所有跳动位的格式字。此外,代码字的固定位的一部分、即一子集可被采用来作为一用于变更此最后接收到的跳动码的跳动码算法。这一格式字连同发射器的识别码和它们跳动码被存贮来用于由此发射器接收和执行被播散的代码字。
本发明的另一实施方案提供能发送其格式字和/或一初始跳动字到控制器的发射器。这给控制器提供学习此特定发射器的跳动码、跳动算法、识别码和格式字的能力,而随着就使它能如所述的协同发射器操作。这一系统的第一种型式的发射器一个接着一个地相继发送一初始代码字和一格式字。此系统的第二种形式发射器首先发射一系列代码字和随后的格式字序列,其中代码和格式字在发送期间不变更它们各自的值。
因此本发明的主要目的是提供一采用由遥控发射器接收命令的控制器的安全系统,它利用以发送由按其格式字定义的方式播散的固定位组和跳动位组所组成的播散代码字实现的高安全性通信。本发明的目的是提供一使这一系统的控制器能了解至少一具有特定跳动代码、格式字和识别码的发射器的学习模式,来贯彻应用播散代码的传送和由其接收命令。本发明的另一目的是使具有主固定码格式字的控制器了解来自一不发送格式字到此控制器的遥控发射器的格式字、识别码和跳动算法。本发明的再一目的是使一遥控发射器将其格式字和其起始代码字先后发送给一控制器供此控制器学习此格式字、起始跳动代码和识别码以便随后在其间进行操作。本发明的一个目的是使一遥控发射器传送给一控制器其格式字及其初始代码字供此控制器了解格式字、初始跳动代码和识别码以便随后进行在它们间的操作。本发明的又一目的是为提供克服上述现有技术安全系统中所有的缺陷的安全系统和提供与报警控制器的遥控通信中更高的安全水平。结合所列附图阅读以下说明将会理解本发明的这些和其他目的。本发明人寻求的保护可由对所附权利要求仔细阅读掌握。
对所列附图的简要说明:
图1为按照本发明的安全系统的主要功能部件的方框图;
图2为说明固定码、通常的代码跳动和被播散的代码跳动传送的时序图;
图3为利用本发明的通常的播散代码跳动实施方案的系统遥控发射器操作的流程图;
图4为利用本发明的通常的播散代码跳动实施方案的系统控制器RF输入操作的流程图;
图5为利用本发明的主固定码播散码跳动实施方案的系统发射器操作的流程图;
图6为利用本发明的主固定代码播散代码跳动实施方案的系统控制器RF输入例行程序的流程图;
图7为第一专用系统遥控发射器学习程序的流程图;
图8为第二专用系统遥控发射器学习程序的流程图;
图9A和9B为利用型式1遥控发射器的系统控制器学习例行程序的流程图;和
图10A和10B为利用型式2遥控发射器的系统控制器学习例行程序的流程图。
优选实施例的说明
图2(A)和2(B)说明用于固定的和通常的代码跳动系统的位组结构。图2(C)表示代码字的播散码跳动传送。代码字含有数个固定位和数个跳动位。在整个本说明中述语“固定代码”与术语“固定字”将作同义词应用。各固定字其中至少有至少一固定的数据位。在整个说明中术语“跳动代码”与术语“跳动字”将作同义词应用。术语“跳动”可与“更换”、即“改变”相交换地应用一相同的意义。各跳动字其中至少具有一跳动、即变更数据位。另外在整个此说明中还采用术语“代码字”。这一术语其中包含有跳动字和固定字。固定和跳动字均为代码字的一部分,在代码字中每一个均不单独应用。
播散码跳动遵循通常的代码跳动的所有原理,加上它播散、即交错固定码和跳动码来构成代码字。这样,固定字的固定位和跳动字的跳动位不与它们各自的字分离而被加以缠结或混合或播散来构成播散代码字。作为一例,结果得到一代码字具有一固定位、后跟一跳动位、再后面为二固定位、再跟五跳动位、后跟一固定位……。
播散代码跳动系统采用二或更多组固定码和至少一或更多组跳动码,或者二或更多组跳动码和至少一或更多组固定码。这些组中的每一个具有一或多个位的长度。每组中位数较少的组越多就越难破译、即越难整理较短的代码字。以较少位传输越短越利于接收,因为它用于传输所需的时间周期越短。每次传输所需的时间周期越短,传输中产生中断的RF、即电气干扰的机会越少。
在本发明的通常的播散码实施方案中,一格式字和一跳动算法被预编程进系统遥控发射器和系统的控制器。这一跳动算法可由一数学算法组成用于为每次远地传输产生跳动字。格式字使遥控发射器的编码器能以播散的预定的布局排列代码字,其中固定和跳动码被分隔并相混合。它还使控制器在接收代码字期间能整理和分开固定的和跳动字。
本发明的另一实施方案利用一固定码方法,其中固定码的一部分也可作为给定所有固定的和跳动代码组的数目、顺序、和长度的算法的一部分。此外,它还能含有一序号、即识别码,使得编码器和译码器能利用一查找表来设定固定和跳动代码组的数量、顺序和长度。此查找表也可以是一数学算法。
播散固定和跳动码的另一可行的实施方案或方法是在发射器学习例行程序间由编码的发射器发送代码播散算法/格式字和含有固定码字及跳动码字的代码字。这些发射器在它们之间各自均为不相同的。代码字内位的总数各发射器均不同。报警的译码系统学习系统算法和/或格式字来确定固定和跳动位在代码字之内的位置。这要求发射器具有输入一将最先发送系统算法和/或代码格式字的例行程序或学习模式的能力。格式字指定发送器代码字的哪些位是固定的(序号和通道标识),哪些位是跳动、即变更的,跳动算法和所有位的位置。最后,格式字也可含有系统所用的跳动算法。来自此发射器的接续的发送周期包含规定的带有播散的固定码和跳动码的发射器代码字,从而报警的译码系统能对由遥控接收器接收的代码字进行译码、即整理。
这一专用播散码跳动发射器的另一种型式是交替地发送格式字和通常的发射器代码字。采用这一型式的发射器,格式字和发射器代码字由报警系统在一传送周期内获悉。刚收到的格式字被用来对固定和跳动码在它们被接收到时加以分类。这二种专用播散码跳动发射器均需要一不同的同步位供格式字用于在格式字和通常的发射器代码字之间进行区分。
图1表示本发明安全系统的主要功能部件的简化方框图。在此优选实施例中,这种安全系统被用于保护一车辆。但本发明的系统可用来保护如房屋、建筑等的其他地区。此安全系统一般涉及操作人员与系统控制器35之间的交互作用来控制、运用和激活各种系统操作功能和系统的特点。此优选实施例系统包含有射频(RF)遥控发射器25和控制组件29。控制组件29包含一通过天线31接收数字编码信号的RF接收器33。此信号是由遥控发射器25通过其天线27发送的。控制组件29中所配备的系统的其他部件包括控制器35、功率电源39、RF电源RC滤波器41、译码器(未用图示)和一外部可作电编程和易擦抹的只读存贮器EEPROM37。另外,在控制组件29之外还有各种传感器,包括、但不限于冲击传感器43、场干扰传感器45、和玻璃破碎传感器47。这里将输入的数字信号代码称之为代码字。它或者被直接送至控制器35进行译码,或者在另一种方案中被提供给系统集成电路译码器(图中未示出)对代码字进行译码、即整理来提取和提供随后被送到控制器35执行的正确的通道输出。由按压、即启动遥控发射器25的开关对语言的译释是执行用户/操作员所希望的特定命令。
此优选实施例系统给用户提供了使用多种系统硬件产生状态和报警输入的机会。这些输入表示在控制器35的左侧。这些输入传送地区安全的违犯和/或提供系统命令至控制器,如下述。系统硬件可包括、但不局限于程序开关、跨接线即跨接插脚、随动开关、点火开关、和/或无数的传感器。
大部分命令在车辆正常运用期间均被传到控制器35,例如接通或断开点火器,和打开或关闭车蓬、行李箱、或车门。操作人员、即用户手中的遥控器25可发出/传送运行的、运行功能编程的、系统的、和运行测试命令至控制器35。这些命令由被组合成一预定的序列来构成传送到控制器35的代码字的数据二进制位流表述。此代码字可含有遥控发射器25的固定的序号、识别码、通道识别位、反扫描位、同步位、算法位和/或一特定系统或应用所需要或希望的任何其它信息。这些遥控发射器25代码字在遥控发射器25处加以组合以传送特定命令给控制器35。
本发明优选实施例使由遥控发射器25发送的代码字以变更其跳动字的二进制值来改变每次传送时的二进制值。本发明还使代码字采用一具有许多位的固定字,它在字与字之间、每次传送之间均固定而不改变它们在代码字中的二进制值。它还设有具有许多位的跳动字,它随每次传送跳动、即改变它们的二进制值,以此来防止潜在的入侵者使报警系统无效、即解除其防御能力。最后,本发明使固定码位与变更、即跳动位相交错、即播散分布。这使潜在的窃贼或入侵者很难进行整理操作,因为他们将不知道代码字中哪些是固定位哪些是跳动/变更位。从而潜在的窃贼就不能预测、即破译代码字因而无法给系统发送正确的代码字来使之失效。
在整个本文中用语“跳动”将是可与用语“变更”交换应用的。二者均具有改变二进制值的相同涵意。在整个本文中用词“播散的”将可与用词“交错的”交换使用。此二术语具有相同的涵义,即将固定的和跳动的代码位布置或相混杂地、即不分隔地配置,其中一些固定位为某些跳动位所包围、即位于它的邻近,或者相反。
在本发明一优选实施例中,包含有其跳动算法、其固定和跳动位的分配位置、其安全识别符、通道识别符等的遥控发射器25代码,由遥控发射器25编码器制造者、遥控发射器25制造者、安装部门、或用户进行起始编程预置在遥控发射器25中。
本发明的此优选实施例用于汽车安全系统中。此优选实施例中,车用电池及相关的滤波器和调节器给控制组件29提供电源。此电池提供额定12.6VDC电源至全部功率输入端以控制组件29。功率电源39对电源进行滤波和调节以提供控制组件29各部件所需的5V或12V。RF接收器33的电源还经附加的电阻和电容(RC)滤波器41作进一步隔离和滤波。遥控发射器25由3V锂电池(一个或几个)或者由9或12V的微型碱电池作正常供电。
在此优选实施例中,遥控发射器25如图1所示提供脉宽调制(以后称PWM)射频(后称RF)信号,其中RF载波由来自一内部编码器积分电路(未图示)的脉冲以某一预定频率调制(以可变脉冲宽度断和通)。此编码器产生二进制数字代码而各脉冲的脉冲宽度确定代码是0还是1。虽然此实施方案采用PWM技术由遥控发射器25发送代码数据至控制组件29,但其他传送技术也可同样运用。这些技术的一些包括脉冲位置编码(PPC)、移频健控(FSK)、曼彻斯特编码等。
图2为遥控发射器25中的编码器所产生的数据信号的时序图,此数据信号利用脉宽调制RF信号被发送到控制组件29。这些信号由RF接收器33接收、放大和检测并被发送到控制器35进行译码。
图2中,所有代码字被分成为多个组。图2表明仅为用着说明的总共7组。本发明的实际应用中可以有较多或较少些的位组。这些组的长度可在1至n位之间改变。
此优选实施例中,遥控发射器25机械操作的开关、即开关装置的每次动作产生、即启动一由遥控发射器25向控制组件29的多个相同的代码字的传送。这些代码字由作为不传送数据或信息的死时间期间的间隔分开。优选实施例的间隙接近等于传送此代码所需的时间周期。在此优选实施例中此代码是36位长。因此在同步位至顺序代码字的同步位之间的时间为73位的周期。间隙可短至2位和可长至2或较多个完全数据代码字。在传送的占空周期无关紧要的国家中的一些系统根本没有任何间隙。间隙时间被用于适应一定的通信规则,这些规则可以是因地点不同而不同的并可能随被选择来组成本发明装置的部件而改变。本说明的读者可到他们的本地图书馆来研究监管通信的政府机关所提供的标准和规则。间隙可由零改变到n毫秒。通常的播散/交错码跳动的说明
此播散的/交错的代码跳动系统利用2或更多组固定码和1或更多组跳动码,或者2或更多组跳动码和1或更多组固定码。在本发明整个说明中,术语“跳动代码”等同于术语“跳动字”和术语“固定代码”等同于术语“固定字”。各组可以具有1或多个二进制位长。较多的位组使每组的位数能较少。以非常短的位组,就更难以破译较短的代码字。以较少的位作较短的传送也使得能作较有利的接收,因为传送所用时间周期较短,并以较少的位来由系统控制器35作出正确性和安全性分析,因而发生传送差错的机会较少,传送周期较短,发生使代码字传送恶化的RF、电气等的干扰的机会也较少。发射器操作
在此优选实施例中,遥控发射器25和控制器均得以使用一定义此特定遥控发射器25的固定和跳动位的位置的格式字。在此实施例中,跳动算法和格式字必须始终为遥控发射器25的编码器(未图示)和控制器双方了解。这是必须的,因为编码器发送被跳动算法修改n次的跳动字,其中在每次遥控发射器25发送一代码字到控制器35时,跳动算法即修改自遥控发射器作的最后一传送周期的先前的跳动字。控制器35在通过其固定字接收和识别遥控发射器25的身份后,检取由该特定遥控发射器25发送的最后的跳动字和对此最后接收的跳动字运用此同一跳动算法。结果得到相同的或相符合的二进制数值,它给控制器35提供一信号触发、即授权执行系统命令,例如由遥控发射器25发送的准备或解除该命令或通道起用。因此,遥控发射器25的一n次修改跳动字将符合(具有相同的二进制)一由控制器35接收的m次修改的跳动字,其中n和m具有相同的数值并分别表示由遥控发射器25产生一新跳动字的次数和控制器35由此特定遥控发射器25接收到一新的传送的次数。
图3为通常的播散/交错码跳动遥控发射器25的操作流程图。每次遥控发射器25一开关(未图示)被按压和/或被启动时,即由执行存贮在遥控发射器25中的预定的跳动算法产生一新的跳动码。在此优选实施例中,此跳动算法为一数学公式例如乘法或加法器或减法器。在其他的实施例中跳动算法为一伪随机数发生器。而在另外实施例中,跳动算法则是含有一系列二进数字的查找表。此跳动算法对存贮在遥控发射器25的一历史寄存器中的二进数进行。此数也被存放在控制器35或EEPROM37中。在执行跳动算法后,新跳动字被存进历史寄存器供以后对其检索和操作。此跳动代码算法在每次传送之前对历史寄存器的最后的字进行(步骤201)。
在此优选实施例中,传送开始前,代码字以同步位开始被装载进输出移位寄存器(步骤205)。接着,代码字以在固定和跳动或者跳动和固定代码组之间交替地被加以装载(步骤207~213)。装载一个位(步骤207),编码器即检查这是否是如格式字中所定义的是这一代码组的最后一位(步骤209)。如果不是,编码器即返回到207装载另一位;但如果它是最后位,编码器即前进到211,在此编码器取决于前面的组由固定组变更到跳动组或者由跳动组到固定组。下一步是确定这是否是代码字的最后一代码位(213)。如果不是,编码器进到207;而如果是,编码器进到215。当输出寄存器完全装载时,编码器进到一延迟循环以等待间隙完成(215)。设定一间隙定时器使其如间隙时间所规定地向下计数/减少计数时间。
当间隙字时钟终结时(215),整个代码字顺序地移出(217)以利用编码器的预定时钟定时周期驱动遥控发射器25的RF输出部分。此输出驱动遥控发射器25中的RF输出振荡器/输出晶体管(未图示)。这产生可由控制组件29的RF接收机33所检测接收的RF信号。
自各个位顺序移出(217)开始,编码器检查每一位是否是此字中最后位(219)。如果不是,编码器回到217移出下一位。如果是,将间隙定时器设置到满足系统需求所需的时间和/或然后开始处理下一代码字所需的时间(221)。如果遥控发射器25的按钮被释放、即撤消,则遥控器25停止运行(233)。然后遥控发射器25闲置、即完全切断直至一个或更多个遥控发射器25按钮再次被按压、即激活。控制器操作
图4表示用于播散代码跳动系统的控制器35输入例行程序和程序的流程图。被发送的代码字由控制组件29、RF接收机33处理以便给控制器35提供逻辑0或逻辑1的数据电平。控制器35可利用数种方法处理来自RF接收机33的输入脉宽数据。一个实施例采用频率检查法,在此,控制器35频繁地检查其输入是否出现有来自RF接收机33的RF数据。这可是每5到10微秒一次地进行,依控制组件29和遥控发射器25的位数据速度而定。这是数据传送可能的速度的一个限制因素。另一限制因素是遥控发射器25输出的上升和下降时间和RF接收机33上升和下降时间的能力。另一实施例中使RF输入在每次数据成为高以及每次数据再成为低时产生一对控制器35的中断。这是一较有效的利用控制器35的方法并需控制器35的时间少得多,因为它不再要求控制器35不断地检查RF输入。此二方案均同样有效。
控制器35的要求之一是确定在逻辑0时RF输入多长和在逻辑1时RF输入是多长。在此优选实施例中,代码字长度是73位的周期,这里每一位的延续时间接近1.35msec。此优选实施例的代码字包括同步位的一个位周期,36代码位的36个位周期和间隙的36个位周期。本发明的此优选实施例采用本技术领域内公知的脉宽调制技术。代码字的同步位以一逻辑1输入跟随间隙之后。这后面跟随36代码数据位,其中位的占空比确定它为逻辑0还是逻辑1。一位周期在前一位的下降沿处开始。逻辑0由一具有位周期1/3低后随2/3高的占空比的位表示,而逻辑1则以一2/3低后随位周期的1/3高的位表示。36代码数据位之后跟随等于36个位周期的作为死周期(不发送数据)的间隙。在另一些实施例中,代码字可按应用情况而定在2至n位之间变化。
图4为播散/交错代码跳动控制器程序的流程图。此优选实施例中,控制器35首先检查跟随间隙的同步位(步骤301和303)。当输入成为高(步骤301)时,控制器35等待此高输入变到低并检查此位高周期是否近似等于整个位周期的1/3和其前面是否至少有数个低输入的位周期。如果它是有效的同步位,则装载来自字格式寄存器的第一位(步骤305),以确定此输入位是固定的还是跳动位。在307,确定对跳动寄存器设置标志/指针(309),如果格式字的位是逻辑0的话;或者如果此格式字位为逻辑1则设置对固定寄存器的标置/指针(311)。在此优选实施例中,这些操作是在输入位的低周期进行(步骤313),在此,控制器35等待直到此位为高并再次成为低表明此位传送完成。如果此位周期太长或太短,则此位无效、即出错,控制器35即退出RF输入例行程序(步骤315)。在317,控制器35检查输入代码位的占空比以确定是逻辑0(1/3低后随2/3高)还是逻辑1(2/3低后跟1/3高)。依据309或311中设置的标记/指针,将0移位进各自的固定或跳动码寄存器(319),或者将1移位进各自的固定或跳动码寄存器(321)。在323,控制器35确定这是否是字的最后位。在一个实施例中,控制器35以对接收到的位进行计数来确定最后位的出现。在另一可行方案中,控制器35检查其输出处的一被延长的实际的低电平。如果这不是最后位,则重复305至323直至代码字接收完成。
当完成了代码字的接收时,将代码字的固定码部分(固定字)与所有被编程的遥控发射器25进行比较(325)以确定这是否是一被编程进系统的遥控发射器25。此优选实施例中,对被编程的、即授权的发射器的识别由比较它发送到控制器35的固定的/或跳动码来完成。当控制器35将固定码字部分与其存贮器EEPROM37中的所有固定字进行比较时,它确定所接收到的固定码是否是由被授权来控制、即操纵此报警系统的遥控发射器25所发送的。
取决于实施方案,固定码部分可不含有、含有一部分、或全部的遥控发射器25的序号、即识别码,其中此识别码对各遥控发射器25是专有的并由制造者编程或由用户指定。在代码的固定部分内设置部分或不设置遥控发射器25的序号、识别码的实施方案中,余下的序号可被包含在代码字的跳动码部分(跳动字)中。如果控制器35符合其存贮器装置如EEPROM37的遥控发射器25的固定代码字,则在327由装载跳动码历史寄存器来开始检查跳动码的过程,该历史寄存器含有由此特定遥控发射器25的最后发送接收到的最后的跳动码部分。在329,控制器35执行包含在或由代码字的固定部分或者也可能是预先指定给控制器35和遥控发射器25的跳动算法。此算法对已经存放在历史寄存器中的代码字的跳动码部分进行。算法执行结果被暂时放在工作寄存器中。然后在331将新接收的、即最后存放在跳动码寄存器中的跳动码部分与工作寄存器中的所得的字相比较。在二字不相匹配时,在333控制器35返回到329对工作寄存器中的字再执行此算法和将结果与所收到的代码字相比较。在此优选实施例中,控制器35为搜索匹配将进行此过程最高达50次。在另一实施例中此过程可重复1到X次。这是必须的因为遥控发射器25可能已被偶然的超出控制器35的范围启动。如果遥控发射器25在系统范围之外被启动。此50步搜索应当足以赶上遥控发射器25。如果在333是第50次比较,跳动码寄存器即被转置进历史寄存器,此后控制器35退出例行程度并等待下次传送。这提供再同步、即与下一传送匹配的能力,因为虽然在50次比较之后匹配是不太可能的。
如果在331,跳动码数据相互匹配,控制器35即在337检查这是否为第二次比较。此第二次比较在此优选实施例中被用作为一辅助安全措施。在替换实施例中可采用更多或更少的比较。在控制器35未寻找到二个有效的比较的情况下,它将退出RF输入例行程序以等待输入第二个正确的字。在此优选实施例中,此二次匹配的跳动码字将被存贮在跳动码历史寄存器中(339)。此后,将执行指定传送这一代码字的命令(341)。然后控制器35返回到取决于在341所执行命令的正常程序。遥控发射器和控制器的编程
发射器25至控制器35的编程是唯一的。本发明一实施例采用主固定码遥控发射器25。另一实施例采用二专用发射器。这些实施例将在本说明的以下部分讨论。下面讨论这些实施例的编程,它们的流程图见图5、9和10。
不管所采用的实施例如何,对于一般的代码播散,发射器25和控制器35二者均必须采用同一格式字、初始跳动字和跳动算法以便正常运行。一实施例中,编程进一特定报警系统和控制器35的发射器25由预定的系统输入操纵加以初始化。以操纵遥控发射器25的用户控制开关可由一单个的遥控发射器25激活多个通道或命令。系统通道控制由控制器35执行的和由用户/操作人员通过遥控发射器25启动的特定命令。系统29的各个特定的通道,如图1中所示,以同一遥控发射器25分开地编程。因此,系统29将响应所有的遥控发射器25通道启动和命令。在本发明的优选实施例中,对每一通道编程有一独立的遥控发射器25的识别码。在其它一些实施例中,遥控发射器25的识别码可被编程一次以便将所有遥控发射器25通道编程进系统中。
一旦控制器35进入学习模式,它就接受来自发射器25的正被编程的格式字并接受一将与此发射器25特定的识别码相关连的起始0次修改的跳动字。控制器35还可能由发射器接受一跳动算法。下面还将讨论控制器和发射器编程的其他实施方案和示例。主固定码跳动的说明
播散/交错传送的一较先进途径是利用主固定码。在一实施方案中,主固定码可含有规定所有固定的和跳动码组的数量、顺序、和/或长度的算法的一部分。主固定码还可含有一序号,它使控制器35能利用一被保存在能为控制器35访问的或为其局部应用的存贮器装置如EEPROM37中的查找表,来设定所有的或部分固定的和跳动码组的数量、顺序、和/或长度。在另一实施例中,此主固定码可以是跳动算法、即一数学算法的一部分,这里,此算法是为控制器35所了解的。主固定位必须在代码字中预定的位置以便控制组件29的译码器或控制器35能读取发射器25的序号或隐藏代码(算法)。控制器35必须有能力来学习主固定码、存贮它们、辩识正确的学习码,以及如果丢失同步时能对学习代码再同步。主固定字代码系统操作的理论
在本发明的通常的播散码跳动实施方案中,以跳动字和固定字传送代码字。代码字如上述被加以播散、即交错。为控制器35的译码器识别和分类哪些是固定位哪些是跳动位,将格式字提供给控制器35。它指引、即引导代码字的输入位进到控制器35本地的或者固定码寄存器或者跳动码寄存器。在上面讨论的实施例中,格式字由制造者或用户编程。但为达到更高层次的安全性,本发明此实施例提供发射器之间和系统之间均不同的格式字。主固定码技术的优选实施例下面即将讨论并如图5中所示。
主固定码是遥控发射器25所发送的全部的固定位的一部分子集,并是由制造者作为36位长的代码字的一串12位设置的。主固定位在其他实施例中可在1至n位的范围内,其中n小于代码字长。主固定码位置被以主固定位格式字编程在一能为控制器35访问的存贮器装置例如EEPROM37中。为运行系统和由遥控发射器25接受命令必须确定其余固定位和跳动位的位置。
为该控制器35提供用于特定遥控器25和控制器35格式字,由预定的对它们输入的控制设置进一例行程序,即学习格式。当遥控发射器25被按压其中的按钮序列所激活时,代码字被传送到控制器35。控制器35将主固定码位和含有某些固定的和某些跳动位的未知位加以分类、即指导进主固定码和未知码寄存器。然后控制器35对未知码寄存器中的位进行预定的和被编程的主固定算法。此算法可具许多种之一。在一实施例中,主固定位为对存放在EEPROM37或可为控制器35访问的存贮装置中的数的乘数。另一实施方案中主固定算法为其中具有许多二进制数字的查找表。再一实施方案中主固定算法是一伪随机数发生器。这一算法的结果然后与主固定码位相结合使得此主固定位保持它们在代码字中各自的位置和二进制值。由格式算法所产生的位连同处于它们原先位置的主固定码位构成一格式字。此格式字的逻辑1位值指示固定位的地址而逻辑0的值指示跳动位的地址。这样,来自主固定码中的格式字由控制器35所确定,是由遥控发射器25提供和发送的。
作为一个示例,一24位代码字中用于主固定码的理论的格式字被设定为000010000010000000100000。应指出的是这一字的主固定码具有二进制值5和主固定码的位为字的第5、第11和第19位。遥控发射器25发送其初始码101110111101111000110101。控制器35了解第5、第11和第19位为固定位。不了解还有多少位是固定的和哪些位是固定的哪些位是跳动的,因为此时这一遥控发射器25没有为控制器35可能用的完整的格式字。为确定格式字,控制器35执行三个步骤。控制器35由从遥控发射器25接收的代码中去除主固定位。在此例中结果字为101101111111100010101。接着,控制器执行由制造者派给它的主固定码算法。在此优选实施例中此主固定码算法利用主固定码作为其算法的一部分。作为利用主固定码作主固定码算法一部分的一实例是利用此主固定码的二进制值作为一乘数或其中带有二进制字的查找表中的指针。结果字(在进行主固定码算法之后)可能是110111000111101011001。下一和最后步骤是将主固定码位再插入这个字得到:110111101001111010111001。这就是将给预控制器35具有指明、即分类固定和跳动码的能力的格式字。每一逻辑1表示代码字中固定位的位置而每一逻辑0表示代码字中跳动位的位置。这一格式字连同普通的发射器代码字一起存放在存贮器中供以后检索。下面即详细讨论图5中以流程图表示的主固定码技术的操作。主固定码控制器学习例行程序
图5的流程图中,控制器35等待要由遥控发射器25接收的完整的位(401)。确定所接收的位是否是一正确的同步位(403)。如不是,则控制器35退出RF输入例行程序等待另一位。如果它是一正确的同步位,控制器35顺次地由主固定码字格式寄存器每次一位地装载以便提供主固定码位在代码字中的位置(405)。这提供输入的主固定位和未知位(对控制器35尚不知道的固定和跳动位的位置)的地址和分类。控制器35检查主固定码格式位的逻辑值(407)。如果它是逻辑0,控制器35将此标记设置到未知寄存器(409);而如果它是1,控制器35将标记设置到主固定码寄存器(411)。控制组件29等待输入代码字的输入位完成(413)。当其完成时,控制器35检查它是否是一有效数据位(415);如果它不是,系统退出RF输入例行程序等待接收到另一RF字。如果此位是一有效数据位(此位不太长或太短),控制器35检查位的占空比以确定此位是逻辑0还是逻辑1(417)。如果此占空比处于可为逻辑0的占空比定时之内则在419将一0装载或移位进由主固定码指引的移位码寄存器(固定码寄存器或未知的跳动码寄存器)。如果此占容比处于可为逻辑1的占空比定时之内,则在421将1装载/移位进位移代码寄存器。在423,确定这是否是此代码字的最后位,如果这不是即重复405至423直到它是。
在此优选实施例中,作为一保证措施,整个输入代码字被传到系统直到此系统具有比较所接收的代码字4次的机会这样的时刻。这对所编程代码字被正确地接收提供附加的保证。主固定码与前面接收的固定码相比较(425)而如果不相符,RF输入例行程序退出以等待另一RF输入字。如果代码数据相匹配,将未知代码数据与先前接收的未知代码数据相比较(427),而如果不相符,RF例行程序即退出。在此优选实施例中,进行4次比较。其他的实施例中可能进行1至n次比较。如果未知数据相符合,即对一数据相符寄存器(未表示)进行增量并检查确定这是否是第4次正确比较(429)。如果它不是第4次正确比较,控制器35即退出以等待另一RF代码字。
当第4次比较正确时(429),即在431利用主固定码算法来确定完整的字格式(整个的固定和跳动位序列、位置、和计数)和/或跳动算法。如整个本说明中所述,此主固定码算法可以是包括数学公式或查找表在内的多种中的一个。总的说,主固定码算法必须提供一与这一算法所对之进行的二进制字不同的二进制字。在此优选实施例中,主固定码被与主固定算法相配合利用。作为举例,如果主固定码的二进制值为5而主固定码算法为一简单的乘数,则所接收的代码字将以5乘。在另一例中,如果主固定码算法是伪随机数发生器而主固定码字值为5,则此伪随机数发生器将被执行5次。本发明的另外的实施例中主固定码不是跳动算法的一部分。
在433,如果各遥控发射器25均具有专一的跳动算法,就将格式字和固定的及跳动字连同跳动算法一起存在EEPROM37中。在435,用户/操作员被可闻的和/或可视信号通知,遥控发射器25的代码已被接受和编程进存贮器,之后控制器35退出RF输入例行程序和等待其中另外的遥控发射器25被编程或者等待遥控发射器25的编程例行程序退出。主固定码系统控制器操作
图6为使控制器35能识别主固定码跳动遥控发射器25的流程图,遥控发射器25被编程进系统而因此被授权、即能够操作报警系统。这种操作与通常的播散代码操作之间的关键差别之一在于,代码字首先被输入放进代码寄存器,然而在分类进固定和跳动寄存器。这是必须的,因为对每一遥控发射器25格式字均不同。因此,控制器35必须首先识别发起此传输的专用遥控发射器25,而后引用该特定的遥控发射器25跳动码以便破译其代码字。为实现对发送命令的特定遥控发射器25的识别,代码字在检查跳动码之前可能需要被存贮数次和与来自每一遥控发射器25的被存贮、即被编程进控制器35的固定码进行比较,直到达到符合。在此优选实施例中,首先检查最近被用的遥控发射器25,因为它可能是使用车辆的用户最多发出此特定的传送的。如果未找到相符合,即检查下一最近用的遥控发射器25并重复这种周期直到寻找到符合或者所有被编程的发射器25均被检查为止。在此优选实施例中,如果被编程的遥控发射器25的代码一经相符合,则在553设置控制器标记以使以后将仅检查该遥控发射器25,直至第二代码相符合或者传送停止。此优选实施例使效率得到改善。因为一不可靠的、即错误的传输将不会破坏最后正确接收到的字的次序而无需控制35在501重新开始此过程。
在图6中的501,控制器35等待到接收到完整的位。而后在503,检查确定它是否是一有效代码字同步位。如不是,控制器53退出RF输入例行程序等待一新代码字起头的正确的遥控发射器25的代码字同步位。如果它是一有效同步位,则控制器35在505等待接收到一完整的数据位。在507,控制器35检查所接收的位是否是有效数据代码位。如果不是,控制器35即退出RF输入而等待开始一新字(501)。如果该位有效(此位不太长或太短),则在509控制器35检查位的占空比以确定此位是逻辑0还是逻辑1。如果此占空比处于可作为逻辑0的占空比定时内时,则在511将0装载(移位)进代码寄存器。如果占空比处于可作为逻辑1的占空比定时内,则在513将1装置(移位)进代码寄存器。在515检查确定这是否是这一字的最后位,如果不是即重复步骤505至515直至接收到一完整的代码字。
当接收到一完整代码字时,一次一位地装载最近应用的遥控发射器25的格式字(517)以便用于将刚接收到的代码字移位进固定和跳动码寄存器与被编程的遥控发射器25进行比较。在519,利用字格式寄存器中的一个位,如果它是逻辑0的话设置到跳动码寄存器的索引(位移)(521),而如果它是逻辑1的话则设定到固定寄存器的索引(523)。将最近接收到的码数据一次一位地进行比较(525),并如格式字所指引或分类的被装载/位移进被指引的固定或跳动码寄存器(531)。在533,检查确定这是否是这一字的最后位,如果不是即重复507至533直到它是为止。
此优选实施例中,接收到一代码字后,此代码字即由采用最近应用的发射器的格式字被完全地位移、即分类进它们各自的固定的和跳动寄存器。在537,取决于制造者的选择,将固定码或识别码或序号与最近应用的被编程的遥控发射器25的固定码相比较。这提供后进先被应用的排列。如果识别码不相匹配,则在539检查确定这一代码在这一传送中先前是否是成功匹配的(设定标记)。如果设定有标记或者这是最后一被编程的遥控发射器25,则退出RF输入例行程序等待来自此遥控发射器25的第一次传送的另一代码字,因为已认定前面的传送是不正常的或者是由未经授权的遥控发射器25发出的。
如果遥控发射器25先前不匹配因而未设置标记,或者它不是最后被编程的遥控发射器25,则装载下一个先前应用的遥控发射器25的格式字(535),并对刚接收的代码字进行新的分类,此代码字在其接收后已被存在代码寄存器中。经过步骤517至537将其与这一被编程的遥控发射器25加以比较。如果在537作出了正确的比较,则在541将跳动码历史寄存器装载进工作寄存器以便在543对其执行代码跳动算法之后与刚接收到的跳动码数据进行比较(505)。本发明的一实施例中,跳动码采用代码字的一或多个固定位。如果此数据不匹配,在547检查确定这是否是第50次不正确的比较。如果它不是第50次不正确的比较,即再次进行代码跳动算法(543)和再作数据比较(545)。如果是第50次不正确的比较,跳动码寄存器即被转移进跳动码历史寄存器545,以后控制器35退出RF输入例行程序等待来自此遥控发射器25的新的传送。这使得遥控发射器25发送到控制器35的代码能重新同步。如上述,这种情况是可能的,因为遥控发射器25可能超出控制组件29的运行或接收范围被激活。
如果在545跳动码是与控制器35产生的字相匹配,则在551检查确定这是否是第二次正确比较。如果不是第二次正确的比较,是在553设置标记,以使得这将是此传送期间被检查的仅有的遥控发射器25。另外,如果在553设置了标记,系统即退出以等待来自遥控发射器25的另一被传送的代码字。如果这是第二次正确比较,则将跳动码寄存器存贮进跳动码历史寄存器(555)。在557执行由此遥控发射器25的命令所指定的操作和在559将标记复位,此后控制器退出相应的操作例行程序。第一遥控发射器的操作
图7为二互不相同的播散代码跳动遥控发射器25中的第一个的操作流程图,图8为第二个互不相同的播散代码跳动遥控发射器25的操作流程图。这些遥控发射器25是互不相同的,因为控制器35没有被进行预编程且没有任何发射器25的格式字或字长的信息;因此遥控发射器25必须在学习例行程序期间发送其格式字到控制器35。如上述,此优越实施例中,这是由去除其电池或由遥控发射器25的控制开关的一预定操作将遥控发射器25复位来完成的。在此实施例遥控发射器中,以在其中设置一标记来指明必须将其格式字发送到控制器35。
在此优选实施例中,如图7中所示,类型1的专一遥控发射器25在被复位后,将在一或多个传送周期仅传送格式字。此周期数可在发射器25译码器的制造时确定而不是本发明的运行可按排的。传送周期的数目可从1至n改变,取决于制造者的偏好和应用的需要。当复位标记打开时此传送周期数被装载进遥控发射器25的传送周期计数器。这一格式字将含有在代码字中固定和跳动位的位置。此优选实施例中,格式字被其与代码字的同步位不同的特定的同步位从代码字分开、即区别开。在此优选实施例中格式字的同步位将具有等于2/3位周期长的高期间而不是正常的1/3。
在图7的601,检查确定复位标记是否打开。如果复位标记未打开,遥控发射器25前进到图3中的201以进行通常的遥控发射器25的代码发送。如果在601复位标记为有效,格式字(如以上选取或编程)将被装载进遥控发射器25的一输出移位寄存器(603)。在605将检测确定间隙定时器是否已到期,如果没有就建立等待循环直到定时器时间尽。当此定时间到期时,即一次一位地顺次移位出同步和代码位来驱动遥控发射器25的RF传送部分(607)。在609检查确定这是否是码字的最后位,并在这一代码字结尾设定间隙定时器和重新启动(611)。在613检查确定遥控发射器25控制开关是否被释放。如它未释放,重复605至613直至开关释放为止。在615,当开关释放,将传送周期计数器减量并检查是否为数字0值,如果它不是0,遥控发射器25截止而不消除复位标记。如计数器为0,则在617,遥控发射器25截止前消除位标记。第二遥控发射器的操作
图8中表示第二专一的播散代码跳动遥控发射器25的编码器的流程图。这是类型2遥控发射器25。这一遥控发射器25如上述,在发射器被复位后的一或数个传送周期期间交替地发送代码格式字和通常的遥控发射器25的代码字。这设置复位标记,并启动对这一遥控发射器25的学习例行程序。代码格式字将具有一带等于2/3位周期的高时间期间的同步脉冲,以使得控制器35能区分开代码格式字和通常的遥控发射器25的代码字。这是防止遥控发射器25的学习例行程序期间字间交杂所必须的,因为不正确字的传送可能使控制器35失去与遥控发射器25的同步。没有不同的、即可加以区别的同步位,一格式字可能被看作为遥控发射器25的代码字,或者此格式字因此交扰、即搅乱实际的遥控发射器25的编程。
在图8中701,编码器检查复位标记是否为有效,如无效则遥控发射器进行正常的操作(201)。如复位标记被建立,则在703编码器将格式字同步位和代码格式字装载进输出移位寄存器。当寄存器完成装载时,在705编码器检查间隙定时器是否已完成其周期,如未完成编码器即进入一等待循环直到间隙定时器到期。在定时器时间结束时,编码器开始位移出代码字到遥控发射器25的RF部分(707),它将代码字传送到控制组件29或控制器35进行译码。在709,编码器检查是否已发送出字的最后位,如果还没有,编码器返回到707位移出下一位。在此优选实施例中,如果它是代码字的最后位,就将间隙定时器设置到一等于所有遥控器25的代码字位的所有位周期的时间并重新启动(711)。在其他实施例中间隙定时器可被设置为由0至n msec。在713,编码器检查刚发送的字是代码字还是格式字以便交替输出的字和它们各自的同步位。如果最后字为一格式字,则将代码字装载进输出移位寄存器(715)。然后编码器进行间隙检查(705)。如果最后传送的字为代码字,则编码器由检查遥控发射器25开关是否被释放来检查确定这是否是要传送的最后字。如果它不是要发送的最后字,即发送未完成,它进到703以装载另一要传送的格式字。如果它是要传送的最后字,则在719编码器检查这是否是要被传送的最后的标记复位传送组。如果不是,遥控发射器25截止而不去消复位标记。如果它是,则在721,在遥控发射器25截止前消除复位标记。利用类型1遥控发射器编程控制器
图9表示以类型1的专一遥控发射器25作播散代码跳动的遥控发射器25编程流程图。二专一遥探发射器25类型均要求控制器35具有一学习例行程序以学习遥控发射器25。在此实施例中,遥控发射器25仅在一预定数量的发送周期内传送代码格式字。类型1和类型2遥控发射器25均具有在多于一个传送周期内发送其格式字的能力由此使一给定遥控发射器25能被编程进多个控制器时隙,而无需在各控制器时隙之间遥控发射器25被复位。这也使得能删除或忽略不再为系统应用的废弃的或失效的遥控发射器25。另外,如果遥控发射器25未能在第一发送周期内编程进控制器35,遥控发射器25就采用此能力来停止传送和重新启动它。
如果无需将遥控发射器25编程进多个控制组件29的时隙而且第一格式字传送已被采纳进系统编程,则遥控发射器25即可被操作人员开动和断开运行周期,直至格式字传送周期完成。这不会带来问题,因为在编程由遥控发射器25传送的字期间,为欲被接纳进格式字寄存器或固定和跳动码寄存器的字的同步位必定是正确的。
在图9的801,控制器35等待接收到一完整位。在803,控制器35检查所接收位是否是一正确的格式字同步位。如果位的高段太长或太短,如可能因R F或接收器噪声或干扰所引起的,则控制器35退出RF输入例行程序等待另一输入。如果此位是一有效的格式字同步位,则控制器35等待接到另一完整的位(805)。在807检查刚接收的位的有效性,如果它无效(太长或太短),控制器35退出RF输入例行程序。如果此位有效(不太长或太短),控制器35即检查位的占空比以确定此位是逻辑0还是逻辑1(809)。如果占空比处在能作为逻辑0的占空比定时内,则在811将0装载(移位)进字格式寄存器。如果占空比处于能作为1的占空比定时之内,则在813将1装载(移位)进字格式寄存器。在815,控制器35检查这是否是此字的最后位,如不是,控制器35将重复805至815直至它成为最后位,此时控制器35将进到817。在817控制器35将刚接收到的格式字与被存放在暂时寄存器中的前先接收的字相比较,以确定是否严格相符合,如果不是,控制器35将退出RF输入例行程序等待由遥控发射器25发送的另一个字。在此优选实施例中如果此字与前面接收的字相匹配,则在819控制器35检查这是否是接收到的第4个正确字。在其他实施例中比较数可在1至n次中改变。如果不是第四正确字,则控制器35检查此遥控发射器25格式字是否已被存在存贮器中(821)。如果此遥控发射器25格式字未被存放在存贮器中,则控制器35退出RF输入例行程序等待发送另一字。如果此遥控发射器25格式字已被存在存贮器中,则控制器35进行到827等待要发送的另一未知类型的同步位,即一格式字或代码字。如果这是第四匹配格式字,则在823控制器35将这一遥控发射器25的格式字存入存贮器并通知操作人员此格式字已被接受存贮进存贮器。在825控制器35在其进到827等待一新的传送开始之前等待遥控发射器25传送终止。
在图9的827,控制器35等待接收到一完整位,在间隙结束输入成为高而后成为低。当位完成时控制器35在829和831检查它是否为一有效同步位,如果它不是有效同步位,控制器35回到827等待发送另一有效同步位。在831,如果它是一有效格式字同步位控制器35即前进到805开始另一格式字的输入。如果在829它是一有效遥控发射器25的代码字同步位,则在833装载上述格式字位,一次一位顺序地或者并行地,以便指引分类和存贮所发送的输入代码字。控制器35在835检查刚被装载的是逻辑0还是逻辑1,和如果它为0时设置索引到跳动寄存器(837)而如果它是1则设置索引到固定寄存器(839)。
控制器35等待接收到另一完整位(841)。检查最后接收到的位的有效性(843),如果它无效(太长或太短)控制器35进到RF输入例行程序的827等待另一个正确的同步位。如果此位有效(不太长或太短)则在845控制器35检查位的占空比以确定此位是逻辑0还是逻辑1。如果占空比落入可作为0的占空此定时内即在847装载(移位)0进索引码寄存器。如果占空此处于可作为1的占空比定时内则在849将1装载(位移)进索引码寄存器。在851控制器35检查此位是否是该字的最后位,如果不是,控制器35重复833至851直到它成为最后位,至此时控制器35前进到853。在853控制器35将最后接收到的固定码与先前接收的固定码进行比较以确定是否严格相符。如果不相符合,控制器35即前进到RF输入例行程序的827等待发送另一字。如果此最后接收的固定码与先前接收的数据匹配,则控制器35将刚接收的跳动码与先前接收的跳动码相比较(855)。如果这代码不匹配,控制器35前进到R F输入例行程序的827等待输入另一遥控发射器25的代码字。在此优选实施例中,如果代码相匹配,控制器35即检查这是否是第四个接收的正确字(857)。在其他实施例中匹配数可由1到n变化。如果它不是第四正确字,则控制器35再回到RF输入例程的827等待发送另一代码字。如果它是第四正确代码字,则控制器35存贮遥控发射器25的格式字和包括固定和跳动码的遥控发射器25的代码字和专一的跳动算法(如果有的话)在EEPROM37(859)。这些字被存放在相连结即相关的存贮器中以便总能保持格式字与其代码字之间的连接。在861控制器35以可闻的和/或可视的输出通知操作人员,遥控发射器25的代码已被接受和存贮在存贮器中。在863,控制器35检查以上的格式字是否为此遥控发射器25的唯一格式字,如果不是则前进到859再对此遥控发射器25存贮遥控发射器25的代码,此后它将再通知操作人员数据已被存贮(861)。如果它是最后一组,控制器35退出对此遥控发射器25的学习例程并等待输入附加的遥控发射器25或产生一学习例程退出命令输入。利用类型2遥控发射器编程控制器
专一遥控发射器25类型2交替地发送遥控发射器25的格式字和通常的遥控发射器25代码字(每隔一字为一格式字再每隔一字为带有固定和跳动码的代码字)。格式字将具有一高期间等于2/3位的同步脉冲使控制器35能将其与代码字区分开,后者具有高期间学于约1/3位的同步位。这样做也是为防止在遥控发射器25的学习例程期间格式字与代码字(或相反)之间字的交错。
在图10的901,控制器35等待接收到完整的位,在间隙结束时输入成为高而后成为低。在903,控制器35检查接收的位是否为正确的格式字同步位。如位的高段太长或太短,如可能因RF或接收机噪声或干扰所造成的,控制器35即退出RF输入例程等待另一次传送。如此位是一有效格式字同步位,则控制器35等待接收另一完整的位(905)。在907,检查刚收到位的有效性,如果它无效(位太长或太短),控制器35退出RF输入例程。如果此位有效(不太长或太短),则在909控制器35检查位的占空比以确定此位是逻辑0还是逻辑1。如果占空比处于可作为0的占空比定时内则在911将0装载(移位)进字格式寄存器。如果占空比处于可作为1的占空比定时内则在913将1装载(移位)进字格式寄存器。在915,控制器35检查这是否是此字的最后位,如果不是,则控制器35重复905至915直到它成为最后位,此时控制器35前进到917。
在图10的917,控制器35等待接收到一完整位,在间隔结束时输入成为高然后成为低。当此位完成时,控制器35在919检查它是否是一有效的遥控发射器25的代码字同步位,如果它不是一有效遥控发射器25的代码字同步位,则控制器35退出以等待输入另一完整的位。如果在919它是一有效的遥控发射器25的正常代码字同步位,则在921一次一位地顺序利用格式字来指引代码字的存贮。控制器35在923检查最后装载的位的逻辑值为0还是1,如果它是0就设定索引到跳动寄存器(925)而如果它是1就将索引设置到固定寄存器(927)。
然后控制器35等待接收到另一完整位(929)。在931,检查刚接收位的有效性,如果它无效(太长或太短),控制器退出RF输入例程等待下一个字。如果此位有效(位不太长或太短),则在933控制器35检查位的占空比确定此位为逻辑0还是1。如果占空比处于可作为逻辑0的占空比定时中则在935将0装载(移位)进被指引的码寄存器(固定码寄存器或跳动码寄存器)。如果占空比处于可作为1的占空比定时内,则在937将1装载(移位)进被指引的码寄存器。在939,控制器35检查这是否是此字的最后位,如果不是则控制器35重复921~939直至它成为最后位,此时控制器35将前进到941。
在941,控制器35将刚接收的格式字与前面接收的格式字相比较以确定是否严格匹配/符合。如非严格相符,控制器35退出RF输入例程等待遥控发射器25输入另一对字。如果格式字相匹配则在943将最后接收的固定码与前面接收的固定码相比较以确定是否存在严格相符合,如果不是,则控制器35退出RF输入例程等待输入另一对字。如果刚接收的固定码与前面接收的固定码相匹配,则在945控制器35将刚收到的跳动码与前面接收的跳动码进行比较。如果跳动码不相匹配,控制路35退出RF输入例程等待输入另一对遥控发射器25的代码字。在此优选实施例中,如果代码相匹配,控制器35即检查这是否是接收到的第四对正确的字(947)。在另一些实施例中,匹配数可为由1至n。如果它不是第四对正确字,则控制器35退出RF输入例程等待输入另一对代码字。如果它是第四个正确代码字组,控制器35即将遥控发射器25的格式字和代码字存入EEPROM37(949)。代码字由固定和跳动码以及一些实施例中的用于遥控发射器25的专一、即特定的跳动算法组成,如上述。在951控制器35以可闻和/或可视输出通知操作人员遥控发射器25的代码已经被接受存贮进存贮器。然后,控制器35退出时此遥控发射器25的学习例程等待附加的遥控发射器25的输入或发生一学习例程退出命令输入。
此最后二实施例的RF输入例程的操作采用与对主固定码实施例所描述的同样的操作。读者可参看图6及其有关说明的遥控发射器25与控制器35之间的正常运行。
本优选实施例中给出的说明并不限制专一遥控发射器25的数量、主固定码类型、传送方法、或在遥控发射器25起始的播散数据和在控制组件29被破译的途径。为实现同一目的可以有安排这些过程或方法的许多途径。另外,本发明的优选实施例提供36位代码字。但此数目不是可或应当被采用的绝对位数目。本发明适用于任何字节。根据这里揭示的,可用任何数目的位来定义代码字和格式字,任何数量的固定和跳动位均可定义代码字。字长的上下限由部件速度、应用和制造要求确定。主固定码和专一系统可在相同时刻同一系统中利用不同长度(即位数)的代码字。
尽管引用其特定的实施例对本发明进行了说明,但本技术领域的熟练人士将能对本发明的已介绍实施作出各种的修改而不背离其精神实质和范围。应理解,以基本同样的方法执行基本相同的功能和部件和步骤的所有组合均属于本发明的范围之内。