EP0744723B1 - Method and device for receiving signals from a plurality of transmitters - Google Patents

Method and device for receiving signals from a plurality of transmitters Download PDF

Info

Publication number
EP0744723B1
EP0744723B1 EP96401043A EP96401043A EP0744723B1 EP 0744723 B1 EP0744723 B1 EP 0744723B1 EP 96401043 A EP96401043 A EP 96401043A EP 96401043 A EP96401043 A EP 96401043A EP 0744723 B1 EP0744723 B1 EP 0744723B1
Authority
EP
European Patent Office
Prior art keywords
bit
transmitter
pulse
duration
pulses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP96401043A
Other languages
German (de)
French (fr)
Other versions
EP0744723A1 (en
Inventor
Eric Diehl
Yves Maetz
Nour-Eddine Tazine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Multimedia SA filed Critical Thomson Multimedia SA
Publication of EP0744723A1 publication Critical patent/EP0744723A1/en
Application granted granted Critical
Publication of EP0744723B1 publication Critical patent/EP0744723B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C15/00Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path

Definitions

  • the invention relates to a method and device for receiving signals from a plurality of transmitters, for example infrared, such as remote controls for audio-visual devices.
  • the invention also relates to a remote control used in conjunction with the device mentioned, as well as a system including a receiving device and a plurality of transmitters.
  • the invention applies in particular in the field of video and television.
  • Many consumer electronics devices can be controlled by a wireless remote control transmitting commands to a receiving device of the device to be controlled.
  • This transmission is generally carried out by infrared, ultrasonic or radio frequency, the data being modulated on an appropriate carrier.
  • the application for a certificate of utility FR 2 698 979 proposes a system using remote controls and a receiver.
  • Elektor Electronics document 17, Sept. 1991, No. 192, London, GB, pages 34-38, discloses a remote control system with at least two transmitters where for each transmitter the data transmitted is represented by the time interval between two pulses consecutives.
  • the invention is defined by the claims.
  • transmitters emitting pulses of different width and encoding data by time intervals also characteristics of these transmitters allows by an analysis appropriate to separate the superimposed information with a large efficiency.
  • the data are the two possible values of a bit.
  • one associates with each sender data representing the state of a message from this transmitter.
  • the state of the message is waiting for the first bit of a message, waiting for bits waiting for the end of the message or waiting for the end of the rest time between two messages.
  • a first bit is detected for a given transmitter when the time interval between the current pulse and one pulse among the pulses previously received is equal to one of the intervals defining a value bit for said transmitter and that the duration of said pulse among the previously received pulses is equal to the duration of a pulse associated with said given transmitter.
  • the comparison between the time interval between said two pulses and the intervals setting a bit value for said transmitter is performed by increasing intervals defining information, all pulses previously received and stored being reviewed for each intervals defining a bit value.
  • the intervals defining a bit value being two in number, if no bit is detected but there was a tie between the shortest duration corresponding to a bit value and the time interval separating the current pulse and a previously received pulse, then the bit value detected corresponds to this shortest duration.
  • the detection of a first bit is only performed for a transmitter when the duration of the current pulse is greater than or equal to the duration of a pulse from this transmitter.
  • another bit is assigned to the same transmitter if the current pulse forms with the last pulse having allowed an allocation of a bit to this transmitter an interval corresponding to a bit value for this transmitter.
  • the detection of a bit is only performed for a transmitter when the duration of the pulse current is greater than or equal to the duration of a pulse in origin of this transmitter.
  • this pulse is assigned to the first transmitter to which no bit has yet been assigned assigned in decreasing order of pulse durations, said thus assigned pulse used to define the starting point of a bit whose the second pulse will come later.
  • the number of bits assigned to a transmitter is equal to the maximum number of assignable bits for a message, but that nevertheless an additional bit is detected for this transmitter, then the first bit of the message is eliminated, and the last bit detected is added to said message.
  • the pulse current could not be assigned previously and forms with the penultimate pulse stored an interval corresponding to a value of bit for a given transmitter and at least one bit has already been assigned to this transmitter, then the last bit assigned is replaced by the new value detected.
  • an impulse current could not be used before, so we are looking for a transmitter to which a single bit has been assigned and it is determined whether the interval between the current pulse and the first pulse attributed to said audit transmitter corresponds to a bit value for said transmitter, in which case said bit value is retained.
  • the parameters of each pulse received is memorized after the analysis of said impulse.
  • the width of the detected pulses is equal or proportional to the width of the pulses emitted by said transmitters.
  • said means of reception include an infrared receiver, said transmitters emitting infrared signals and using the same carrier.
  • said means include a microprocessor, a memory storing parameters of pulses received, memories storing the bits corresponding to the messages of the various transmitters.
  • the device reception implements the method mentioned above.
  • the invention also relates to an infrared remote control characterized in that it is used in conjunction with a device as described above and in that it comprises means for adjusting the width of the pulses used to represent the data transmitted to said device, said adjustment being carried out so to be unique compared to other remote controls that can be used simultaneously.
  • said remote control also includes means for adjusting the time intervals between two pulses used to represent the different data intended to be transmitted.
  • said system sets up implements the process mentioned above.
  • the particular example described in the following relates to two RC1 and RC2 remote controls, emitting in infrared on the same carrier frequency (e.g. 400 KHz in Europe or 56.8 KHz in United States) and with the same communication protocol.
  • the signals are modulated appropriately on the carrier for transmission.
  • the invention is obviously not limited to infrared transmission.
  • Figure 1b shows similar notations to illustrate the message coding for a second RC2 remote control. So generally, an index n indicates the association with the RCn remote control.
  • Figure 1c illustrates the signal perceived by an infrared receiver unique. This signal corresponds to the superposition of the signals of the figures 1a and 1b. We see that the first impulse from RC1 is obscured by the first impulse from RC2, while the respective second pulses partially overlap to form a larger impulse.
  • the difference between the durations of the pulses of the different remote controls plays a important role in the separation of information from these remote controls.
  • FIG. 2 is a block diagram of a receiving device implementing the present exemplary embodiment.
  • These measures receiver comprises an infrared receiver 1, managed by a circuit of specific reception 2.
  • This circuit 2 provides a signal which, for the following explanations, will be assumed to be similar to that of FIG. 1c.
  • the specific circuit 2 is connected to a processing unit 3, by example a ST90E30 microcontroller manufactured by SGS Thomson.
  • the functions of circuits 1 and 2 are fulfilled for example and not limited to the Sharp GP1U527Y circuit.
  • the reception circuit 2 builds on an impulse received from the infrared receiver 1 a pulse of substantially proportional duration. So a duration pulse T from a remote control is perceived as a pulse of duration ⁇ T, where ⁇ is a correction coefficient. The relationship between pulses of different duration at the input of the device receiver is thus maintained during signal processing. If the coefficient ⁇ is not precisely known, i.e. if ⁇ T is in a range of values, then we will take precautions necessary to avoid overlapping these ranges in adequately choosing the durations of the pulses at the level of transmitters.
  • the processing unit 3 manages inter alia three random access memories 4 to 6. These memories are shown separately on the diagram, but can physically belong to the same circuit.
  • the first memory is used to store information from the infrared receiver. Of them information is recorded per pulse: the duration of the pulse (later called Impulsion_mem [i] thereafter), as well as the absolute time of appearance of the active front of this impulse (called Begin_mem [i]). These data are used to characterize the received signal.
  • the memory 4 can store the data corresponding to at least 2 * N-1 pulses. She is organized on the principle of the first in last out stack (stack FIFO). The index i has the value 0 for the most recent pulse memorized and increases for older pulses.
  • the other two memories, 5 and 6 are each assigned to one of the remote controls.
  • the data is processed by the central processing unit 3, and the result of this analysis, normally corresponding to the identification of a bit information and the identification of the transmitting remote control, is stored in that of the memories which corresponds to the remote control identified. It may be necessary to clear a bit in one of these memories when we later realize that information previous one was poorly analyzed.
  • FIG. 3 shows a block diagram of one of the remote controls.
  • a keyboard 7 is associated with a central unit 8. This last manages in known manner the modulator 9 interface with the diode 10.
  • the central unit is for example a microcontroller Motorola 68HC05C8.
  • An oscillator 11 provides the carrier frequency at the modulator interface 9.
  • the remote control has on its keyboard means for adjusting the width of the pulses from this remote control and / or time between active edges of two pulses used to code a bit.
  • the adjustment is carried out by placing a switch 12 in a position particular among N positions.
  • the pulse durations Tp, as well as the durations T0i and T1i for the different switch positions are stored in a memory 13 managed by the microcontroller 8. It is so easy to add a remote control in an already existing system in assigning parameters not yet used.
  • the counter indicates the number of bits stored in the corresponding memory.
  • the states and counters are managed by processing unit 3.
  • Figure 4 illustrates the change from one state to another.
  • state B At least a first bit has been received, but the expected number of bits in the message (N_Bits) has not yet been achieved.
  • N_Bits corresponds for example to 8 bits.
  • state C the expected number of bits has been reached. If a bit additional is detected for this message, an analysis error has been committed previously, and the stored message is changed to result.
  • state D The transition from state D to state A occurs when time elapsed since the last bit received is greater than the sleep time Trn.
  • Figure 5 is a flow diagram of the present example of realization of the process used to acquire and analyze the data in from the infrared receiver.
  • the flowchart in Figure 5 is a general organization chart, including the different sub-procedures will be detailed later.
  • Steps E1 to E4 relate to the acquisition of the parameters characterizing the received signal.
  • a pulse start (rising edge) is detected by the processing unit 3 during the first step.
  • the state of a real time clock is stored in a "Start” variable when step E2.
  • the central unit waits for the end of this pulse (front descending) and determines its duration. (Variable “Duration”).
  • a variable boolean (“Impulse_used”) indicates whether or not the impulse could be assigned to a remote control and therefore used to assign a bit.
  • Step E5 is a comparison between the duration of the pulse detected "Duration" and the duration Tpn of the pulse corresponding to the current remote control.
  • the pulse can correspond perfectly to Tpn or be masked in a larger impulse.
  • Step E8 The state associated with the remote control n is then tested (Step E8). If this state corresponds to waiting for a first bit (State A), then the central unit implements a first sub-procedure "Determine first bit "(Step E9). If not, we test if the state is waiting from the end of the message (State C). If this is the case, we go to steps E6 and E7, as described above. Otherwise, the analysis of the impulse is carried out at a second sub-procedure "Analyze current bit" (Step E10). The two routines will be seen in detail in connection with FIGS. 6 and 7. Steps E9 and E10 are followed by step E6, which determines whether all remote controls have been reviewed.
  • step E11 The Pulse used parameter is then tested to know if during one of the two specific routines, it was possible to assign the impulse being analyzed to a remote control or not from the parameters of the current pulse. If not, this means that a bit interpretation error precedent has been committed. This is the role of the third sub-procedure ("Check last bit", step E12) than correcting this anomaly.
  • the "Determine first bit" sub-procedure is illustrated by the flowchart of figure 6. This sub-procedure is implemented for a remote control n when the status associated with this remote control is that of waiting for the first bit and that a priori, the duration of the pulse that we just received is such that a pulse of duration Tpn corresponding to the remote control could not be included.
  • the principles used by this sub-procedure are: following: The duration of T0N being less than the duration T1N in the this example, we first try to determine if the beginning of the current pulse can, in combination with a pulse previously stored in memory 4, form a "0" which can be a first bit in the sense of remote control n. This is achieved by steps E101 to E109. If a "0" is not detected, then we seek to determine the presence of a "1". This is achieved by steps E111 to E118.
  • Steps E119 to E121 correspond to the treatment of a case particular according to which one chooses to recognize a "0" while the normal conditions for this recognition are not quite fulfilled.
  • This particular case, illustrated by Figure 7, is followed through the value of a variable called "PossibleZero".
  • a null value of this variable indicates that we are not in the particular case. It's at this value that we initialize the variable.
  • Step E101 concerns the initialization of the verification of the presence of a "0".
  • We systematically analyze each memorized pulse, starting from the most recent (index i 0). It is recalled that the data stored in the memory 4 makes it possible to determine the duration of a pulse, as well as the moment of appearance of his rising forehead.
  • Duration_bit is made up of the difference between the moment of appearance of the rising edge of the current pulse (Variable Start) and the moment of appearance of the rising edge of the pulse i (Variable Begin_mem [i]) (Step E103).
  • Step E108 If not, check whether the duration of the pulse i is equal (always within an error range) to the duration of a pulse of the remote control n (Step E108). If this condition is true, then a "0" is identified (Step E109). If this equality is not checked, this meaning in this case that the duration of the pulse i is strictly greater than T0n, it is possible, but not compulsory, that a front pulse corresponding to a "0" is masked by a pulse of greater width. The variable "Possible Zero" is then set to 1 and a search for a "1" is launched (Step E111).
  • the timing diagram in Figure 7 illustrates the special case that one wishes to solve thanks to this mechanism.
  • the first line of this figure corresponds to the first bit sent by a first remote control, whose pulses have a duration Tpa shorter than that Tpb of a second remote control, one of which is illustrated by the second line of figure 7.
  • the intervals T1a and T0a correspond to the durations bits for the first remote control.
  • step E108 If a pulse A from the second remote control is inserted between two pulse edges B and C of the first remote control so that what the time interval between the front of A and the front of C corresponds to T0a, an absence of test on the duration of the pulse A (step E108) would have the effect of detecting a 0.
  • Step E101 to E107 correspond to steps E111 to E117.
  • the correction mechanism implementing the step of comparison E108 is not used for the detection of a "1".
  • the test step E115 leads directly to the recognition of a "1" (step E118).
  • step E117 When all the possibilities of detecting a "1" have been exhausted without success (test of step E117 verified), the state of the variable "PossibleZero" is tested, and a bit “0" recognized if this variable is 1. If the test is negative, then we exit the routine directly by through step E122.
  • the first parameter is the bit counter N_bits_n associated with remote control n. This counter must be set to 1, meaning that at this time, a first bit has been detected for this remote control.
  • state (State_n) associated with the remote control changes: from the waiting state for the first bit (A), we go to the waiting state for bits additional (B).
  • step E10 Let us return now to the general flowchart of figure 5.
  • the state associated with the remote control was not the state waiting for the first bit during step E8.
  • Figure 8 is a flowchart corresponding to the routine "Analyze current bit”.
  • this routine When this routine is addressed for remote control n, it is certain that the state of this remote control is the bit wait state additional. In this case, at least one bit has already been allocated to this remote control n and has been stored in the correct memory.
  • Last_weather_n we know through the variable Last_weather_n to when was the rising edge of the last pulse detected used to assign the most recent bit stored in memory. It is from this information and from the moment of the arrival of the front amount of the current pulse that we determine the bit duration Duration_bit (Step E201). The other steps are to determine if this bit can correspond to an additional bit from the remote control n.
  • bit duration is compared at T0n (E204). If the two durations match, a logical "0" is identified and stored in the corresponding memory (Step E205).
  • Step E208 After identifying either a logical "1” or a logical “0", the bit counter N_Bit_n is incremented, the variable Last_time_n is update and the fact that the current pulse was used is memorized by setting the Pulse variable used to 1 (Step E208).
  • step E206 a third test is undertaken in step E206. If the bit duration Duration_bit is strictly greater than T1n (which represents, between T0n and T1n and according to this embodiment the longest duration), then the bit duration cannot correspond to a bit from the remote control n. It is then assumed that the message from the remote control n has been interrupted. The state associated with the remote control n returns to the state waiting for the first bit (E207) and the corresponding memory is cleared. The Impulse_attribue_n variable is also set to 1 to indicate that the remote control n received its first impulse (but not yet its first bit, which is determined by two pulses).
  • step E206 If the test in step E206 proves negative, then the method of Figure 5 is repeated (E211).
  • step E5 in case of negative test in step E5, in case of positive test in step E14 or after the two routines described above, we determine if the index n corresponds to its maximum N (E6). If not, the index is incremented (E7) and step E5 is repeated.
  • a step E301 makes it possible to verify whether the current pulse is the first pulse of a message sent by one of the remote controls. This pulse was not used during one of the two sub-procedures E9 or E10 for the allocation of a bit.
  • the first pulse assigned to a remote control does not allow to assign a bit, since a bit is defined by the interval of time between two successive pulse edges.
  • the use of variable "Impulsion_attribégé_i" allows to assign an impulse to a only remote control whose state is "Waiting for the first bit".
  • Step E301 thus makes it possible to avoid certain cases of correction later.
  • Step E301 is described in detail by the flowchart in Figure 10.
  • step E407 used to initialize this loop. If so, checks if the duration Tp of the pulse is such that it corresponds to the duration a pulse from the remote control currently being processed or if it can hide such an impulse (E403). If the result of the comparison is negative, then the same goes to the next remote control. In the case of a positive comparison, we check if an impulse has already been assigned to this remote control (E404).
  • the same remote control can only have one starting impulse.
  • This state of affairs is memorized by the variable Impulse_attribégé_i. If this variable indicates that a pulse has already has been assigned (i.e. according to the present example if it has the value 0), then we conclude that the pulse currently processed does not does not come from the remote control in question and we pass if necessary to the next remote control (E404). On the other hand, if no impulse has assigned to the remote control in question, so the pulse is assigned (E405). The pulse is then marked as having been used. On the other hand, the variable Impulse_attribue_i is set to 1 for indicate that an impulse has been assigned to the remote control i. If one allocation has taken place, then the process of FIG. 10 is terminated.
  • step E301 works by decreasing values of the pulse duration Tpi. In this way, the impulse will be attributed to the most likely remote control.
  • the first line of figure 11a corresponds to the signals emitted by a first remote control, while the second line of this figure corresponds to the signals emitted by a second remote control.
  • Pulse B corresponds to the first pulse sent by the first remote control.
  • Pulse A emitted by the second remote control is such that the time interval between its rising edge and the rising edge of a pulse B emitted by the first remote control correspond to time T01.
  • the routine "Determine first bit "as described above will detect a" 0 "for the first remote control during the analysis of pulse B. A bit is therefore detected before the actual start of the message. This is due to the fact that a first remote control pulse could be hidden by pulse A, wider.
  • this first bit detected should be eliminated, shift the whole message and add a "0" or a "1", depending on the bit detected by analysis of the most recent pulse.
  • This first configuration is detected when the state associated with a remote control is "Waiting for end of message” but an additional bit is nevertheless detected for this remote control.
  • the rising edge of a pulse from the first remote control forms with the rising edge of a consecutive pulse of the second remote control (pulse E) a bit "0" for the first remote control.
  • the analysis performed by the routine "Analyze current bit" is such that a bit" 0 "will be associated with the first remote control.
  • the pulse E does not mask the pulse emitted by the first remote control is that the rising edge of the pulse F emitted by the first remote control forms a "1" with the rising edge of pulse D. A "0” would therefore be detected instead of a "1".
  • a "0" may be detected at the wrong time.
  • the fronts of two pulses emitted by a first remote control form a "0".
  • the test carried out to determine if the duration of a bit corresponds to T0i takes into account a error ⁇ ⁇ which constitutes a range around the value T0i. Yes the time interval between the rising edge of a pulse I emitted by a second remote control and the rising edge of the pulse G falls within the range thus determined, then a "0" can be detected.
  • the value "0" is not in itself false, since in any case, the pulses G and H give the same information.
  • the variable "Last_time_i" would contain a false value, which would have consequently a possible misinterpretation of the following bits.
  • This third configuration also applies to the erroneous detection of bits at "1".
  • the correction made for the second and third configuration consists, during the analysis of the pulse F, in checking whether this impulse gives consistent information for a remote control given in connection with the penultimate bit. If this information corresponds to a "1" or a "0", the last bit assigned to this remote control is replaced by this information.
  • step E301 is now taken and we test during a step E302 if the impulse could be assigned during step E301. In if so, the three configurations explained above do not take place to be corrected, and the routine ends (E303).
  • a loop (made through steps E304, E305 and E306) reviews the different remote controls.
  • step E304 it is determined whether the pulse in analysis course is the same as or is such that it can hide a pulse from the remote control i. If it's not the case, we go to the next remote control by incrementing the index of remote controls (step E306). If so, the duration is determined bit (Variable Bit Duration) corresponding to the time interval between the rising edge of the pulse being analyzed and the last edge amount memorized for the remote control, namely Last_time_i.
  • step E309 we test through the steps E309 to E313 if you are in the first configuration (figure 11a) described above. For this, we first seek to know if the associated state on the examined remote control is indeed "Waiting for end of message". If this is not the case, we go to the verification of the corresponding conditions in the second and third configurations. If so, the steps E310, respectively E312 test whether the bit duration corresponds to a "1" or a "0". If one of the two tests is positive, then the message registered for the remote control being examined is shifted and a "1" or "0" is added respectively (steps E311 and E313). The impulse thus used, the routine ends at step E303, after the pulse the most recent was marked as having been used.
  • the value of the last bit memorized for the examined remote control (E316).
  • We calculate the time interval separating the rising edge of the pulse being analyzed (for example rising edge of the pulses F or H of FIGS. 11b and 11c and of which the time of appearance is memorized by the Start variable) and the front amount of the penultimate pulse stored (for example pulses D or G of Figures 11b and 11c). This calculation is performed in calculating the time interval between Duration and Last_Time_i, and by adding T0i or T1i according to the value of the last bit memorized (steps E317, respectively E318).
  • FIG 13 gives the flowchart of the corresponding process (called “End of message”) according to the present exemplary embodiment. This procedure is launched when no pulse is detected (step E1). It is also possible to launch it at another time.
  • the elapsed time is determined from the rising edge of the last pulse attributed to this remote control by making the difference between the clock state of the system and the parameter Last_time_i (Step E504).
  • this duration is greater than the longest bit duration for this remote control (in this case T1i according to the present example). Yes this is not the case, we go to the next remote control (E502).
  • a pulse intended for the remote control can still reach the receiver. There is therefore no reason to terminate the message received, it not necessarily complete or correct.
  • step E505 If on the other hand the test of step E505 proves positive, a priori no future impulse can be attributed to the remote control considered. Depending on the state of the message, it is then considered to be complete or as discontinued. We first determine if the state of the message is the waiting state for message end or not (E506). If this is not the case, then we check (E507) if the time elapsed since the last pulse assigned to the remote control is greater than the time of this remote control. If it is, then the message is considered interrupted and the state of the message is reset waiting for the first bit (E508). If the duration is less than the rest we go to the next remote control (E502).
  • the exemplary embodiment relates to a coding of values of a bit, two time intervals (T0i and T1i) being used, the invention is not limited to such coding.
  • the applications of the invention are numerous: video games or interactive television, control of multiple devices through a single control signal receiver using multiple remote controls, etc ...

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)

Description

L'invention concerne un procédé et dispositif de réception de signaux en provenance d'une pluralité d'émetteurs, par exemple à infra-rouges, tels que des télécommandes pour appareils audio-visuels. L'invention concerne également une télécommande utilisée en conjonction avec le dispositif mentionné, ainsi qu'un système incluant un dispositif de réception et une pluralité d'émetteurs. L'invention s'applique notamment dans le domaine de la vidéo et de la télévision.The invention relates to a method and device for receiving signals from a plurality of transmitters, for example infrared, such as remote controls for audio-visual devices. The invention also relates to a remote control used in conjunction with the device mentioned, as well as a system including a receiving device and a plurality of transmitters. The invention applies in particular in the field of video and television.

De nombreux appareils d'électronique grand public peuvent être commandés grâce à une télécommande sans fil transmettant des commandes à un dispositif récepteur de l'appareil à commander. Cette transmission s'effectue généralement par infra-rouges, ultra-sons ou à fréquence radio, les données étant modulés sur une porteuse appropriée.Many consumer electronics devices can be controlled by a wireless remote control transmitting commands to a receiving device of the device to be controlled. This transmission is generally carried out by infrared, ultrasonic or radio frequency, the data being modulated on an appropriate carrier.

Il peut être souhaitable de pouvoir utiliser plusieurs télécommandes de manière simultanée avec un seul dispositif récepteur. Se pose alors le problème des interférences entre ces télécommandes, ainsi que le problème d'identification d'une télécommande émettrice par le dispositif récepteur.It may be desirable to be able to use multiple remote controls simultaneously with a single receiving device. This raises the problem of interference between these remote controls, as well as the problem of identification of a transmitting remote control by the receiving device.

La demande de certificat d'utilité FR 2 698 979 propose un système mettant en oeuvre des télécommandes et un récepteur.The application for a certificate of utility FR 2 698 979 proposes a system using remote controls and a receiver.

Le document Elektor Electronics, 17, Sept. 1991, No. 192, London, GB, pages 34-38, divulgue un système de télécommande avec au moins deux émetteurs où pour chaque émetteur les données émises sont représentées par l'intervalle de temps entre deux impulsions consecutives. L'invention est definie par les revendications.The Elektor Electronics document, 17, Sept. 1991, No. 192, London, GB, pages 34-38, discloses a remote control system with at least two transmitters where for each transmitter the data transmitted is represented by the time interval between two pulses consecutives. The invention is defined by the claims.

L'invention a pour objet un procédé de réception de signaux issus d'au moins deux émetteurs (RCi) caractérisé en ce que,

  • pour chaque émetteur, les données ("0", "1") étant représentées par l'intervalle de temps (T0i, T1i) entre deux impulsions consécutives émises par cet émetteur,
  • lesdits intervalles de temps ainsi que la largeur des impulsions (Tpi) étant caractéristiques de chaque émetteur,
  • ledit procédé comprenant les étapes:
  • de réception d'un signal résultant de la superposition des signaux émis par lesdits émetteurs,
  • de détermination des paramètres des impulsions dudit signal résultant, lesdits paramètres comprenant la largeur des impulsions ainsi que leur espacement,
  • d'attribution d'une donnée à un émetteur en fonction de ces paramètres
  • The subject of the invention is a method of receiving signals from at least two transmitters (RCi) characterized in that,
  • for each transmitter, the data ("0", "1") being represented by the time interval (T0i, T1i) between two consecutive pulses emitted by this transmitter,
  • said time intervals as well as the width of the pulses (Tpi) being characteristic of each transmitter,
  • said method comprising the steps:
  • receiving a signal resulting from the superposition of the signals transmitted by said transmitters,
  • determining the parameters of the pulses of said resulting signal, said parameters comprising the width of the pulses as well as their spacing,
  • allocation of data to a transmitter based on these parameters
  • Le fait d'utiliser des émetteurs émettant des impulsions de largeur différente et codant des données par des intervalles de temps également caractéristiques de ces émetteurs permet par une analyse appropriée de séparer les informations superposées avec une grande efficacité.The use of transmitters emitting pulses of different width and encoding data by time intervals also characteristics of these transmitters allows by an analysis appropriate to separate the superimposed information with a large efficiency.

    Selon un mode de réalisation particulier, les données sont les deux valeurs possibles d'un bit.According to a particular embodiment, the data are the two possible values of a bit.

    Selon un mode de réalisation particulier, l'on associe à chaque émetteur une donnée représentant l'état d'un message issu de cet émetteur.According to a particular embodiment, one associates with each sender data representing the state of a message from this transmitter.

    Selon un mode de réalisation particulier, l'état du message est l'attente d'un premier bit d'un message, l'attente de bits supplémentaires, l'attente de la fin du message ou l'attente de la fin du temps de repos entre deux messages.According to a particular embodiment, the state of the message is waiting for the first bit of a message, waiting for bits waiting for the end of the message or waiting for the end of the rest time between two messages.

    Selon un mode de réalisation particulier, un premier bit est détecté pour un émetteur donné lorsque l'intervalle de temps entre l'impulsion courante et une impulsion parmi les impulsions précédemment reçues est égal à un des intervalles définissant une valeur de bit pour ledit émetteur et que la durée de ladite impulsion parmi les impulsions précédemment reçues est égale à la durée d'une impulsion associée audit émetteur donné.According to a particular embodiment, a first bit is detected for a given transmitter when the time interval between the current pulse and one pulse among the pulses previously received is equal to one of the intervals defining a value bit for said transmitter and that the duration of said pulse among the previously received pulses is equal to the duration of a pulse associated with said given transmitter.

    Selon un mode de réalisation particulier, la comparaison entre l'intervalle de temps entre lesdites deux impulsions et les intervalles définissant une valeur de bit pour ledit émetteur est effectuée par intervalles croissants définissant une information, toutes les impulsions précédemment reçues et stockées étant passées en revue pour chacun des intervalles définissant une valeur de bit.According to a particular embodiment, the comparison between the time interval between said two pulses and the intervals setting a bit value for said transmitter is performed by increasing intervals defining information, all pulses previously received and stored being reviewed for each intervals defining a bit value.

    Selon un mode de réalisation particulier, les intervalles définissant une valeur de bit étant au nombre de deux, si aucun bit n'est détecté mais qu'il y a eu égalité entre la durée la plus courte correspondant à une valeur de bit et l'intervalle de temps séparant l'impulsion courante et une impulsion précédemment reçue, alors la valeur de bit détectée correspond à cette durée la plus courte.According to a particular embodiment, the intervals defining a bit value being two in number, if no bit is detected but there was a tie between the shortest duration corresponding to a bit value and the time interval separating the current pulse and a previously received pulse, then the bit value detected corresponds to this shortest duration.

    Selon un mode de réalisation particulier, la détection d'un premier bit n'est réalisée pour un émetteur que lorsque la durée de l'impulsion courante est supérieure ou égale à la durée d'une impulsion en provenance de cet émetteur.According to a particular embodiment, the detection of a first bit is only performed for a transmitter when the duration of the current pulse is greater than or equal to the duration of a pulse from this transmitter.

    Selon un mode de réalisation particulier, lorsqu'au moins un bit a déjà été attribué à un émetteur, un autre bit est attribué au même émetteur si l'impulsion courante forme avec la dernière impulsion ayant permis une attribution d'un bit à cet émetteur un intervalle correspondant à une valeur de bit pour cet émetteur.According to a particular embodiment, when at least one bit has already been assigned to a transmitter, another bit is assigned to the same transmitter if the current pulse forms with the last pulse having allowed an allocation of a bit to this transmitter an interval corresponding to a bit value for this transmitter.

    Selon un mode de réalisation particulier, la détection d'un bit n'est réalisée pour un émetteur que lorsque la durée de l'impulsion courante est supérieure ou égale à la durée d'une impulsion en provenance de cet émetteur.According to a particular embodiment, the detection of a bit is only performed for a transmitter when the duration of the pulse current is greater than or equal to the duration of a pulse in origin of this transmitter.

    Selon un mode de réalisation particulier, si une impulsion courante n'a pu être utilisée pour détecter un bit, alors cette impulsion est attribuée au premier émetteur auquel aucun bit n'a encore été attribué dans l'ordre décroissant des durées d'impulsions, ladite impulsion ainsi attribuée servant à définir le point de départ d'un bit dont la seconde impulsion parviendra ultérieurement.According to a particular embodiment, if an impulse could not be used to detect a bit, so this pulse is assigned to the first transmitter to which no bit has yet been assigned assigned in decreasing order of pulse durations, said thus assigned pulse used to define the starting point of a bit whose the second pulse will come later.

    Selon un mode de réalisation particulier, si le nombre de bits attribué à un émetteur est égal au nombre maximal de bits attribuables pour un message, mais que néanmoins un bit supplémentaire est détecté pour cet émetteur, alors le premier bit du message est éliminé, et le dernier bit détecté est rajouté audit message.According to a particular embodiment, if the number of bits assigned to a transmitter is equal to the maximum number of assignable bits for a message, but that nevertheless an additional bit is detected for this transmitter, then the first bit of the message is eliminated, and the last bit detected is added to said message.

    Selon un mode de réalisation particulier, lorsque l'impulsion courante n'a pu être attribuée précédemment et forme avec l'avant-dernière impulsion stockée un intervalle correspondant à une valeur de bit pour un émetteur donné et qu'au moins un bit a déjà été attribué à cet émetteur, alors le dernier bit attribué est remplacé par la nouvelle valeur détectée.According to a particular embodiment, when the pulse current could not be assigned previously and forms with the penultimate pulse stored an interval corresponding to a value of bit for a given transmitter and at least one bit has already been assigned to this transmitter, then the last bit assigned is replaced by the new value detected.

    Selon un mode de réalisation particulier, si une impulsion courante n'a pas pu être utilisée auparavant, alors on recherche un émetteur auquel a été attribué un seul bit et on détermine si l'intervalle entre l'impulsion courante et la première impulsion attribuée audit émetteur correspond à une valeur de bit pour ledit émetteur, auquel cas ladite valeur de bit est retenue.According to a particular embodiment, if an impulse current could not be used before, so we are looking for a transmitter to which a single bit has been assigned and it is determined whether the interval between the current pulse and the first pulse attributed to said audit transmitter corresponds to a bit value for said transmitter, in which case said bit value is retained.

    Selon un mode de réalisation particulier, les paramètres de chaque impulsion reçue sont mémorisés après l'analyse de ladite impulsion.According to a particular embodiment, the parameters of each pulse received is memorized after the analysis of said impulse.

    Selon un mode de réalisation particulier, le passage de l'état "Attente de premier bit" à l'état "Attente de bits supplémentaires" se fait lorsqu'un bit a été détecté,

  • le passage de l'état "Attente de bits supplémentaires" à l'état "Attente de fin de message" se fait lorsque le nombre maximal de bits a été attribué à un émetteur,
  • le passage de l'état "Attente de fin de message" à l'état "Attente de période de repos" se fait si après une attente d'un temps supérieur à l'intervalle le plus long correspondant à une information pour l'émetteur considéré aucun bit n'a été identifié pour cet émetteur,
  • le passage de l'état "Attente de période de repos" à l'état "Attente de premier bit" se fait si le temps écoulé depuis le dernier bit reçu (Dernier_temps_i) est supérieur au temps de repos (Trn) de l'émetteur considéré,
  • le passage de l'état "Attente de bits supplémentaires" à l'état "Attente du premier bit" se fait lorsqu'après l'attribution d'un premier bit, un temps supérieur à l'intervalle le plus long correspondant à une information pour l'émetteur considéré s'écoule sans qu'un bit supplémentaire ne soit détecté.
  • According to a particular embodiment, the transition from the state "Waiting for first bit" to the state "Waiting for additional bits" is done when a bit has been detected,
  • the transition from the state "Waiting for additional bits" to the state "Waiting for end of message" takes place when the maximum number of bits has been allocated to a transmitter,
  • the transition from the state "Waiting for end of message" to the state "Waiting for rest period" is done if after waiting for a time greater than the longest interval corresponding to information for the sender considered no bit has been identified for this transmitter,
  • the transition from the state "Waiting for rest period" to the state "Waiting for first bit" occurs if the time elapsed since the last bit received (Last_time_i) is greater than the rest time (Trn) of the transmitter considered,
  • the transition from the state "Waiting for additional bits" to the state "Waiting for the first bit" occurs when after the allocation of a first bit, a time greater than the longest interval corresponding to information for the transmitter in question flows without an additional bit being detected.
  • L'invention a aussi pour objet un dispositif de réception de signaux caractérisé en ce qu'il comprend

  • des moyens de réception d'un signal résultant de la superposition de signaux émis par au moins deux émetteurs, pour chaque émetteur, les données étant représentées par l'intervalle de temps entre deux impulsions consécutives émises par cet émetteur,
  • lesdits intervalles de temps ainsi que la largeur des impulsions étant caractéristiques de chaque émetteur,
  • des moyens d'analyse dudit signal résultant en fonction de la largeur des impulsions détectées dans ledit signal résultant et en fonction des intervalles de temps entre ces impulsions.
  • The invention also relates to a device for receiving signals, characterized in that it comprises
  • means for receiving a signal resulting from the superposition of signals transmitted by at least two transmitters, for each transmitter, the data being represented by the time interval between two consecutive pulses transmitted by this transmitter,
  • said time intervals as well as the width of the pulses being characteristic of each transmitter,
  • means for analyzing said resulting signal as a function of the width of the pulses detected in said resulting signal and as a function of the time intervals between these pulses.
  • Selon un mode de réalisation particulier, la largeur des impulsions détectées est égale ou proportionnelle à la largeur des impulsions émises par lesdits émetteurs.According to a particular embodiment, the width of the detected pulses is equal or proportional to the width of the pulses emitted by said transmitters.

    Selon un mode de réalisation particulier, lesdits moyens de réception comprennent un récepteur à infra-rouges, lesdits émetteurs émettant des signaux infra-rouges et utilisant la même porteuse.According to a particular embodiment, said means of reception include an infrared receiver, said transmitters emitting infrared signals and using the same carrier.

    Selon un mode de réalisation particulier, lesdits moyens d'analyse comprennent un microprocesseur, une mémoire stockant des paramètres d'impulsions reçues, des mémoires stockant les bits correspondant aux messages des différents émetteurs.According to a particular embodiment, said means include a microprocessor, a memory storing parameters of pulses received, memories storing the bits corresponding to the messages of the various transmitters.

    Selon un mode de réalisation particulier, le dispositif de réception met en oeuvre le procédé mentionné ci-dessus.According to a particular embodiment, the device reception implements the method mentioned above.

    L'invention a aussi pour objet une télécommande à infra-rouges caractérisée en ce qu'elle est utilisée en conjonction avec un dispositif tel que décrit ci-dessus et en ce qu'elle comporte des moyens de réglage de la largeur des impulsions utilisées pour représenter les données transmises audit dispositif, ledit réglage étant effectué de sorte à être unique par rapport à d'autres télécommandes pouvant être utilisées simultanément.The invention also relates to an infrared remote control characterized in that it is used in conjunction with a device as described above and in that it comprises means for adjusting the width of the pulses used to represent the data transmitted to said device, said adjustment being carried out so to be unique compared to other remote controls that can be used simultaneously.

    Selon un mode de réalisation particulier, ladite télécommande comporte également des moyens de réglage des intervalles de temps entre deux impulsions servant à représenter les différentes données destinées à être transmises. According to a particular embodiment, said remote control also includes means for adjusting the time intervals between two pulses used to represent the different data intended to be transmitted.

    L'invention a aussi pour objet un système de réception de signaux caractérisé en ce qu'il comprend

  • au moins deux émetteurs, chaque émetteur représentant des données sous la forme d'impulsions de largeur caractéristique dudit émetteur, une donnée étant définie par l'intervalle de temps séparant deux impulsions consécutives émises par cet émetteur, ledit intervalle de temps étant également caractéristique ce chaque émetteur,
  • un récepteur comportant des moyens de réception du signal résultant de la superposition des signaux émis par lesdits émetteurs,
  • des moyens d'analyse dudit signal résultant en fonction de la largeur des impulsions détectées dans ledit signal résultant et des intervalles de temps séparant lesdites impulsions.
  • The invention also relates to a signal reception system characterized in that it comprises
  • at least two transmitters, each transmitter representing data in the form of pulses of width characteristic of said transmitter, a data being defined by the time interval separating two consecutive pulses emitted by this transmitter, said time interval being also characteristic this each transmitter,
  • a receiver comprising means for receiving the signal resulting from the superimposition of the signals transmitted by said transmitters,
  • means for analyzing said resulting signal as a function of the width of the pulses detected in said resulting signal and the time intervals separating said pulses.
  • Selon un mode de réalisation particulier, ledit système met en oeuvre le procédé mentionné ci-dessus.According to a particular embodiment, said system sets up implements the process mentioned above.

    D'autres avantages et caractéristiques de l'invention apparaítront à travers la description d'un exemple de réalisation particulier non limitatif illustré par les figures parmi lesquelles:

    • les figures 1a et 1b représentent des signaux émis par deux télécommandes suivant un exemple de réalisation de l'invention,
    • la figure 1c représente les signaux de la figure précédente tels qu'ils sont perçus par un récepteur,
    • la figure 2 est un diagramme-bloc d'un dispositif récepteur mettant en oeuvre le présent exemple de réalisation de l'invention,
    • la figure 3 est un diagramme-bloc d'un exemple de télécommande utilisé dans le présent exemple de réalisation,
    • la figure 4 est un diagramme d'état d'une pile mémorisant des bits correspondant à un message conformément au présent exemple de réalisation, une pile étant associée à chaque télécommande,
    • la figure 5 est un organigramme général du présent exemple de réalisation du procédé utilisé pour acquérir et analyser les données en provenance du récepteur à infra-rouges,
    • la figure 6 représente un organigramme d'une première sous-procédure ("Déterminer premier bit") du procédé de la figure 5,
    • la figure 7 représente un chronogramme illustrant une configuration particulière des signaux émis par deux télécommandes,
    • la figure 8 est un organigramme correspondant à une seconde sous-procédure ("Analyser bit courant") du procédé de la figure 5,
    • les figures 9a et 9b représentent ensemble un organigramme d'une troisième sous-procédure ("Vérifier dernier bit") du procédé de la figure 5,
    • la figure 10 représente un organigramme d'un procédé ("Attribuer impulsion") utilisé dans la sous-procédure de la figure 9,
    • la figure 11a représente une configuration particulière des signaux émis par les télécommandes et pouvant donner lieu à une première erreur corrigée par la sous-procédure de la figure 9,
    • la figure 11b représente une configuration particulière des signaux émis par les télécommandes et pouvant donner lieu à une seconde erreur corrigée par la sous-procédure de la figure 9,
    • la figure 11c représente une configuration particulière des signaux émis par les télécommandes et pouvant donner lieu à une troisième erreur corrigée par la sous-procédure de la figure 9,
    • la figure 12 représente un organigramme d'une procédure ("Faux Départ") utilisée dans l'organigramme de la figure 9,
    • la figure 13 représente un organigramme d'une procédure ("Fin de message") utilisé pour déterminer l'interruption ou la fin d'un message.
    Other advantages and characteristics of the invention will appear through the description of a particular nonlimiting exemplary embodiment illustrated by the figures among which:
    • FIGS. 1a and 1b represent signals emitted by two remote controls according to an exemplary embodiment of the invention,
    • FIG. 1c represents the signals of the preceding figure as they are perceived by a receiver,
    • FIG. 2 is a block diagram of a receiver device implementing the present exemplary embodiment of the invention,
    • FIG. 3 is a block diagram of an example remote control used in the present exemplary embodiment,
    • FIG. 4 is a state diagram of a stack memorizing bits corresponding to a message in accordance with the present exemplary embodiment, a stack being associated with each remote control,
    • FIG. 5 is a general flow diagram of the present exemplary embodiment of the method used to acquire and analyze the data originating from the infrared receiver,
    • FIG. 6 represents a flow diagram of a first sub-procedure ("Determine first bit") of the method of FIG. 5,
    • FIG. 7 represents a timing diagram illustrating a particular configuration of the signals transmitted by two remote controls,
    • FIG. 8 is a flowchart corresponding to a second sub-procedure ("Analyze current bit") of the method of FIG. 5,
    • FIGS. 9a and 9b together represent a flow diagram of a third sub-procedure ("Check last bit") of the method of FIG. 5,
    • FIG. 10 represents a flow diagram of a method ("Assign pulse") used in the sub-procedure of FIG. 9,
    • FIG. 11a represents a particular configuration of the signals emitted by the remote controls and which can give rise to a first error corrected by the sub-procedure of FIG. 9,
    • FIG. 11b represents a particular configuration of the signals emitted by the remote controls and which can give rise to a second error corrected by the sub-procedure of FIG. 9,
    • FIG. 11c represents a particular configuration of the signals emitted by the remote controls and which can give rise to a third error corrected by the sub-procedure of FIG. 9,
    • FIG. 12 represents a flow diagram of a procedure (“False Start”) used in the flow diagram of FIG. 9,
    • FIG. 13 represents a flowchart of a procedure ("End of message") used to determine the interruption or the end of a message.

    La description de l'exemple particulier contient une référence soit à un exemple de deux télécommandes, soit à une généralisation à N télécommandes, étant donné que certaines explications seront plus claires lorsque seulement deux télécommandes sont mises en jeu.The description of the particular example contains a reference either to an example of two remote controls, or to a generalization to N remotes, since some explanations will be more clear when only two remote controls are involved.

    L'exemple particulier décrit dans ce qui suit concerne deux télécommandes RC1 et RC2, émettant en infra-rouges sur la même fréquence porteuse (par exemple 400 KHz en Europe ou 56.8 KHz aux Etats-Unis) et avec le même protocole de communication. Les signaux sont modulés de façon appropriée sur la porteuse pour la transmission. L'invention n'est bien évidemment pas limitée à la transmission par infra-rouges.The particular example described in the following relates to two RC1 and RC2 remote controls, emitting in infrared on the same carrier frequency (e.g. 400 KHz in Europe or 56.8 KHz in United States) and with the same communication protocol. The signals are modulated appropriately on the carrier for transmission. The invention is obviously not limited to infrared transmission.

    La figure 1a illustre le codage de messages (ou suites de bits) utilisé par la première télécommande RC1. Les quatre paramètres suivants sont utilisés pour caractériser les signaux émis par RC1:

  • la durée Tp1 définit la durée d'une impulsion,
  • la durée T01 entre les fronts actifs de deux impulsions définit la valeur logique "0",
  • la durée T11 entre les fronts actifs de deux impulsions définit la valeur logique "1",
  • la durée Tr1 définit la durée de repos ("relax time"), c'est à dire l'intervalle de temps minimal entre deux messages.
  • FIG. 1a illustrates the coding of messages (or sequences of bits) used by the first remote control RC1. The following four parameters are used to characterize the signals emitted by RC1:
  • the duration Tp1 defines the duration of a pulse,
  • the duration T01 between the active edges of two pulses defines the logic value "0",
  • the duration T11 between the active edges of two pulses defines the logic value "1",
  • the duration Tr1 defines the rest time ("relax time"), ie the minimum time interval between two messages.
  • La figure 1b reprend des notations similaires pour illustrer le codage de messages pour une seconde télécommande RC2. De manière générale, un indice n indique l'association avec la télécommande RCn.Figure 1b shows similar notations to illustrate the message coding for a second RC2 remote control. So generally, an index n indicates the association with the RCn remote control.

    Dans le présent exemple de réalisation, on suppose que Tp1<Tp2. Il suffira de classer les télécommandes suivant la durée de leurs impulsions.In the present exemplary embodiment, it is assumed that Tp1 <Tp2. It will suffice to classify the remote controls according to the duration of their impulses.

    La figure 1c illustre le signal perçu par un récepteur infra-rouge unique. Ce signal correspond à la superposition des signaux des figures 1a et 1b. On voit que la première impulsion en provenance de RC1 est occultée par la première impulsion en provenance de RC2, tandis que les secondes impulsions respectives se recoupent partiellement pour former une impulsion plus large.Figure 1c illustrates the signal perceived by an infrared receiver unique. This signal corresponds to the superposition of the signals of the figures 1a and 1b. We see that the first impulse from RC1 is obscured by the first impulse from RC2, while the respective second pulses partially overlap to form a larger impulse.

    Comme on le verra plus en détail par la suite, la différence entre les durées des impulsions des différentes télécommandes joue un rôle important dans la séparation des informations en provenance de ces télécommandes.As we will see in more detail below, the difference between the durations of the pulses of the different remote controls plays a important role in the separation of information from these remote controls.

    La figure 2 est un diagramme-bloc d'un dispositif récepteur mettant en oeuvre le présent exemple de réalisation. Ce dispositif récepteur comporte un récepteur à infra-rouges 1, géré par un circuit de réception spécifique 2. Ce circuit 2 fournit un signal qui, pour la suite des explications, sera supposé semblable à celui de la figure 1c. Le circuit spécifique 2 est connecté à une unité de traitement 3, par exemple un microcontrôleur de type ST90E30 fabriqué par SGS Thomson. Les fonctions des circuits 1 et 2 sont remplis par exemple et non limitativement par le circuit Sharp GP1U527Y.Figure 2 is a block diagram of a receiving device implementing the present exemplary embodiment. These measures receiver comprises an infrared receiver 1, managed by a circuit of specific reception 2. This circuit 2 provides a signal which, for the following explanations, will be assumed to be similar to that of FIG. 1c. The specific circuit 2 is connected to a processing unit 3, by example a ST90E30 microcontroller manufactured by SGS Thomson. The functions of circuits 1 and 2 are fulfilled for example and not limited to the Sharp GP1U527Y circuit.

    Selon un mode de réalisation particulier, le circuit de réception 2 élabore à partir d'une impulsion reçue du récepteur à infra-rouges 1 une impulsion de durée sensiblement proportionnelle. Ainsi, une impulsion de durée T issue d'une télécommande est perçue comme une impulsion de durée µT, où µ est un coefficient correcteur. La relation d'ordre entre des impulsions de durée différente à l'entrée du dispositif récepteur est ainsi maintenue lors du traitement des signaux. Si le coefficient µ n'est pas connu avec précision, c'est à dire si µT se situe dans une fourchette de valeurs, alors on prendra les précautions nécessaires pour éviter un chevauchement de ces fourchettes en choisissant de façon adéquate les durées des impulsions au niveau des émetteurs.According to a particular embodiment, the reception circuit 2 builds on an impulse received from the infrared receiver 1 a pulse of substantially proportional duration. So a duration pulse T from a remote control is perceived as a pulse of duration µT, where µ is a correction coefficient. The relationship between pulses of different duration at the input of the device receiver is thus maintained during signal processing. If the coefficient µ is not precisely known, i.e. if µT is in a range of values, then we will take precautions necessary to avoid overlapping these ranges in adequately choosing the durations of the pulses at the level of transmitters.

    L'unité de traitement 3 gère entre autres trois mémoires vives 4 à 6. Ces mémoires sont représentées de manière séparée sur le schéma, mais peuvent physiquement appartenir à un même circuit.The processing unit 3 manages inter alia three random access memories 4 to 6. These memories are shown separately on the diagram, but can physically belong to the same circuit.

    La première mémoire, la mémoire 4, est utilisée pour stocker les informations en provenance du récepteur infra-rouge. Deux informations sont enregistrées par impulsion: la durée de l'impulsion (dénommé Impulsion_mem[i] par la suite), ainsi que le temps absolu d'apparition du front actif de cette impulsion (appelé Début_mem[i]). Ces données permettent de caractériser le signal reçu.The first memory, memory 4, is used to store information from the infrared receiver. Of them information is recorded per pulse: the duration of the pulse (later called Impulsion_mem [i] thereafter), as well as the absolute time of appearance of the active front of this impulse (called Begin_mem [i]). These data are used to characterize the received signal.

    Selon le présent exemple de réalisation, la mémoire 4 peut stocker les données correspondant à au moins 2*N-1 impulsions. Elle est organisée suivant le principe de la pile premier entré dernier sorti (pile FIFO). L'indice i a la valeur 0 pour l'impulsion la plus récemment mémorisée et croít pour les impulsions plus anciennes.According to the present exemplary embodiment, the memory 4 can store the data corresponding to at least 2 * N-1 pulses. She is organized on the principle of the first in last out stack (stack FIFO). The index i has the value 0 for the most recent pulse memorized and increases for older pulses.

    Les deux autres mémoires, 5 et 6, sont attribuées chacune à une des télécommandes. Avant d'être stockées dans la mémoire 4 (le contenu de cette mémoire composant l'historique des signaux reçus), les données sont traitées par l'unité centrale 3, et le résultat de cette analyse, correspondant normalement à l'identification d'un bit d'information et à l'identification de la télécommande émettrice, est stocké dans celle des mémoires qui correspond à la télécommande identifiée. Il peut être nécessaire d'effacer un bit dans l'une de ces mémoires lorsque l'on se rend compte ultérieurement qu'une information précédente a été mal analysée.The other two memories, 5 and 6, are each assigned to one of the remote controls. Before being stored in memory 4 (the content of this memory making up the history of the signals received), the data is processed by the central processing unit 3, and the result of this analysis, normally corresponding to the identification of a bit information and the identification of the transmitting remote control, is stored in that of the memories which corresponds to the remote control identified. It may be necessary to clear a bit in one of these memories when we later realize that information previous one was poorly analyzed.

    La figure 3 représente un diagramme-bloc d'une des télécommandes. Un clavier 7 est associé à une unité centrale 8. Cette dernière gère de manière connue l'interface modulateur 9 avec la diode émettrice 10. L'unité centrale est par exemple un microcontrôleur 68HC05C8 de Motorola. Un oscillateur 11 fournit la fréquence porteuse à l'interface modulateur 9. Figure 3 shows a block diagram of one of the remote controls. A keyboard 7 is associated with a central unit 8. This last manages in known manner the modulator 9 interface with the diode 10. The central unit is for example a microcontroller Motorola 68HC05C8. An oscillator 11 provides the carrier frequency at the modulator interface 9.

    Selon une variante de réalisation particulière, la télécommande comporte sur son clavier des moyens de réglage de la largeur des impulsions émises par cette télécommande et/ou des intervalles de temps entre fronts actifs de deux impulsions servant à coder un bit. Le réglage est effectué en plaçant un commutateur 12 sur une position particulière parmi N positions. Les durées d'impulsion Tp, ainsi que les durées T0i et T1i pour les différentes positions du commutateur sont mémorisées dans une mémoire 13 gérée par le microcontrôleur 8. Il est ainsi aisé d'ajouter une télécommande dans un système déjà existant en lui assignant des paramètres non encore utilisés.According to a particular variant embodiment, the remote control has on its keyboard means for adjusting the width of the pulses from this remote control and / or time between active edges of two pulses used to code a bit. The adjustment is carried out by placing a switch 12 in a position particular among N positions. The pulse durations Tp, as well as the durations T0i and T1i for the different switch positions are stored in a memory 13 managed by the microcontroller 8. It is so easy to add a remote control in an already existing system in assigning parameters not yet used.

    A chacune des télécommandes, l'unité centrale 3 associe un état et un compteur. Il y a quatre états différents:

  • (A)-Attente du premier bit d'un message
  • (B)-Attente d'un bit supplémentaire d'un message
  • (C)-Attente de fin de message
  • (D)-Attente de la durée de repos.
  • The central unit 3 associates a state and a counter with each of the remote controls. There are four different states:
  • (A) -Waiting for the first bit of a message
  • (B) -Waiting for an additional bit of a message
  • (C) -Waiting for end of message
  • (D) -Waiting for the rest period.
  • Le compteur indique le nombre de bits stockés dans la mémoire correspondante.The counter indicates the number of bits stored in the corresponding memory.

    Les états et compteurs sont gérés par l'unite de traitement 3.The states and counters are managed by processing unit 3.

    La figure 4 illustre le changement d'un état à un autre.Figure 4 illustrates the change from one state to another.

    Dans l'état A, aucun bit, donc aucun début de message, n'a encore été détecté pour une télécommande.In state A, no bit, therefore no start of message, has yet been detected for a remote control.

    Dans l'état B, au moins un premier bit a été reçu, mais le nombre attendu de bits dans le message (N_Bits) n'a pas encore été atteint.In state B, at least a first bit has been received, but the expected number of bits in the message (N_Bits) has not yet been achieved.

    N_Bits correspond par exemple à 8 bits.N_Bits corresponds for example to 8 bits.

    Dans l'état C, le nombre attendu de bits a été atteint. Si un bit supplémentaire est détecté pour ce message, une erreur d'analyse a été commise précédemment, et le message stocké est modifié en conséquence.In state C, the expected number of bits has been reached. If a bit additional is detected for this message, an analysis error has been committed previously, and the stored message is changed to result.

    Dans l'état D, on cherche à détecter le temps de repos Trn, temps minimal devant précéder l'éventuel message suivant. In state D, we seek to detect the rest time Trn, minimum time before the next possible message.

    Pour l'état associé à la télécommande n, le passage de l'état A à l'état B se fait lorsqu'un bit a été détecté pour cette télécommande. Le compteur de bits est alors à 1.For the state associated with remote control n, the transition from state A in state B is done when a bit has been detected for this remote control. The bit counter is then at 1.

    Le passage de l'état B à l'état C se fait lorsque le compteur de bits atteint N_Bits.The transition from state B to state C occurs when the counter of bits reached N_Bits.

    Le passage de l'état C à l'état D se fait si après une attente d'un temps Tan, tel que Tan = max (T0n, T1n), aucun bit n'a été identifié pour cette télécommande. Dans le cadre du présent exemple de réalisation, Tan=T1n.The transition from state C to state D is done if after waiting of a Tan time, such as Tan = max (T0n, T1n), no bit has been identified for this remote control. In the context of this example of realization, Tan = T1n.

    Le passage de l'état D à l'état A se fait lorsque le temps écoulé depuis le dernier bit reçu est supérieur au temps de repos Trn.The transition from state D to state A occurs when time elapsed since the last bit received is greater than the sleep time Trn.

    Il est également possible de passer de l'état B à l'état A, si après la réception du premier bit, un temps Tan s'écoule sans qu'un autre bit soit détecté pour cette télécommande.It is also possible to go from state B to state A, if after reception of the first bit, a Tan time elapses without a another bit is detected for this remote control.

    La figure 5 est un organigramme du présent exemple de réalisation du procédé utilisé pour acquérir et analyser les données en provenance du récepteur à infra-rouges. L'organigramme de la figure 5 est un organigramme général, dont les différentes sous-procédures seront détaillées par la suite.Figure 5 is a flow diagram of the present example of realization of the process used to acquire and analyze the data in from the infrared receiver. The flowchart in Figure 5 is a general organization chart, including the different sub-procedures will be detailed later.

    Les étapes E1 à E4 concernent l'acquisition des paramètres caractérisant le signal reçu. Un début d'impulsion (front montant) est détecté par l'unité de traitement 3 lors de la première étape. L'état d'une horloge temps réel est mémorisé dans une variable "Début" lors de l'étape E2. L'unité centrale attend la fin de cette impulsion (front descendant) et détermine sa durée. (Variable "Durée"). Une variable booléenne ("Impulsion_utilisée") indique si oui ou non l'impulsion a pu être attribuée à une télécommande et par conséquent utilisée pour attribuer un bit.Steps E1 to E4 relate to the acquisition of the parameters characterizing the received signal. A pulse start (rising edge) is detected by the processing unit 3 during the first step. The state of a real time clock is stored in a "Start" variable when step E2. The central unit waits for the end of this pulse (front descending) and determines its duration. (Variable "Duration"). A variable boolean ("Impulse_used") indicates whether or not the impulse could be assigned to a remote control and therefore used to assign a bit.

    On rappelle que les télécommandes sont classées suivant un ordre croissant de la durée Tpn des impulsions qu'ils émettent. L'unité centrale tentera d'attribuer (dans l'ordre donné et par l'intermédiaire des étapes E5 à E10) une impulsion détectée à chaque télécommande.Remember that the remote controls are classified according to a ascending order of the duration Tpn of the pulses they emit. Unity central will attempt to assign (in the order given and through the steps E5 to E10) a pulse detected at each remote control.

    L'étape E5 est une comparaison entre la durée de l'impulsion détectée "Durée" et la durée Tpn de l'impulsion correspondant à la télécommande courante. Step E5 is a comparison between the duration of the pulse detected "Duration" and the duration Tpn of the pulse corresponding to the current remote control.

    Si "Durée" est strictement inférieur à Tpn, alors il est certain que cette impulsion détectée ne peut être attribuée à la télécommande n. On passe alors à la télécommande suivante, s'il y a lieu (Etapes E6 et éventuellement E7 si toutes les télécommandes n'ont pas été passées en revue).If "Duration" is strictly less than Tpn, then it is certain that this detected pulse cannot be attributed to remote control n. We then go to the next remote control, if necessary (Steps E6 and possibly E7 if all the remote controls have not been switched to review).

    Dans le cas d'une supériorité non stricte, une attribution reste possible. En effet, l'impulsion peut correspondre parfaitement à Tpn ou être masquée dans une impulsion plus large.In the case of a non-strict superiority, an attribution remains possible. Indeed, the pulse can correspond perfectly to Tpn or be masked in a larger impulse.

    On teste alors l'état associé à la télécommande n (Etape E8). Si cet état correspond à une attente d'un premier bit (Etat A), alors l'unité centrale met en oeuvre un première sous-procédure "Déterminer premier bit" (Etape E9). Dans la négative, on teste si l'état est l'attente de la fin du message (Etat C). Si cela est le cas, on passe aux étapes E6 et E7, comme décrit précédemment. Dans le cas contraire, l'analyse de l'impulsion est effectuée au niveau d'une seconde sous-procédure "Analyser bit courant" (Etape E10). Les deux routines seront vues en détail en liaison avec les figures 6 et 7. Les étapes E9 et E10 sont suivies par l'étape E6, qui détermine si toutes les télécommandes ont été passées en revue.The state associated with the remote control n is then tested (Step E8). If this state corresponds to waiting for a first bit (State A), then the central unit implements a first sub-procedure "Determine first bit "(Step E9). If not, we test if the state is waiting from the end of the message (State C). If this is the case, we go to steps E6 and E7, as described above. Otherwise, the analysis of the impulse is carried out at a second sub-procedure "Analyze current bit" (Step E10). The two routines will be seen in detail in connection with FIGS. 6 and 7. Steps E9 and E10 are followed by step E6, which determines whether all remote controls have been reviewed.

    Si effectivement toutes les télécommandes ont été passées en revue, le procédé passe à l'étape E11. Le paramètre Impulsion utilisée est alors testé pour savoir si lors de l'une des deux routines spécifiques, il a été possible d'attribuer l'impulsion en cours d'analyse à une télécommande ou non à partir des paramètres de l'impulsion courante. Dans la négative, cela veut dire qu'une erreur d'interprétation d'un bit précédent a été commise. C'est le rôle de la troisième sous-procédure ("Vérifier dernier bit", étape E12) que de corriger cette anomalie.If indeed all the remote controls were passed in reviewed, the process goes to step E11. The Pulse used parameter is then tested to know if during one of the two specific routines, it was possible to assign the impulse being analyzed to a remote control or not from the parameters of the current pulse. If not, this means that a bit interpretation error precedent has been committed. This is the role of the third sub-procedure ("Check last bit", step E12) than correcting this anomaly.

    Une fois les étapes E11 et E12 passées, les paramètres de l'impulsion courante sont mémorisés dans la mémoire 4.Once steps E11 and E12 have been completed, the parameters of the current pulse are stored in memory 4.

    La sous-procédure "Déterminer premier bit" est illustrée par l'organigramme de la figure 6. Cette sous-procédure est mise en oeuvre pour une télécommande n lorsque l'état associé à cette télécommande est celui d'attente du premier bit et qu'à priori, la durée de l'impulsion que l'on vient de recevoir est telle qu'une impulsion de durée Tpn correspondant à la télécommande n pourrait y être incluse.The "Determine first bit" sub-procedure is illustrated by the flowchart of figure 6. This sub-procedure is implemented for a remote control n when the status associated with this remote control is that of waiting for the first bit and that a priori, the duration of the pulse that we just received is such that a pulse of duration Tpn corresponding to the remote control could not be included.

    Les principes utilisés par cette sous-procédure sont les suivants: La durée de T0N étant inférieure à la durée T1N dans le présent exemple, on cherche tout d'abord à déterminer si le début de l'impulsion courante peut, en combinaison avec une impulsion précédemment stockée dans la mémoire 4, former un "0" pouvant être un premier bit au sens de la télécommande n. Ceci est réalisé par les étapes E101 à E109. Si un "0" n'est pas détecté, alors on cherche à déterminer la présence d'un "1". Ceci est réalisé par les étapes E111 à E118.The principles used by this sub-procedure are: following: The duration of T0N being less than the duration T1N in the this example, we first try to determine if the beginning of the current pulse can, in combination with a pulse previously stored in memory 4, form a "0" which can be a first bit in the sense of remote control n. This is achieved by steps E101 to E109. If a "0" is not detected, then we seek to determine the presence of a "1". This is achieved by steps E111 to E118.

    Ce n'est donc pas uniquement l'impulsion la plus récente que l'on cherche à analyser, celle-ci n'étant pas encore mémorisée dans la mémoire 4. Dans le cadre de la routine "Déterminer premier bit", on s'intéresse essentiellement au front montant de cette impulsion la plus récente. Pour former un bit, deux impulsions sont nécessaires.So it's not just the most recent impulse that we are trying to analyze, this one not yet stored in the memory 4. As part of the routine "Determine first bit", we is mainly interested in the rising edge of this most impulse recent. To form a bit, two pulses are necessary.

    Les étapes E119 à E121 correspondent au traitement d'un cas particulier selon lequel on choisit de reconnaítre un "0" alors que les conditions normales de cette reconnaissance ne sont pas tout à fait remplies. Ce cas particulier, illustré par la figure 7, est suivi à travers la valeur d'une variable appelée "PossibleZero". Une valeur nulle de cette variable indique que l'on ne se trouve pas dans le cas particulier. C'est à cette valeur que l'on initialise la variable.Steps E119 to E121 correspond to the treatment of a case particular according to which one chooses to recognize a "0" while the normal conditions for this recognition are not quite fulfilled. This particular case, illustrated by Figure 7, is followed through the value of a variable called "PossibleZero". A null value of this variable indicates that we are not in the particular case. It's at this value that we initialize the variable.

    Par la suite, on distinguera bien la durée d'une impulsion (Tpn) de la durée d'un bit (T0n ou T1n).Subsequently, we can clearly distinguish the duration of a pulse (Tpn) the duration of a bit (T0n or T1n).

    L'étape E101 concerne l'initialisation de la boucle de vérification de la présence d'un "0". On analyse systématiquement chaque impulsion mémorisée, en partant de la plus récente (indice i=0). Il est rappelé que les données stockées dans la mémoire 4 permettent de déterminer la durée d'une impulsion, ainsi que le moment d'apparition de son front montant.Step E101 concerns the initialization of the verification of the presence of a "0". We systematically analyze each memorized pulse, starting from the most recent (index i = 0). It is recalled that the data stored in the memory 4 makes it possible to determine the duration of a pulse, as well as the moment of appearance of his rising forehead.

    Si la durée de l'impulsion i est strictement inférieure à Tpn, cette impulsion n'a pu être émise par la télécommande n, l'impulsion étant trop courte (E102). Dans ce cas, on passe à l'impulsion suivante (E106). Si par contre une impulsion de durée Tpn peut être contenue dans l'impulsion i, alors on détermine la durée du bit correspondant. Cette durée (appelée Durée_bit) est constituée par la différence entre le moment d'apparition du front montant de l'impulsion courante (Variable Début) et le moment d'apparition du front montant de l'impulsion i (Variable Début_mem[i]) (Etape E103).If the duration of the pulse i is strictly less than Tpn, this pulse could not be sent by the remote control n, the pulse being too short (E102). In this case, we go to the next pulse (E106). If, on the other hand, a pulse of duration Tpn can be contained in pulse i, then the duration of the corresponding bit is determined. This duration (called Duration_bit) is made up of the difference between the moment of appearance of the rising edge of the current pulse (Variable Start) and the moment of appearance of the rising edge of the pulse i (Variable Begin_mem [i]) (Step E103).

    Si cette durée n'est pas égale (à une fourchette d'erreur près et dont l'unité de traitement 3 prend toujours compte lors des comparaisons) à la durée d'un bit "0" pour cette télécommande n, alors l'impulsion est rejetée et la prochaine impulsion est analysée (Etapes E104, puis E106 et E107). Par contre si on a l'égalité entre T0n et Durée_bit, alors on vérifie encore si l'impulsion a débuté dans un intervalle de relaxation Trn (E105).If this duration is not equal (to within an error range and which processing unit 3 always takes into account during comparisons) to the duration of a bit "0" for this remote control n, then the pulse is rejected and the next pulse is analyzed (Steps E104, then E106 and E107). On the other hand if we have the equality between T0n and Runtime_bit, then we still check if the pulse started in a relaxation interval Trn (E105).

    Dans l'affirmative, l'impulsion est rejetée et la recherche est poursuivie en incrémentant i (E106).If so, the impulse is rejected and the search is continued by incrementing i (E106).

    Dans la négative, on vérifie si la durée de l'impulsion i est égale (toujours à une fourchette d'erreur près) à la durée d'une impulsion de la télécommande n (Etape E108). Si cette condition est vérifiée, alors on identifie un "0" (Etape E109). Si cette égalité n'est pas vérifiée, ceci voulant dire en l'occurrence que la durée de l'impulsion i est strictement supérieure à T0n, il est possible, mais non obligatoire, qu'un front d'impulsion correspondant à un "0" soit masqué par une impulsion de plus grande largeur. La variable "Possible Zero" est alors mise à 1 et une recherche d'un "1" est lancée (Etape E111).If not, check whether the duration of the pulse i is equal (always within an error range) to the duration of a pulse of the remote control n (Step E108). If this condition is true, then a "0" is identified (Step E109). If this equality is not checked, this meaning in this case that the duration of the pulse i is strictly greater than T0n, it is possible, but not compulsory, that a front pulse corresponding to a "0" is masked by a pulse of greater width. The variable "Possible Zero" is then set to 1 and a search for a "1" is launched (Step E111).

    Le chronogramme de la figure 7 illustre le cas particulier que l'on désire résoudre grâce à ce mécanisme. La première ligne de cette figure correspond au premier bit émis par une première télécommande, dont les impulsions ont une durée Tpa inférieure à celle Tpb d'une seconde télécommande, dont une émission est illustrée par la seconde ligne de la figure 7. Les intervalles T1a et T0a correspondent aux durées des bits pour la première télécommande.The timing diagram in Figure 7 illustrates the special case that one wishes to solve thanks to this mechanism. The first line of this figure corresponds to the first bit sent by a first remote control, whose pulses have a duration Tpa shorter than that Tpb of a second remote control, one of which is illustrated by the second line of figure 7. The intervals T1a and T0a correspond to the durations bits for the first remote control.

    Si une impulsion A de la seconde télécommande s'insère entre deux fronts d'impulsions B et C de la première télécommande de façon à ce que l'intervalle de temps entre le front de A et le front de C corresponde à T0a, une absence de test sur la durée de l'impulsion A (étape E108) aurait pour effet la détection d'un 0.If a pulse A from the second remote control is inserted between two pulse edges B and C of the first remote control so that what the time interval between the front of A and the front of C corresponds to T0a, an absence of test on the duration of the pulse A (step E108) would have the effect of detecting a 0.

    Ceci n'est pas gênant si effectivement l'impulsion A masque une impulsion issue de la première télécommande, mais est gênant lorsqu'un "1", de durée plus longue qu'un "0", doit être détecté, tel que cela est illustré par la figure 7. C'est pour cette raison que l'on cherche à détecter la présence d'un "1". Si cette détection n'est pas réalisée à partir du contenu de la mémoire 4 et que la variable "PossibleZero" est vraie, alors un "0" est détecté. This is not a problem if the impulse A effectively masks an impulse from the first remote control, but is annoying when a "1", longer than "0", must be detected, such as this is illustrated in figure 7. It is for this reason that we seek to detect the presence of a "1". If this detection is not carried out at from the contents of memory 4 and that the variable "PossibleZero" is true, then a "0" is detected.

    La détection d'un "1" est tout à fait similaire à la détection d'un "0". Les étapes E101 à E107 correspondent aux étapes E111 à E117. Le mécanisme de correction mettant en oeuvre l'étape de comparaison E108 n'est pas utilisé pour la détection d'un "1". Le test de l'étape E115 (correspondant à l'étape E108) amène directement à la reconnaissance d'un "1" (étape E118).The detection of a "1" is quite similar to the detection with a "0". Steps E101 to E107 correspond to steps E111 to E117. The correction mechanism implementing the step of comparison E108 is not used for the detection of a "1". The test step E115 (corresponding to step E108) leads directly to the recognition of a "1" (step E118).

    Lorsque toutes les possibilités de détection d'un "1" ont été épuisées sans succès (test de l'étape E117 vérifié), l'état de la variable "PossibleZero" est testé, et un bit "0" reconnu si cette variable est à 1. Si le test s'avère négatif, alors l'on sort directement de la routine par l'intermédiaire de l'étape E122.When all the possibilities of detecting a "1" have been exhausted without success (test of step E117 verified), the state of the variable "PossibleZero" is tested, and a bit "0" recognized if this variable is 1. If the test is negative, then we exit the routine directly by through step E122.

    Suite aux trois cas où un bit "0" ou "1" a été reconnu, un certain nombre de paramètres doivent être mis à jour (E110). Le premier paramètre est le compteur de bits N_bits_n associé à la télécommande n. Ce compteur doit être mis à 1, signifiant qu'à ce moment, un premier bit a été détecté pour cette télécommande.Following the three cases where a bit "0" or "1" was recognized, a a number of parameters need to be updated (E110). The first parameter is the bit counter N_bits_n associated with remote control n. This counter must be set to 1, meaning that at this time, a first bit has been detected for this remote control.

    D'autre part, l'état (Etat_n) associé à la télécommande change: de l'état d'attente du premier bit (A), on passe à l'état d'attente de bits supplémentaires (B).On the other hand, the state (State_n) associated with the remote control changes: from the waiting state for the first bit (A), we go to the waiting state for bits additional (B).

    De plus, il a été possible d'attribuer le dernier bit mémorisé. La variable Impulsion_utilisée est donc mise à l'état vrai.In addition, it was possible to assign the last memorized bit. The variable Impulsion_used is therefore set to true.

    En dernier lieu, on mémorise dans la variable Dernier_temps_n le moment identifiant le front montant de l'impulsion courante ("Début").Finally, we store in the variable Last_time_n the moment identifying the rising edge of the current pulse ("Start").

    Après cette remise à jour, on procède également vers l'étape E122.After this update, we also proceed to the step E122.

    Revenons maintenant à l'organigramme général de la figure 5. Supposons que l'état associé à la télécommande n n'ait pas été l'état d'attente du premier bit lors de l'étape E8. On teste alors si cet état correspond à l'attente de bits supplémentaires. Ceci est par exemple le cas lorsqu'un bit a déjà été détecté précédemment pour la télécommande n. Si ce test est positif, alors une analyse spécifique est réalisée à l'étape E10 pour déterminer si, à partir des impulsions mémorisées dans la mémoire 4 et par rapport au front montant de l'impulsion courante, un bit "0" ou "1" peut être attribué à la télécommande n. Let us return now to the general flowchart of figure 5. Suppose that the state associated with the remote control was not the state waiting for the first bit during step E8. We then test whether this state corresponds to waiting for additional bits. This is for example the case when a bit has already been detected previously for the remote control n. If this test is positive, then a specific analysis is performed in step E10 to determine if, from the pulses stored in memory 4 and with respect to the rising edge of the current pulse, a bit "0" or "1" can be assigned to the remote control n.

    La figure 8 est un organigramme correspondant à la routine "Analyser bit courant".Figure 8 is a flowchart corresponding to the routine "Analyze current bit".

    Lorsque cette routine est abordée pour la télécommande n, il est certain que l'état de cette télécommande est l'état d'attente de bits supplémentaires. En l'occurrence, au moins un bit a déjà été attribué à cette télécommande n et a été stocké dans la mémoire adéquate. D'autre part, on sait par l'intermédiaire de la variable Dernier_temps_n à quel moment a été détecté le front montant de la dernière impulsion utilisée pour attribuer le bit le plus récent mémorisé dans la mémoire. C'est à partir de cette information et du moment de l'arrivée du front montant de l'impulsion courante que l'on détermine la durée de bit Durée_bit (Etape E201). Les autres étapes ont pour but de déterminer si ce bit peut correspondre à un bit supplémentaire issu de la télécommande n.When this routine is addressed for remote control n, it is certain that the state of this remote control is the bit wait state additional. In this case, at least one bit has already been allocated to this remote control n and has been stored in the correct memory. On the other hand, we know through the variable Last_weather_n to when was the rising edge of the last pulse detected used to assign the most recent bit stored in memory. It is from this information and from the moment of the arrival of the front amount of the current pulse that we determine the bit duration Duration_bit (Step E201). The other steps are to determine if this bit can correspond to an additional bit from the remote control n.

    On compare dans un premier temps la durée de bit Durée_bit à la durée T1n d'un "1" logique pour la télécommande 1, ceci bien évidemment à une certaine erreur près (E202). Si effectivement les deux durées se correspondent, alors un "1" logique est identifié et inséré dans la pile associée à la télécommande n (Etape E203).We first compare the bit duration Duration_bit to the duration T1n of a logic "1" for the remote control 1, this indeed obviously with some error (E202). If both durations correspond, then a logical "1" is identified and inserted in the battery associated with remote control n (Step E203).

    Si un "1" n'est pas identifié, alors la durée de bit est comparée à T0n (E204). Si les deux durées correspondent, un "0" logique est identifié et mémorisé dans la mémoire correspondante (Etape E205).If a "1" is not identified, then the bit duration is compared at T0n (E204). If the two durations match, a logical "0" is identified and stored in the corresponding memory (Step E205).

    Après identification soit d'un "1", soit d'un "0" logiques, le compteur de bits N_Bit_n est incrémenté, la variable Dernier_temps_n est remise à jour et le fait que l'impulsion courante ait été utilisée est mémorisé en mettant la variable Impulsion utilisée à 1 (Etape E208).After identifying either a logical "1" or a logical "0", the bit counter N_Bit_n is incremented, the variable Last_time_n is update and the fact that the current pulse was used is memorized by setting the Pulse variable used to 1 (Step E208).

    On détermine alors si le message reçu et stocké contient le nombre maximal de bits, à savoir N_Bits (E210). Si tel est le cas, l'état associé à la télécommande n devient l'état d'attente de fin de message (E209). Si ce n'est pas le cas, ou après le changement d'état, le procédé de la figure 5 est repris (E211).It is then determined whether the message received and stored contains the maximum number of bits, namely N_Bits (E210). If so, the state associated with the remote control n becomes the end of message waiting state (E209). If this is not the case, or after the change of state, the process of FIG. 5 is repeated (E211).

    Si les tests des étapes E202 et E204 se sont avérés négatifs, un troisième test est entrepris à l'étape E206. Si la durée de bit Durée_bit est strictement supérieure à T1n (qui représente, entre T0n et T1n et selon le présent exemple de réalisation la durée la plus longue), alors la durée de bit ne peut correspondre à un bit issu de la télécommande n. On suppose alors que le message de la télécommande n a été interrompu. L'état associé à la télécommande n redevient l'état d'attente du premier bit (E207) et la mémoire correspondante est vidée. La variable Impulsion_attribuée_n est aussi mise à 1 pour indiquer que la télécommande n a reçu sa première impulsion (mais non encore son premier bit, celui-ci étant déterminé par deux impulsions).If the tests in steps E202 and E204 were negative, a third test is undertaken in step E206. If the bit duration Duration_bit is strictly greater than T1n (which represents, between T0n and T1n and according to this embodiment the longest duration), then the bit duration cannot correspond to a bit from the remote control n. It is then assumed that the message from the remote control n has been interrupted. The state associated with the remote control n returns to the state waiting for the first bit (E207) and the corresponding memory is cleared. The Impulse_attribue_n variable is also set to 1 to indicate that the remote control n received its first impulse (but not yet its first bit, which is determined by two pulses).

    Si le test de l'étape E206 s'avère négatif, alors le procédé de la figure 5 est repris (E211).If the test in step E206 proves negative, then the method of Figure 5 is repeated (E211).

    En revenant à la figure 5, l'on voit que l'ensemble des étapes E5, E8, E9, E10 et E14 est répété pour chaque télécommande.Returning to Figure 5, we see that all of the steps E5, E8, E9, E10 and E14 is repeated for each remote control.

    En cas de test négatif à l'étape E5, en cas de test positif à l'étape E14 ou après les deux routines décrites ci-dessus, on détermine si l'indice n correspond à son maximum N (E6). Si tel n'est pas le cas, l'indice est incrémenté (E7) et l'étape E5 est reprise.In case of negative test in step E5, in case of positive test in step E14 or after the two routines described above, we determine if the index n corresponds to its maximum N (E6). If not, the index is incremented (E7) and step E5 is repeated.

    Une fois l'ensemble des télécommandes passées en revue, on détermine si l'impulsion courante a bien été utilisée pour attribuer un bit à une des télécommandes (E11). Si ce n'est pas le cas, on suppose qu'une erreur d'interprétation a été faite pour un bit précédemment stocké dans l'une des mémoires.Once all the remote controls have been reviewed, we determines if the current pulse has been used to assign a bit to one of the remote controls (E11). If not, assume that an interpretation error was made for a bit previously stored in one of the memories.

    C'est la fonction de la troisième routine (E12) que de corriger cette erreur d'interprétation. Par la suite, les paramètres concernant cette impulsion sont mémorisés dans la mémoire 4 (E13).It is the function of the third routine (E12) to correct this misinterpretation. Subsequently, the parameters relating to this pulse are stored in memory 4 (E13).

    Le déroulement principal de cette étape est illustré par l'organigramme constitué des figures 9a et 9b.The main course of this stage is illustrated by the flow chart consisting of Figures 9a and 9b.

    Dans un premier temps, une étape E301 permet de vérifier si l'impulsion courante est la première impulsion d'un message envoyé par une des télécommandes. Cette impulsion n'a pas été utilisée lors de l'une des deux sous-procédures E9 ou E10 pour l'attribution d'un bit. La première impulsion attribuée à une télécommande ne permet pas d'attribuer un bit, étant donné qu'un bit est défini par l'intervalle de temps entre deux fronts d'impulsions successives. L'utilisation de la variable "Impulsion_attribuée_i" permet d'attribuer une impulsion à une seule télécommande dont l'état est "Attente du premier bit".First, a step E301 makes it possible to verify whether the current pulse is the first pulse of a message sent by one of the remote controls. This pulse was not used during one of the two sub-procedures E9 or E10 for the allocation of a bit. The first pulse assigned to a remote control does not allow to assign a bit, since a bit is defined by the interval of time between two successive pulse edges. The use of variable "Impulsion_attribégé_i" allows to assign an impulse to a only remote control whose state is "Waiting for the first bit".

    L'étape E301 permet ainsi d'éviter certains cas de correction ultérieure.Step E301 thus makes it possible to avoid certain cases of correction later.

    L'étape E301 est décrite de manière détaillée par l'organigramme de la figure 10. Step E301 is described in detail by the flowchart in Figure 10.

    Pour chaque télécommande, les étapes suivantes sont réalisées:For each remote control, the following steps are carried out:

    On vérifie tout d'abord si l'état associé à la télécommande est bien l'état d'attente du premier bit (E401). Dans la négative, on passe à la télécommande suivante, par l'intermédiaire de la boucle E402/E406 (l'étape E407 servant à initialiser cette boucle). Dans l'affirmative, on vérifie si la durée Tp de l'impulsion est telle qu'elle correspond à la durée d'une impulsion de la télécommande actuellement traitée ou si elle peut cacher une telle impulsion (E403). Si le résultat de la comparaison est négatif, alors on passe de même à la télécommande suivante. Dans le cas d'une comparaison positive, on vérifie si une impulsion a déjà été attribuée à cette télécommande (E404).We first check if the state associated with the remote control is the waiting state for the first bit (E401). If not, we go to the following remote control, via the E402 / E406 loop (step E407 used to initialize this loop). If so, checks if the duration Tp of the pulse is such that it corresponds to the duration a pulse from the remote control currently being processed or if it can hide such an impulse (E403). If the result of the comparison is negative, then the same goes to the next remote control. In the case of a positive comparison, we check if an impulse has already been assigned to this remote control (E404).

    Une même télécommande ne peut avoir qu'une seule impulsion de départ. Cet état de fait est mémorisé par la variable Impulsion_attribuée_i. Si cette variable indique qu'une impulsion a déjà été attribuée (c'est à dire selon l'exemple présent si elle possède la valeur 0), alors on conclut que l'impulsion actuellement traitée ne provient pas de la télécommande considérée et on passe le cas échéant à la télécommande suivante (E404). Par contre, si aucune impulsion n'a encore été attribuée à la télécommande considérée, alors l'impulsion lui est attribuée (E405). L'impulsion est alors marquée comme ayant été utilisée. D'autre part, la variable Impulsion_attribuée_i est mise à 1 pour indiquer qu'une impulsion a été attribuée à la télécommande i. Si une attribution a eu lieu, alors on met fin au procédé de la figure 10.The same remote control can only have one starting impulse. This state of affairs is memorized by the variable Impulse_attribégé_i. If this variable indicates that a pulse has already has been assigned (i.e. according to the present example if it has the value 0), then we conclude that the pulse currently processed does not does not come from the remote control in question and we pass if necessary to the next remote control (E404). On the other hand, if no impulse has assigned to the remote control in question, so the pulse is assigned (E405). The pulse is then marked as having been used. On the other hand, the variable Impulse_attribue_i is set to 1 for indicate that an impulse has been assigned to the remote control i. If one allocation has taken place, then the process of FIG. 10 is terminated.

    La boucle de l'étape E301 travaille par valeurs décroissantes de la durée d'impulsion Tpi. De cette façon, l'impulsion sera attribuée à la télécommande la plus probable.The loop of step E301 works by decreasing values of the pulse duration Tpi. In this way, the impulse will be attributed to the most likely remote control.

    Une fois le procédé de la figure 10 terminé on revient au procédé de la figure 9. Etant donné que toute impulsion provient d'une des n télécommandes, si aucune attribution n'a pu être réalisée au cours de l'étape E301, on conclut qu'il y a eu mauvaise interprétation d'une impulsion précédente. Dans ce cas, une analyse plus profonde est effectuée pour les télécommandes auxquelles ont déjà été associés des bits.Once the process of Figure 10 is completed we return to process of figure 9. Since any impulse comes from a n remote controls, if no allocation could be made during from step E301, it is concluded that there has been a misinterpretation of a previous impulse. In this case, a deeper analysis is performed for remote controls with which have already been associated bits.

    Trois cas sont à considérer, illustrés respectivement par les figures 11a, 11b et 11c. Three cases should be considered, illustrated respectively by the Figures 11a, 11b and 11c.

    Dans une première configuration, on s'intéresse aux télécommandes dont l'état associé est "Attente de fin de message" (C). On détermine alors si l'impulsion actuelle pourrait former un "0" ou un "1" avec une impulsion précédemment attribuée à ces télécommandes. Si c'est effectivement le cas, alors on suppose que le premier bit du message de la télécommande a été mal attribué. Ce premier bit est éliminé, tandis que le nouveau bit est rajouté à la fin du message. La figure 11a illustre une configuration des signaux issus de télécommandes pouvant induire une telle erreur.In a first configuration, we are interested in remote controls whose associated status is "Waiting for end of message" (C). It is then determined whether the current pulse could form a "0" or a "1" with a pulse previously assigned to these remote controls. If this is indeed the case, then we assume that the first bit of the message from the remote control was incorrectly assigned. This first bit is eliminated, while the new bit is added at the end of the message. The Figure 11a illustrates a configuration of the signals from remote controls that can cause such an error.

    La première ligne de la figure 11a correspond aux signaux émis par une première télécommande, tandis que la seconde ligne de cette figure correspond aux signaux émis par une seconde télécommande. L'impulsion B correspond à la première impulsion émise par la première télécommande. L'impulsion A émise par la seconde télécommande est telle que l'intervalle de temps entre son front montant et le front montant d'une impulsion B émise par la première télécommande correspondent au temps T01. La routine "Déterminer premier bit" telle que décrite ci-dessus détectera un "0" pour la première télécommande lors de l'analyse de l'impulsion B. Un bit est donc détecté avant le véritable début du message. Ceci est dû au fait qu'une impulsion de la première télécommande pourrait être cachée par l'impulsion A, plus large.The first line of figure 11a corresponds to the signals emitted by a first remote control, while the second line of this figure corresponds to the signals emitted by a second remote control. Pulse B corresponds to the first pulse sent by the first remote control. Pulse A emitted by the second remote control is such that the time interval between its rising edge and the rising edge of a pulse B emitted by the first remote control correspond to time T01. The routine "Determine first bit "as described above will detect a" 0 "for the first remote control during the analysis of pulse B. A bit is therefore detected before the actual start of the message. This is due to the fact that a first remote control pulse could be hidden by pulse A, wider.

    Dans ce cas, il convient d'éliminer ce premier bit détecté, de décaler l'ensemble du message et de rajouter un "0" ou un "1", selon le bit détecté grâce à l'analyse de l'impulsion la plus récente.In this case, this first bit detected should be eliminated, shift the whole message and add a "0" or a "1", depending on the bit detected by analysis of the most recent pulse.

    Cette première configuration est détectée lorsque l'état associé à une télécommande est "Attente de fin de message" mais qu'un bit supplémentaire est néanmoins détecté pour cette télécommande.This first configuration is detected when the state associated with a remote control is "Waiting for end of message" but an additional bit is nevertheless detected for this remote control.

    Selon une seconde configuration illustrée à la figure 11b, le front montant d'une impulsion de la première télécommande (impulsion D) forme avec le front montant d'une impulsion consécutive de la seconde télécommande (impulsion E) un bit "0" pour la première télécommande. L'analyse pratiquée par la routine "Analyser bit courant" (l'état associé à la télécommande étant "Attente de bits supplémentaires") est telle qu'un bit "0" sera associé à la première télécommande. Or, si l'impulsion E ne masque pas d'impulsion émise par la première télécommande, c'est que le front montant de l'impulsion F émise par la première télécommande forme un "1" avec le front montant de l'impulsion D. Un "0" serait donc détecté à la place d'un "1".According to a second configuration illustrated in FIG. 11b, the rising edge of a pulse from the first remote control (pulse D) forms with the rising edge of a consecutive pulse of the second remote control (pulse E) a bit "0" for the first remote control. The analysis performed by the routine "Analyze current bit" (the status associated with the remote control is "Waiting for bits additional ") is such that a bit" 0 "will be associated with the first remote control. However, if the pulse E does not mask the pulse emitted by the first remote control is that the rising edge of the pulse F emitted by the first remote control forms a "1" with the rising edge of pulse D. A "0" would therefore be detected instead of a "1".

    Cette correction est proche de celle effectuée au niveau de l'étape E119 de la figure 6, mais la sous-procédure de la figure 6 ne concerne que la détection d'un premier bit, tandis que dans le cas présent, l'état associé à une télécommande peut être différent de l'état "Attente du premier bit".This correction is close to that made at step E119 of FIG. 6, but the sub-procedure of FIG. 6 does not concerns that the detection of a first bit, while in the case present, the state associated with a remote control may be different from the state "Waiting for the first bit".

    Selon une troisième configuration illustrée à la figure 11c, un "0" peut être détecté au mauvais moment. Supposons que les fronts de deux impulsions émises par une première télécommande (impulsions G et H) forment un "0". Comme cela a déjà été mentionné, le test effectué pour déterminer si la durée d'un bit correspond à T0i tient compte d'une erreur ±Δ qui constitue une fourchette autour de la valeur T0i. Si l'intervalle de temps entre le front montant d'une impulsion I émise par une seconde télécommande et le front montant de l'impulsion G tombe dans la fourchette ainsi déterminée, alors un "0" peut être détecté. La valeur "0" n'est pas en soi fausse, puisque de toute façon, les impulsions G et H donnent la même information. Cependant, la variable "Dernier_temps_i" contiendrait une valeur faussée, ce qui aurait pour conséquence une éventuelle mauvaise interprétation des bits suivants.According to a third configuration illustrated in FIG. 11c, a "0" may be detected at the wrong time. Suppose that the fronts of two pulses emitted by a first remote control (G pulses and H) form a "0". As already mentioned, the test carried out to determine if the duration of a bit corresponds to T0i takes into account a error ± Δ which constitutes a range around the value T0i. Yes the time interval between the rising edge of a pulse I emitted by a second remote control and the rising edge of the pulse G falls within the range thus determined, then a "0" can be detected. The value "0" is not in itself false, since in any case, the pulses G and H give the same information. However, the variable "Last_time_i" would contain a false value, which would have consequently a possible misinterpretation of the following bits.

    Cette troisième configuration s'applique également à la détection erronnée de bits à "1".This third configuration also applies to the erroneous detection of bits at "1".

    La correction réalisée pour la seconde et la troisième configuration consiste, lors de l'analyse de l'impulsion F, à vérifier si cette impulsion donne une information cohérente pour une télécommande donnée en liaison avec l'avant-dernier bit. Si cette information correspond à un "1" ou à un "0", le dernier bit attribué à cette télécommande est remplacé par cette information.The correction made for the second and third configuration consists, during the analysis of the pulse F, in checking whether this impulse gives consistent information for a remote control given in connection with the penultimate bit. If this information corresponds to a "1" or a "0", the last bit assigned to this remote control is replaced by this information.

    Revenons à la figure 9 pour voir plus en détail le procédé utilisé. L'étape E301 est maintenant franchie et on teste lors d'une étape E302 si l'impulsion a pu être attribuée lors de l'étape E301. Dans l'affirmative, les trois configurations explicitées ci-dessus n'ont pas lieu d'être corrigées, et la routine se termine (E303).Let's go back to figure 9 to see in more detail the process used. The step E301 is now taken and we test during a step E302 if the impulse could be assigned during step E301. In if so, the three configurations explained above do not take place to be corrected, and the routine ends (E303).

    Comme précédemment, une boucle (réalisée par l'intermédiaire des étapes E304, E305 et E306) passe en revue les différentes télécommandes.As before, a loop (made through steps E304, E305 and E306) reviews the different remote controls.

    Dans un premier temps (E304), on détermine si l'impulsion en cours d'analyse est identique à ou est telle qu'elle peut cacher une impulsion en provenance de la télécommande i. Si ce n'est pas le cas, on passe à la télécommande suivante en incrémentant l'indice des télécommandes (étape E306). Dans l'affirmative, on détermine la durée de bit (Variable Durée bit) correspondant à l'intervalle de temps entre le front montant de l'impulsion en cours d'analyse et le dernier front montant mémorisé pour la télécommande, à savoir Dernier_temps_i.Firstly (E304), it is determined whether the pulse in analysis course is the same as or is such that it can hide a pulse from the remote control i. If it's not the case, we go to the next remote control by incrementing the index of remote controls (step E306). If so, the duration is determined bit (Variable Bit Duration) corresponding to the time interval between the rising edge of the pulse being analyzed and the last edge amount memorized for the remote control, namely Last_time_i.

    Dans un premier temps, on teste par l'intermédiaire des étapes E309 à E313 si l'on se trouve dans la première configuration (figure 11a) décrite ci-dessus. Pour cela, on cherche d'abord à savoir si l'état associé à la télécommande examinée est bien "Attente de fin de message". Si ce n'est pas le cas, on passe à la vérification des conditions correspondant aux seconde et troisième configurations. Dans l'affirmative, les étapes E310, respectivement E312 testent si la durée de bit correspond à un "1" ou un "0". Si l'un des deux tests est positif, alors le message enregistré pour la télécommande en cours d'examen est décalé et un "1" ou "0" est respectivement rajouté (étapes E311 et E313). L'impulsion ainsi utilisée, la routine se termine à l'étape E303, après que l'impulsion la plus récente ait été marquée comme ayant été utilisée.First, we test through the steps E309 to E313 if you are in the first configuration (figure 11a) described above. For this, we first seek to know if the associated state on the examined remote control is indeed "Waiting for end of message". If this is not the case, we go to the verification of the corresponding conditions in the second and third configurations. If so, the steps E310, respectively E312 test whether the bit duration corresponds to a "1" or a "0". If one of the two tests is positive, then the message registered for the remote control being examined is shifted and a "1" or "0" is added respectively (steps E311 and E313). The impulse thus used, the routine ends at step E303, after the pulse the most recent was marked as having been used.

    Si la première configuration n'a pu être détectée ou si l'état associé à la télécommande est "Attente de bits supplémentaires" (Test E314), alors on détermine si les conditions de la seconde ou troisième configuration (figures 11b et 11c) sont remplies.If the first configuration could not be detected or if the status associated with the remote control is "Waiting for additional bits" (Test E314), then we determine if the conditions of the second or third configuration (Figures 11b and 11c) are met.

    On détermine alors la valeur du dernier bit mémorisé pour la télécommande examinée (E316). On calcule l'intervalle de temps séparant le front montant de l'impulsion en cours d'analyse (par exemple front montant des impulsions F ou H des figures 11b et 11c et dont l'instant d'apparition est mémorisé par la variable Départ) et le front montant de l'avant dernière impulsion mémorisée (par exemple impulsions D ou G des figures 11b et 11c). Ce calcul est réalisé en calculant l'intervalle de temps entre Durée et Dernier_Temps_i, et en rajoutant T0i ou T1i suivant la valeur du dernier bit mémorisé (étapes E317, respectivement E318).The value of the last bit memorized for the examined remote control (E316). We calculate the time interval separating the rising edge of the pulse being analyzed (for example rising edge of the pulses F or H of FIGS. 11b and 11c and of which the time of appearance is memorized by the Start variable) and the front amount of the penultimate pulse stored (for example pulses D or G of Figures 11b and 11c). This calculation is performed in calculating the time interval between Duration and Last_Time_i, and by adding T0i or T1i according to the value of the last bit memorized (steps E317, respectively E318).

    Puis on compare cet intervalle de temps à la durée d'un bit "0" et "1" pour la télécommande actuellement examinée (durées T0i et T1i aux étapes E319 et E320). Si l'une de ces durées correspond à l'intervalle de temps précédemment calculé, alors le dernier bit mémorisé pour la télécommande est effacé et remplacé par la nouvelle valeur déterminée. De plus, le paramètre indiquant le dernier front montant d'une impulsion ayant donné lieu à l'attribution d'un bit à la télécommande est remis à jour (Paramètre Dernier_temps_i).Then we compare this time interval to the duration of a bit "0" and "1" for the currently examined remote control (durations T0i and T1i in steps E319 and E320). If one of these durations corresponds to the previously calculated time interval, then the last bit stored for the remote control is erased and replaced by the new value determined. In addition, the parameter indicating the last rising edge of an impulse that gave rise to the allocation of a bit to the remote control is updated (Last_time_i parameter).

    Si après l'examen correspondant aux trois configurations citées, une impulsion n'a pu être attribuée à aucune télécommande, alors une routine supplémentaire, appelée "Départ erronné" est lancée. Cette routine (E321) n'est exécutée que pour les télécommandes auxquelles un premier bit a été attribué, et elle reprend la routine "Déterminer premier bit" précédemment décrite. L'organigramme correspondant est représenté à la figure 12.If after the examination corresponding to the three configurations cited, an impulse could not be attributed to any remote control, then an additional routine, called "Erroneous departure" is launched. This routine (E321) is only executed for remote controls to which a first bit has been assigned, and it resumes the routine "Determine first bit" previously described. The organization chart figure is shown in Figure 12.

    En revenant à l'organigramme principal de la figure 5, il reste encore à valider les messages stockés s'il y a lieu, ou à déterminer si ces messages ont été interrompus en cours de transmission.Returning to the main flowchart in Figure 5, there remains still to validate the stored messages if necessary, or to determine if these messages were interrupted during transmission.

    La figure 13 donne l'organigramme du procédé correspondant (appelé "Fin de message") selon le présent exemple de réalisation. Cette procédure est lancée lorsqu'aucune impulsion n'est détectée (étape E1). Il est également possible de la lancer à un autre moment.Figure 13 gives the flowchart of the corresponding process (called "End of message") according to the present exemplary embodiment. This procedure is launched when no pulse is detected (step E1). It is also possible to launch it at another time.

    Comme précédemment, une boucle est créée pour passer en revue l'ensemble des télécommandes (étapes E501, E502 et E503).As before, a loop is created to pass in review all the remote controls (steps E501, E502 and E503).

    Pour chaque télécommande, on détermine le temps écoulé depuis le front montant de la dernière impulsion attribuée à cette télécommande en faisant la différence entre l'état de l'horloge du système et le paramètre Dernier_temps_i (Etape E504). On teste alors (E505) si cette durée est supérieure à la durée de bit la plus longue pour cette télécommande (en l'occurrence T1i suivant le présent exemple). Si ce n'est pas le cas, on passe à la télécommande suivante (E502). En effet, une impulsion destinée à la télécommande peut encore parvenir au récepteur. Il n'y a donc pas lieu de mettre fin au message reçu, celui-ci n'étant pas forcément complet ou correct.For each remote control, the elapsed time is determined from the rising edge of the last pulse attributed to this remote control by making the difference between the clock state of the system and the parameter Last_time_i (Step E504). We then test (E505) if this duration is greater than the longest bit duration for this remote control (in this case T1i according to the present example). Yes this is not the case, we go to the next remote control (E502). In indeed, a pulse intended for the remote control can still reach the receiver. There is therefore no reason to terminate the message received, it not necessarily complete or correct.

    Si par contre le test de l'étape E505 s'avère positif, à priori aucune impulsion future ne pourra être attribuée à la télécommande considérée. Suivant l'état du message, il est alors considéré comme complet ou comme interrompu. On détermine tout d'abord si l'état du message est l'état d'attente de fin de message ou non (E506). Si ce n'est pas le cas, alors on vérifie (E507) si la durée écoulée depuis la dernière impulsion attribuée à la télécommande est supérieure au temps de repos de cette télécommande. Si c'est le cas, alors le message est considéré comme interrompu et l'état du message est remis à l'état d'attente du premier bit (E508). Si la durée est inférieure au temps de repos on passe à la télécommande suivante (E502).If on the other hand the test of step E505 proves positive, a priori no future impulse can be attributed to the remote control considered. Depending on the state of the message, it is then considered to be complete or as discontinued. We first determine if the state of the message is the waiting state for message end or not (E506). If this is not the case, then we check (E507) if the time elapsed since the last pulse assigned to the remote control is greater than the time of this remote control. If it is, then the message is considered interrupted and the state of the message is reset waiting for the first bit (E508). If the duration is less than the rest we go to the next remote control (E502).

    Si l'état du message est bien l'état d'attente de fin de message, alors cet état est changé en attente du temps de repos (E508). Le message est alors considéré comme complet et peut être analysé de manière connue par ailleurs pour déterminer sa signification (E509). Lors d'une reprise ultérieure du procédé de la figure 13, l'état du message sera remis à l'état d'attente du premier bit, autorisant ainsi la réception d'un nouveau message.If the state of the message is indeed the waiting state at the end of message, then this state is changed while waiting for the rest time (E508). The message is then considered complete and can be analyzed from otherwise known manner for determining its meaning (E509). When of a subsequent resumption of the process of FIG. 13, the state of the message will be returned to the waiting state of the first bit, thus authorizing reception of a new message.

    L'exemple de réalisation décrit comporte une multitude de corrections de diverses configurations des signaux. Selon la complexité souhaitée du dispositif et du traitement effectué, certaines corrections peuvent, selon une variante de réalisation, être éliminées. Ceci risque d'être préjudiciable pour la performance, mais permettra de simplifier le traitement.The embodiment described describes a multitude of fixes for various signal configurations. According to complexity desired device and treatment performed, some corrections can, according to an alternative embodiment, be eliminated. This risks to be detrimental to performance but will simplify the treatment.

    En dernier lieu, bien que l'exemple de réalisation concerne un codage de valeurs d'un bit, deux intervalles de temps (T0i et T1i) étant utilisés, l'invention ne se limite pas à un tel codage. Finally, although the exemplary embodiment relates to a coding of values of a bit, two time intervals (T0i and T1i) being used, the invention is not limited to such coding.

    Les applications de l'invention sont nombreuses: jeux vidéo ou télévision interactive, contrôle de plusieurs appareils à travers un seul récepteur de signaux de commande en utilisant plusieurs télécommandes, etc...The applications of the invention are numerous: video games or interactive television, control of multiple devices through a single control signal receiver using multiple remote controls, etc ...

    Claims (25)

    1. Process for receiving signals emanating from at least two transmitters (RCi), characterized in that,
      for each transmitter, the data (0, 1) being represented by the time interval (T0i, T1i) between two consecutive pulses transmitted by this transmitter,
      the said time intervals as well as the width of the pulses (Tpi) being characteristic of each transmitter,
      the said process comprising the steps:
      of receiving a signal resulting from the superposition of the signals transmitted by the said transmitters,
      of determining the parameters of the pulses of the said resulting signal, the said parameters comprising the width of the pulses as well as their spacing,
      of allocating a datum to a transmitter as a function of the these parameters.
    2. Process according to one of Claims [sic] 1, characterized in that the data are the two possible values of a bit.
    3. Process according to Claim 2, characterized in that a datum representing the state of a message emanating from each transmitter is associated with this transmitter.
    4. Process according to Claim 3, characterized in that the state of the message is standby for a first bit of a message (A), standby for additional bits (B), standby for the end of the message (C) or standby for the end of the quiescent time between two messages (D).
    5. Process according to one of Claims 2 to 4, characterized in that a first bit is detected for a given transmitter when the time interval (Duration_bit) between the current pulse and one pulse from among the pulses previously received (Start_mem[i]) is equal to one of the intervals (T0i, T1i) defining a bit value for the said transmitter and that the duration (Duration_mem[i]) of the said pulse from among the pulses previously received is equal to the duration (Tpi) of a pulse associated with the said given transmitter.
    6. Process according to Claim 5, characterized in that the comparison between the time interval (Duration_bit) between the said two pulses and the intervals defining a bit value for the said transmitter is performed via increasing intervals defining a cue (T0i, T1i), all the pulses previously received and stored (Start_mem[i], Duration_mem[i]) being scrutinized for each of the intervals defining a bit value.
    7. Process according to Claim 6, characterized in that the intervals defining a bit value (T0i, T1i) being two in number, if no bit is detected but there was equality between the shortest duration corresponding to a bit value (T0i) and the time interval (Duration_bit) separating the current pulse and a pulse previously received, then the bit value detected corresponds to this shortest duration (T0i).
    8. Process according to one of Claims 5 to 7, characterized in that the detection of a first bit is carried out for a transmitter only when the duration of the current pulse (Duration) is greater than or equal to the duration (Tp) of a pulse originating from this transmitter.
    9. Process according to one of Claims 2 to 8, characterized in that when at least one bit has already been allocated to a transmitter, another bit is allocated to the same transmitter if the current pulse forms together with the last pulse having allowed a bit to be allocated to this transmitter an interval corresponding to a bit value for this transmitter.
    10. Process according to Claim 9, characterized in that the detection of a bit is carried out for a transmitter only when the duration of the current pulse (Duration) is greater than or equal to the duration (Tp) of a pulse originating from this transmitter.
    11. Process according to one of Claims 5 to 10, characterized in that if it has not been possible to use a current pulse to detect a bit (Pulse_used), then this pulse is allocated to the first transmitter (i) to which no bit has yet been allocated in decreasing order of pulse durations (Tpi), the said pulse thus allocated serving to define the start point of a bit whose second pulse will arrive later.
    12. Process according to one of Claims 5 to 11, characterized in that if the number of bits (N_bits_i) allocated to a transmitter is equal to the maximum number (N_bits) of bits which can be allocated to a message, but if nevertheless an additional bit is detected for this transmitter, then the first bit of the message is eliminated, and the last bit detected is appended to the said message.
    13. Process according to one of Claims 5 to 12, characterized in that when it has not been possible for the current pulse to be allocated to a transmitter and the current pulse forms together with the penultimate pulse stored an interval corresponding to a bit value for a given transmitter and when at least one bit has already been allocated to this transmitter, then the last bit allocated is replaced by the new value detected.
    14. Process according to Claim 13, characterized in that if it has not been possible for a current pulse to be used previously, then one searches for a transmitter to which a single bit has been allocated and one determines whether the interval between the current pulse and the first pulse allocated to the said transmitter corresponds to a bit value for the said transmitter, in which case the said bit value is retained.
    15. Process according to one of Claims 5 to 14, characterized in that the parameters (Duration, Start) of each pulse received are stored (Duration_mem[i], Start_mem[i]) after the analysis of the said pulse.
    16. Process according to one of Claims 4 to 15, characterized in that
      the switch from a Standby for first bit state to a standby for additional bits state is made when a bit has been detected,
      the switch from a "Standby for additional bits" state to a standby for end of message state is made when the maximum number of bits has been allocated to a transmitter,
      the switch from a standby for end of message state to a standby for quiescent period state is made if after a standby for a time greater than the longest interval corresponding to a cue for the transmitter considered no bit has been identified for this transmitter,
      the switch from the standby for quiescent period state to the "standby for first bit" state is made if the time elapsed since the last bit received (Last_time_i) is greater than the quiescent time (Trn) of the transmitter considered,
      the switch from the standby for additional bits state to the standby for the first bit state is made when, after allocating a first bit, a time greater than the longest interval corresponding to a cue for the transmitter considered elapses without an additional bit being detected.
    17. Device for receiving signals, characterized in that it comprises
      means (Fig. 2; 1, 2) for receiving a signal (Rec) resulting from the superposition of signals transmitted by at least two transmitters (RC1, RC2), for each transmitter, the data (0, 1) being represented by the time interval (T0i, T1i) between two consecutive pulses transmitted by this transmitter,
      the said time intervals as well as the width of the pulses (Tpi) being characteristic of each transmitter,
      means (3, 4, 5, 6) for analysing the said resulting signal as a function of the width (Pulse_mem[i], Duration) of the pulses detected in the said resulting signal and as a function of the time intervals between these pulses.
    18. Device according to Claim 17, characterized in that the width of the pulses detected is equal or proportional to the width of the pulses transmitted by the said transmitters.
    19. Device according to one of Claims 17 or 18, characterized in that the said reception means comprise an infrared receiver (Fig. 2; 1, 2), the said transmitters (RC1, RC2) transmitting infrared signals and using the same carrier.
    20. Device according to one of Claims 17 to 19, characterized in that the said means of analysis comprise a microprocessor (3), a memory (4) storing parameters of pulses received (Pulse_mem[i], Start_mem[i]), memories (5, 6) storing the bits corresponding to the messages of the various transmitters.
    21. Device according to one of Claims 17 to 20, characterized in that it implements the process according to one of Claims 1 to 16.
    22. Infrared remote control (RC1, RC2) characterized in that it is used in conjunction with a device according to one of Claims 17 to 21 and in that it comprises means (12) for adjusting the width of the pulses used to represent the data sent to the said device, the said adjustment being performed in such a way as to be unique with respect to other remote controls which can be used simultaneously.
    23. Remote control according to Claim 22, characterized in that it also comprises means (21) for adjusting the time intervals between two pulses serving to represent the various data (0, 1) intended to be sent.
    24. System for receiving signals, characterized in that it comprises
      at least two transmitters (RC1, RC2), each transmitter coding data in the form of pulses of characteristic width (Tpi) of the said transmitter, a datum being defined by the time interval (T0i, T1i) separating two consecutive pulses transmitted by this transmitter, the said time interval also being characteristic of each transmitter,
      a receiver comprising means (Fig. 2; 1, 2) for receiving the signal resulting from the superposition of the signals transmitted by the said transmitters,
      means (3, 4, 5, 6) for analysing the said resulting signal as a function of the width of the pulses detected in the said resulting signal and as a function of the time intervals separating the said pulses.
    25. System according to Claim 24, characterized in that the said transmitters comprise a remote control in accordance with one of Claims 22 or 23.
    EP96401043A 1995-05-23 1996-05-14 Method and device for receiving signals from a plurality of transmitters Expired - Lifetime EP0744723B1 (en)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    FR9506110 1995-05-23
    FR9506110A FR2734657B1 (en) 1995-05-23 1995-05-23 METHOD AND DEVICE FOR RECEIVING SIGNALS FROM A PLURALITY OF TRANSMITTERS
    US08/645,949 US5870380A (en) 1995-05-23 1996-05-14 Method and apparatus for reception of signals from several transmitters wherein each transmitter is characterized by their output pulse train

    Publications (2)

    Publication Number Publication Date
    EP0744723A1 EP0744723A1 (en) 1996-11-27
    EP0744723B1 true EP0744723B1 (en) 2000-06-21

    Family

    ID=26231982

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP96401043A Expired - Lifetime EP0744723B1 (en) 1995-05-23 1996-05-14 Method and device for receiving signals from a plurality of transmitters

    Country Status (6)

    Country Link
    US (1) US5870380A (en)
    EP (1) EP0744723B1 (en)
    JP (1) JPH08340587A (en)
    CN (1) CN1094273C (en)
    BR (1) BR9602416B1 (en)
    FR (1) FR2734657B1 (en)

    Families Citing this family (13)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US6771324B1 (en) * 1998-03-26 2004-08-03 Hitachi, Ltd. Display and apparatus
    JP2002152852A (en) * 2000-11-08 2002-05-24 Sony Corp Remote commander
    GB0101520D0 (en) * 2001-01-20 2001-03-07 Lsi Logic Corp Cyllic buffer for infrared
    JP3601819B2 (en) * 2002-03-18 2004-12-15 日本電信電話株式会社 Control device for video viewing device, control method therefor, program and recording medium
    US20030215780A1 (en) * 2002-05-16 2003-11-20 Media Group Wireless Wireless audience polling and response system and method therefor
    US20030236891A1 (en) * 2002-06-04 2003-12-25 Glass Michael S. Wireless asynchronous response system
    US8233430B2 (en) * 2003-11-11 2012-07-31 Mitsubishi Denki Kabushiki Kaisha Communication method, terminal, and base station
    US8761712B1 (en) * 2007-01-23 2014-06-24 Control4 Corporation Location based remote controller for controlling different electronic devices located in different locations
    JP2008193425A (en) * 2007-02-05 2008-08-21 Sony Corp Television receiver, control system and method
    JP5692115B2 (en) 2011-04-05 2015-04-01 株式会社日本自動車部品総合研究所 In-vehicle device control system
    CN108259958B (en) * 2018-02-07 2020-12-22 深圳创维-Rgb电子有限公司 Remote control key response method, device, equipment and storage medium
    CN111028394B (en) * 2019-12-24 2021-06-25 东风电子科技股份有限公司 Processing method for realizing operation of multiple automobile remote control keys
    CN113759885B (en) * 2020-06-01 2023-12-12 上海山科机器人有限公司 Signal station for autonomous working equipment

    Family Cites Families (7)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US4357634A (en) * 1979-10-01 1982-11-02 Chung David H Encoding and decoding digital information utilizing time intervals between pulses
    US4345323A (en) * 1980-01-07 1982-08-17 Amp Incorporated Pulse duration digital multiplexing system
    JPS6072499A (en) * 1983-09-29 1985-04-24 Sony Corp Remote control signal generator
    US4980884A (en) * 1990-01-19 1990-12-25 Amp Incorporated Pulse duration digital multiplexing system with progressively incremented pulse lengths
    FR2674658A1 (en) * 1991-03-28 1992-10-02 Fusilier Jean Marie Method for transmission and for remote transmission in blind random mode between several transmitters and receivers
    US5724357A (en) * 1992-01-28 1998-03-03 Fleetwood Group, Inc. Remote response system and data transfer protocol
    US5504279A (en) * 1994-12-27 1996-04-02 At&T Corp. Wireless pen tablet

    Also Published As

    Publication number Publication date
    EP0744723A1 (en) 1996-11-27
    FR2734657A1 (en) 1996-11-29
    CN1094273C (en) 2002-11-13
    JPH08340587A (en) 1996-12-24
    FR2734657B1 (en) 1997-07-04
    US5870380A (en) 1999-02-09
    CN1142145A (en) 1997-02-05
    BR9602416A (en) 1998-04-22
    BR9602416B1 (en) 2009-01-13

    Similar Documents

    Publication Publication Date Title
    EP0744723B1 (en) Method and device for receiving signals from a plurality of transmitters
    EP0026135A1 (en) Method of testing a digital data transmission line between two modems and device for carrying out this method
    EP2589027A1 (en) Installation for controlling the playing time of a sporting event
    FR2788615A1 (en) APPARATUS COMPRISING A VOICE OR MANUAL USER INTERFACE AND METHOD FOR ASSISTING IN LEARNING VOICE COMMANDS FROM SUCH AN APPARATUS
    FR2855643A1 (en) STATE SIGNAL METHOD AND APPARATUS FOR A MOBILE BARRIER ACTUATOR AND CORRESPONDING WIRELESS REMOTE CONTROL
    EP1410360B1 (en) Method for transmitter and receiver matching
    EP0720293B1 (en) Multiple-channel encoder
    WO2018192939A1 (en) Method and system for detecting an intermittent defect in a transmission line by means of filtering
    WO1988008987A1 (en) Method for testing a radar in operation
    EP0025767A1 (en) Method and apparatus for automatically testing a digital data transmission system
    WO2015097404A1 (en) Error correction with test of a plurality of lengths for a data frame
    EP0341166A1 (en) Method and apparatus for the asynchronous transmission of packaged data
    WO2006087497A2 (en) Frame-synchronisation method and device
    EP0068977A1 (en) Method of transmitting messages between autonomous transceiver modules having independent clocks and internal synchronisation means
    FR2482348A1 (en) SPEECH SENSOR CIRCUIT AND ASSOCIATED GAIN CONTROL FOR A TIME-ALLOCATED SPEECH SIGNAL NESTING SYSTEM
    FR2767618A1 (en) Digital transmission sequence coding method
    WO2005125009A1 (en) Method for validating a number in an electronic device and associated electronic device
    EP0368710A1 (en) Devices for discriminating between a number of simultaneous phenomena
    FR3079611A1 (en) METHOD FOR INITIALIZING A SENSOR ARRAY
    FR2725091A1 (en) Digital data transmission synchronisation method e.g. for vehicle door remote control
    WO2009098202A1 (en) Method for coupling/uncoupling between a transmitter and a receiver
    EP0337868A2 (en) Method and apparatus for signal discrimination
    WO1991000656A1 (en) Frequency-jumping data transmission on a meteorite channel
    WO2005029824A1 (en) Method for controlling a multimodal terminal, processing platform and multimodal terminal
    FR3044506B1 (en) METHOD FOR PROGRAMMING A RECORDING OF A TRANSMISSION BY A DIGITAL TELEVISION DECODER

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    AK Designated contracting states

    Kind code of ref document: A1

    Designated state(s): DE FR GB IT

    17P Request for examination filed

    Effective date: 19970423

    RAP1 Party data changed (applicant data changed or rights of an application transferred)

    Owner name: THOMSON MULTIMEDIA

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    17Q First examination report despatched

    Effective date: 19990920

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAA (expected) grant

    Free format text: ORIGINAL CODE: 0009210

    AK Designated contracting states

    Kind code of ref document: B1

    Designated state(s): DE FR GB IT

    ITF It: translation for a ep patent filed
    GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

    Effective date: 20000621

    REF Corresponds to:

    Ref document number: 69608928

    Country of ref document: DE

    Date of ref document: 20000727

    PLBE No opposition filed within time limit

    Free format text: ORIGINAL CODE: 0009261

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

    26N No opposition filed
    REG Reference to a national code

    Ref country code: GB

    Ref legal event code: 746

    Effective date: 20011123

    REG Reference to a national code

    Ref country code: GB

    Ref legal event code: IF02

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: D6

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: GB

    Payment date: 20130524

    Year of fee payment: 18

    Ref country code: DE

    Payment date: 20130522

    Year of fee payment: 18

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: IT

    Payment date: 20130521

    Year of fee payment: 18

    Ref country code: FR

    Payment date: 20130618

    Year of fee payment: 18

    REG Reference to a national code

    Ref country code: DE

    Ref legal event code: R119

    Ref document number: 69608928

    Country of ref document: DE

    GBPC Gb: european patent ceased through non-payment of renewal fee

    Effective date: 20140514

    REG Reference to a national code

    Ref country code: DE

    Ref legal event code: R119

    Ref document number: 69608928

    Country of ref document: DE

    Effective date: 20141202

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: ST

    Effective date: 20150130

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: IT

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20140514

    Ref country code: DE

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20141202

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: FR

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20140602

    Ref country code: GB

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20140514