The present invention relates generally to the field of trainable transmitters or transceivers for use with vehicles. More specifically, the present invention relates to trainable transmitters that are configured for use with remote control systems.
Electronically operated remote control systems, such as garage door opener systems, home security systems, home lighting systems, gate controllers, etc., typically employ a portable, hand-held transmitter (i.e., an original transmitter) to transmit a control signal to a receiver located at the remote control system. For example, a garage door opener system typically includes a receiver located within a home owner's garage and coupled to the garage door opener. A user presses a button on the original transmitter to transmit a radio frequency signal to the receiver to activate the garage door opener to open and close a garage door. Accordingly, the receiver is tuned to the frequency of its associated original transmitter and demodulates a predetermined code programmed into both the original transmitter and the receiver for operating the garage door. To enhance security of wireless control systems, such as a garage door opener system, manufacturers commonly use encryption technology to encrypt the radio frequency signal sent from a transmitter to a receiver. One such encryption method is a rolling code system, wherein each digital message sent from the transmitter to the receiver has a different code from the previous digital message.
As an alternative to a portable, hand-held original transmitter, a trainable transmitter or transceiver may be provided in a vehicle for use with remote control systems. A trainable transmitter is configurable by a user to activate one or more of a plurality of different remote control system receivers using different radio frequency messages. Typically, training a trainable transmitter to an existing original transmitter is a two-step process. First, a user holds the two transmitters in close range and presses buttons on the original transmitter and the trainable transmitter. The trainable transmitter identifies the type of remote control system associated with the original transmitter based on a radio frequency signal received from the original transmitter. For example, the trainable transmitter may identify and store the control code and RF carrier frequency of the original transmitter radio frequency control signal. Second, the receiver may learn a transmitter identifier of the trainable transmitter. For systems employing a rolling code (or other encryption method), the trainable transceiver and receiver must also be “synchronized” so that the counters of the trainable transmitter and the receiver begin at the same value. Accordingly, the user presses a button on the receiver to put the receiver in a training mode. A button on the trainable transceiver may then be pressed, for example, two to three times, within a set period of time to transmit messages so the receiver may learn the transmitter identifier, complete synchronization of the receiver and the trainable transmitter and confirm that training was successful. Once trained, the trainable transmitter may be used to transmit RF signals to control the remote control system.
As mentioned, the second step of the training process requires a user to put the receiver of the remote control system in a training mode. Accordingly, the user may need to climb a ladder to press a button on the remote control system receiver and then return to a vehicle to press a button of the trainable transmitter within a set period of time. A user may also not know that their remote control system (e.g., a garage door opener system) is a rolling code system and therefore requires the second step of the training process. Accordingly, the user may not perform the second step and the trainable transmitter will not operate the remote control system.
In accordance with an embodiment, a method for training a receiver of a remote control system to a trainable transmitter includes receiving a control signal from an original transmitter associated with the remote control system, starting a first period of time in response to receipt of the control signal, receiving a learn message from a trainable transmitter during the first period of time, beginning a receiver training mode in response to the learn message, receiving a rolling code control signal from the trainable transmitter during the training mode, and storing an identifier of the trainable transmitter.
In accordance with another embodiment, a method for training a trainable transmitter includes receiving a request to enter a training mode from a user, beginning a training mode in response to the request to enter a training mode, receiving a control signal from an original transmitter associated with a remote control system, detecting a frequency and control data of the control signal, the control data including a fixed portion and an encrypted portion, identifying rolling code data associated with the remote control system, generating a learn message based on the fixed portion and encrypted portion of the control signal, the learn message configured to cause a receiver of the remote control system to enter a training mode, receiving a request to transmit the learn message from a user, transmitting the learn message to the remote control system for a predetermined period of time, generating a rolling code control signal using the identified rolling code data upon expiration of the predetermined period of time, and transmitting the rolling code control signal to the remote control system.
In accordance with another embodiment, a trainable transmitter includes a user input device, a receiver circuit configured to receive signals, a transmitter circuit configured to transmit signals and a control circuit coupled to the user input device, the receiver circuit and the transmitter circuit, the control circuit having a training mode and configured to receive a control signal having a fixed portion and an encrypted portion from an original transmitter associated with a remote control system via the receiver circuit, to identify rolling code data associated with the remote control system based on the control signal, to generate a learn message based on the fixed portion and encrypted portion of the control signal, to transmit the learn message to the remote control system for a predetermined period of time via the transmitter circuit, to generate a rolling code control signal using the rolling code data upon expiration of the predetermined period of time and to transmit the rolling code control signal to the remote control system via the transmitter circuit. The learn message is configured to cause a receiver of the remote control system to enter a training mode.
Trainable transmitter 16 may be configured to control a remote control system 14, such as a garage door opener, home security system, home lighting system, gate controller, etc. Trainable transmitter 16 is trained using an original transmitter 12 used to control remote control system 14. Original transmitter 12 is a transmitter, typically a hand-held transmitter, which is sold with remote control system 14 or as an after-market item, and which is configured to transmit an activation signal at a predetermined carrier frequency and having control data configured to actuate remote control system 14. For example, original transmitter 12 can be a hand-held garage door opener transmitter configured to transmit a garage door opener signal at a frequency, such as 355 Megahertz (MHz), wherein the activation signal has control data, which can be fixed code or cryptographically-encoded code (e.g., a rolling code). In this example, remote control system 14 may be a garage door opener system configured to open a garage door in response to receiving the activation signal from original transmitter 12. Accordingly, remote control system 14 includes an antenna (not shown) for receiving wireless signals including control data which would control remote control system 14.
To train trainable transmitter 16, an activation or control signal A is transmitted from original transmitter 12 to trainable transmitter 16 in the vehicle 10. Trainable transmitter 16 receives the control signal, identifies the control data (e.g., fixed or rolling code data) and carrier frequency of the control signal and stores this information. Trainable transmitter 16 may then be used to selectively generate a control signal T based on the learned frequency and control data and to transmit the control signal T to the remote control system 14, such as a garage door opener, that is responsive to the control signal. The training and operation of trainable transmitter 16 is discussed in further detail below.
Interface circuit 24 couples signal information from switches 26, 28 and 30 to the input terminals of control circuit 22. Control circuit 22 includes data input terminals for receiving signals from the switch interface 24 indicative of the closure states of switches 26, 28 and 30. A power supply 32 is conventionally coupled to the various components for supplying the necessary operating power in a conventional manner.
Control circuit 22 is also coupled to a display 36 which includes a display element such as a light emitting diode (LED). Display 36 may alternatively include, for example, a liquid crystal display (LCD), a vacuum fluorescent display (VFD), or other display elements. Control circuit 22 includes a memory 34 including volatile and/or non-volatile memory to, for example, store a computer program or other software to perform the functions described herein. Memory 34 is configured to store learned information such as control data and carrier frequency information that may be associated with switches 26, 28 and 30. In addition, for rolling code or other cryptographically encoded remote control systems, information regarding the rolling code or cryptographic algorithms for each system may be pre-stored and associated with frequencies and control data that may be used to identify a particular type of remote control system and, therefore, the appropriate cryptographic algorithm for the remote control system. As discussed previously, each switch or button 26, 28 and 30 may be associated with a separate remote control system, such as different garage door openers, electronically operated access gates, house lighting controls and other remote control systems, each which may have its own unique operating RF frequency, modulation scheme, encryption(or cryptographic) algorithm and control data.
Transmitter circuit 20 and receiver 21 communicate with the remote control system 14 and the original transmitter 12 via antenna 38. Receiver 21 may be used to receive signals via antenna 38 and transmitter circuit 20 may be used to transmit signals via antenna 38. In an alternative embodiment, a separate antenna may be used with transmitter 20 and with receiver 21 (e.g., separate transmit and receive antennas may be provided in the trainable transmitter). Remote control system 14 includes a receiver 15 to receive signals such as an RF control signal from, for example, original transmitter 12 or trainable transmitter 16. Once a channel of trainable transmitter 16 has been trained, trainable transmitter 16 is configured to transmit a wireless control signal having control data that will control remote control system 14. For example, in response to actuation of a switch such as switch 26, transmitter circuit 20 is configured, under control from control circuit 22, to generate a control signal having a carrier frequency and control data associated with the particular trained channel. The control data may be modulated onto the control signal using, for example, frequency shift key (FSK) modulation, amplitude shift key (ASK) modulation or other modulation technique. The control data on the control signal may be a rolling code or other cryptographically encoded control code suitable for use with remote control system 14. As mentioned previously, the rolling code or cryptographic algorithm for remote control system 14 may be identified by trainable transmitter 16 using the control signal (e.g., the carrier frequency and control data) of original transmitter 12.
At block 42, the trainable transmitter enters a training mode and begins looking for a control signal to train the channel. At block 44, an original transmitter for a remote control system (e.g., original transmitter 12 in
Returning to
In an exemplary embodiment, the learn message is generated by applying a predetermined algorithm to the encrypted portion of the control signal in its encrypted form (e.g., an encrypted counter value that has not been decrypted) and the transmitter identifier (e.g., the fixed portion of the control signal) of the original transmitter. The learn message may, for example, represent an initial rolling count for the trainable transmitter. The learn message may also include the transmitter identifier (e.g., a serial number) of the trainable transmitter. In an alternative embodiment, the learn message may include a value generated by performing an exclusive-OR (XOR) or addition between the encrypted portion of the original transmitter control signal and the transmitter identifier of the trainable transmitter. It should be understood that other predetermined algorithms may be used to generate the learn message based on the original transmitter control signal (e.g., the fixed and encrypted portions of the original transmitter control signal) and are within the scope of the appended claims. For example, as discussed above, a predetermined algorithm may be applied to the transmitter identifier and the encrypted counter value (in its encrypted form) of the original transmitter control signal. In an exemplary embodiment, the learn message generated is a fixed message, for example, a 32-bit fixed word. In an alternative embodiment, the learn message may include a fixed portion and an encrypted portion (e.g., a portion of the learn message may be encrypted using an encryption algorithm).
At block 56, a user provides input (e.g., by actuating the pushbutton associated with the trained channel) to initiate transmission of the learn message to the remote control system receiver at block 58. Preferably, the learn message is transmitted for a predetermined period of time. In an exemplary embodiment, the learn message may be transmitted for one second or several seconds. In another embodiment, the trainable transmitter may be configured to transmit the learn message for the duration of time the user is holding the button down. Upon expiration of the predetermined period of time, the trainable transmitter generates a rolling code control signal using the rolling code data (e.g., an encryption algorithm and carrier frequency) associated with the trained channel and transmits the rolling code control signal to the remote control system at block 60.
Referring again to
While the exemplary embodiments illustrated in the FIGS. and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. For example, alternative embodiments may be suitable for use in the commercial market, wherein office lights or security systems or parking garage doors are controlled. Accordingly, the present invention is not limited to a particular embodiment, but extends to various modifications that nevertheless fall within the scope of the appended claims. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments.