1. Field of the Invention
The present invention relates to wireless remote control of appliances such as, for example, garage door openers.
2. Background Art
Home appliances, such as garage door openers, security gates, home alarms, lighting, and the like, may conveniently be operated from a remote control. Typically, the remote control is purchased together with the appliance. The remote control transmits a radio frequency activation signal which is recognized by a receiver associated with the appliance. Aftermarket remote controls are gaining in popularity as such devices can offer functionality different from the original equipment remote control. Such functionality includes decreased size, multiple appliance interoperability, increased performance, and the like. Aftermarket controllers are also purchased to replace lost or damaged controllers or to simply provide another remote control for accessing the appliance.
An example application for aftermarket remote controls are remote garage door openers integrated into an automotive vehicle. These integrated remote controls provide customer convenience, appliance interoperability, increased safety, and enhanced vehicle value. Present in-vehicle integrated remote controls provide a “universal” or programmable garage door opener which learns characteristics of an existing transmitter then, when prompted by a user, generates a single activation signal having the same characteristics. One problem with such devices is the difficulty experienced by users programming such devices. This is particularly true for rolling code receivers where the user must program both the in-vehicle remote control and the appliance receiver.
What is needed is a universal remote controller that is easier to program. This remote controller should be easily integrated into an automotive vehicle using simple electronic circuits.
The present invention provides a universal remote control that transmits one of a plurality of sequences of activation signals based on receiver characteristics.
A system for wirelessly activating an appliance responding to one of a plurality of transmission schemes is provided. The system includes a receiver and a transmitter. The system includes at least one wireless channel associated with a user activation input. Memory holds data describing rolling code transmission schemes associated with a rolling code mode and fixed code transmission schemes, at least one fixed code transmission scheme associated with each of at least one fixed code mode. Control logic maintains a channel mode set initially to rolling code mode. The channel mode changes to one of the fixed code modes if the channel is trained to a fixed code. In response to an assertion of the user activation input for a particular channel, the control logic generates and transmits an activation signal based on each transmission scheme associated with the mode maintained for the channel.
In an embodiment of the present invention, the control logic supports a single fixed code mode.
In another embodiment of the present invention, the control logic supports a plurality of fixed code modes. The control logic may determine between fixed code modes based on the size of a fixed code used to train the channel, the carrier frequency of a received signal used to train the channel, or through guess-and-test user interaction. Preferably, the channel is trained by extracting the fixed code from an activation signal sent from a fixed code transmitter to the receiver.
In still another embodiment of the present invention, the channel mode may be reset to rolling code mode by the user.
In yet another embodiment of the present invention, the system includes a data port for downloading into the memory data describing at least one scheme.
In a still further embodiment of the present invention, the control logic generates and transmits activation signals based on popularity of schemes, reducing the average activation latency time.
In yet a further embodiment of the present invention, the memory holds data representing a carrier frequency for each transmission scheme.
In a still further embodiment of the present invention, the memory holds a different counter value for each rolling code transmission scheme.
A method of controlling an appliance activated by a radio frequency activation signal is also provided. A mode is established as rolling mode. If a fixed code in a radio frequency activation signal received from an existing transmitter is detected, the fixed code is stored and the mode is changed to fixed mode. An activation request is received from a user. If the mode is rolling mode, a sequence of activation signals is generated and transmitted. Each activation signal is based on one of a plurality of rolling code transmission schemes. If the mode is fixed mode, at least one activation signal based on one a plurality of fixed code transmission schemes is generated and transmitted.
The above features, and other features and advantages of the present invention are readily apparent from the following detailed descriptions thereof when taken in connection with the accompanying drawings.
Referring to
Appliance control system 20 includes garage 22 having a garage door, not shown. Garage door opener (GDO) receiver 24 receives radio frequency control signals 26 for controlling a garage door opener. Activation signals have a transmission scheme which may be represented as a set of receiver characteristics. One or more existing transmitters (ET) 28 generate radio frequency activation signals 26 exhibiting the receiver characteristics in response to a user depressing an activation button.
A user of appliance control system 20 may wish to add a new transmitter to system 20. For example, vehicle-based transmitter 30 may be installed in vehicle 32, which may be parked in garage 22. Vehicle-based transceiver 30 generates a sequence of activation signals 34. Each activation signal in sequence 34 is generated based on a different transmission scheme. In the embodiment shown, transceiver 30 is mounted in vehicle 32. However, as will be recognized by one of ordinary skill in the art, the present invention applies to universal remote controls that may also be hand held, wall mounted, included in a key fob, and the like.
Referring now to
Several types of codes 66 are possible. One type of code is a fixed code, wherein each transmission from a given remote control transmitter contains the same code 66. In contrast, variable code schemes change the bit pattern of code 66 with each activation. The most common variable code scheme, known as rolling code, generates code 66 by encrypting a counter value. After each activation, the counter is incremented. The encryption technique is such that a sequence of encrypted counter values appears to be random numbers.
Data word 60 is converted to a baseband stream, shown generally by 70, which is an analog signal typically transitioning between a high voltage level and a low voltage level. Various baseband encoding or modulation schemes are possible, including polar signaling, on-off signaling, bipolar signaling, duobinary signaling, Manchester signaling, and the like. Baseband stream 70 has a baseband power spectral density, shown generally by 72, centered around a frequency of zero.
Baseband stream 70 is converted to a radio frequency signal through a modulation process shown generally by 80. Baseband stream 70 is used to modulate one or more characteristics of carrier 82 to produce a broadband signal, shown generally by 84. Modulation process 80, mathematically illustrated in
Referring now to
A rolling code receiver is trained to a compatible transmitter prior to operation. The receiver is placed into a learn mode. Upon reception of an activation signal, the receiver extracts transmitter identifier 62. The receiver then uses key generation algorithm 102 with manufacturing key 104 and received transmitter identifier 62 to generate crypt key 100 identical to the crypt key used by the transmitter. Newly generated crypt key 100 is used by decrypt algorithm 112 to decrypt rolling code 110, producing counter 114 equal to counter 106. The receiver then saves counter 114 and crypt key 100 associated with transmitter identifier 62. As is known in the encryption art, encrypt algorithm 108 and decrypt algorithm 112 may be the same algorithm.
In normal operation, when the receiver receives an activation signal, the receiver first extracts transmitter identifier 62 and compares transmitter identifier 62 with all learned transmitter identifiers. If no match is found, the receiver rejects the activation signal. If a match is found, the receiver retrieves crypt key 100 associated with received transmitter identifier 62 and decrypts rolling code 110 from the received activation signal to produce counter 114. If received counter 106 matches counter 114 associated with transmitter identifier 62, activation proceeds. Received counter 106 may also exceed stored counter 114 by a preset amount for successful activation.
Another rolling code scheme generates crypt key 100 based on manufacturing key 104 and a “seed” or random number. An existing transmitter sends this seed to an appliance receiver when the receiver is placed in learn mode. The transmitter typically has a special mode for transmitting the seed entered, for example, by pushing a particular combination of buttons. The receiver uses the “seed” to generate crypt key 100. As will be recognized by one of ordinary skill in the art, the present invention applies to the use of a “seed” for generating a crypt key as well as to any other variable code scheme.
Referring now to
Transmitter section 122 includes antenna 134, which may be the same as antenna 124, variable amplifier 136, modulator 138 and variable frequency oscillator 140. For each of a plurality of activation signals generated, control logic 132 sets the carrier frequency of the activation signal generated by variable frequency oscillator 140. Control logic 132 modulates the carrier frequency with modulator 138, modeled here as a switch, to produce an activation signal which is amplified by variable gain amplifier 136. Variable gain amplifier 136 is set to provide the maximum allowable output power to antenna 134. Control logic 132 transmits sequence of activation signals 34 by adjusting control of variable gain amplifier 136, modulator 138 and variable frequency oscillator 140 as needed for each sequential activation signal.
Transceiver 30 includes flash memory 142 holding characteristics for each of the plurality of activation signal schemes. Flash memory 142 may also hold learned fixed codes, code executable by control logic 132, and the like. User input 144 provides activation and training inputs to control logic 132. For simple systems, user input 144 is typically up to three pushbuttons. User output 146 displays control and status information to the user. In simple systems, user output 146 illuminates one or more display lamps. User input 144 and user output 146 may interface with a wide variety of vehicle control and display devices, either directly or through an in-vehicle bus, such as dashboard controls, instrument panel indicators, touch activated display screens, speech generators, tone generators, voice recognition systems, telematic systems, and the like.
Data port 148 provides a path through which transceiver 30 may be upgraded. Upgrading can include additional characteristics, additional executable code, and the like. For simple systems, data port 148 may implement a wired serial interface. Data port 148 may also interface with in-vehicle telematics to permit downloading of code and data through wireless transmission.
Referring now to
Transmitter section 162 includes antenna 174, which may be the same as antenna 164, variable gain amplifier 176, modulator 178, variable oscillator 166 and control logic 132. For transmitting each activation signal in sequence of activation signals 34, control logic 132 sets variable oscillator 166 to the desired carrier frequency. Control logic 132 then modulates the carrier frequency with modulator 178, here modeled as a switch. Control logic 132 sets variable gain amplifier 176 to provide the maximum allowed signal strength. The amplified signal is transmitted by antenna 174. Components which make up wireless transceiver 30 in
Examples of circuits which may be used to implement wireless transceiver 30 can be found in U.S. Pat. No. 5,614,891 titled Vehicle Accessory Trainable Transmitter, and U.S. Pat. No. 5,661,804, titled Trainable Transceiver Capable Of Learning Variable Codes; both of which are herein incorporated by reference in their entirety.
Referring now to
Channel table 192 includes a channel entry, one of which is indicated by 198, for each channel supported by transceiver 30. Typically, each channel corresponds to a user input. In the example illustrated in
Mode table 194 contains an entry for each mode supported. The four entries illustrated are rolling code entry 204, eight-bit fixed code entry 206, nine-bit fixed code entry 208 and ten-bit fixed code entry 210. Each entry begins with mode indicator 200 for the mode represented, the next value is scheme count 212 indicating the number of schemes to be sequentially transmitted in that mode. Following scheme count 212 is a scheme address 214 for each scheme. The address of the first entry of mode table 194 is held in table start pointer 216 known by control logic 132. When accessing data for a particular mode, control logic 132 searches through mode table 194 for mode indicator 200 matching the desired mode. The use of mode indicators 200 and scheme counts 212 provides a flexible representation for adding new schemes to each mode and adding new modes to mode table 194.
Scheme table 196 holds characteristics and other information necessary for generating each activation signal in sequence of activation signals 34. Scheme table 196 includes a plurality of rolling code entries, one of which is indicated by 220, and a plurality of fixed code entries, one of which is indicated by 222. Each rolling code entry 220 includes transmitter identifier 62, counter 106, crypt key 100, carrier frequency 224, and subroutine address 226. Carrier frequency 224 may be predetermined or may be determined from a received activation signal 26. Subroutine address 226 points to code executable by control logic 132 for generating an activation signal. Additional characteristics may be embedded within this code. Each fixed code entry 222 includes carrier frequency 224 and subroutine address 226. Next pointer 228 points to the next open location after scheme table 196. Any new schemes received by control logic 132 from data port 148 may be appended to scheme table 196 using next pointer 228.
Memory map 190 illustrated in
Referring now to
Referring to
Referring now to
Interpreting user input depends upon the type of user input 144 supported by transceiver 30. For a simple pushbutton system, a button depression of short duration may be used to signify activation input for the channel assigned to the button. Holding the button for a moderate length of time may be used to signify fixed training input. Holding the button for an extended period of time may be used to indicate reset input.
Referring now to
Considering again block 272, if the channel mode corresponding to the asserted input is a rolling code mode, a rolling code activation signal loop is entered. Characteristics of the next rolling code scheme are loaded, as in block 286. The synchronization (sync) counter associated with the current scheme is incremented, as in block 288. The incremented counter value is also stored. The synchronization counter is encrypted using the crypt key to produce a rolling code value, as in block 290. A data word is formed using the rolling code value, as in block 292. The carrier frequency is set, as in block 294. The data word is modulated and transmitted, as in block 296. A check is made to determine if any schemes remain in the rolling code mode, as in block 298. If so, blocks 286, 288, 290, 292, 294 and 296 are repeated. If no schemes remain, the activation routine is terminated.
Referring now to
Referring now to
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention.