CA2443452C - Rolling code security system - Google Patents

Rolling code security system Download PDF

Info

Publication number
CA2443452C
CA2443452C CA 2443452 CA2443452A CA2443452C CA 2443452 C CA2443452 C CA 2443452C CA 2443452 CA2443452 CA 2443452 CA 2443452 A CA2443452 A CA 2443452A CA 2443452 C CA2443452 C CA 2443452C
Authority
CA
Canada
Prior art keywords
code
trinary
binary
signal
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA 2443452
Other languages
French (fr)
Other versions
CA2443452A1 (en
Inventor
Bradford L. Farris
James J. Fitzgibbon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chamberlain Group Inc
Original Assignee
Chamberlain Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chamberlain Group Inc filed Critical Chamberlain Group Inc
Priority claimed from CA002193846A external-priority patent/CA2193846C/en
Publication of CA2443452A1 publication Critical patent/CA2443452A1/en
Application granted granted Critical
Publication of CA2443452C publication Critical patent/CA2443452C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Selective Calling Equipment (AREA)
  • Lock And Its Accessories (AREA)

Abstract

A rolling code transmitter is useful in a security system for providing secure encrypted RF transmission comprising an interleaved trinary bit fixed code and rolling code. A receiver demodulates the encrypted RF transmission and recovers the fixed code and rolling code. Upon comparison of the fixed and rolling codes with stored codes and determining that the signal has emanated from an authorized transmitter, a signal is generated to actuate an electric motor to open or close a movable barrier.

Description

ROLLING CODE SECURITY SYSTEM

This application is a division of copending commonly owned Canadian Patent Application No.
2,193,846 of May 16, 1996.

BACKGROUND OF THE INVENTION
The invention relates in general to security systems which allow operation upon the receipt of a properly coded signal. More particularly, the invention relates to a security system or to a barrier operator system, such as a garage door operator, employing a transmitter and a receiver which communicate via code streams having at least a portion thereof which changes with multiple operation of the device.
It is well known in the art to provide garage door operators or other barrier operators which include an electric motor connectable through a transmission to a door or other movable barrier which is to be opened and closed. Since many of these systems are associated with residences, as well as with garages, it is important that opening of the barrier be permitted only by one who is authorized to obtain entry to the area which the barrier protects. Some garage door operator systems have in the past employed mechanical lock and key arrangements associated with electrical switches mounted on the outside of the garage. While these systems enjoy a relatively high level of security, they are very inconvenient to use for a person because it necessitates them exiting their vehicle in order to send the command to open the garage door. This also may present some danger to people when the exit the relative security of their vehicle if someone may be waiting to do injury to them.
It is also well known to provide radio-controlled garage door operators which include a garage door operator unit having a radio receiver and a motor connected to be driven from the radio receiver. The radio receiver is adapted to receive radio frequency signals or other electromagnetic signals having particular signal characteristics which, when received, cause the door to be opened. More recently, such transmitter and receiver systems have become relatively more sophisticated in that they use radio transmitters which employ coded transmissions of multiple or three-valued digits, also known as "trinary bits" or other serial coded transmission techniques. Among these systems are U.S. Patent No.
3,906,348 to Willmott, which employs a transmitter and receiver system wherein a plurality of mechanical switches may be used to set a stored authorization code.
U.S. Patent No. 4,529,980 to Liotine et al. discloses a transmitter and receiver combination for use in a device such as a garage door operator wherein the transmitter stores an authorization code which is to be transmitted to and received by the receiver via a radio frequency link. In order to alter or update the authorization code contained within the transmitter, the receiver is equipped with a programming signal transmitter or light emitting diode which can send a digitized optical signal back to the transmitter where it is stored. Other systems also employing encoded transmissions are U.S. Patents Nos. 4,037,201, 4,535,333, 4,638,433, 4,750,118 and 4,988,992.
While each of these devices has provided good security for the user, it is apparent that persons wishing to commit property or person-related crimes have become more sophisticated as well. It is known in the security industry today that devices are being made available that can intercept or steal rolling code.
Transequatorial Technology, Inc. sells integrated circuit code hopping encoders identified as Keeloq Model NTQ105, NTQ115, NTQ125D and NTQ129. Some of the Keeloq code hopping encoders generate serial codes having fixed portions, i.e., which do not change with repeated actuation of the encoding portion of the chip and rolling code portions which alter with each actuation of the encoding portion of the chip. In order to avoid, however, having the problem of the encoding portion of the chip having been inadvertently enabled and causing the rolling code to be altered on successive enabling attempts thereby leading to a rolling code which is transmitted and not recognized by a receiver, the Keeloq code hopping encoders provide a window forward system, that is they are operable with systems having code receivers which recognize as a valid code not a single rolling code, but a plurality of rolling codes within a certain code window or window of values which are the values which would be generated on a relatively srnall number of switch closures as compared to the total number of rolling codes available. The problem with such a system, however, might arise if a user was away for a period of time or had inadvertently caused codes to be transmitted excluding the number of codes normally allowed within the valid forward code window. In that case, the rolling code would not be recognized by the receiver and the user could not gain entry without taking other measures to defeat the locking system or the garage door operator system which might involve the intervention of a trained engineer or technician.
Texas Instruments also has a prior system identified as the Mark Star TIZC
1300 and TRC 1315 remote control transmitter/receiver combination. The system involves the use of a rolling code encoder which increments or rolls potentially the entire code, that is it does not leave a fixed portion. The system also includes a forward windowing function which allows an authorized user to be able to cause the receiver to be enabled within a limited number of key pushes. Like the Keeloq system, if the forward window is exceeded, the Texas Instruments system must be placed in a learn mode to cause the system to relearn the code. In order to place the system into the learn mode, the person rnust obtain direct access to the receiver to cause a programming control system associated with the receiver to be hand actuated causing the receiver to enter a learn mode. Once the receiver has learned the new code, the receiver will then construct a new valid forward code window within wliich valid rolling codes may be received.
The problem, of course, with such a system is that if, for instance in a garage door operator, the only portal of entry to the garage door is through the overhead door controlled by the garage door operator, the user will not be able to obtain entry to the garage without possibly having to do some damage to the structure. This problem is sometimes referred to in the industry as a "vaulted garage."
What is needed is an economical encoding system which provides good security by using a rolling code, but which enables a user of the systein to proceed via a gradually degraded pathway in the event that the receiver detects a signal condition indicative of what might be a lack of security.

SUMMARY OF THE INVENTION
The invention relates in general to an electronic system for providing remote security for entry of actuation of a particular device. Such a system may include a transmitter and receiver set, for instance with a hand-held transmitter and a receiver associated with a vehicle such as an automobile or the like. The transmitter, upon signalling the receiver, causing the vehicle to start up or to perform other functions. The system may also be useful in a barrier operator system such as a garage door operator by allowing the garage door to be opened and closed in a relatively secure fashion while preventing persons who may be intercepting the radio frequency signals from being able to, although unauthorized, cause the vehicle to begin running or to allow access to the garage.
The system includes a transmitter generally having means for developing a fixed code and a rolling or variable code. The rolling or variable code is changed with each actuation of the transmitter. The fixed code remains the same for each actuation of the transmitter. In the present system, the transmitter includes means for producing a 32-bit frame comprising the fixed portion of the code and a second 32-bit frame comprising the variable portion of the code. The 32-bit rolling code is then mirrored to provide a 32-bit mirrored rolling code. The 32-bit mirrored rolling code then has its most significant bit "deleted" by setting it to zero. The transmitter then converts the 32-bit fixed code and the mirrored variable code to a three-valued or trinary bit fixed code and a three-valued or trinary bit variable code or rolling code.
To provide further security, the fixed code and the rolling codes are shuffled so that alternating trinary bits are comprised of a fixed code bit and a rolling code bit to yield a total of 40 trinary bits. The 40 trinary bits are then packaged in a first 20-trinary bit frame and a second 20-trinary bit frame which have proceeding them a single synchronization and/or identification pulse indicating the start of the frame and whether it is the first frame or the second frame. Immediately following each of the frames, the transmitter is placed into a quieting condition to maintain the average power of the transmitter over a typical 100 millisecond interval within legal limits promulgated by the United States Federal Communications Commission. The first trinary frame and the second trinary frame are used to modulate a radio frequency carrier, in this case via amplitude modulation to produce an amplitude modulated encrypted signal. In a preferred embodiment, the radio frequency signal is amplitude modulated. The amplitude modulated signal is then launched and may be received by an AM receiver. In the preferred embodiment, the AM receiver receives the amplitude modulated signal, demodulates it to produce a pair of trinary bit encoded frames. The trinary bits in each of the frames are converted on the fly to 2-bit or half nibbles indicative of the values of the trinary bits which are ultimately used to form two 16-bit fixed code words and two 16-bit variable code words. The two 16-bit fixed code words are used as a pointer to identify the location of a previously stored rolling code value within the receiver. The two 16-bit rolling code words are concatenated by taking the 16-bit word having the more significant bits, multiplying it by 310 and then adding it to the second of the words to produce a 32-bit encrypted rolling code. In order to make certain that if the transmitter was inadvertently actuated a number of times, the authorized user can still start his car or gain entry to his garage.
The 32-bit encrypted code is then compared via a binary subtraction. with the stored rolling code. If the 32-bit code is within a window or fixed count, in the present embodiment 1000, the microprocessor produces an authorization signal which is then responded to by other portions of the circuit to cause the garage door to open or close as commanded. In the event that the code is greater than the stored rolling code, plus 1000, indicative of a relatively large number of incrementations, the user is not locked out of the garage, but is allowed to provide further signals or indicia to the receiver that he is an authorized user without any significant degradation of the security. This is done by the receiver entering an alternate mode requiring two or more successive valid codes to be received, rather than just one. If the two or more successive valid codes are received, the garage door will open. However, in order to prevent a person who has previously or recently recorded a recent valid code from being able to obtain access to the garage, a trailing window, in this case starting at a count of 300 less than the present stored count and including all code values between the present stored count and 300 less is compared to the received code. If the received code is within this backward window, the response of the system simply i s to take no further action, nor to provide authorization during that code cycle on the assumption that the code has been purloined.
Thus, the present system provides important advantages over the previous garage door operator systems and even previous rolling code systems. The system provides a.
multiple segmented windowed system which provides a valid code window, a second relatively insecure code window in which two successive valid codes must be received and finally a window in which no valid codes are recognized due to the likelihood of the receiver having been stolen.
In accordance with the parent application the invention defined therein provides a transmitter which comprises: an oscillator for generating a radio frequency oscillatory signal;
a source of a sequence of binary codes, successive binary codes in the sequence being different from predetermined preceding binary codes in the sequence; a trinary code generator for converting the sequence of binary codes to a sequence of trinary codes; and a transmitting apparatus for modulating the radio frequency oscillatory signal with the trinary codes to produce a modulated trinary coded radio frequency signa.l.
The invention of the parent application also provides a transmitter for gaining access to a secure area controlled by a control actuator receiver, which comprises: an oscillator for generating a radio frequency oscillatory signal; a binary code generator for generating a sequence of binary codes, predetermined ones of the binary codes being different from others of the binary codes in the sequence; a trinary code generator responsive to the binary codes for generating tree-valued or trinary codes;
and a transmitting apparatus for modulating the radio frequency osci l latory signal with the trinary codes to transmit a modulated trinary coded radio frequency signal to the control actuator receiver.
Furthermore, the invention of the parent application provides a method of controlling a barrier movement operator storing an expected rolling code and being capable of operation upon receipt of a predetermined sequence of transmitted codes from an rf transmitter, comprising: rf transmitting a first code including a first code portion having a numerical value at least a first predetermined amount greater than the expected rolling code; and rf transmitting a second code including a second code portion having a second numerical value which is within a second predetermined amount of the first code portion of the first code.

The present invention on the other hand provides a transmitter for sending an encrypted signal to control an actuator, comprising: an oscillator for generating a radio frequency oscillatory signal; apparatus for enabling the sending ofan encrypted signal; a binary code generator responsive to the enabling apparatus for generating a variable binary code, the variable code being different for each enabling by the enabling device; a trinary code generator for generating a three-valued or trinary code responsive to the variable binary code; and transmitting apparatus for modulating the radio frequency oscillatory signal with the trinary code to produce a modulated trinary coded variable radio frequency signal for operation or control of a secure actuator.
The present invention may also be considered to provide a remote security system for communicating an encrypted signal to a control actuator, comprising: a binary code generator for generating a sequence of variable binary codes according to a predetermined algorithm, successive codes in the sequence being different from preceding codes in the sequence; atrinary code generator for converting the generated variable binary code to a trinary code; a transmitter for modulating a transmitted radio frequency signal with the trinary code; a radio-frequency receiver for demodulating the transmitted modulated radio frequency signal a received binary code; a controller responsive to a positive comparison of the received binary code and a reference variable binary code; and update apparatus responsive to the positive comparison for updating the reference variable binary code according to the received binary code.
Other advantages of the invention will become obvious to one of ordinary skill in the art upon a perusal of the following specification and claims in light of the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS
FIG. I is a perspective view of an apparatus for moving a barrier or garage embodying the present invention;
FIG. 2 is a block diagram of a transmitter for use with a garage door operator of FIG. 1;
FIG. 3 is a block diagram of a receiver positioned within a head unit of the garage door operator shown in FIG. 1;
FIG. 4 is a schematic diagram of the transmitter shown in FIG. 2;
FIGS. 5A and B together show a schematic diagram of the receiver shown in FIG.
3;
FIG. 6 is a timing diagram of signals generated by a portion of the transmitter;
FIGS. 7A, B, C and D are flow diagrams showing the operation of the transmitter; and FIGS. 8A, B, C, D, E, F and G are flow charts showing the operation of the receiver.
DETAILED DESCRIPTION OF THE PItEFE12.RED EMBODIMENT
Referring now to the drawings and especially to FIG. 1, more specifically a movable barrier door operator or garage door operator is generally shown therein and includes a head unit 12 mounted within a garage 14. More specifically, the head unit 12 is mounted to the ceiling of the garage 14 and includes a rail 18 extending therefrom with a releasable trolley 20 attached having an arm 22 extending to a multiple panelled garage door 24 positioned for movement along a pair of door rails 26 and 28. The system includes a hand-held transmitter unit 30 adapted to send signals to an antenna 32 positioned on the head unit 12 and coupled to a receiver as will appear hereinafter. An external control pad 34 is positioned on the outside of the garage having a plurality of buttons thereon and communicate via radio frequency transmission with the antenna 32 of the head unit 12.
An optical emitter 42 is connected via a power and signal line 44 to the head unit. An optical detector 46 is connected via a wire 48 to the head unit 12.
Referring now to FIG. 2, the transmitter 30 is shown therein in general and includes a battery 70 connected by a pushbutton switch 72 to a power supply 74 which is coupled via leads 75 and 76 to a microcontroller 78. The microcontroller 78 is connected by a serial bus 79 to a non-volatile memory 80. An output bus 81 connects the microcontroller to a radio frequency oscillator 82.
The inicrocontroller 78 produces coded signals when the button 72 is pushed causing the output of the RF oscillator 82 to be amplitude modulated to supply a radio frequency signal at an antenna 83 connected thereto. More specifically, as shown in FIG. 4, details of the transmitter 30 are shown therein, including a plurality of switches 72. When switch 72 is closed, power is supplied through a diode 100 to a capacitor 102 to supply a 7.1 volt voltage at a lead 103 connected thereto. A light emitting diode 104 indicates that the transmitter button has been pushed and provides a voltage to a lead 105 connected thereto.
A Zener diode 106 provides voltage regulation and causes the back biased diode 107 to cause the crystal 108 to be energized, thereby energizing the microcontroller 78, a Zilog 125C0113 8-bit microcontroller in this embodiment. The signal is also sent via a resistor 110 through a lead 1 l 1 to a P32 pin of the microcontroller 78. Likewise, when a switch l 13 is closed, current is fed through a diode 114 to the lead 103 also causing the crystal 108 to be energized, powering up the microcontroller at the same time that pin P33 of the microcontroller is pulled up.
Similarly, when a switch 118 is closed, power is fed through a diode 119 to the crystal 108 as well as pull up voltage being provided through a resistor 120 to the pin P31. It should also be appreciated that pin P34 of the microcontroller is configured via a connection with the resistor 123 to be an RS232 input port 124.
The microcontroller is coupled via the serial bus 79 to a chip select port, a clock port and a I port to which and from which serial data may be written and read and to which addresses may be applied. As wi ll be seen hereinafter in the operation of the microcontroller, the microcontroller 78 produces output signals at the lead 81, which are supplied to a resistor 125 which is coupled to a voltage dividing resistor 126 feeding signals to the lead 127. A 30-nanohenry inductor 128 is coupled to an NPN
transistor 129 at its base 130.
The transistor 129 has a collector 131 and an emitter 132. The collector 131 is connected to the antenna 83 which, in this case, comprises a printed circuit board, loop antenna having an inductance of 25-nanohenries, comprising a portion of the tank circuit with a capacitor 133, a variable capacitor 134 for tuning, a capacitor 135 and a capacitor 136. A 30-nanohenry inductor 138 is coupled via a capacitor 139 to ground. The capacitor has a resistor 140 connected in parallel with it to ground. When the output from lead 81 is driven high by the microcontroller, the transistor 129 is switched on causing the tank circuit to output a signal on the antenna 83. When the transistor 129 is switched off, the output to the drive of the tank circuit is extinguished causing the radio frequency signal at the antenna 83 also to be extinguished.
Referring now to FIG. 3, the receiver is shown therein and includes a receiver antenna 200 coupled to an amplitude modulated receiver 202 driven from a power supply 204 connectable to a source of alternating current 206. The receiver 202 provides a demodulated output via a bandpass filter 210 to an analog-to-digital converter 212 which provides input to a microcontroller 214 having an internal read-only memory 216 and an internal random-access memory 218. A serial non-volatile memory 220 is connected via a memorT bus 222 to the inicrocontroller 214 to send atld receive information thereto. The microcontroller has an output line 226 coupled to a nlotor controller 228 which may include a plurality of relays or other standard electromechanical features which feeds electrical current on lines 230 and 232 to an electric motor 234.
Referring now to FIGS. 5A and 5B the antenna 200 is coupled to a reactive divider network 250 comprised of a pair of series connected inductances 252 and 254 and capacitors 256 and 258 which supply an RF signal to a buffer amplifier having an NPN transistor 260, at its emitter 261. The NPN transistor 260 has a pair of capacitors 262 and 264 connected to it for power supply isolation. The buffer amplifier provides a buffered radio frequency output signal on a lead 268. The buffered RF signal is fed to an input 270 which forms part of a super-regenerative receiver 272 having an output at a line 274 coupled to the bandpass filter which provides digital output to the bandpass filter 212. The bandpass filter 212 includes a first stage 276 and a second stage 278 to provide a digital level output signal at a lead 280 which is supplied via an averaging circuit 282 to an input pin P32 of the microcontroller 214.
The microcontroller 214 may have its mode of operation controlled by a programming or learning switch 300 coupled via a line 302 to the P23 pin. A command switch 304 is coupled via ajumper 306 to a line 308 and ultimately through a resistor to the input pin P22. A pin P21 sinks current through a resistor 314 connected to a light emitting diode 316, causing the diode to light to indicate that the receiver is active.
The microcontroller 214 has a 4 MHz crystal 328 connected to it to provide clock signals and includes an RS232 output port 332 that is coupled to the pin P31. A switch 340 selects whether constant pressure or monostable is to be selected as the output from output terminals P24 and P23 which are coupled to a transistor 350 which, when switched on, sinks current through a coil 352 of a relay 354, causing the relay to close to provide an actuating signal on a pair of leads 356 and 358 to an electric motor.
It may be appreciated that the power supply 204 may receive power from an external transformer or other AC source through ajack 370 which is connected to a pair of RJ
uncoupling capacitors 372 and 374.
The input signal is then set to a full-wave rectifier bridge 376 which provides an output current at a resistor 378. An 18-volt Zener diode 380 is connected between ground and the resistor 378 and includes high frequency bypass capacitor 382 connected in parallel with it. An 8.2-volt Zener diode 384 is connected in back-biased configuration to the resistor 378 to receive a signal therefrom to guarantee that at least an 8.2-volt signal is fed to a resistor 390 causing an LED 392 to be illuminated and also causing power to be supplied to a 5-volt 78L 5 voltage regulator 396. The voltage regulator 396 supplies regulated voltage to an output line 398. Filtering capacitors 400a, 400b, 400c and 400d limit the fluctuations at the power supply.
Operation of the transmitter unit begins in a step 500 as shown in Fig. 7A, wherein the user actuates a transmit button in a step 500. In a step 502 the rolling code counter va]ue is fetched from the nonvolatile memory. In a step 504 seventeen is added to the rolling code counter value. In a step 506 the new rolling code counter value is then stored in a nonvolatile memory. In a step 508 the binary representation of the rolling code counter has its bit order reversed or mirrored in order to begin encryption. In a step 510 the most significant bit of the mirrored counter value is set equal to zero.
In a step 512, as shown in Fig. 7B, the mirrored binary counter value is converted to a base 3 or trinary number as is shown in Fig. 7D and described hereinafter.
Following the conversion to trinary bits or digits, in a step 514 the fixed code portion of the overall transmitted code is fetched from nonvolatile memory and in a step 516 a bit counter representative of the ordinal number of the current trinary digit is set equal to zero.
In order to perform a code framing operation to produce the code stream, as shown in Fig. 6, in a step 518 a one-half millisecond synchronization bit is transmitted by the transmitter and in a step 520 the bit counter is incremented. In a step 522 a test is made to determine whether the bit counter indicates the end of a second blanking time. If it does, control is transferred back to a step 516.
If it does not, control is then transferred to a step 524 show-n in Fig. 7c wherein the bit counter is tested to determine whether it is indicative of the end of the second word. If the second word has ended, a second blank period is entered for transmission in a step 526, following which control is transferred back to step 520. If it is not, a test is made in a step 528 to determine whether the bit counter indicates the end of the first blank time. If it does, a one and one-half millisecond long synchronization pulse is transmitted in a step 530 and control is then transferred back to step 520. If the bit counter does not indicate the end of the first blank time, a test is made in a step 532 to determine whether the bit counter indicates the end of the first word. If it does, a first blanking period is entered into the code in a step 534, following which control is then transferred back to step 520. If it does not, a test is made in a step 536 to determine whether the current trinary bit number is odd or even, representing a fixed code trinary bit or a rolling code trinary bit respectively. If it is even the next rolling code trinary bit is transmitted in a step 538. If it is not, the most recent rolling code trinary bit that was transmitted, as shown in Fig. 6, is added to the fixed code trinary bit in a step 536a, the result is then truncated to a base 3 value in a step 537 yielding an encrypted fixed code trinarybit. The encrypted fixed code trinary bit is trans'nitted in a step 540 thereby causing the rolling code trinary bits and the encrypted fixed code trinary bits to be interleaved for further security. Following either step 538 or step 540 control is transferred back to the bit counter step 520.
In order to convert the encrypted or interlinked and mirrored binary rolling code to trinary a routine 550 is provided in which a value equal to 319 is subtracted from the interlinked and mirrored code in a step 552. A test is made to determine whether the result of the subtraction is greater than zero in a step 554. If it is, control is transferred to a step 556 causing the current base three digit to be incremented following which control is transferred back to step 552. If it is not, the current base three digit is stored in a step 557.
In a step 558 319 is added back in order to make the binary number positive.
In a step 559 the result is multiplied by 3. In a step 560 a test is made to determine whether al120 trinary bits in the current frame have been converted to binary. If they have not, control is transferred to a step 561 causing pointing to the next trinary digit to be converted in the frame. If all 20 trinary digits in the current frame have been converted, trinary number is returned in a step 564 and control is transferred back to the exit point of step 512. The base three or trinary digits are then output by the radio transmitter as a pulse width modulated trinary code in the form shown in Fig. 6.
Referring now to Fig. 8A, a transition of the received radio frequency from low to high or from high to low is detected in a step 600. The microcontroller executes steps to identify the trinary bit stream from the transmitter. Following the transmission a time difference from the last transmission is determined in a step 602 and a radio inactive timer is cleared. In a step 604 a determination is made whether the time difference is for the active high time or the inactive low time. If it is for the inactive low time the inactive time value is stored in step 606 and the routine is exited in a step 608. If the time difference is indicated to be active time, the active time is stored in a step 610 and a test is made to determine whether the pulse is the first pulse, in other words, the sync pulse in a step 612.
If the test in step 612 indicating that the pulse is the syric pulse is found to be true, control is transferred to a step 634, shown in Fig. 8B which tests whether the inactive time is between 20 milliseconds and 55 milliseconds. If it is not, the trinary code is rejected in a step 636 and the bit counter is cleared. The routine is exited in step 638. If not, control is transferred to a step 650.
Following the bit counter being set to 1, control is transferred to a step 650 testing whether the active time is greater than 1.0 millisecond. This is done to determi;ne whether the pulse is a sync pulse representative of the beginning of FRAME I or FRAME 2. If the active time exceeds 1.0 millisecond a test is made in a step 652 testing whether the active time is greater than 2.0 milliseconds. If the active time is greater than 2.0 milliseconds the received trinary code is rejected and the bit counter is cleared in a step 654.
If in step 650 the active time is found not to be greater than 1.0 millisecond, control is transferred to a test 656 which tests whether the active time is less than 0.35 milliseconds. If it is, the code is rejected and the bit counter is cleared in a step 654. If it is not the FRAME I flag is set is step 658 indicating that a first frame is being received. In the event that the test from step 652 indicates that the active time is not greater than 2.0 milliseconds the FRAME 2 flag is set in a step 660. Following execution of the bit counter clearing step in step 654 the interrupt is returned from step 662; likewise the interrupt is returned from step 664 following step 658 and step 660.
If it is not, the received pulse tested for in step 612 is not a sync pulse, then a test is made in a step 614 to determine whether the active time is less than 4.5 milliseconds. In the event that the active time is found to be less than 4.5 milliseconds control is transferred ti a test step 616 testing whether the inactive time is less than 4.5 milliseconds. If the active time is 4.5 milliseconds or greater control is transferred from step 614 to a step 618 causing the radio code to be rejected and all code registers related to the radio code to be cleared. In the event that the inactive time is found to be greater than 4.5 milliseconds, control is also transferred to the step 618 causing the radio code to be rejected and the radio related registers to be cleared.
If the inactive time is 4.5 milliseconds or less, the bit counter is set to I
indicating that a pulse has been received in a step 630 shown in Fig. 8C.
Referring now to Fig. 8D, the microcontroller begins to separate the interleaved trinary fixed code bits from the trinary rolling code bits. In a step 670 the bit counter or current number of bits received is increased following which the inactive time is subtracted from the active time in a step 672. A test is made in a step 674 to determine whether the result of the subtraction is less than 0.38 milliseconds; if it is, the bit value is set equal to zero in a step 676; if it is not, a test is made in a step 678 to determine whether the results are greater than 0.38 milliseconds. If they are the bit value is set equal to 2. If the test of step 678 indicates the results are not greater than 0.38 milliseconds the bit value is set equal to I in a step 682. Steps 676, 680 and 682 all transfer control to a step 684 which tests whether the bit counter holds an odd number, lf it does, the fixed code registers are multiplied by three in a step 686; if it does not, the rolling code registers are multiplied by three in a step 688.
In order to decrypt the received fixed code trinary bit, following step 686, as shown in Fig. 8E, the last rolling code trinary bit received is subtracted from the current encrypted fixed code trinary bit in a step 687. The value is then corrected back to a positive base 3 value in a step 689. The resulting bit value is added to the encrypted fixed code trinary bit in a step 690 to yield a decrypted fixed code trinary bit.
Following step 688 the rolling code trinary bit value is added to the rolling code in a step 692.
Following both of those steps a test is made in a step 694 to determine if the received bit number counter value is less than, greater than, or equal to 21. If the received bit counter value is greater than 21 the radio code is rejected in a step 696 for having too many bits, indicating in reception, and the routine is exited. If the bit counter value is less than 21 return from interrupt is made ancl the next pulse edge in the radio signal is waited for in a step 698. In the event the bit counter value is equal to 21 a test is made in a step 700 for the presence of a first or a second frame. If the FRAME I is being processed control is transferred to a step 702 causing the bit counter to be cleared and setting up for the second frame following which the interrupt is returned from. If the FRAME 2 is being received control is transferred to a step 704 combining the rolling code registers from the two frames into a single binary value by concatenation. In a step 706 the combined binary value is then mirrored, in other words, the least significant bit becomes the most significant bit. The most significant bit becomes the least significant bit, and so on.
A test is made to determine whether program mode has been set in a step 708, as shown in Fig. 8F.
If program mode was not set a test is made in a step 710 to determine whether the received fixed code matches a fixed code stored in nonvolatile memory. If there is no match the routine is returned from and the new radio code is waited for in a step 712.
If there is a match control is transferred to a step 714, shown in Fig. 8G, where a test is made to determine whether the received counter value is within the forward rolling code window, 17,000 greaterthan the stored counter value, representative of 1,000 transmitter actuations. If it is, control is transferred to a step 716 setting the flag for a command to operate the garage door. Control is then transferred to a step 718 causing the rolling code counter to be resynchronized by updating the rolling code counter in nonvolatile memory to match the received value of the counter and the interrupt is returned from in a step 720.
In the event the received counter value is outside the 17,000 bit forward rolling code window or limit of step 714 a test is made in a step 722 to determine whether the fixed code that was received matches the previous fixed code received, as a backup identifier of the particular transmitter. If it does, a test is made in a step 724 to determine if the received rolling counter value is behind the backward rolling code window because it is less by 5100 than the rolling counter value in nonvolatile memory. If it is not, control is transferred to a step 726 which tests whether the received rolling code is within the resynchronization rolling code window, 18 bits greater than the previous received rolling code which is outside the forward rolling code window. The system, having detected a rolling code outside the forward window, thus tests for two receipts of the fixed code consecutively and resynchronizes the receiver by resynchronizing the stored rolling code within the receiver. Thus a synchronization window exists when cither the received rolling code is within the forward rolling code or it is within the twice consecutive window tested for in step 726. The door operator flag signal is set in step 716 and the door is moved in response thereto by the motor. In step 718 the rolling code in the receiver is resynchronized. If the received rolling code as tested for in step 726 is not within 18 of the previously received rolling code step 728 is executed awaiting a new radio code.

Referring back to Fig. 8F, if the program mode has been set as tested for in step 708 a test is made in a step 736 to determine whether the code matches the last code received. If it does, control is transferred to a step 738 testing whether the fixed portion of the code matches the fixed code already in nonvolatile memory. If it does, the rolling code is replaced in the nonvolatile memory with the received rolling code in the step 740. If it does not, the fixed and rolling portions of the code are stored in a new memory location in a step 742 following which in a step 744 the program indicator is switched off, the program mode is exited and the interrupt is returned from. In the event that the test in step 736 indicates that the code does not match the last code received the code is stored in a step 746 for comparison with the next received code.
While there has been illustrated and described a particular embodiment of the present invention, it will be appreciated that numerous changes and modifications will occur to those skilled in the art, and it is intended in the appended claims to cover all those changes and modificatioris which fall within the true spirit and scope of the present invention.

Claims (25)

CLAIMS:
1. A transmitter for sending an encrypted signal to control an actuator, comprising:
an oscillator for generating a radio frequency oscillatory signal;
apparatus for enabling the sending of the encrypted signal;
binary code generator responsive to the enabling apparatus for generating a variable binary code, said variable code being different for each enabling by the enabling device;
trinary code generator for generating a three-valued or trinary code responsive to the variable binary code; and transmitting apparatus for modulating the radio frequency oscillatory signal with the trinary code to produce a modulated trinary coded variable radio frequency signal for operation or control of the actuator.
2. A transmitter for sending an encrypted signal to control an actuator according to claim l, further comprising apparatus for receiving said variable binary signal and producing a mirrored binary signal, said mirrored binary signal being supplied to said trinary code generator for generating the trinary signal from the variable binary signal.
3. A transmitter for sending an encrypted signal to control an actuator according to claim 1, comprising apparatus for producing a fixed code signal and for combining said fixed code signal with a rolling code signal.
4. A transmitter for sending an encrypted signal to control an actuator according to claim 3, comprising apparatus for interleaving trinary bits derived from said fixed code signal with trinary bits derived from said rolling code signal to produce a trinary interleaved fixed and rolling code signal.
5. A transmitter for sending an encrypted signal to control an actuator according to claim 1, comprising incrementing apparatus for altering said variable code by adding a fixed value with each enabling apparatus actuation.
6. A transmitter for sending an encrypted signal to control an actuator according to claim 5, wherein said means for incrementing said variable code increments said variable code by a prime number value.
7. A transmitter for sending an encrypted signal to control an actuator according to claim 1, wherein said binary code generator for generating a variable binary code includes a non-volatile memory for storing a variable binary code.
8. A transmitter for sending an encrypted signal to control an actuator according to claim 1, wherein said binary code generator for generating said variable code includes storage means holding a previous cycle variable code signal from which the variable code is generated.
9. A remote security system for communicating an encrypted signal to an actuator, comprising:
binary code generator for generating a sequence of variable binary codes according to a predetermined algorithm, successive codes in the sequence being different from preceding codes in the sequence;
trinary code generator for converting said generated variable binary code to a trinary code;
a transmitter for modulating a transmitted radio frequency signal with said trinary code;
a radio-frequency receiver for demodulating said transmitted modulated radio frequency signal and providing a received trinary code;
trinary code convertor for converting said received trinary code to a received binary code;
a controller responsive to a positive comparison of said received binary code and a reference variable binary code; and update apparatus responsive to said positive comparison for updating said reference variable binary code according to said received binary code.
10. A remote security system according to claim 9, wherein said update apparatus updates said reference variable binary code by performing said predetermined algorithm on said reference variable binary code.
11. A remote security system according to claim 9, wherein said positive comparison results if said received binary code and said reference variable binary code lie within a predetermined numerical limit of one another.
12. A remote security system according to claim 11, wherein said positive comparison results if the numerical difference of said received binary code minus said reference variable binary code is a positive number less than said predetermined limit.
13. A remote security system according to claim 12, wherein said predetermined limit is about 1000.
14. A remote security system according to claim 12, wherein said positive comparison results if at least two said received binary codes transmitted in succession, each of which is numerically different from said reference variable binary code by a number outside the range of said predetermined limit, represent successive results of said predetermined algorithm.
15. A remote security system according to claim 14, wherein said positive comparison results if said successively transmitted codes which represent successive results of said preselected algorithm, each yield a difference when subtracted from said reference variable binary code outside the range of zero to a second predetermined limit.
16. A remote security system according to claim 15, wherein said second predetermined limit is about 300.
17. A remote security system according to claim 11, wherein the variable binary code is a rolling code and the system further comprises a binary code combiner for combining a binary fixed code with said binary rolling code and providing the combination to said trinary code generator.
18. A remote security system according to claim 17, further comprising apparatus for interleaving trinary bits derived from said binary fixed code with trinary bits derived from said binary rolling code to provide an interleaved trinary fixed-and-rolling code to said transmitter.
19. A remote security system according to claim 18, further comprising apparatus for receiving said output of said radio-frequency receiver and separating said interleaved fixed-and-rolling code and providing to said trinary code convertor a received trinary fixed code and a received trinary rolling code.
20. A remote security system according to claim 19, wherein said trinary code convertor provides a received binary fixed code in response to said received trinary fixed code and a received binary rolling code in response to said received trinary rolling code, and further comprising addressing apparatus for using said received binary fixed code to address said reference variable binary code in a memory.
21. A remote security system according to claim 20, further comprising means for mirroring said binary rolling code and providing it to said trinary code generator.
22. A remote security system according to claim 21, further comprising apparatus for mirroring said received binary rolling code and providing it to said controller and to said update apparatus.
23. A remote security system according to claim 22, wherein said predetermined algorithm generates a variable binary code by adding a numeric constant to it.
24. A remote security system according to claim 23, wherein said predetermined algorithm generates a variable binary code by adding the value 3 to it.
25. A remote security system according to claim 15, further comprising second update apparatus for updating said reference variable binary code according to one of the set of said successively transmitted received binary codes.
CA 2443452 1995-05-17 1996-05-16 Rolling code security system Expired - Lifetime CA2443452C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44688695A 1995-05-17 1995-05-17
US446,886 1995-05-17
CA002193846A CA2193846C (en) 1995-05-17 1996-05-16 Rolling code security system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CA002193846A Division CA2193846C (en) 1995-05-17 1996-05-16 Rolling code security system

Publications (2)

Publication Number Publication Date
CA2443452A1 CA2443452A1 (en) 1996-11-21
CA2443452C true CA2443452C (en) 2008-07-29

Family

ID=29550701

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2443452 Expired - Lifetime CA2443452C (en) 1995-05-17 1996-05-16 Rolling code security system

Country Status (1)

Country Link
CA (1) CA2443452C (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US10862924B2 (en) 2005-06-30 2020-12-08 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US10944559B2 (en) 2005-01-27 2021-03-09 The Chamberlain Group, Inc. Transmission of data including conversion of ternary data to binary data
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11799648B2 (en) 2005-01-27 2023-10-24 The Chamberlain Group Llc Method and apparatus to facilitate transmission of an encrypted rolling code
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US10944559B2 (en) 2005-01-27 2021-03-09 The Chamberlain Group, Inc. Transmission of data including conversion of ternary data to binary data
US10862924B2 (en) 2005-06-30 2020-12-08 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
US11122430B2 (en) 2017-12-21 2021-09-14 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US11778464B2 (en) 2017-12-21 2023-10-03 The Chamberlain Group Llc Security system for a moveable barrier operator
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11763616B1 (en) 2018-06-27 2023-09-19 The Chamberlain Group Llc Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
US11869289B2 (en) 2018-08-01 2024-01-09 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
US11462067B2 (en) 2019-05-16 2022-10-04 The Chamberlain Group Llc In-vehicle transmitter training
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training

Also Published As

Publication number Publication date
CA2443452A1 (en) 1996-11-21

Similar Documents

Publication Publication Date Title
EP0771498B1 (en) Rolling code security system
US6980655B2 (en) Rolling code security system
US7412056B2 (en) Rolling code security system
US7492905B2 (en) Rolling code security system
US6130622A (en) System and method for remote convenience function control having a rekey security feature
EP0605996B1 (en) Remote controlled security system
CN101872542B (en) Transmitter and method for transmitting an RF control signal
JP2001511090A (en) Code signal generators for anti-theft devices in vehicles, for example
US5699430A (en) Method and apparatus for electronically preventing unauthorized access to equipment
CA2443452C (en) Rolling code security system
GB2163579A (en) Remote control locking system
KR100591865B1 (en) Identification signal control device and identification signal control method
WO1998026534A1 (en) Authentication system and method for a remote keyless entry system
US20010011943A1 (en) Apparatus for activating and/or deactivating a security device
JPH1030367A (en) Identification signal checking device and identification signal checking method
JP3281300B2 (en) Signal matching method
AU694246B2 (en) Electronic security apparatus and method
JPH08251674A (en) Transmitter-receiver
JPH09137650A (en) Wireless lock system

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20160516