Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM FOR PROCESSING MULTIPLE SIGNAL FREQUENCIES AND DATA FORMATS FOR A BARRIER OPERATOR
Document Type and Number:
WIPO Patent Application WO/2008/115315
Kind Code:
A2
Abstract:
A barrier operator is configured to learn and receive disparate wireless transmission signals to control movement of a barrier. The operator includes a receiver core circuit adapted to receive wireless transmission signals containing known and unknown formatted data words. A microcontroller is adapted to determine a fixed code portion of the unknown formatted data words. The microcontroller is also associated with a memory unit and connected to the receiver core circuit for storing in the memory unit the known formatted data words and the unknown formatted data words if the fixed code portion can be determined when the microcontroller is in a learn mode. The receiver core circuit may also scan only frequencies associated with learn codes, pre-selected frequencies, and incremental frequencies within a predetermined range of frequencies.

Inventors:
RODRIGUEZ YAN (US)
GARCIA BEN L (US)
MURRAY JAMES S (US)
Application Number:
PCT/US2008/001377
Publication Date:
September 25, 2008
Filing Date:
February 01, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WAYNE DALTON CORP (US)
RODRIGUEZ YAN (US)
GARCIA BEN L (US)
MURRAY JAMES S (US)
International Classes:
G07C9/00
Domestic Patent References:
WO2006071509A22006-07-06
Foreign References:
US20030033540A12003-02-13
US6181255B12001-01-30
Attorney, Agent or Firm:
MORTON, Andrew et al. (Kenner Greive, Bobak, Taylor & Weber,Fourth Floor, First National Towe, Akron OH, US)
Download PDF:
Claims:

CLAIMS What is claimed is 1 A method for learning a wireless transmittei to a baπ ier operator, the method comprising receiving a command signal that includes at least two redundant function code data words from a wireless tiansmitter by a receiver maintained by the operator, determining a data format of said function code data words by a microcontroller connected to said receiver, comparing each of said function code data words if said function code data format cannot be determined at said determining step, and identifying a fixed code portion maintained by each of said transmitted function code data woids based on said comparison step

2 The method of claim 1 , further compπsing tagging said fixed code portion identified at said identifying step

3 The method of claim 2, further compi ising storing said fixed code portion of said function code data woid at said microcontroller

4 The method of claim 1, further comprising storing a carrier frequency of said command signal at said microcontroller

5 The method of claim 1 , further compi ising rejecting each said function code data woi ds if after said comparing step, said fixed code portion of said function code data woids cannot be identified

6 A method for learning a wireless transmittei to a barrier opeiator having a microcontroller controlled multiple-frequency receiver, the method comprising receiving a command signal containing a function code data woi d from a wireless transmitter, receiving said function code data word at a microcontroller maintained by the barrier operator, determining a data format of said function code data word received by said

microcontroller, and determining whether said data format contains a fixed code portion or a rolling code portion if said function code data format is identified at said first detei mining step

7 The method of claim 6, furthei compi ising stoi ing said fixed code portion in said miciocontiollei so as to learn the wneless transmitter to the bainei opei ator if said function code data word contains a fixed code portion

8 The method of claim 6, further comprising storing the carrier frequency of said command signal in said microcontrollei

9 The method of claim 6 fuither comprising deciypting and validating said function code data word if said function code data word contains a rolling code portion

10 The method of claim 9 further comprising stoi ing said i oiling code portion in said microcontrollei so as to learn the wireless transmittei to the barπei opei ator

1 1 A method of piocessing received command signals transmitted fiom a wireless transmitter to a barrier opei ator so as to actuate an access barrier, the method comprising placing a receiver into a command signal frequency scanning mode, receiving at said receiver a command signal which includes a function code data word associated with a function to be pei foimed by the barrier operator, determining whether a data format of said function code data word is stored in said barrier operator, determining whether any portion of said function code data word matches one or more fixed code tags if said data format of said function code data word is not stoi ed at said ban ier operatoi , and cany ing out the function associated with said function code data word at the barrier operator if a match is made at said second detei mining step

12 The method of claim 1 1 , wherein said scanning mode is selected from the gioup consisting of an initial use mode, a scan all mode and a scan stored mode

13 The method of claim 1 1 , fuither comprising determining whether said function code contains a rolling code portion or a fixed code portion if the data format of said function code data word cannot be ascertained at said fust determining step

14 The method of claim 13, fui ther compi ising determining whethei said fixed code poi tion of said function code data woid is stored in said bai i ier operator

15 The method of claim 14, fuither comprising cai lying out the function associated with said function code data woid at said baiπer operator if said fixed code portion of said function code data woid is stored in said barrier operator

16 The method of claim 13, further comprising determining whether said rolling code portion of said function code is stored in said barrier operator

17 The method of claim 16, fuither comprising carrying out the function associated with said function code data woid at said baiπei operator if said i oiling code portion of said function code data word is stored said barrier operatoi

18 The method of claim 1 1 , fuither comprising scanning by said receivei only frequencies of said command signals associated with said function code data words stored in said baiπer operator

19 The method of claim 1 1 , further comprising scanning by said receiver only predetermined frequencies within a set range of frequencies

20 The method of claim 1 1 , fuither comprising scanning by said receiver in pi edetei mined fr equency increments a set frequency bandwidth

21 A barrier operatoi configured to leai n and receive disparate wireless tiansmission signals to contiol movement of a barrier, the operator comprising a receiver core circuit adapted to receive wireless transmission signals containing known and unknown foi matted data woids, and a microcontroller associated with a memoiy unit, said microcontroller adapted to deteimine a fixed code portion of said unknown foi matted data woids, said microcontrollei connected to said receiver core circuit and storing in said memory unit known formatted data words and unknown foi matted data words if said fixed code portion can be determined when said miciocontroller is in a learn mode

22 The operator accoiding to claim 21 , w hei em in an opei ate mode said microcontiollei compaies l eceived wireless transmission signals containing known foi matted data woids and unknown formatted data woi ds having said fixed code portions that can be compared to those stored in said memoi y unit and generating a baπ iei command when a match is found

23 The operator according to claim 22, wherein in said learn mode said microcontroller stores a frequency value of each known and unknown formatted data word in said memoiy unit, and wherein in said opei ate mode said receiver core circuit scans only those frequency values stored in said memoiy unit

24 The operator according to claim 22, wheiein in said operate mode said receiver core circuit receives said wireless transmission signals at any number of frequencies

25 The opeiatoi accoi ding to claim 24, whei em in said opei ate mode said l eceiver core circuit scans selected discrete frequency valves within a predetei mined range of frequencies

26 The operator according to claim 24, wheiein in said operate mode, said receiver core circuit incrementally scans at discrete intervals within a predetermined range of

frequencies.

27. The operator according to claim 21 , wherein said memory unit is provided with predesignated known formatted data words for comparison to wireless transmission signals received in said learn mode.

28. The operator according to claim 21 , further comprising: a voltage controlled oscillator connected to said receiver core circuit and to said microcontroller, wherein said microcontroller provides input to said oscillator which in turn tunes said receiver core circuit to receive said signals at a selected frequency.

Description:

SYSTEM FOR PROCESSING MULTIPLE SIGNAL FREQUENCIES AND DATA FORMATS FOR A BARRIER OPERATOR

TECHNICAL FIELD The present invention relates to a barπei operatoi that controls the movement of an access baπ iei between opened and closed limit positions and which is configured to process function codes of multiple data foi mats Specifically, the piesent invention is directed to a receiver for a barrier opeiator that is configured to process function codes that may comprise vai ious fixed code and i oiling code data formats More specifically, the present invention is diiected to a barπei operator that is configured to process command signals of diffeient carriei frequencies

BACKGROUND ART Baiπer 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 appi opπate button provided at the remote transmitter In order to remotely communicate the desired function to be implemented at the barrier operatoi , the wireless transmitter generates a function code identifying the function oi operation to be earned out at the bai πer operator The function code, which contains the infoi mation for invoking the desned 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 oi closing the access barrier, is carried out

Typical barπei operators are configured to be receptive to, or otheiwise 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 baπier 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.

SUMMARY OF TH E INVENTION 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

opeiator comprising a leceiver core ciicuit adapted to receive wireless transmission signals containing known and unknown formatted data words, and a miciocontroller associated with a memory unit, said microcontroller adapted to determine a fixed code portion of said unknown formatted data words, said microconti oiler connected to said receiver core circuit and storing in said memory unit known formatted data woi ds and unknown formatted data words if said fixed code portion can be detei mined when said microconti ollei is in a learn mode

BRIEF DESCRIPTION OF THE DRAWINGS These and other features and advantages of the present invention will become better undei stood with regard to the following description, appended claims, and accompanying drawings wherein

Fig 1 is a block diagram of a system for processing multiple frequencies and data formats for a barrier operator showing the interaction between various transmitters utilizing various caiπer frequencies and data foi mats to control the movement of an access barrier associated with the barrier opeiatoi in accordance with the concepts of the present invention,

Fig 2 is a is a block diagram of a system for processing multiple frequencies and data formats for a barrier operator showing a receiver and a microprocessoi configured to piocess multiple earner fiequencies and data foi mats in accordance with the concepts of the pi esent invention,

Fig 3 is a timing chart showing vai ious regions of a fixed code data format in accordance with the concepts of the piesent invention,

Fig 4 is a timing chart showing various regions of a rolling code data format in accordance with the concepts of the present invention,

Fig 5 is a timing chart showing vaπous regions of an alternative rolling code data format in accordance with the concepts of the present invention,

Fig 6 is a flowchart showing the operational steps taken by the system when the barrier operator and various remote transmitters are placed into a learn mode in accordance with the concepts of the present invention,

Fig 7 is a flowchart showing the operational steps taken by the system when the barrier operator is placed in an operation mode in accordance with the concepts of the present invention.

Fig 8 is a flowchart showing an initial frequency scanning process performed by a leceiver maintained by the barrier operator in accoi dance with the concepts of the present invention,

Fig 9 is a flowchart showing an alternative frequency scanning process performed by the receiver in which all earner frequencies stoied at the baπ ier opei ator aie scanned for valid function codes in accordance with the concepts of the present invention, and

Fig 10 is a flowchart showing anothei alternative frequency scanning process perfoi med by the receiver in which only can iei frequencies of remote transmitters that have been previously learned with the barπei operator are scanned in accoi dance with the concepts of the present invention

BEST MOPE FOR CARRYING OUT THE INVENTION

A system for processing multiple command signal carrier frequencies and function code data formats for a barπei operator is generally refeπed to by the numeral 10, as shown in Fig 1 of the drawings The system 10 broadly comprises a multiple frequency leceiver 20 that is maintained by a barrier operator 30 A feedback source 34, which may be a light emitting diode and/or an audible transducer, is connected to the operator to provide confirmation as to the status thereof The barrier operator 30 is powered by a suitable power source, such as a mains power souice 32 that provides 120 VAC, for example Of course, other power sources could be used The barπei operator 30 is configured to generate vaπous control signals to control a motor 40 that drives linkage 50, such as a counterbalance system, so as to move an access baπ ier 60 coupled thereto between opened and closed limit positions It should be appreciated that the access barrier 60 may comprise any garage door, curtain, retractable awning, gate, or the like Spanning across the opening enclosed by the access barπei 60 may be a pair of photo beams 62,64 that are configured to initiate corrective action at the barrier operatoi 30, such as reversing direction of the access barrier 60, should the photo beams 62,64 detect the presence of an obstacle during movement of the access barrier 60 In order to control the operation of the barrier operator 30, remote transmitters 80A-C and keyless transmitters 90A-C transmit command signals that contain vaπous function codes to the operator 30 The function codes are associated with various operations that may be carried out by the barrier operator 30, and may be invoked by actuating an associated button or keys carried by the transmitters 80A-C,90A-C For example, a function code may be associated with opening and/or closing the access barrier 60 The carriei frequency of the command signals and

o-

the data format of the function code may differ among the various transmitters 80A-C, and 90A-C. As such, the alphanumeric designations as used herein, indicates a distinct earner frequency designated A-B and function code data format designated A-B that may be associated with a given remote transmitter 80 and keyless transmitter 90. For example, transmitter pair 80,90 designated A utilizes a carrier frequency A and a function code format A; transmitter pair 80,90 designated B utilizes a carrier frequency B and a function code format B; while the transmitter pair 80,90 designated C utilizes a carrier frequency A and a function code format B. In other words, the present invention contemplates that the barrier operator 30 is enabled to be controlled by various transmitters 80,90 that utilize command signals of different carrier frequencies and function codes of different data formats. However, it should be appreciated that the use of the designations A-B for identifying carrier frequencies and A-B for designating data code formats is for illustration only, and in practice the present invention may utilize any variety and configuration of earner frequencies and data code formats. Indeed, the multiple frequency receiver 20 is configured to receive command signals of various frequencies from the transmitters 80A-

C,90A-C, which carry function codes of various data formats. And upon receipt is then able to process the specific command contained within the function code so as to control various functions maintained by the barrier operator 30, such as to move the access barrier 60 between opened and closed positions for example. Continuing to Fig. 2, the system 10 shows the barrier operator 30 comprising a microcontroller 100. The microcontroller 100 maintains the necessary hardware, software, and memory necessary to carryout the various functions to be described. It should also be appreciated that the microcontroller 100 may comprise an application specific integrated circuit (ASIC) or any general purpose processor that has been suitably programmed or otherwise configured to carryout the described functions. Additionally, the microcontroller 100 maintains a data input 1 10 and a digital-to-analog (D/A) output 120. Coupled to the microprocessor 100 is a memory unit 130, that may comprise any type of non-volatile memory including: electrically erasable programmable memory (EEPROM), Flash ROM, antifuse memory or the like. In addition, the memory unit 130 may optionally maintain an amount of volatile memory, which may comprise static random access memory (SRAM), dynamic random access memory (DRAM), or the like. In addition to the microcontroller 100, the barrier operator 30 also provides the multi- frequency receiver 20 to enable communication with the various remote transmitters and keyless transmitters 80,90. The receiver 20 includes a voltage controlled oscillator (VCO)

140 that includes a voltage input 150 and an RF control output 160. The voltage input 150 is coupled to the D/A output 120 of the microcontroller 100, while the RF control output 160 is coupled to an RF control input 170 maintained by a receiver core circuit 180. The receiver core circuit 180 maintains the necessary hardware, software, and memory for demodulating and/or decrypting various command signals that are received by the receiver

20 which have been transmitted by the transmitters 80,90. Moreover, the receiver core circuit 180 maintains a data output 190 and an RF control input 200. The RF input 200 is coupled to an RF filter 210. The RF filter 210 is configured to be tuned to pass a predetermined range or bandwidth of command signal carrier frequencies that are received via an antenna 220 coupled thereto. Coupled to the data output 190 of the receiver core circuit 180 is the data input 1 10 of the microcontroller 100, which enables communication of data there between. In addition to being coupled to the receiver 20, the microcontroller 100 is coupled to the motor 40 enabling the access barrier 60 to be moved between opened and closed limit positions. It should also be appreciated that the receiver 20 may be configured to be removably interfaced with the microcontroller 100, so as to allow a user to upgrade a compatible barrier operator with the functionality provided by the receiver 20. Alternatively, the circuitry of the receiver 20 may be integrated into the circuitry of the microcontroller. Thus, the multiple frequency receiver 20 maintained by the barrier operator 30 is able to receive command signals of various carrier frequencies and process various fixed code and rolling code data formats that may be used by the various transmitters 80A-C, and 90A-C when transmitting a function code to the barrier operator 30.

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 RP 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 circuitl 80 for receipt by the microcontroller 100 via the data input 1 10. 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 Fig. 3, and/or various rolling codes 310, 320, as shown in Figs. 4 and 5 respectively. For example, the fixed code in Fig. 3 comprises a data word having various regions including a 10-bit binary data word region 330, and a blank time region 340 that represents a discrete transition between consecutive data words 330. It should be appreciated that the data word region 330 is represented by a series of binary data pulses, that represent a logical "1 " or a logical "0." In one aspect, the data word or a portion of the data word region may identify a particular function to be carried out by the barrier operator 30. Additionally, the format for representing a logical "1" may be represented by a high pulse that is approximately 75% of the pulse time, while a logical "0" may be represented by a high pulse that is approximately 25% of the pulse time. Alternatively, a fixed code could utilize a format, such that a logical "1 " is represented by a low pulse that is approximately 75% of the pulse time, while a logical "0" is represented

by a low pulse that is approximately 25% of the pulse time Moreover, the fixed code 300 shown in Fig 3, and discussed above represents only one format that can be utilized by the fixed code 300, and as such, such discussion should not be construed as limiting

Continuing to Figs 4 and 5, it is shown that function codes may comprise a data word having a format comprising rolling codes 3 10 and 320, which are configured to have a rolling portion that changes after each transmission of a command signal is sent by each of the transmitters 80A-C,90A-C Specifically, Fig 4 shows the rolling code 310, which is provided under the ti ademark KEELOQ©, and which comprises a function code having a foi mat comprising a pieamble region 350, a header i egion 360, a fixed code region 370, a rolling code region 380, a button code i egion 390, and a blank time iegion 400 It should be appreciated that these regions 350-400 are compi ised of a binary pulse train configuied to represent the tiansmitted function code to be processed by the baiπei opeiator 30

Fig 5 shows the alternative rolling code 320, which provides a function code data foimat that differs from that discussed with regard to the rolling code 310 discussed with iegard to Fig 4 Specifically, the rolling code 320 comprises a fixed code region 450, a counter value region 452, a command byte region 454, a message authentication code iegion 456, and a blank time region 458 It should be appieciated that these regions 450- 458 are comprised of a binary pulse train configured to represent the tiansmitted function code to be piocessed by the barrier operator 30 Moreover, the term "rolling code" as used herein iefers to function codes 310,320 that have at least one rolling portion, even though the function code may contain a fixed code as well Additionally, function codes having only a fixed portion and no rolling portion are i eferred to as fixed codes 300 Thus, while vanous function code data formats 300,3 10,320 have been discussed, it should be appieciated that such discussion should not be construed as limiting, and that other data word formats exist and may be utilized in association with the system 10 In addition, the barrier opeiator 30 may be configured to be initially responsive to a paiticular data foi mat and/or carrier frequency, and then reconfigured to learn additional carrier frequencies and function code data formats so as to enable various other remote wireless transmitters to invoke functions at the barrier operator 30

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 ieferred to by the numeral 500 as shown in Fig 6 Initially, the learning process 500 is invoked at step 510 by depressing an opeiator learn/scan button 512 maintained by the barrier operator 30 and respective transmitter learn/scan buttons 514 and 516 that aie associated with the transmitters 80A-C, 90A-C It should be also be appreciated that in lieu of the learn button 516, the keyless entry transmitter 90 may invoke the learn mode by depressing a predetermined sequence of keys via a keypad 517 It will be appi eciated that other well known code learning methodologies could be used Once the learning piocess is started at step 510, the receivei 20 maintained by the baiπer operatoi 30 begins to scan foi command signals sent from one of the ti ansmittei s 80A-C,90A-C, as indicated at step 520 It should be appieciated that the receiver 20 may be configured to scan any desired bandwidth of command signal carrier frequencies or specific discrete command signal earner frequencies during step 520 Next, at step 530, after a command signal has been received by the receiver 20, the microcontroller 100 demodulates and/or deci ypts the received command signal and obtains the function code data contained thei ein Once the function code data is obtained and stored at the memory unit 130, the process 500 continues to step 540 At step 540, the microcontroller 100 attempts to determine the particular format of the data word that comprises the function code, based upon the following the quantity of bits received, the pulse width of an individual data pulse, the presence of the preamble region, and the presence of any other particular regions that may comprise a particular function code used by tiansmitters 80A-C and 90A-C If the piocess 500 determines that the data code format is known by the microcontrollei 100 by way of step 550, the process 500 continues to step 560, where the microcontiollei 100 ascei tains the pai ticular data foimat of the function code In one aspect, the data format may comprise a fixed code, such as the fixed code 300 previously discussed with regard to Fig 3, or a rolling code 310,320 having the format discussed with regard to Figs 4 and 5, or may be a function code having any other type of data format Thus, at step 560, the mici ocontroller 100 attempts to determine the specific data pattern associated with the data word comprising the transmitted function code If at step 560 the data word of the transmitted function code contains a rolling code, then the process 500 continues to step 570, where the microcontroller 100 attempts to decrypt and validate the rolling code so as to obtain the various data regions of the data word If the microcontroller 100 is unable to successfully decrypt and validate the rolling code, the process 500 continues to step 580, where the microprocessor 100 rejects the transmitted function code However, if the microcontroller 100 is able to decrypt and

validate the transmitted rolling code, the piocess 500 continues to step 590, where the microcontroller 100 stores the rolling code into the memory unit 130 of the barrier operator 30 After the rolling code has been stoi ed, the process 500 continues to step 560 where the microprocessor 100 stores at the memoiy unit 130 the particular carrier frequency used to transmit the rolling code stored at step 590 of the process 500 In othei words, at steps 590 and 600, the microprocessor 100 stores the rolling code and the associated cai rier frequency at the memoiy unit 130 of the baiπer opeiator 30 Once step 600 has been completed, the pi ocess 500 concludes at step 610, indicating that the barπei opei ator 30 has been learned with the paiticular ti ansmitter 80A-C,90A-C, thus enabling it to contiol vanous functions maintained by the baπ ier operator 30

However, if at step 560, the miciocontrollei 100 detei mines that the format of the transmitted data word compi ises 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 memoiy unit 130 As such, once steps 590 and 600 have been performed, the transmittei 80,90 initiating the process 500 is learned to the barπei 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 micioprocessoi 100 waits for an additional transmission of the function code from the transmitter 80A-C,90A-C In one aspect, it should be appieciated 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 piocess 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 deci ypt associated function codes Such a data word format detei mination 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 foimat 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 miciocontroller 100 stores the fixed poition 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 woid 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 woid, and the bit identifier of the last bit of the fixed portion Still another method, is to tag or identify that the fixed poition begins at a specific time period fi om the start of the data word, such as 15ms fiom 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 baiπer opeiator 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 i oiling 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 mici ocontroller 100 only learns the fixed portion of the rolling code, then potential exists for an intei loper to intercept and copy one of the transmitted function codes to gain control of the barriei opei atoi 30 Therefore, the feedback piovided at step 650 gives notice to the user of the i educed security condition, so that he or she can plan accoidingly This feedback foim souice 34 may take the form of a senes of flashes from a visual indicator emanating fiom a light emitting diode (LED) 34 mounted on the baπier operator by the opeiator 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 Fig. 7 of the drawings. Initially, at step 710 of the process 700, the barrier operator 30 is placed into a command signal scanning mode. It should be appreciated that the command signal scanning mode and the learn mode previously discussed with regard to Fig. 6 are the two principle modes provided by the barrier operator 30. And as such, the scanning mode and the learn mode may be selectively invoked, or otherwise toggled, by depressing the operator and transmitter learn/scan buttons 512,514,516 maintained by the barrier operator 30 and the transmitters 80,90. Next, at step 720, the barrier operator 30 places the receiver core circuit 180 into one of a variety of command signal scanning modes, which will be discussed in detail later. Once the receiver core circuit 180 detects a command signal transmitted from one of the transmitters 80,90, the barrier operator 30 obtains the function code and stores it at the memory unit 130, as indicated at step 740. In other words, to command the barrier operator 30 to perform a desired operation, the user selects a desired function at the transmitter 80A-C,90A-C, causing a command signal containing a function code associated with the function to be performed to be sent to the barrier operator 30.

Next, at step 750, the microcontroller 100 analyzes the data format of the stored function code data word, assessing as to whether the format of the function code comprises a fixed code, a rolling code, or any other code format. At step 760, if the process 700 determines that the format of the function code data word cannot be determined by the microcontroller 100, then the process 700 continues to step 770. At step 770, the process

700 compares the various data regions of the transmitted function code data word with various fixed codes that have been previously stored at the memory unit 130 of the barrier operator 30. If the barrier operator 30 is unable to match any of the data regions of the function code with the fixed codes stored at the memory unit 130 at step 780, then the

l equested function identified by the function code is not processed by the barrier operator 30, as indicated at step 790 of the process 700 However, if at step 780, the barrier opeiator 30 is able to match at least one of the data regions of the function code data word with various fixed codes stored at the memory unit 130, then the process 700 continues to step 800 At step 800, the barrier operator 30 proceeds to carry out the requested function identified by the ti ansmitted function code Foi example, if the user transmitted a function code associated with an access barrier close opei ation, then the barrier operator 30 moves the access barrier 60 accordingly

Returning to step 760, if the microconti ollei 100 identifies the data format of the transmitted function code data word, then the pi ocess 700 continues to step 810 where the mici opiocessor 100 detei mines whethei the function code data woid contains a rolling code portion oi a fixed code portion If the miciopiocessoi 100 detei mines that the tiansmitted function code contains a fixed code, then the piocess 700 pioceeds to carry out steps 780-800 as pi eviously discussed In othei words, if the ti ansmitted function code contains a fixed code that is stored at the barriei opeiator 30, the opeiation requested by the transmitter 80,90 is carried out by the baπiei operator 30 However, if at step 810, the process 700 detei mines 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 baπ ier 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 regaid to step 720 of the command signal scanning mode 700, the receiver 20 may be configured to scan foi various ti ansmitted command signals in a variety of mannei s By providing vanous 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 baπ ier 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 Fig 8 Specifically, the process 850 associated with the initial use scanning mode is initiated when the barrier operatoi 30 is placed into service and the command signal scan mode is initiated at step 710 of the piocess 700 as previously discussed Once the initial use scanning mode is invoked at step 720 of the process, the initial scanning mode continues to step 854, where the miciocontrollei 100 scans for an initial frequency A, such as 315 MHz, for example If the mici ocontroller 100 selects the first frequency, such as 3 15 MHz, then the miciocontioller 100 tunes the l eceivei 20 to be lesponsive to such fiequency, as indicated at step 860 Howevei , if the miciocontrollei 100 selects the second fiequency B, such as 372MHz, foi example, the microcontroller 100 tunes the l eceivei 20 to be responsive to such fiequency, as indicated at step 864 Regardless of which frequency is selected by the receiver 20 at step 858, the process 850 continues to step 868, where the microcontroller 100 determines whether any command signal having the tuned frequency has been received If a transmitted command signal has been received by the barrier operator 30, then the process 850 continues to step 870 wheie the function code contained by the command signal is processed in accordance with the steps 740-820 previously discussed with regard to the process 700 shown in Fig 7 However, if a command signal is not received by the barrier operator 30 at step 868, then the process 850 continues to step 874, where the microprocessor 100 re-tunes the receiver 20 to another frequency by way of step 858 Although, the process 850 discussed above makes ieference to scanning for command signals having one of two different carrier frequencies, it should be appreciated that the pi ocess 850 may be readily configui ed to scan for any number of frequencies or piedetermined fiequency i anges

In addition to scanning for disci ete fiequencies, the l eceiver 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 Foi 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 Fig. 9. Specifically, the process 880 associated with the all scan mode is initiated when the barrier operator 30 is placed into service by invoking the command signal scan mode via the scan button 878 initiated at step 710 of the process 700 as previously discussed. Once the all scan mode is invoked at step 720 the process continues to step 884. At step 884, the microprocessor 100 selects a first frequency out of a predetermined range or bandwidth of frequencies that have been previously stored at the memory unit 130 of the barrier operator 30. Next, at step 888, the microprocessor 100 tunes the receiver 20 to be responsive to the frequency selected at step 884. Once the receiver 20 has been tuned, the microprocessor 100 determines whether a command signal has been received at the receiver 20, as indicated at step 890. If a valid command signal has been transmitted, the process 880 continues to step 892, where the function associated with the transmitted command signal is carried out in accordance with the steps 740-820 as discussed with regard to the process 700 shown in Fig. 7. However, if the microprocessor 100 does not receive a command signal at step 890, then the process 880 continues to step 896. At step

896, the microprocessor 100 determines if it has scanned the entire bandwidth of frequencies stored in the memory unit 130. If the microprocessor 100 has scanned the entire bandwidth of stored frequencies, then the process 880 continues to step 884. However, if the microprocessor 100 determines that it has not scanned the entire bandwidth of frequencies stored in the memory unit 130, the process 880 continues to step

898, where the microprocessor 100 tunes the receiver 20 to another frequency. Once the receiver 20 is tuned to the new frequency the process continues to step 890 and the process 880 is carried out in the manner previously discussed. It should be appreciated that the receiver 20 may be tuned upward or downward at a predetermined resolution such as 1 MHz, for example, although any other degree of precision may be utilized. Thus, the process 880 allows the receiver 20 to continuously step through a bandwidth of predetermined carrier frequencies so as to allow the receiver 20 to identify a command signal sent from one or more of the various transmitters 80,90 command signals having various carrier frequencies. 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 Fig. 6. As such, the microcontroller 30 is

able to moi e efficiently make use of its pi ocessing resources, without l equiπng it to step the leceivei 20 through a plurality of fi equencies that are not associated with the baiπei opeiator 30 The opei ational steps taken by the bainer opei atoi 30 when the receiver 20 is placed in the stored scan mode are generally refeired to by the numei al 900, as shown in Fig 10 Specifically, the process 900 associated with the stored scan mode may be initiated by actuating the scan mode button 878 when the bainer opeiatoi 30 is placed into service at step 710 of the process 700 as previously discussed Once the stored scan mode is invoked at step 720 of the process 700, the pi ocess continues from step 720 to step 904 where the microprocessor 100 accesses the memoiy unit 130 and acquires a first frequency of a range or bandwidth of compatible command signal carrier frequencies Next, at step

908 the barrier operator 30 determines whethei a valid function code has been previously learned with the barrier operator 30, which utilizes the carrier fiequency selected at step 904 If the microcontroller 100 determines that a valid function code has not been associated with the can iei frequency selected at step 904, then the process 900 proceeds to step 910 At step 910, the microcontrollei 100 then selects another frequency from the iange of stoied carrier frequencies as pi eviously discussed, and the step 908 is repeated However, if the microcontroller 100 determines that a function code is associated with the carrier frequency selected at step 904, then the process 900 continues to step 914 whei e the receiver 20 is tuned to the fi equency selected at either step 904 or step 910 Once the l eceiver 20 has been tuned, the microprocessoi 100 waits for a valid command signal transmitted from the transmitteis 80,90 to be received If the microprocessor 100 receives a command signal at step 918, then the process 900 continues to step 920, where the function associated with the tiansmitted command signal is carried out by the barrier operator 30 in accordance with steps 740-820 as discussed with regard to the process 700 shown in Fig 7 However, if the receiver 20 does not receive a command signal at step

918, then the process continues to step 924 At step 924, the microprocessor 100 determines whether all of the frequencies stored at the barπei operator 30 have been scanned by the receiver 20 If the microprocessor 100 determines that all of the carrier frequencies have not been scanned, then the process 900 continues to step 910, where the microprocessor 100 selects the next frequency for the receiver 20 to scan But, if at step

924, the microprocessor 100 determines that all of the earner frequencies learned and stored at the barrier operator 30 have been scanned, then the process 900 returns to step 904

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.