The present invention relates to a barrier operator that controls the movement of an access barrier between opened and closed limit positions and which is configured to process function codes of multiple data formats. Specifically, the present invention is directed to a receiver for a barrier operator that is configured to process function codes that may comprise various fixed code and rolling code data formats. More specifically, the present invention is directed to a barrier operator that is configured to process command signals of different carrier frequencies.
Barrier operators used to move access barriers, such as garage doors, between opened and closed positions typically maintain various functions that may be actuated via a remote wireless transmitter. As such, the user may remotely implement an open or close barrier function for example, by selecting the appropriate button provided at the remote transmitter. In order to remotely communicate the desired function to be implemented at the barrier operator, the wireless transmitter generates a function code identifying the function or operation to be carried out at the barrier operator. The function code, which contains the information for invoking the desired operation, comprises a specific data format and is transmitted to the barrier operator via a command signal of a predetermined carrier frequency. Once the command signal is received at the barrier operator, the function code is obtained, and the desired operation, such as opening or closing the access barrier, is carried out.
Typical barrier operators are configured to be receptive to, or otherwise compatible with, command signals of a single carrier frequency, and to function codes of only a single data format. Thus, if a user attempts to use a remote transmitter that transmits a command signal on a different frequency or utilizes a function code of a different data format other than that which the barrier operator is compatible, the barrier operator will fail to carry out the desired operation. In other words, in order for the barrier operator to carry out a desired operation, the transmitted command signal and function code are required to be compatible with that of the barrier operator being controlled. One of the reasons such incompatibility exists is due to the fact that manufacturers of barrier operators have not been generally concerned with configuring the receiving circuitry maintained by the operator to be otherwise compatible with command signals of different carrier frequencies and function codes of different data formats. In the past, the technology to allow such compatibility has been costly, thus making it infeasible for manufacturers to provide compatibility between barrier operators and various other remote transmitters that use various formats and carrier frequencies.
However, as data transmission technology has progressed, and as the potential for an unauthorized signal to take control of a device has increased, the need for secure and reliable for wireless devices has come forth. The increase in the use of wireless data communication also requires all wireless devices to become more adept at identifying the transmitted signal in a background of electromagnetic noise. Furthermore, various governing bodies, such as the Federal Communications Commission (FCC), and the European Community have set forth regulations that require manufacturers to comply with certain criteria in which wireless signals are transmitted so as to reduce potential interference. Finally, consumer demand for the convenience provided by wireless devices has prompted barrier operator manufacturers to consistently incorporate new features utilizing wireless technology, as well as extended communication ranges. Thus, to remain competitive, and in light of the aforementioned considerations, manufacturers have been required to periodically modify or alter the communication frequencies and function code data formats utilized by the barrier operator and the remote transmitter to communicate various functions therebetween.
Unfortunately, the modification of the carrier frequencies and function code data formats used by the barrier operator and the remote transmitters to accommodate the latest trends in wireless communication, often results in an incompatibility between barrier operators and remote transmitters of different makes and models. As a result, many remote transmitters, and other wireless devices are rendered incompatible with a given barrier operator.
Therefore, there is a need for a system for processing multiple command signal carrier frequencies and function code data formats for a barrier operator that allows compatibility of the barrier operator with various remote transmitters. Additionally, there is a need for a system for processing multiple function code data formats for a barrier operator that is configured to allow the barrier operator to be receptive to various fixed code and rolling code data formats so as to increase the compatibility of the barrier operator with various remote transmitters. In addition, there is a need for a system for processing multiple command signal carrier frequencies that allows various remote devices to communicate commands using a variety of radio frequency (RF) carrier signals so as to increase the compatibility of the barrier operator with various remote transmitters.
In light of the foregoing, it is a first aspect of the present invention to provide a system for processing multiple signal frequencies and data formats for a barrier operator.
It is another aspect of the present invention to provide a method for learning a wireless transmitter to a barrier operator, the method comprising receiving a command signal that includes at least two redundant function code data words from a wireless transmitter by a receiver maintained by the barrier operator, determining a data format of the function code data words by a microcontroller connected to the receiver, comparing each of the function code data words if the function code data format cannot be determined at the determining step, and identifying a fixed code portion maintained by each of the transmitted function code data words based on the comparison step.
Yet another aspect of the present invention is a method for learning a wireless transmitter to a barrier operator having a microcontroller controlled multiple-frequency receiver, the method comprising receiving a command signal containing a function code data word from a wireless transmitter, receiving the function code data word at a microcontroller maintained by the barrier operator, determining a data format of the function code data word received by the microcontroller and determining whether the data format contains a fixed code portion or a rolling code portion if the function code data format is identified at the first determining step.
Still another aspect of the present invention is a method of processing received command signals transmitted from a wireless transmitter to a barrier operator so as to actuate an access barrier, the method comprising placing a receiver into a command signal frequency scanning mode, receiving at the receiver a command signal which includes a function code data word associated with a function to be performed by the barrier operator, determining whether a data format of the function code data word is stored in the barrier operator, determining whether any portion of the function code data word matches one or more fixed code tags if the data format of the function code data word is not stored at the barrier operator, and carrying out the function associated with the function code data word at the barrier operator if a match is made at the second determining step.
Yet another aspect of the present invention is a barrier operator configured to learn and receive disparate wireless transmission signals to control movement of a barrier, the operator comprising a receiver core circuit adapted to receive wireless transmission signals containing known and unknown formatted data words, and a microcontroller associated with a memory unit, said microcontroller adapted to determine a fixed code portion of said unknown formatted data words, said microcontroller connected to said receiver core circuit and storing in said memory unit known formatted data words and unknown formatted data words if said fixed code portion can be determined when said microcontroller is in a learn mode.
These and other features and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings wherein:
A system for processing multiple command signal carrier frequencies and function code data formats for a barrier operator is generally referred to by the numeral 10, as shown in
Continuing to
During operation of the barrier operator 30, the microcontroller 100 is configured to generate and supply an analog voltage level to the D/A output 120, which is coupled to the voltage input 150 of the voltage controlled oscillator (VCO) 140 maintained by the receiver 20. In response to the receipt of the analog voltage level, the voltage controlled oscillator (VCO) 140 generates a carrier signal having a frequency or generates a carrier signal having a fraction of the desired carrier frequency that is proportional to the magnitude of the supplied analog voltage level. The generated carrier frequency value is then delivered to the receiver core circuit 180 via the RF control input 170. As such, the generated carrier wave tunes the receiver core circuit 180, or otherwise makes it responsive to, transmitted command signals having a frequency approximately equivalent to that of the carrier signal generated by the VCO 140. Once the receiver core circuit 180 has been tuned, the RF filter 210 passes command signals received from the antenna 220 that have carrier frequencies that fall within the bandwidth of the RF filter 210. As previously discussed, the RF filter 210 has a defined bandwidth, and acts as a pre-filter allowing only a predetermined range of frequencies to be passed from the antenna 220 to the RF input 200 of the receiver core circuit 180. Such configuration prevents unrelated signals and noise from being passed to the receiver core circuit 180 so that it operates more efficiently and with less interference. Thus, when a command signal having the same carrier frequency as that set at the RF control input 170 is received via the antenna 220 and the RF filter 210, the receiver core circuit 180 begins to demodulate the command signal, and/or decrypt the function code so as to derive the data contained therein. Once the data comprising the function code is extracted from the transmitted command signal, it is passed to the data output 190 of the receiver core circuit 180 for receipt by the microcontroller 100 via the data input 110. Once received by the microcontroller 100, the data comprising the function code is analyzed, and the microcontroller 100 generates suitable control signals so as to control the access barrier 60, and any other accessory associated therewith in accordance with the transmitted function code associated with a function selected at the transmitters 80A-C,90A-C.
As previously discussed, when a command signal has been received by the receiver core circuit 180, it is demodulated and/or decrypted into binary data that is sent to the microcontroller 150. The microcontroller 150 then analyzes and organizes the data into various data words that make up the function code data. It should be appreciated these binary data words comprise various data formats that may be used by various transmitters 80,90. Specifically, the data format of a particular function code may comprise a fixed code 300, such as that shown in
Continuing to
In order to associate the transmitters 80A-C and 90A-C, which utilize command signals of various carrier frequencies, and function codes that utilize various data formats, with the barrier operator 30, a learning mode may be initiated between one of the transmitters 80A-C and 90A-C and the barrier operator 30. The operational steps associated with the learning mode are generally referred to by the numeral 500 as shown in
However, if at step 560, the microcontroller 100 determines that the format of the transmitted data word comprises a fixed code, the process 500 continues directly to step 590, where the fixed code is stored at the memory unit 130. Whereas, at step 600, the carrier frequency associated with the command signal that was used to send the fixed code stored at step 590 is stored at the memory unit 130. As such, once steps 590 and 600 have been performed, the transmitter 80,90 initiating the process 500 is learned to the barrier operator 30 and the process concludes at step 610.
Returning to step 550, if the microcontroller 100 is unable to determine the particular format of the data word transmitted by the function code, then the process 500 continues to step 620, where the microprocessor 100 waits for an additional transmission of the function code from the transmitter 80A-C,90A-C. In one aspect, it should be appreciated that multiple data words comprising the function code may be provided by each instance of a transmitted command signal. After the additional data words have been transmitted, the process 500 continues to step 630, where the microcontroller 100 determines whether the function code data word contains a fixed code region or a rolling code region that can be used as a decryption key to decrypt associated function codes. Such a data word format determination may be achieved by comparing successive data words with each other, so as to identify which portions of the successive data words change. For example, for a rolling code format one or more data bits will change value compared to the other transmitted function code data words. For a fixed code format, however, all data bits values will remain identical with regard to each transmitted function code data word. Thus, at step 630 the microcontroller 100 attempts to identify the fixed portion of the transmitted function code data word. However, if the fixed portion of the function code is not usable for any given reason, then the function code is rejected and the process 500 concludes, as indicated at step 580. However, if the fixed code portion of the data word is identified, then the process continues to step 640. At step 640, the microcontroller 100 stores the fixed portion of the data word identified at step 630 as a decryption key at the memory unit 130. The microprocessor 100 then identifies and “tags” the specific location where the bits associated with the fixed code in the fixed portion are located within the entire function code data word. In one aspect this may be accomplished by storing the function code data word, and the bit identifier (i.e. number of bits) of the first bit of the fixed portion of the data word along with the total quantity of fixed bits. Another method of storing the bits of the fixed portion of the function code data word is to store the tag as the bit identifier of the first bit of the fixed code data word, and the bit identifier of the last bit of the fixed portion. Still another method, is to tag or identify that the fixed portion begins at a specific time period from the start of the data word, such as 15 ms from the leading edge of the first bit of the data word, along with the time period of the last fixed portion data bit. The decryption key is used to decrypt future function codes, which are transmitted to the barrier operator 30 so as to enable various transmitters 80A-C,90A-C to control various functions maintained by the barrier operator 30.
After the fixed region of the function code data word has been stored at step 640, the process 500 continues to step 650 where the microcontroller 100 generates a visual or audible indication that the function code may not be as secure as possible. Briefly, a rolling code formatted data word, or function code, prevents the copying of the function code by continually changing a portion of the data word for each transmission from the transmitter 80A-C,90A-C. As such, if the microcontroller 100 only learns the fixed portion of the rolling code, then potential exists for an interloper to intercept and copy one of the transmitted function codes to gain control of the barrier operator 30. Therefore, the feedback provided at step 650 gives notice to the user of the reduced security condition, so that he or she can plan accordingly. This feedback form source 34 may take the form of a series of flashes from a visual indicator emanating from a light emitting diode (LED) 34 mounted on the barrier operator by the operator learn/scan button 512. Another source of feedback can be from a series of flashes from a visual indicator emanating from the main service light located on the barrier operator or remotely within the line of sight of the barrier operator (which normally serves to illuminate the garage space). Yet another form of feedback can be a series of audible beeps from a barrier operator-mounted audible transducer. Once step 650 has been completed, the process 500 continues to steps 590 and 600 where the fixed code and the carrier frequency associated with the transmitted command signal is stored at the memory unit 130 of the barrier operator 30 in the manner previously discussed. Once completed, the process concludes at step 610 whereby the selected transmitter 80A-C,90A-C is learned with the barrier operator 30 so as to control one or more functions maintained thereby.
After the barrier operator 30 has been learned with one or more of the transmitters 80A-C,90A-C, the barrier operator 30 is able to be responsive to the particular carrier frequencies and data formats utilized by the command signal and function code generated by the transmitter 80A-C,90A-C. As such, the barrier operator 30 is able to carryout various functions remotely invoked by the transmitters 80A-C,90A-C. The operational steps taken by the barrier operator 30 when a command signal is transmitted by the transmitters 80A-C,90A-C are generally referred to by the numeral 700, as shown in
Returning to step 760, if the microcontroller 100 identifies the data format of the transmitted function code data word, then the process 700 continues to step 810 where the microprocessor 100 determines whether the function code data word contains a rolling code portion or a fixed code portion. If the microprocessor 100 determines that the transmitted function code contains a fixed code, then the process 700 proceeds to carry out steps 780-800 as previously discussed. In other words, if the transmitted function code contains a fixed code that is stored at the barrier operator 30, the operation requested by the transmitter 80,90 is carried out by the barrier operator 30. However, if at step 810, the process 700 determines that the function code data word includes a rolling code, the process continues to step 820 where the microcontroller 100 of the barrier operator 30 attempts to decrypt and validate the rolling code. If the barrier operator 30 is unable to decrypt and validate the rolling code maintained by the transmitted function code, then the function requested via the transmitter 80,90 is not processed as indicated at step 790. However, if the microcontroller 100 is able to decrypt and validate the rolling code at step 820, the process 700 proceeds to carry out steps 780-800 as previously discussed.
In regard to step 720 of the command signal scanning mode 700, the receiver 20 may be configured to scan for various transmitted command signals in a variety of manners. By providing various methodologies in which the receiver 20 may scan for transmitted command signals, the processor 100 and receiver 20 may be able to conserve processing cycles allowing the system 10 to operate more efficiently. In one aspect, the system 10 may comprise various command signal scanning modes, which comprise an initial use/discrete mode, a scan all mode, and a scan stored mode, which will be discussed more fully below. Thus, the discussion that follows relates to these various scanning modes that can be selectively carried out at step 720 of the process 700. It should also be appreciated that the various scanning modes may be invoked by actuating a dedicated scan button 878 maintained by the barrier operator 30.
The initial use mode may be invoked by the barrier operator 30 upon initial installation, until the user elects to change to the scan stored mode. The operational steps for scanning a predetermined number of discrete command signal carrier frequencies that are associated with the initial use mode are generally referred to by the numeral 850, as shown in
In addition to scanning for discrete frequencies, the receiver 20 may provide the scan all mode that is configured to scan a frequency bandwidth of a predetermined range, and at a predetermined scanning resolution. For example, the receiver 20 may scan or step through carrier frequencies within the range of 290 MHz to 440 MHz, at a step resolution of 1 MHz, for example. In other words, the receiver 20 scans the range of carrier frequencies by stepping through the defined bandwidth at 1 MHz increments. However, it should be appreciated that any bandwidth and/or resolution may be utilized by the barrier receiver 20. The operational steps taken by the barrier operator 30 when the receiver 20 is placed in the scan all mode, are generally referred to by the numeral 880 as shown in
Another mode for which the barrier operator 30 may scan for transmitted command signals is referred to the stored scan mode. When placed in the stored scan mode, the receiver 20 only scans for command signals having carrier frequencies that have been previously learned with the barrier operator 30 during the learn mode previously discussed with regard to process 500 shown in
Based upon the foregoing, one advantage of the present invention is that the barrier operator is enabled to receive command signals from various remote transmitters at different carrier frequencies. Another advantage of the present invention is that the barrier operator is configured to process function codes of varying formats sent from various remote transmitters. Still another advantage of the present invention is that the barrier operator includes multiple frequency scanning modes in which to scan for command signals transmitted from various remote transmitters. These different modes allow for reduced scanning time for faster processing of the received transmissions. Yet an additional advantage of the present invention is that various transmitters utilizing various function codes and command signal carrier frequencies may be utilized to control one or more functions maintained by the barrier operator. Still a further advantage of the present invention is that the inventive operator system can learn and act upon rolling-code formatted data transmissions even if the receiver does not know the decryption key or rolling code algorithm. As a result of these advantages, the system can receive at multiple frequencies so as to allow compatibility with older products, compatibility with other manufacturer's products, and the system can learn a transmitter using any frequency that allows it to achieve better performance that the manufacturer's standard frequency.
Thus, it can be seen that the objects of the invention have been satisfied by the structure and its method for use presented above. While in accordance with Patent Statutes, only the best mode and preferred embodiment has been presented and described in detail, it is to be understood that the invention is not limited thereto and thereby. Accordingly, for an appreciation of the true scope and breadth of the invention, reference should be made to the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4750118 | Heitschel et al. | Jun 1988 | A |
5442340 | Dykema | Aug 1995 | A |
5479155 | Zeinstra et al. | Dec 1995 | A |
5583485 | Va Lente et al. | Dec 1996 | A |
5614891 | Zeinstra et al. | Mar 1997 | A |
5661804 | Dykema et al. | Aug 1997 | A |
5686903 | Duckworth et al. | Nov 1997 | A |
5793300 | Suman et al. | Aug 1998 | A |
5949349 | Farris et al. | Sep 1999 | A |
6025785 | Farris et al. | Feb 2000 | A |
6091343 | Dykema et al. | Jul 2000 | A |
6181255 | Crimmins et al. | Jan 2001 | B1 |
703941 | Blaker | Mar 2004 | A1 |
6822603 | Crimmins | Nov 2004 | B1 |
6915146 | Nguyen | Jul 2005 | B1 |
7009529 | Hoermann | Mar 2006 | B2 |
7290702 | Elberbaum | Nov 2007 | B2 |
20030033540 | Fitzgibbon | Feb 2003 | A1 |
20030193448 | Tsui | Oct 2003 | A1 |
20040041692 | Lyons et al. | Mar 2004 | A1 |
20040100391 | Guthrie | May 2004 | A1 |
20050024230 | Chuey | Feb 2005 | A1 |
20050024254 | Chuey | Feb 2005 | A1 |
20050026604 | Christenson et al. | Feb 2005 | A1 |
20050026605 | Guthrie et al. | Feb 2005 | A1 |
20060012461 | Tsui | Jan 2006 | A1 |
20060103503 | Rodriguez | May 2006 | A1 |
20060109078 | Keller, Jr. et al. | May 2006 | A1 |
20060109079 | Mack | May 2006 | A1 |
20060198523 | Shearer | Sep 2006 | A1 |
20080068205 | Witkowski | Mar 2008 | A1 |
20090021348 | Farris et al. | Jan 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20080224885 A1 | Sep 2008 | US |