Abstract:
The present invention supports pairing a transmitter and a receiver that use the same power line and power module. The transmitter associates an identification number with a command message so that a receiver can ascertain that a command message is intended for the receiver. The transmitter uses the time from the power up to the first zero crossing of the AC signal to generate a matching seed for both transmitter and receiver. The transmitter generates an identification number by incrementing a counter each incremental time interval between power up and the occurrence of the first zero crossing of the AC signal and sends the generated identification number to the paired receiver after power up but before a predetermined time interval. The receiver stores the generated identification number and compares the stored identification number with a received identification number that is received in a subsequent command message.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to the field of controlling a receiver by a transmitter over a wireless communications channel, and more particularly to generating an identification for matching the transmitter with the receiver.  
       BACKGROUND OF THE INVENTION  
       [0002]     When many RF devices utilize the same frequency spectrum in close proximity to each other, a receiver may be controlled by the wrong transmitter. The traditional method to avoid the mismatching is to use dipswitch settings at both transmitter and receiver for pairing the transmitter and the receiver. The user typically configures the dipswitch settings of the transmitter to match the dipswitch settings of the paired receiver.  
         [0003]     However, the approach is not flexible and is demanding on the user. Often, the user will select only the default setting and therefore incorrectly configure the system so that transmitters are incorrectly paired with receivers.  
         [0004]     Consequently, there is a need to support transmitter-receiver pairing that is reliable and that facilitates system configuration by the user.  
       SUMMARY OF THE INVENTION  
       [0005]     The present invention provides methods and apparatuses that support a flexible approach to pairing a transmitter and a receiver that use the same power line and power module while facilitating system configuration. The transmitter associates an identification number with a command message so that a receiver can ascertain whether a command message is intended for the receiver. The transmitter communicates with the receiver over a wireless communications channel.  
         [0006]     With one aspect of the invention, the time from the power up of the transmitter-receiver pair to the first zero crossing of the AC signal that powers an associated AC-DC converter is approximately random. An associated identification number is used as a matching seed for both transmitter and receiver.  
         [0007]     With another aspect of the invention, the transmitter generates an identification number by incrementing a counter each counting time interval between power up and the occurrence of a first zero crossing of the AC signal. The occurrence of the zero crossing is detected by a zero crossing detector.  
         [0008]     With another aspect of the invention, the transmitter sends the generated identification number to the paired receiver after power up but before a predetermined time interval.  
         [0009]     The receiver stores the generated identification number and compares the stored identification number with a received identification number that is received in a subsequent command message. If the stored identification number matches the received identification number, the receiver processes the command message and executes the associated action. Otherwise, the receiver ignores the received command message. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     The foregoing summary of the invention, as well as the following detailed description of exemplary embodiments of the invention, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention.  
         [0011]      FIG. 1  shows a transmitter-receiver configuration in accordance with an embodiment of the invention.  
         [0012]      FIG. 2  shows a basic configuration for a transmitter in accordance with an embodiment of the invention.  
         [0013]      FIG. 3  shows a flow diagram that is executed by the transmitter configuration shown in  FIG. 2  in accordance with an embodiment of the invention.  
         [0014]      FIG. 4  shows flow diagrams for subroutines utilized by the flow diagram shown in  FIG. 3  in accordance with an embodiment of the invention.  
         [0015]      FIG. 5  shows a flow diagram of a receiver in accordance with an embodiment of the invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0016]      FIG. 1  shows transmitter-receiver configuration  100  in accordance with an embodiment of the invention. Configuration includes two transmitter-receiver pairs in which each pair is provided electrical power by the same ON/OFF Main Switches  161  and  163 . The first pair comprises transmitter  101  and receiver  103 , which are powered by ON/OFF Main Switch1  161 . The second pair comprises transmitter  105  and receiver  107 , which are powered by ON/OFF Main Switch2  163 . The embodiment may support more than two transmitters-receiver pairs.  
         [0017]     Each transmitter of the pair communicates with the corresponding receiver over a wireless communication channel in order to instruct the receiver to take an appropriate action (e.g., activating a heating system). In the configuration  100 , transmitter  101  communicates with receiver  103  over wireless channel  151 , and transmitter  105  communicates with receiver  107  over wireless channel  153 . However, transmitter-receiver pairs may be located in close proximity to each other so that the receiver of one pair may undesirably receive a command signal from the transmitter of the other pair if the pairs utilize the same electromagnetic spectrum. In configuration  100 , receiver  107  may undesirably receive a command signal from transmitter  101  over spurious wireless channel  155 , and receiver  103  may undesirably receive a command signal from transmitter  105  over spurious wireless channel  157 .  
         [0018]     Each transmitter-receiver pair is associated with a corresponding identification number to distinguish one pair from another. For example, a first identification number (e.g., ‘099’) may be associated with the first pair (transmitter  101  and receiver  103 ), and a second identification number (e.g., “117’) may be associated with the second pair (transmitter  105  and receiver  107 ). When transmitter  101  sends a command message to receiver  103 , transmitter  101  includes the first identification number in the command message. Receiver  103  stores the associated identification number and accepts the command message only if received identification number matches the stored identification number. Otherwise, receiver  103  ignores a received command message. Consequently, undesired communication over spurious wireless channels  155  and  157  are avoided.  
         [0019]     In an embodiment of the invention, an identification number (which approximates a random number) is determined by calculating the time interval between power up and first zero crossing detected by the transmitter of an AC signal that provides electrical power to the transmitter-receiver pair. In configuration  100 , as shown in  FIG. 1 , zero crossing detector  115  detects zero crossings of the AC signal provided by AC line  109 . The time between the power up to first zero crossing is approximately random. A random number is generated (as described in Paragraph 18) and  FIG. 2  based on this random time. The random number is stored in the transmitter and also transmitted to receiver and stored in receiver until the transmitter-receiver pair is powered down. The determined identification number is transmitted to a receiver (e.g., receiver  103 ) that is paired with a transmitter (e.g., transmitter  101 ). The identification number is sent to the receiver by the transmitter in a predetermined time duration (e.g., 5 seconds) after the transmitter-receiver pair powers up. For transmitter-receiver pair  1  (comprising transmitter  101  and receiver  103 ), the identification number may be sent by transmitter  101  more than once to ensure receiver  103  receives the identification number. Receiver  103  stores the received identification number until receiver  103  powers down. Receiver  103  waits to receive the identification number in the predetermined time duration. If receiver  103  does not receive the identification number in the predetermined time duration, receiver  103  generates a warning signal (e.g., by blinking an LED) to user. In all subsequent communications, transmitter  101  sends the command data together with the identification number (seed) to receiver  103 . The identification number may be sent before or after the sending the data or within a message containing the data. When receiver  103  receives a message, receiver  103  decodes the received identification number to ascertain that transmitter  101  sent the message (rather than transmitter  105 ). If the received identification number does not match the stored identification number, the message (with the associated command) is ignored (discarded). If the received identification number matches the stored identification number, receiver  103  processes the received massage and executes an action based on the received message. For transmitter-receiver Pair  2  (comprising transmitter  105  and receiver  107 ), the same process will apply and a different random number will be generated as the identifier of transmitter-receiver Pair  2 ,  105  and  107 .  
         [0020]      FIG. 2  shows an architecture for a transmitter  200  of a transmitter-receiver pair in accordance with an embodiment of the invention. The transmitter  200  includes microprocessor unit (MCU)  201 , RF amplifier  205 , and antenna  207 . In an embodiment of the invention, MCU  201  incorporates counting module  203 , which generates an identification number based on an input (e.g., the generation of an interrupt) from zero crossing detector  215 . (However, other embodiments utilize a separated counting module that generates a second input to a microprocessor unit that corresponds to an internal interrupt.) Transmitter  200  is provided electrical power by the same AC-DC converter (power module)  211  as the associated receiver (not shown).  
         [0021]     Microprocessor unit  201 , as shown with the embodiment of  FIG. 2 , has internal counter ability as supported by counting module  203 . Counting module  203  has an adjustable incremental timing value between 0.01 msec to 0.1 msec, although the embodiment supports other incremental timing values. The generated identification number has a range from 0 to 1/(2*Line_Frequency*Counter_Interval). AC power line  209  is supplied an AC signal with 60 Hz in the United States and with 50 Hz in Europe. The maximum time for the occurrence of the first zero crossing is approximately 8.3 msec with a power frequency of 60 Hz and 10 msec with a power frequency of 50 Hz. With a AC signal having a frequency of 60 Hz and if MCU  201  increments a counter (as supported by counting module  203 ) every 0.064 msec (64 μsec), the generated identification number has a range of 0 to 1/(2*60*0.064)=128. However, other embodiments of invention support other incremental timing values.  
         [0022]     Counting module  203  may count of a time duration that spans more than one zero crossing so that the range of the generated identification number may be increased. If counting module increments a counter over the first two zero crossings, the counter has a range of 1/(2*Line_Frequency*Counter_Interval). (For example, zero crossing detector  215  does not distinguish between the positive and negative portions of a cycle.) In the previous example, the corresponding range of the generated identification number is 0 to 256, which spans one octet of memory. The above approach may be generalized to span N zero crossings so that the range of the generated identification number is expanded by a factor of N. In an embodiment of the invention, MCU  201  may utilize a value associated with the first zero crossing to determine the number of subsequent zero crossings during which counting module  203  counts to generate an identification number.  
         [0023]     While zero crossing detector  215  determines when the AC signal crosses a voltage value of zero, other embodiments of the invention may utilize detectors that detect when the AC signal provided by AC power line  209  crosses a reference other than zero (e.g., +50 volts).  
         [0024]     The embodiment of the invention, as shown in  FIGS. 1 and 2 , supports a wireless communication channel that utilize an electromagnetic spectrum that includes a radio frequency (RF) spectrum, an infra-red spectrum, and a visible light spectrum. Amplifier  205  and antenna  207  are configured for the desired frequency spectrum so that transmitter  101  can communicate with receiver  103  over wireless channel  151 .  
         [0025]      FIG. 3  shows flow diagram  300  that is executed by transmitter  200 , as shown in  FIG. 2 , in accordance with an embodiment of the invention. In step  301 , a transmitter-receiver pair (e.g., transmitter  101  and receiver  103 ) is powered on. Once the microprocessor unit (e.g., MCU  201 ) is powered on, counting module  203  and zero crossing detector  215  are initialized to zero in step  303 . In step  305 , microprocessor unit  201  enables interrupts for zero crossing detection (corresponding to an external interrupt in  FIG. 2 ) and for counting (corresponding to an internal interrupt in  FIG. 2 ).  
         [0026]     In step  307 , the counter is incremented by one time unit whenever an timer interrupt occurs. (The incrementing of counting module  203  is performed by Timer INT Subroutine  450  as will be discussed.) Each time unit corresponds to a timing incremental value (e.g., 64 μsec.) If the zero crossing flag is ‘0’, as initialized in step  303 , counting module  203  is subsequently incremented with subsequent timer interrupts. However, if the zero crossing flag is ‘1’ (which corresponds to an zero crossing external interrupt and the execution of Zero Crossing INT Subroutine  400  as will be discussed), the generated identification number (equal to the counter value of counting module  203 ) is sent by transmitter  200  in step  309  to the paired receiver multiple times to insure that the paired receiver receives the generated identification number.  
         [0027]     Step  311  determines whether a condition or a set of conditions, which corresponds to a particular action to be taken at the paired receiver, is satisfied. If so, transmitter  200  sends a command message to the paired receiver with the associated command code and the generated identification number in step  313 .  
         [0028]      FIG. 4  shows flow diagrams for subroutines  400  and  450  utilized by the flow diagram  300  as shown in  FIG. 3  in accordance with an embodiment of the invention. With Zero Crossing INT Subroutine  400  (which is executed when an external interrupt from zero crossing detector  215  occurs), step  401  determines if the zero crossing flag is ‘0’. If so, the zero crossing flag is set to ‘1 and the timer interrupt is disabled in step  403 . If the zero crossing flag was previously set to ‘1’ when the zero crossing interrupt occurs, the timer interrupt remains disabled. Subroutine  400  returns to Main Routine  300  in step  405 . With Timer INT Subroutine  450 , which executed only if the timer interrupt is enabled, the counter is incremented in step  451  whenever a timer interrupt occurs (which is every incremental timing interval). Subroutine  450  returns to Main Routine  300  in step  453 .  
         [0029]      FIG. 5  shows flow diagram  500  of a receiver (e.g., receiver  103 ) in accordance with an embodiment of the invention. Step  501  corresponds to the power up the transmitter-receiver pair (e.g., transmitter  101  and receiver  103 ). In step  503 , the paired receiver initializes itself. For example, the paired receiver clears the stored identification number associated with the previous power up cycle. In step  505 , the paired receiver expects that a new identification number will be received in a predetermined time interval (e.g., 5 seconds). If the paired receiver does not receive the identification number at least one time, the paired receiver generates a warning signal (e.g., a blinking LED to the user). If the paired receiver receives the identification number at least one time, as determined by step  509 , the paired receiver stores the received identification number in step  511 . The stored identification number is used for processing subsequent command messages.  
         [0030]     In step  513 , the paired receiver determines whether a command message has been received. If so, the paired receiver in step  515  determines whether the received identification number matches the stored identification number. If the received identification number matches the stored identification number, the corresponding command is executed by the paired receiver in step  517 . If the received identification number does not match the stored identification number, the paired receiver ignores the command message and step  513  is repeated, where the paired receiver waits to receive the subsequent command message.  
         [0031]     In an embodiment of the invention, transmitter  200  sends periodic messages (“heartbeat” messages) to the paired receiver even if no corresponding action is to be taken by the paired receiver. If no action is to be taken, the action corresponds to a “NOP” (no operation). However, periodic messages insure that the communication path between transmitter  200  and the paired receiver is reliable. If paired receiver does not receive periodic messages, the paired receiver may activate a communications warning indicator to indicate faulty communications between transmitter  200  and the paired receiver.  
         [0032]     As can be appreciated by one skilled in the art, a computer system with an associated computer-readable medium containing instructions for controlling the computer system can be utilized to implement the exemplary embodiments that are disclosed herein. The computer system may include at least one computer such as a microprocessor, digital signal processor, and associated peripheral electronic circuitry.  
         [0033]     Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.