Abstract:
A receiver includes a single infrared (IR) sensor, which is coupled to sense an IR signal carrying data and to produce an electrical signal responsively to the IR signal. The receiver further includes multiple receiver channels arranged to accept the electrical signal from the single IR sensor, each receiver channel configured to process the electrical signal in accordance with a different, respective IR remote control protocol so as to extract the data, and to output the extracted data to a host system.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates generally to infrared remote control systems, and particularly to infrared receivers supporting multiple remote control protocols. 
       BACKGROUND OF THE INVENTION 
       [0002]    Consumer electronic systems commonly use infrared (IR) remote control to receive input from a user. In such systems, the user operates a remote control device, which transmits a modulated IR signal that carries data in accordance with a certain IR remote control protocol. The data may comprise commands for controlling the system and/or other information. The controlled system comprises an IR receiver, which extracts the data from the IR signal in order to carry out the desired commands. 
         [0003]    Many different IR remote control protocols have been developed, and different manufacturers often use different protocols and different data rates for transmission. Common protocols include the RC-5 and RC-6 protocols (developed by Philips) and the NEC protocol (developed by Nippon Electric Corporation). These protocols are collectively referred to as Commercial Infrared (CIR) protocols. 
         [0004]    Some systems and applications support more than a single IR protocol. For example, U.S. Pat. No. 5,917,631, whose disclosure is incorporated herein by reference, describes dual-protocol remote control methods and apparatus, which provide power-saving modes of operation and enable remote control of high data generating devices, such as a trackball. The patent describes a pulse position modulation protocol in which the position of a single pulse, such as an infrared pulse, is located in time in one of three or more locations. Dual-protocol remote control devices may be provided, wherein a first protocol is utilized in conjunction with a second protocol comprising the pulse position modulated system. 
         [0005]    U.S. Patent Application Publication 2004/0153699, whose disclosure is incorporated herein by reference, describes a system and method for supporting two infrared signaling protocols in a single computing device. The computing device operates in a default signaling protocol, unless a priority signaling request is generated by an application program. Typically, the signaling protocols comprise an Infrared Data Association (IrDA) protocol and a CIR protocol, which are generally incompatible and may cause interference to one another. The disclosed methods ensure that the two protocols do not operate at the same time. 
       SUMMARY OF THE INVENTION 
       [0006]    Embodiments of the present invention provide a receiver, including: 
         [0007]    a single infrared (IR) sensor, which is coupled to sense an IR signal carrying data and to produce an electrical signal responsively to the IR signal; and 
         [0008]    multiple receiver channels arranged to accept the electrical signal from the single IR sensor, each receiver channel configured to process the electrical signal in accordance with a different, respective IR remote control protocol so as to extract the data, and to output the extracted data to a host system. 
         [0009]    In some embodiments, the host system has active and sleep operational states, and at least one of the receiver channels is arranged to issue a wake-up signal in order to switch the host system from the sleep operational state to the active operational state upon detecting that the electrical signal conforms to the respective IR remote control protocol. In a disclosed embodiment, at least two of the receiver channels are arranged to produce respective wake-up signals, and the receiver includes wake-up logic, which is arranged to process the wake-up signals, so as to issue a single composite wake-up signal to the host system. The wake-up logic may be arranged to output the composite wake-up signal to the host system over a single output pin. 
         [0010]    In another embodiment, at least one of the receiver channels includes a run-length port circuit, which is arranged to format the data carried by the electrical signal in a run-length format and to output the data in the run-length format to the host system. In yet another embodiment, the host system has active and sleep operational states, the run-length port circuit is disabled when the host system is in the sleep operational state, and the at least one of the receiver channels further includes a wake-up port circuit, which is arranged to monitor the electrical signal and, when detecting that the electrical signal conforms to the respective IR remote control protocol, to activate the run-length port circuit. 
         [0011]    In still another embodiment, at least one of the receiver channels includes a binary port circuit, which is arranged to decode the data carried by the electrical signal, to format the data in a binary format and to output the data in the binary format to the host system. In an embodiment, the host system has active and sleep operational states, and the binary port circuit is arranged to accept a binary bit sequence indicating a wake-up pattern, to decode the data carried by the electrical signal when the host system is in the sleep operational state, to compare the decoded data to the wake-up pattern and, when at least part of the data matches at least part of the wake-up pattern, to issue a wake-up signal in order to switch the host system from the sleep operational state to the active operational state. In a disclosed embodiment, the data carried by the electrical signal includes messages, and the binary port circuit is arranged to cache a message including the at least part of the data that matches the at least part of the wake-up pattern, and to provide the cached message to the host system. In some embodiments, the at least one of the receiver channels includes a port driver, which is arranged to configure the binary port circuit with the wake-up pattern before the host system switches to the sleep operational state. 
         [0012]    In an embodiment, the receiver channels include at least one circuit selected from a group of circuit types consisting of host system interface circuitry, data processing circuitry and control circuitry, which is shared among at least two of the multiple receiver channels. In another embodiment, the IR remote control protocol includes a Commercial Infrared (CIR) protocol. The CIR protocol may include at least one protocol selected from a group of protocols consisting of an RC-5 protocol, an RC-6 protocol and a NEC protocol. 
         [0013]    There is also provided, in accordance with an embodiment of the present invention, a method for reception, including: 
         [0014]    sensing an infrared (IR) signal, which carries data, using a single IR sensor to produce an electrical signal responsively to the IR signal; 
         [0015]    providing the electrical signal from the single IR sensor to multiple receiver channels, each channel corresponding to a different, respective IR remote control protocol; 
         [0016]    in each of the receiver channels, processing the electrical signal in accordance with the respective IR remote control protocol so as to extract the data; and 
         [0017]    outputting the extracted data to a host system. 
         [0018]    The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which: 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]      FIG. 1  is a schematic, pictorial illustration of a multimedia system with infrared (IR) remote control, in accordance with an embodiment of the present invention; 
           [0020]      FIGS. 2 and 3  are block diagrams that schematically illustrate multi-protocol IR receivers, in accordance with embodiments of the present invention; and 
           [0021]      FIG. 4  is a flow chart that schematically illustrates a method for operating an IR receiver in a system having active and sleep operational states, in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     Overview 
       [0022]    Embodiments of the present invention provide methods and systems for controlling a host system using multiple different IR remote control protocols. Supporting multiple IR protocols provides substantial operational and logistical advantages to both equipment manufacturers and users, as is explained and demonstrated below. 
         [0023]    In the embodiments that are described hereinbelow, an IR receiver in the host system comprises a single IR sensor, which senses the IR signal transmitted to the receiver and produces an electrical signal in response to the IR signal. The receiver comprises two or more parallel receiver channels, which process the signal produced by the IR sensor. Each receiver channel is capable of receiving and decoding a particular CIR remote control protocol, such as an RC-5, RC-6 or NEC protocol. The host system receives the outputs of the different receiver channels and uses one of these outputs, in accordance with the protocol to which the received signal conforms. 
         [0024]    Different host systems vary one from another in their operational states and the data formats they expect to receive from the IR receiver. Some host systems accept remote control data in Run-Length Encoding (RLE) format, while other systems request that data be provided in binary format, i.e., as a stream of bits corresponding to the bits carried by the IR signal. Moreover, many host systems alternate between active and sleep operational states, in order to reduce power consumption. 
         [0025]    The IR receiver configurations described herein support these varying requirements and characteristics in a modular fashion. The receiver configurations use two possible types of port circuits, referred to as ports for brevity. A run-length port provides the data in run-length encoding format. A binary port circuit provides the data in binary form. 
         [0026]    Since producing run-length data usually involves sampling the received signal at a high sampling rate, run-length port circuits tend to consume high amounts of power in comparison with binary/wake-up port circuits. Thus, receiver channels that produce run-length data are activated only when the host system is active, and are disabled when the host system is in sleep mode. Receiver channels that produce binary data may remain active irrespective of the operational state of the host system. 
         [0027]    Typically, each receiver channel (which may comprise one or more ports) produces a wake-up signal when detecting that the received signal conforms to its respective protocol. In some embodiments, the receiver comprises wake-up logic, which processes the individual wake-up signals to produce a single composite wake-up signal that is provided to the host. This configuration reduces the number of Input/Output (I/O) pins between the receiver and the host system and relieves the host system of the task of handling multiple wake-up signals. 
         [0028]    In some embodiments, the multiple receiver channels are implemented in a single hardware or firmware device, and some hardware or firmware circuitry is shared by the receiver channels rather than duplicated. Sharing circuitry among different receiver channels reduces the cost, size and power consumption of the receiver. Moreover, in some embodiments the host system can indicate the supported protocols to the receiver using a suitable interface, and the receiver can then configure its channels accordingly. 
         [0029]    Unlike some known remote control methods in which the host system sets the desired protocol, in the methods and systems described herein the host system operates as a slave, and adapts itself to the protocol used by the remote control device that currently controls the system. 
       System Description 
       [0030]      FIG. 1  is a schematic, pictorial illustration of a multimedia system  20  with infrared (IR) remote control, in accordance with an embodiment of the present invention. A user of system  20  controls a multimedia station  22 , using an IR remote control device  24 . The remote control device comprises an IR transmitter  26 , which emits IR signals comprising a modulated train of IR pulses, in response to actuation of the controls by the user. An IR receiver  28  senses, demodulates, and decodes the IR signals in order to provide instructions to station  22  in accordance with the user&#39;s commands. Station  22  is referred to herein as a host system. 
         [0031]    Although in the exemplary embodiment of  FIG. 1  the host system comprises a multimedia station embodied in a mobile computer, the methods and systems described herein can be used to control a wide variety of host systems, such as television sets, set-top boxes, video recorders and players, various computers and computing platforms, electrical appliances such as air conditioners and refrigerators, as well as any other electrical or electronic system or appliance that may be remotely controlled or operated by a user. 
       Multi-Protocol IR Reception 
       [0032]    In some applications, it is advantageous for the host system to support multiple IR remote control protocols, such as the RC-5, RC-6 or NEC CIR protocols mentioned above. Supporting multiple IR protocols provides substantial operational and logistical advantages to both equipment manufacturers and users. 
         [0033]    For example, a manufacturer may wish to produce a single type of remotely-controlled system, such as a computer or television set, and sell it in different parts of the world that use different IR protocols. In another scenario, a manufacturer may wish to produce and sell a host system without selling or specifying a specific remote control device that must be used to control it. Alternatively, when a system is sold together with a matching remote control device, it is still advantageous to enable users to operate the system by other suitable remote control devices that they may possess. 
         [0034]    As yet another example, a user may operate several host systems (e.g., laptop computer and set-top box) in proximity to one another, e.g., in the same room. The systems may be of different types and by different manufacturers. When the host systems support multiple IR remote control protocols, the user may operate all systems using the same remote control device, regardless of its protocol. 
         [0035]    In view of the advantages described above, embodiments of the present invention provide methods and apparatus for controlling a host system using multiple different IR remote control protocols. In the embodiments that are described hereinbelow, an IR receiver in the host system comprises two or more receiver channels. Each receiver channel is capable of receiving and decoding a particular IR protocol. When receiving an IR signal from the remote control device, each receiver channel detects whether the signal conforms to its respective protocol. 
         [0036]    In some cases, the receiver channel decodes the data carried by the signal and provides the data to the host system only if the IR signal conforms to the respective protocol. In other cases, the receiver channel may provide the data to the host system regardless of the protocol. When the signal does not match the protocol of the receiver, the data provided to the host may be meaningless. In these cases, the host determines which of the receiver channel outputs to use. 
         [0037]    The IR receiver configuration may depend on the capabilities and requirements of the host system. For example, some host systems require that the decoded data be provided in binary format. Other host systems (such as the Windows Media Center of the Windows Vista™ operating system) require that the data be provided in raw, run-length encoding format. 
         [0038]    In addition, the host system often has active and sleep operational states or modes. In the active state, the system is fully operational. In the sleep mode, most of the system functions are disabled in order to minimize its power consumption. In some embodiments, the receiver channels continue to operate when the system is in sleep mode. When a particular receiver channel detects an IR signal that conforms to its IR protocol, it issues a wake-up signal that causes the host system to switch to the active state. 
       Exemplary Multi-Protocol Receiver Configurations 
       [0039]      FIGS. 2 and 3  are block diagrams that schematically illustrate exemplary multi-protocol IR receivers, in accordance with embodiments of the present invention. 
         [0040]      FIG. 2  shows a receiver  32 , which comprises two receiver channels. The first receiver channel decodes a certain protocol, such as the RC-6 protocol, and produces run-length data. The second receiver channel decodes a different protocol, such as the NEC protocol, and produces binary data. Receiver  32  can be used, for example, with a host system such as Microsoft Media Center (MC), which requires that at least one protocol is provided in run-length format. 
         [0041]    Receiver  32  comprises a single IR sensor  36 , such as a photodiode. Sensor  36  senses the modulated IR signal transmitted from remote control device  24 , and converts the IR signal to a corresponding electrical signal. The electrical signal is provided in parallel to the two receiver channels. 
         [0042]    Receiver  32  comprises two different types of port circuits, which are used as building blocks of the receiver channels. The reason for using two different types of port circuits is that producing run-length data usually involves high power consumption, and is therefore only performed when the host system is in the active state. Producing binary data consumes less power, and may be performed both when the system is active and when it is in sleep mode. 
         [0043]    The first port circuit type is a run-length port, which receives the electrical signal from sensor  36  and converts the signal into run-length data. The run-length port typically converts both data symbols and control symbols such as Leader, Gap and End symbols, as applicable in the protocol. In order to produce the data in run-length format, the run-length port over-samples the electrical signal at a high sampling rate. Producing high rate sampling clocks and sampling the electrical signal at high clock rates draws high levels of electrical power. Therefore, run-length ports are activated when the system is in the active state, and deactivated when the system is in sleep mode. 
         [0044]    Typically, the run-length port sends run-length encoded data to the host regardless of whether or not the received signal conforms to the protocol assigned to the port. The host has the task of determining whether the data is meaningful or not and, if meaningful, to decode the run-length data. In some embodiments, the run-length port comprises a buffer, such as a First-In-First-Out (FIFO) memory, which buffers the run-length data and reduces the data-handling load of the host. 
         [0045]    The second port circuit type is a wake-up/binary port, which receives the electrical signal from sensor  36 , strips the control symbols (e.g., Leader, Gap and End), and converts it to binary data in accordance with the appropriate protocol. Unlike producing run-length data, binary data can be produced using low-frequency clock signals. Therefore, binary/wake-up ports can be kept active regardless of the operational state of the host system. 
         [0046]    In addition to producing binary data, the binary/wake-up port produces a wake-up signal when it detects that a signal conforming to its protocol is received. Typically, the binary/wake-up port is programmed with a wake-up string, also referred to as a wake-up pattern. The wake-up string comprises a binary bit sequence, which is indicative of the protocol. When the host system is in sleep mode, the binary/wake-up port receives the electrical signal from sensor  36 , extracts the data (CIR message, usually excluding the control symbols) from the signal and compares it with the wake-up string. If a match is found, i.e., if the received CIR message comprises a bit sequence that matches the wake-up string, the binary/wake-up port issues a wake-up signal in order to awaken the host system. In some embodiments, the binary/wake-up port issues the wake-up signal upon a partial match between the received data and the wake-up string. In some embodiments, the binary/wake-up port stores the received CIR message in a suitable message buffer and, once the host system is awakened, provides the CIR message that caused the wake-up to the host system. 
         [0047]    In the example of  FIG. 2 , the first receiver channel (which produces run-length data) comprises a run-length port  40 , a Windows Media Center (MC) port driver  44  and a binary/wake-up port  48 A. The second receiver channel (which produces binary data) comprises a binary/wake-up port  48 B similar to binary/wake-up port  48 A, and a Human Interface Device (HID) driver  52 , as is known in the art. The outputs of both receiver channels are provided to a host  56 , which may comprise a processor and/or Operating System (OS) of the host system. 
         [0048]    The operation of the first receiver channel differs between the active and sleep operational states. When the host system is active, run-length port  40  is active and binary/wake-up port  48 A is inactive. Port  40  produces run-length data, which is forwarded by MC driver  44  to host  56 . When the system is in sleep mode, run-length port  40  is deactivated in order to conserve power, and binary/wake-up port  48 A is activated. When port  48 A detects a signal that conforms to its protocol, it wakes up the host system. In particular, run-length port  40  is activated and normal operation is resumed. The process of alternating between the active and sleep modes is described in greater detail in  FIG. 4  below. 
         [0049]    The operation of the second receiver channel is similar in both operational states. Binary/wake-up port  48 B receives the electrical signal from sensor  36 . If the signal conforms to the appropriate protocol, port  48 A decodes the data from the signal, formats it as binary data and forwards it to HID driver  52 . The HID driver formats the binary data in HID report format and sends the data to host  56 . 
         [0050]    As noted above, each of binary/wake-up ports  48 A and  48 B produces a respective wake-up signal when it detects that a signal conforming to its protocol is received. Receiver  32  comprises wake-up logic  60 , which processes the two wake-up signals to produce a single composite wake-up signal to the host. This configuration reduces the number of Input/Output (I/O) pins between the receiver and the host system, and relieves the host system of the task of handling multiple wake-up signals. In the present example, logic  60  performs a logical OR operation, thus issuing a composite wake-up signal when either individual wake-up signal is present. In alternative embodiments, logic  60  may perform any other suitable logic function. 
         [0051]      FIG. 3  shows a receiver  64  having an alternative configuration. Receiver  64  comprises two receiver channels, which support two different IR remote control protocols, such as RC-6 and NEC. The first receiver channel comprises a binary/wake-up port  64 A and a HID driver  68 A, and the second receiver channel comprises a binary/wake-up port  64 B and a HID driver  68 B. In the present example, both receiver channels produce binary data. As in  FIG. 2  above, the two channels produce respective individual wake-up signals, which are combined by logic  60  to produce a composite wake-up signal that is provided to host  56 . 
         [0052]    The receiver configurations of  FIGS. 2 and 3  above are exemplary configurations, which were chosen purely for the sake of conceptual clarity. In alternative embodiments, the receiver may comprise any number of run-length ports and/or binary/wake-up ports, depending on the IR remote control protocols supported and the characteristics and requirements of the host system. The port circuits and drivers may have different functions and interfaces, depending of the protocols and on the requirements of host  56 . 
         [0053]    The run-length and binary/wake-up port circuits can be implemented using any suitable means. Exemplary port circuits are described in U.S. patent application Ser. No. 11/517,127, entitled “Low-Power Digital Demodulator,” filed Sep. 6, 2006, and in U.S. patent application Ser. No. 11/517,126, entitled “Carrier Frequency-Independent Receiver,” filed Sep. 6, 2006, whose disclosures are incorporated herein by reference. 
         [0054]    Typically but not necessarily, the run-length ports, binary/wake-up ports and wake-up logic are implemented in hardware and/or firmware. The MC and HID drivers may be implemented in software on a processor of the host system and/or in suitable firmware. In some embodiments, such as when the host system comprises a personal computer or other computing platform, the port circuits, and possibly the drivers, are embodied in an Embedded Controller (EC) of the host system. 
         [0055]    In a typical application, only one IR signal having a single protocol is received and processed by the receiver at any given time. When the ports of the different protocols are implemented in a single hardware or firmware device (and since most signal and protocol characteristics of the different CIR protocols are common or similar), some hardware or firmware circuitry can be shared by the different port circuits rather than duplicated. Such circuitry may comprise, for example, host interface circuitry, data processing circuitry and/or configuration and control circuitry. Sharing circuitry among different ports of different protocols reduces the cost, size and power consumption of the receiver. Moreover, in some embodiments the host system can indicate the supported protocols to the receiver using a suitable interface, and the receiver can then configure its ports accordingly. 
         [0056]      FIG. 4  is a flow chart that schematically illustrates a method for operating an IR receiver in a host system having active and sleep operational states, in accordance with an embodiment of the present invention. The description that follows refers to the operation of a receiver channel that produces run-length data, such as the first receiver channel in  FIG. 2  above. The method can be used, however, in any other suitable receiver configuration. 
         [0057]    The method begins with the host system operating in the active operational state. Thus, the run-length port receives the signal from the IR sensor and outputs data to the host system via the MC port driver, at an active operation step  80 . Typically but not necessarily, the binary/wake-up port is deactivated at this state. 
         [0058]    When the host system moves to sleep mode operation, as checked by a go-to-sleep checking step  84 , the receiver channel changes its operation accordingly. The MC port driver configures the binary/wake-up port with a wake-up string that identifies the respective protocol, at a wake-up configuration step  88 . The MC port driver then deactivates the run-length port and activates the binary/wake-up port, at a sleep mode transition step  92 . 
         [0059]    From this stage, the receiver channel operates in sleep mode, in which the run-length port is disabled. The binary/wake-up port continually attempts to match the received signal with the wake-up string, at a wake-up checking step  96 . When a match is detected, the binary/wake-up port initiates a transition to the active state, at an active state transition step  100 . The binary/wake-up port issues a wake-up signal to the host system and activates the run-length port. When transitioning to the active state, the binary/wake-up port is deactivated. The binary-wake-up port may deactivate itself or it may be deactivated by the MC port driver, which is now active. The method then loops back to active operation step  80  above, and the receiver channel begins to process the signal using the run-length port. 
         [0060]    The method of  FIG. 4  can also be used, mutatis mutandis, in receiver channels that produce binary data, such as the second receiver channel of  FIG. 2  above or the receiver channels of  FIG. 3  above. Before switching to sleep mode, the HID driver configures its respective binary/wake-up port with the appropriate wake-up string. During sleep mode operation, the binary/wake-up port continually compares the received data with the wake-up string and wakes the system up if a match (or partial match) is found. As noted above, in some embodiments the binary/wake-up port stores the decoded CIR message that caused the wake-up. The binary/wake-up port can provide the stored CIR message to the host system via the HID driver when the system is awakened. 
         [0061]    It will be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.