B10410 - 10-RO-149 1 MESSAGE D'INTERRUPTION SUR BUS 22C Domaine de l'invention La présente invention concerne les circuits électroniques et, plus particulièrement, la transmission de données numériques entre deux circuits dans un système de bus maître-esclave. L'invention s'applique plus particulièrement aux communications sur bus bifilaire (données et horloge), plus particulièrement de type I2C. Exposé de l'art antérieur Le protocole de communication I2C et plus généralement tout protocole sur bus bifilaire utilisant un fil de données et un fil d'horloge, est un protocole de communication bidirectionnel alterné (semi-duplex ou half-duplex), c'est-à-dire que dans une transmission maître-esclave, l'esclave ne peut répondre au maître qu'une fois que celui-ci a terminé sa transmission. Cela peut poser problème en particulier en cas d'erreur dans la transmission, dans la mesure où l'esclave ne peut indiquer au circuit maître qu'il y a une erreur de transmission qu'à la fin de la trame, d'où une perte de temps.FIELD OF THE INVENTION The present invention relates to electronic circuits and, more particularly, to the transmission of digital data between two circuits in a master-slave bus system. The invention applies more particularly to communications on a two-wire bus (data and clock), more particularly of the I2C type. BACKGROUND OF THE PRIOR ART The I2C communication protocol and, more generally, any two-wire bus protocol using a data wire and a clock wire, is an alternating (half-duplex or half-duplex) two-way communication protocol. that is to say that in a master-slave transmission, the slave can not respond to the master until it has finished transmitting. This can be problematic especially in the event of an error in the transmission, since the slave can not indicate to the master circuit that there is a transmission error until the end of the frame, hence a waste of time.
Plus généralement, cette impossibilité du dispositif esclave à interrompre le dispositif maître lors d'une transmission limite les fonctionnalités du bus.More generally, this impossibility of the slave device to interrupt the master device during a transmission limits the functionality of the bus.
B10410 - 10-RO-149 Résumé Un objet d'un mode de réalisation de la présente invention est de pallier tout ou partie des inconvénients des systèmes bifilaires connus.SUMMARY OF THE INVENTION An object of an embodiment of the present invention is to overcome all or part of the disadvantages of known two-wire systems.
Un autre objet d'un mode de réalisation de la présente invention est de permettre à un dispositif esclave d'envoyer des informations au maître en interrompant la transmission maître-esclave. Un autre objet d'un mode de réalisation de la présente invention est de proposer une solution permettant de signaler une erreur à un émetteur sans attendre la fin d'une trame de communication. Pour atteindre tout ou partie de ces objets ainsi que d'autres, il est prévu un procédé de transmission, par un récepteur, d'un signal d'interruption sur un premier conducteur d'un bus de communication véhiculant un signal de synchronisation émis par un émetteur, dans lequel le signal d'interruption inhibe le signal de synchronisation sur le premier conducteur.Another object of an embodiment of the present invention is to allow a slave device to send information to the master by interrupting the master-slave transmission. Another object of an embodiment of the present invention is to propose a solution making it possible to signal an error to a transmitter without waiting for the end of a communication frame. To achieve all or part of these and other objects, there is provided a method of transmitting, by a receiver, an interrupt signal on a first conductor of a communication bus carrying a synchronization signal transmitted by a transmitter, wherein the interrupt signal inhibits the synchronization signal on the first conductor.
Selon un mode de réalisation de la présente invention, l'émetteur détecte une inhibition du signal de synchronisation. Selon un mode de réalisation de la présente invention, ledit premier conducteur est, au repos, dans un premier état et est commuté périodiquement dans un second état pour générer le signal de synchronisation. Selon un mode de réalisation de la présente invention, pour inhiber le signal de synchronisation, le récepteur force le premier conducteur dans le second état. Selon un mode de réalisation de la présente invention, 30 l'inhibition par le récepteur est synchronisée avec le signal de synchronisation. Selon un mode de réalisation de la présente invention, le signal d'interruption est codé sur plusieurs bits. 2 B10410 - 10-RO-149According to one embodiment of the present invention, the transmitter detects an inhibition of the synchronization signal. According to an embodiment of the present invention, said first driver is, at rest, in a first state and is periodically switched into a second state to generate the synchronization signal. According to one embodiment of the present invention, to inhibit the synchronization signal, the receiver forces the first conductor into the second state. According to one embodiment of the present invention, the inhibition by the receiver is synchronized with the synchronization signal. According to an embodiment of the present invention, the interrupt signal is coded on several bits. 2 B10410 - 10-RO-149
3 On prévoit également un procédé de communication, sur un bus bifilaire comportant au moins un premier conducteur de synchronisation et au moins un second conducteur de données. On prévoit également, un dispositif de réception d'une transmission sur bus bifilaire. On prévoit également un dispositif d'émission. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente, partiellement et sous forme de blocs, deux circuits susceptibles de communiquer dans un protocole maître-esclave de type I2C ; les figures 2A, 2B, 2C et 2D illustrent une communication entre les deux circuits de la figure 1 ; la figure 3 représente, de façon schématique et partielle, un exemple usuel de circuit de commande de conducteurs du bus de la figure 1 ; la figure 4 représente, de façon très schématique et simplifiée, un mode de réalisation d'un système selon la présente invention ; les figures 5A, 5B, 5C et 5D sont des chronogrammes illustrant le fonctionnement du système de la figure 4 ; 25 la figure 6 représente un mode de réalisation d'un circuit de signalement d'erreur côté récepteur ; la figure 7 représente un mode de réalisation d'un élément du circuit de la figure 7 ; les figures 8A, 8B, 8C, 8D, 8E, 8F et 8G sont des 30 chronogrammes illustrant le fonctionnement des circuits des figures 6 et 7 ; la figure 9 représente un exemple de circuit de détection d'interruptions côté émetteur ; et les figures 10A, 10B et 10C sont des chronogrammes 35 illustrant le fonctionnement du circuit de la figure 9. 20 B10410 - 10-RO-149A communication method is also provided on a two-wire bus having at least one first synchronization conductor and at least one second data conductor. There is also provided a device for receiving a two-wire bus transmission. An emission device is also provided. BRIEF DESCRIPTION OF THE DRAWINGS These and other objects, features, and advantages will be set forth in detail in the following non-limiting description of particular embodiments in connection with the accompanying figures in which: FIG. and in the form of blocks, two circuits capable of communicating in a master-slave I2C protocol; FIGS. 2A, 2B, 2C and 2D illustrate a communication between the two circuits of FIG. 1; FIG. 3 schematically and partially shows a conventional example of a driver control circuit of the bus of FIG. 1; FIG. 4 is a schematic and simplified representation of an embodiment of a system according to the present invention; Figures 5A, 5B, 5C and 5D are timing diagrams illustrating the operation of the system of Figure 4; Fig. 6 shows an embodiment of a receiver-side error signaling circuit; Fig. 7 shows an embodiment of an element of the circuit of Fig. 7; FIGS. 8A, 8B, 8C, 8D, 8E, 8F and 8G are timing diagrams illustrating the operation of the circuits of FIGS. 6 and 7; Fig. 9 shows an example of a transmitter-side interrupt detecting circuit; and Figs. 10A, 10B and 10C are timing diagrams illustrating the operation of the circuit of Fig. 9. B10410 - 10-RO-149
4 Description détaillée De mêmes éléments ont été désignés par de mêmes références aux différentes figures qui ont été tracées sans respect d'échelle. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation exposés seront décrits. En particulier, l'exploitation faite des données dans chacun des circuits communiquant n'a pas été détaillée, les modes de réalisation décrits étant compatibles avec les utilisations usuelles de ces données. De plus, le codage des signaux à transmettre par les différents circuits communiquant n'a pas non plus été détaillé, l'invention étant là encore compatible avec des circuits usuels de codage de tels signaux. Les modes de réalisation feront par la suite référence à une communication utilisant un protocole connu sous la dénomination I2C. L'invention s'applique toutefois plus généralement à tout protocole de communication utilisant un fil d'horloge ou de synchronisation (par exemple, le protocole connu sous la dénomination SPI).4 Detailed Description The same elements have been designated by the same references to the different figures which have been drawn without respect of scale. For the sake of clarity, only the steps and elements useful for understanding the exposed embodiments will be described. In particular, the exploitation of the data in each of the communicating circuits has not been detailed, the described embodiments being compatible with the usual uses of these data. In addition, the coding of the signals to be transmitted by the various communicating circuits has not been detailed either, the invention being again compatible with conventional circuits for encoding such signals. Embodiments will subsequently reference a communication using a protocol known as I2C. However, the invention more generally applies to any communication protocol using a clock or synchronization wire (for example, the protocol known by the name SPI).
La figure 1 est un schéma bloc d'un mode de réalisation d'un système de communication entre un dispositif maître 1 et un dispositif esclave 3 selon le protocole I2C. Dans l'exemple de la figure 1, le circuit 1 est un circuit maître (MD) et est susceptible de communiquer, par un bus I2C, avec un ou plusieurs dispositifs esclaves 3 (SD). Les différents circuits du système peuvent être alimentés indépendamment les uns des autres ou, comme cela est représenté, par un bus d'alimentation susceptible de véhiculer au moins un potentiel d'alimentation VDD et un potentiel de référence GND, par exemple la masse. Chaque circuit 1, 3 comporte, par exemple, un circuit d'émission (SEND) 11, 31 et un circuit de réception (DET) 12, 32. Les circuits 1 et 3 sont reliés l'un à l'autre par le bus I2C ainsi que par les deux fils VDD et GND du bus d'alimentation. Un premier fil 42 du bus I2C véhicule un signal B10410 - 10-RO-149FIG. 1 is a block diagram of an embodiment of a communication system between a master device 1 and a slave device 3 according to the I2C protocol. In the example of FIG. 1, the circuit 1 is a master circuit (MD) and is capable of communicating, via an I2C bus, with one or more slave devices 3 (SD). The various circuits of the system may be powered independently of each other or, as shown, by a power supply bus capable of carrying at least one VDD supply potential and a GND reference potential, for example ground. Each circuit 1, 3 comprises, for example, a transmission circuit (SEND) 11, 31 and a reception circuit (DET) 12, 32. The circuits 1 and 3 are connected to each other by the bus I2C as well as the two VDD and GND wires of the power bus. A first wire 42 of the I2C bus carries a signal B10410 - 10-RO-149
d'horloge (SCL) entre deux bornes CK des circuits 1 et 3. Typiquement, ce signal d'horloge est imposé par le circuit maître 1. Un deuxième fil 44 du bus I2C véhicule les données (SDA) entre les deux circuits. Le bus I2C est bidirectionnel. Les figures 2A, 2B, 2C et 2D sont des chronogrammes illustrant une communication entre les circuits 1 et 3 de la figure 1. Ces figures illustrent un exemple de transmission d'un mot de données (typiquement un octet) du circuit maître 1 vers le circuit esclave 3. Pour clarifier la description, les figures 2A, 2B, 2C et 2D représentent l'allure de signaux correspondant respectivement au signal (SDAM) positionné par le circuit d'émission 11 du circuit maître sur le fil 44, au signal d'horloge SCL imposé par le circuit maître, au signal (SDAS) 15 positionné par le circuit 31 sur le fil 44, et au niveau SDA résultant de ce fil. Malgré la représentation simplifiée de la figure 1, on considère que les circuits de réception respectifs 12 et 32 des circuits 1 et 3 observent l'état du fil 44 indépendamment des niveaux imposés SDAM et SDAS par les circuits 20 d'émission 11 et 31. De même, pour simplifier, on néglige les chutes de tension par rapport au potentiel d'alimentation et on considère que les niveaux hauts correspondent à la tension VDD et que les niveaux bas correspondent à la masse. Au repos, les deux fils 42 et 44 du bus I2C sont au 25 niveau haut. En supposant que le circuit 1 veuille transmettre une trame de données au circuit 3, il prend le contrôle du bus en imposant un niveau bas sur le signal SDA (instant t1) alors que le signal SCL reste au niveau haut. Cette condition de départ (Start) effectuée, le circuit 1 génère le signal 30 d'horloge SCL. Puis, le circuit 1 impose un niveau 1 ou 0 sur le fil 44 (signaux SDAM et SDA) en fonction du premier bit D7 de l'octet à transmettre. Ce positionnement du niveau du fil 44 doit intervenir avant le front montant du signal d'horloge (instant t2) qui valide la donnée transmise. Lorsque le signal 35 SCL revient au niveau bas (instant t3), le circuit maître 1 peut 5 10 B10410 - 10-RO-149clockwise (SCL) between two terminals CK circuits 1 and 3. Typically, this clock signal is imposed by the master circuit 1. A second wire 44 of the bus I2C conveys the data (SDA) between the two circuits. The I2C bus is bidirectional. FIGS. 2A, 2B, 2C and 2D are timing diagrams illustrating a communication between the circuits 1 and 3 of FIG. 1. These figures illustrate an example of transmission of a data word (typically a byte) from the master circuit 1 to the slave circuit 3. To clarify the description, FIGS. 2A, 2B, 2C and 2D show the waveform of signals respectively corresponding to the signal (SDAM) positioned by the transmission circuit 11 of the master circuit on the wire 44, to the signal d SCL clock imposed by the master circuit, the signal (SDAS) 15 positioned by the circuit 31 on the wire 44, and the SDA resulting from this wire. Despite the simplified representation of FIG. 1, it is considered that the respective reception circuits 12 and 32 of the circuits 1 and 3 observe the state of the wire 44 independently of the imposed levels SDAM and SDAS by the transmission circuits 11 and 31. Similarly, for simplicity, the voltage drops are neglected with respect to the supply potential and it is considered that the high levels correspond to the voltage VDD and that the low levels correspond to the mass. At rest, the two wires 42 and 44 of the I2C bus are high. Assuming that the circuit 1 wants to transmit a data frame to the circuit 3, it takes control of the bus by imposing a low level on the SDA signal (time t1) while the SCL signal remains high. This start condition being performed, circuit 1 generates the clock signal SCL. Then, the circuit 1 imposes a level 1 or 0 on the wire 44 (SDAM and SDA signals) as a function of the first bit D7 of the byte to be transmitted. This positioning of the level of the wire 44 must occur before the rising edge of the clock signal (time t2) which validates the data transmitted. When the signal SCL returns to the low level (time t3), the master circuit 1 can be turned off.
6 imposer le niveau correspondant à l'état du bit suivant D6 sur le fil 44, et ainsi de suite. Une fois le dernier bit DO transmis, le circuit maître place le signal SDAM au niveau haut, pour surveiller l'arrivée d'un accusé-réception. Son circuit de détection 12 surveille en même temps l'état réel du fil 44. Pour indiquer une réception correcte, le circuit esclave 3 impose un niveau bas (figure 2C) sur le fil 44 (Signaux SDAS et SDA). Le circuit maître vérifie l'état du fil 44 au front montant (instant t4) du signal SCL qui suit son positionnement à l'état haut du signal SDAM. Si le fil 44 est au niveau bas (comme illustré en figure 2), cela signifie une transmission réussie. Dans le cas contraire, le circuit maître peut réémettre la donnée (une condition de départ (Start) doit pour cela être émise sur le bus I2C). Une fin de transmission (libération du bus) s'effectue par le circuit maître en commutant le signal SDA au niveau haut alors que le signal SCL est également au niveau haut (instant t5). Une fois cette condition d'arrêt (Stop) effectuée, le bus I2C est libre pour démarrer une autre trame I2C. Il peut s'agir, par exemple, d'une transmission du circuit 3 vers le circuit 1. Le protocole de communication I2C fixe différentes conditions additionnelles dans la transmission selon qu'elle concerne une adresse, une donnée, une écriture ou une lecture dans le circuit esclave, etc. Comme il ressort de l'exposé ci-dessus, le circuit esclave n'est pas en mesure de transmettre des informations au circuit maître avant la fin de la transmission (avant que le circuit maître libère le fil de données). Par exemple, le circuit maître n'est averti d'une éventuelle erreur de transmission qu'à la fin de l'octet transmis par l'absence d'accusé-réception. Il pourrait être utile de prévenir plus rapidement le circuit maître pour lui permettre de réémettre immédiatement une nouvelle trame. Plus généralement, il peut être souhaitable de permettre au circuit esclave d'interrompre la transmission du B10410 - 10-RO-1496 impose the level corresponding to the state of the next bit D6 on the wire 44, and so on. Once the last bit has been transmitted, the master circuit places the SDAM signal high, to monitor the arrival of an acknowledgment. Its detection circuit 12 at the same time monitors the actual state of the wire 44. To indicate a correct reception, the slave circuit 3 imposes a low level (FIG. 2C) on the wire 44 (SDAS and SDA signals). The master circuit checks the state of the wire 44 at the rising edge (time t4) of the SCL signal which follows its position in the high state of the SDAM signal. If the wire 44 is low (as shown in Figure 2), it means a successful transmission. In the opposite case, the master circuit can re-transmit the data (a start condition must be sent on the I2C bus). A transmission end (bus release) is performed by the master circuit by switching the SDA signal high while the SCL signal is also high (instant t5). Once this Stop condition has been completed, the I2C bus is free to start another I2C frame. It may be, for example, a transmission of the circuit 3 to the circuit 1. The communication protocol I2C sets different additional conditions in the transmission depending on whether it relates to an address, data, writing or reading in the slave circuit, etc. As can be seen from the above discussion, the slave circuit is not able to transmit information to the master circuit before the end of transmission (before the master circuit releases the data wire). For example, the master circuit is notified of a possible transmission error only at the end of the byte transmitted by the absence of acknowledgment. It might be useful to warn the master circuit more quickly so that it can re-emit a new frame immediately. More generally, it may be desirable to allow the slave circuit to interrupt the transmission of the B10410 - 10-RO-149
7 circuit maître pour lui transmettre des informations sans attendre la fin de la trame. La figure 3 représente un exemple de schéma électrique simplifié d'un circuit de génération des signaux SCL et SDA d'un bus I2C, côté circuit maître 1. Par défaut, chaque conducteur 42, 44 du bus I2C, respectivement connecté à une borne 47 ou 49 du circuit 1, est porté au potentiel d'alimentation Vdd par une résistance R (pull-up). Lorsque le circuit 1 souhaite émettre des données sur le bus, les signaux SCL et SDA correspondant sont générés en commutant un interrupteur respectivement 46, 48 reliant le fil 42 ou 44 à la masse. Les interrupteurs 46 et 48 sont commandés par des signaux CMDSCL et CMDSDA respectivement. La figure 4 est un schéma bloc d'un mode de réalisation d'un système selon la présente invention. En figure 4, seuls les circuits intervenant sur le fil 42 d'horloge (SCL) ont été représentés. Côté circuit esclave ou récepteur 3, un interrupteur 36 est prévu pour forcer à la masse le fil 42. L'interrupteur 36 est commandé par un circuit 34 fixant une ou plusieurs impulsions de durée déterminée sous commande, par exemple, d'un détecteur 33 (DET) d'erreur. Les éléments 33, 34 et 36 sont ajoutés par rapport à un récepteur usuel. Plus généralement, le circuit 34 peut également être commandé par le circuit esclave pour interrompre la transmission du circuit maître et lui envoyer des informations pendant la trame maître-esclave. Ces informations peuvent être codées ou non. Côté circuit maître ou circuit d'émission 1, on retrouve l'interrupteur 46 capable de tirer à la masse le fil 42 sous commande d'un signal numérique CMDSCL- Toutefois, la borne 47 de raccordement au fil 42 est également reliée à un détecteur 13 (DET) capable de décoder l'interruption éventuelle par le circuit esclave, par exemple un signalement d'erreur. Dans cet exemple, le détecteur 13 fournit un signal ERR au reste du circuit maître.7 master circuit to transmit information without waiting for the end of the frame. FIG. 3 represents an example of a simplified electrical diagram of a circuit for generating the signals SCL and SDA of an I2C bus, on the master circuit side 1. By default, each conductor 42, 44 of the bus I2C, respectively connected to a terminal 47 or 49 of the circuit 1, is brought to the supply potential Vdd by a resistor R (pull-up). When the circuit 1 wishes to transmit data on the bus, the corresponding SCL and SDA signals are generated by switching a switch respectively 46, 48 connecting the wire 42 or 44 to ground. The switches 46 and 48 are controlled by signals CMDSCL and CMDSDA respectively. Fig. 4 is a block diagram of an embodiment of a system according to the present invention. In FIG. 4, only the circuits intervening on the clock wire 42 (SCL) have been represented. On the slave circuit or receiver 3, a switch 36 is provided to force the wire 42 to the ground. The switch 36 is controlled by a circuit 34 fixing one or more pulses of determined duration under control, for example, of a detector 33. (DET) error. The elements 33, 34 and 36 are added with respect to a conventional receiver. More generally, the circuit 34 can also be controlled by the slave circuit to interrupt the transmission of the master circuit and send information to it during the master-slave frame. This information can be coded or not. On the master circuit side or transmission circuit 1, there is again the switch 46 capable of pulling the wire 42 under control of a digital signal CMDSCL- However, the terminal 47 for connecting the wire 42 is also connected to a detector 13 (DET) capable of decoding the possible interruption by the slave circuit, for example an error report. In this example, the detector 13 provides an ERR signal to the rest of the master circuit.
B10410 - 10-RO-149B10410 - 10-RO-149
8 Les figures 5A, 5B, 5C et 5D sont des chronogrammes illustrant un exemple de fonctionnement du système de la figure 4. La figure 5A illustre un exemple d'allure du signal CMDSCL de commande de l'interrupteur 46 côté circuit maître. La figure 5B illustre un exemple de signal INT fourni par le détecteur 33 du circuit esclave et indiquant un problème côté récepteur. Ce signal INT est mis en forme par le circuit 34 pour commander (signal CMD36) l'interrupteur 36 (figure 5C). Cette commande a pour effet de fermer l'interrupteur 36, donc de tirer le fil 42 à la masse, pendant une durée T déterminée. La figure 5D illustre l'allure résultante du signal SCL sur le fil 42. En l'absence d'erreur, le signal SCL est l'inverse du signal CMDSCL. En présence d'une erreur, sous l'effet de l'interrupteur 36, le fil 42 est tiré à la masse et le signal d'horloge disparaît alors. Cette disparition peut être détectée par le circuit 13 côté circuit maître. Pour être en mesure de distinguer une erreur d'un état de repos du signal SCL, le détecteur 13 reçoit une information sur le fait que le circuit maître module le signal SCL, par exemple en interprétant le signal CMDSCL comme illustré en figure 4. Les circuits connectés au fil 44 (signal de données) ne sont pas modifiés. La durée T est au moins égale à la demi-période du signal d'horloge CMDSCL. Selon un mode de réalisation simplifié, plus particulièrement destiné à un système dans lequel la fréquence du signal SCL est fixe et identique pour tous les dispositifs, cette durée T est fixe. Si le système est adapté à fonctionner avec plusieurs fréquences (fixées par les circuits maître), une durée fixe peut s'avérer insuffisante (inférieure à une demi-période d'horloge) ou trop longue. Par ailleurs, cela ne permet pas de coder l'interruption. Ainsi, selon un mode de réalisation préféré, on synchronise le forçage par le circuit esclave sur les impulsions du signal d'horloge. Cela permet de s'adapter à différentes B10410 - 10-RO-149FIGS. 5A, 5B, 5C and 5D are timing diagrams illustrating an example of operation of the system of FIG. 4. FIG. 5A illustrates an example of the appearance of the CMDSCL control signal of the master circuit-side switch 46. Figure 5B illustrates an example of an INT signal provided by the detector 33 of the slave circuit and indicating a problem on the receiver side. This signal INT is shaped by the circuit 34 to control (signal CMD36) the switch 36 (Figure 5C). This control has the effect of closing the switch 36, thus pulling the wire 42 to ground, for a determined duration T. FIG. 5D illustrates the resultant trace of the SCL signal on the wire 42. In the absence of error, the SCL signal is the inverse of the CMDSCL signal. In the presence of an error, under the effect of the switch 36, the wire 42 is pulled to the ground and the clock signal then disappears. This disappearance can be detected by the circuit 13 on the master circuit side. In order to be able to distinguish an error from a state of rest of the SCL signal, the detector 13 receives information on the fact that the master circuit modulates the signal SCL, for example by interpreting the signal CMDSCL as illustrated in FIG. circuits connected to the wire 44 (data signal) are not modified. The duration T is at least equal to the half-period of the CMDSCL clock signal. According to a simplified embodiment, more particularly intended for a system in which the frequency of the SCL signal is fixed and identical for all the devices, this duration T is fixed. If the system is adapted to operate with several frequencies (fixed by the master circuits), a fixed duration may be insufficient (less than half a clock period) or too long. Moreover, this does not allow to code the interruption. Thus, according to a preferred embodiment, the forcing by the slave circuit is synchronized to the pulses of the clock signal. This allows to adapt to different B10410 - 10-RO-149
9 fréquences d'horloge. De plus, cela rend possible un codage de l'interruption pour, par exemple, coder la nature de l'évènement ayant déclenché ce message d'interruption. Le forçage doit être rapide suite à l'apparition du front d'horloge afin d'éviter des pics sur le signal d'horloge. On tire pour cela profit du fait que les dispositifs maître et esclave comportent généralement des filtres passe-bas en entrée des circuits exploitant les signaux SDA et SCL. Par conséquent, en détectant un front en amont du filtre côte esclave pour forcer le signal SCL à zéro, le pic lié au forçage est filtré par le filtre du circuit maître. La figure 6 représente un mode de réalisation préféré d'un circuit 34 côté dispositif esclave. L'interrupteur 36 est réalisé, par exemple, sous la forme d'un transistor MOS MN36 à canal N reliant la borne 37 de connexion du circuit esclave au fil 42 de signal SCL à la masse. Un décodeur logique 342 (LOGIC) active un signal INHIB à destination d'un circuit 346 analogique (ANALOG) de commande du transistor MN36. Ce signal INHIB est chargé de synchroniser le signal d'interruption sur le front descendant du signal SCL, lorsqu'un signal INT est activé par le dispositif esclave. Le circuit 342 fournit également un signal 343 à un compteur 344 d'impulsions. Le circuit 346 a une entrée connectée à la borne 37 et fournit un signal d'horloge CLK au compteur 344. Lorsque la valeur du compteur atteint une valeur définie, ce résultat est fourni au bloc logique 342 sur une liaison 345 pour désactiver le signal INHIB. Le rôle du compteur 344 est de fixer le nombre d'impulsions inhibées du signal SCL. Le seuil de comptage est de préférence fixe, par exemple, 1 pour inhiber une impulsion, 2 pour inhiber deux impulsions, etc. La borne 37 est, par ailleurs et de façon habituelle, reliée aux autres circuits (OC) du circuit esclave, dont le filtre passe-bas, pour en extraire, en fonctionnement normal, le signal de synchronisation lui permettant de décoder le signal SDA transmis sur le fil 44.9 clock frequencies. In addition, this makes it possible to encode the interrupt to, for example, encode the nature of the event that triggered this interrupt message. Forcing must be fast following the appearance of the clock edge in order to avoid peaks on the clock signal. For this purpose, advantage is taken of the fact that the master and slave devices generally comprise low-pass filters at the input of the circuits exploiting the signals SDA and SCL. Therefore, by detecting a front edge of the slave coast filter to force the SCL signal to zero, the forcing peak is filtered by the master circuit filter. Fig. 6 shows a preferred embodiment of a slave device circuit 34. The switch 36 is made, for example, in the form of an N-channel MOS transistor MN36 connecting the connection terminal 37 of the slave circuit to the signal wire SCL 42 to ground. A logic decoder 342 (LOGIC) activates an INHIB signal to an analog control circuit 346 (ANALOG) of the transistor MN36. This signal INHIB is responsible for synchronizing the interrupt signal on the falling edge of the signal SCL, when an INT signal is activated by the slave device. Circuit 342 also provides a signal 343 to a pulse counter 344. The circuit 346 has an input connected to the terminal 37 and provides a clock signal CLK to the counter 344. When the counter value reaches a defined value, this result is supplied to the logic block 342 on a link 345 to disable the INHIB signal. . The role of the counter 344 is to set the number of inhibited pulses of the SCL signal. The counting threshold is preferably fixed, for example, 1 to inhibit a pulse, 2 to inhibit two pulses, etc. The terminal 37 is, moreover, and in the usual way, connected to the other circuits (OC) of the slave circuit, including the low-pass filter, in order to extract, during normal operation, the synchronization signal enabling it to decode the transmitted SDA signal. on the wire 44.
B10410 - 10-RO-149B10410 - 10-RO-149
10 La figure 7 représente un exemple de réalisation du bloc analogique 346 du circuit de la figure 6. La grille du transistor MN36 est reliée au point milieu d'une association en série d'un transistor MOS à canal P MP1 et d'un transistor MOS à canal N MN1 entre le potentiel Vdd et la masse. Le transistor MP1 est monté en miroir sur un transistor MOS à canal P MP2, monté en diode entre une borne d'application de la tension Vdd et un transistor MOS à canal N MN3 (de préférence natif, à faible tension seuil) dont la grille est reliée à la borne 37.FIG. 7 represents an exemplary embodiment of the analog block 346 of the circuit of FIG. 6. The gate of the transistor MN36 is connected to the midpoint of a series connection of a P-channel MOS transistor MP1 and a transistor. N-channel MN1 MOS between potential Vdd and ground. The transistor MP1 is mirrored on a P-channel MOS transistor M 2, diode-connected between an application terminal of the voltage Vdd and an N-channel MOS transistor MN3 (preferably native, with a low threshold voltage) whose gate is connected to terminal 37.
L'autre borne du transistor MN3 est reliée à la masse par l'intermédiaire d'un transistor MOS à canal N MN2 dont la grille reçoit le signal INHIB. La grille du transistor MN1 reçoit un niveau de référence Vref. Enfin, une association en série d'un transistor MOS à canal P MP3 et d'un transistor MOS à canal N MN4, entre le potentiel Vdd et la masse, a son point milieu relié à l'entrée d'horloge CLK du compteur par l'intermédiaire de deux inverseurs de mise à niveau I1 et I2. La grille du transistor MN4 est reliée à la borne d'application du potentiel Vref. Le potentiel Vref est choisi proche des tensions seuil des transistors MN1 et MN4 de sorte que ces derniers fonctionnent en source de courant. Le transistor MP3 est monté en miroir de courant sur le transistor MP2. Les figures 8A à 8G illustrent le fonctionnement du circuit de la figure 7. Ces figures représentent respectivement un exemple d'allure des signaux SCL, CMDSCL, INT, INHIB, CLK, CMD36 et OUT représentant la sortie 345 du compteur 344. En fonctionnement normal, le signal INHIB étant à l'état bas, le transistor MN2 est bloqué et l'ensemble du circuit de la figure 7 est désactivé.The other terminal of transistor MN3 is connected to ground via an N-channel MOS transistor MN2 whose gate receives the signal INHIB. The gate of transistor MN1 receives a reference level Vref. Finally, a series connection of a P-channel MOS transistor MP3 and an N-channel MOS transistor MN4, between the potential Vdd and ground, has its mid-point connected to the clock input CLK of the counter by via two leveling inverters I1 and I2. The gate of the transistor MN4 is connected to the potential application terminal Vref. The potential Vref is chosen close to the threshold voltages of the transistors MN1 and MN4 so that the latter operate as a current source. The MP3 transistor is mounted in current mirror on the transistor MP2. FIGS. 8A to 8G illustrate the operation of the circuit of FIG. 7. These figures respectively represent an example of the appearance of the signals SCL, CMDSCL, INT, INHIB, CLK, CMD36 and OUT representing the output 345 of the counter 344. In normal operation the signal INHIB being in the low state, the transistor MN2 is blocked and the entire circuit of FIG. 7 is deactivated.
A l'apparition d'un signal d'interruption INT (instant t1), le bloc 342 active au front descendant suivant du signal SCL (instant t2) le signal d'inhibition INHIB. Cela provoque une activation de l'horloge CLK du compteur qui se met à compter au rythme du signal SCL. Lorsque le signal INHIB est à l'état haut, le transistor MN2 est passant et, à l'apparition d'un front B10410 - 10-RO-149When an interruption signal INT (instant t1) occurs, the block 342 activates the inhibit signal INHIB at the next falling edge of the signal SCL (time t2). This causes an activation of the clock CLK of the counter which starts to count at the rhythm of the signal SCL. When the signal INHIB is in the high state, the transistor MN2 is on and, at the appearance of a front B10410 - 10-RO-149
11 montant du signal SCL fourni par le circuit maître, la source de courant MP2 est activée. Il en découle d'une part un incrément du compteur et, d'autre part, une fermeture du transistor MN36 donc un forçage du signal SCL à un niveau correspondant à la tension seuil du transistor MN3. Le comptage démarre au front montant suivant (instant t3) du signal SCL, détecté par le circuit 346 avant qu'il ne soit filtré par le filtre passe-bas du circuit esclave. La fermeture du transistor MN36 fait disparaître l'impulsion du signal SCL.11 amount of the SCL signal provided by the master circuit, the current source MP2 is activated. This results, on the one hand, in an increment of the counter and, on the other hand, a closing of the transistor MN36, thus a forcing of the signal SCL to a level corresponding to the threshold voltage of the transistor MN3. The count starts at the next rising edge (time t3) of the signal SCL, detected by the circuit 346 before it is filtered by the low-pass filter of the slave circuit. Closing transistor MN36 removes the signal pulse SCL.
Le mode de réalisation des figures 6 et 7 permet une fermeture synchronisée du transistor MN36 uniquement pendant les périodes où le signal d'horloge est actif. La figure 9 représente un exemple de réalisation d'un détecteur 13 d'interruption côté émetteur.The embodiment of FIGS. 6 and 7 allows synchronized closing of transistor MN36 only during periods when the clock signal is active. FIG. 9 represents an exemplary embodiment of a transmitter-side interrupt detector 13.
Par exemple, on utilise une bascule 50 de type D dont l'entrée de donnée reçoit l'inverse (inverseur 52) du signal SCL, dont l'entrée de réinitialisation RESET reçoit le signal SCL et dont l'entrée d'horloge CLOCK reçoit le signal CMDSCL- La sortie Q non inversée de la bascule fournit le signal ERR.For example, a D-type flip-flop 50 is used whose data input receives the inverse (inverter 52) of the signal SCL, whose RESET reset input receives the signal SCL and whose CLOCK clock input receives the signal CMDSCL- The non-inverted Q output of the flip-flop provides the ERR signal.
Les figures 10A, 10B et 10C sont des chronogrammes représentant des exemples d'allure des signaux CMDSCL SCL et ERR, illustrant le fonctionnement du détecteur 13 de la figure 9. Les figures 10A et 10B reprennent les figures 8B et 8A. La période T représente la période de deux cycles débutant à l'instant t3 pendant laquelle le signal SCL est forcé au niveau de la tension seuil du transistor MN3 par l'esclave. Le basculement de la sortie Q intervient (instant t5) avec un léger retard suite au front montant du signal CMDSCL qui suit l'instant t3. Le signal ERR est relâché à un instant t6 où le niveau réapparu du signal SCL est suffisant pour commuter la bascule. Le seuil de comptage peut être programmable pour, le cas échéant, fournir au circuit maître une information sur la nature de l'erreur. Différents modes de codage de cette information sont possibles. Par exemple, le nombre d'impulsions B10410 - 10-RO-149Figs. 10A, 10B, and 10C are timing diagrams showing exemplary patterns of the SCL and ERR CMDSCL signals, illustrating the operation of the detector 13 of Fig. 9. Figs. 10A and 10B show Figs. 8B and 8A. The period T represents the period of two cycles starting at the instant t3 during which the signal SCL is forced at the threshold voltage of the transistor MN3 by the slave. The switching of the output Q occurs (time t5) with a slight delay following the rising edge of the signal CMDSCL following the time t3. The ERR signal is released at a time t6 where the reappeared level of the SCL signal is sufficient to switch the flip-flop. The counting threshold may be programmable to, if necessary, provide the master circuit with information on the nature of the error. Different modes of coding this information are possible. For example, the number of pulses B10410 - 10-RO-149
12 inhibées code un type de message d'erreur. En variante, une alternance d'inhibitions et de maintiens des périodes d'horloge selon une séquence définie code l'interruption. Le signal d'interruption peut avoir des applications multiples. Par exemple, il peut servir à indiquer au circuit maître que le circuit esclave ne fonctionne pas correctement (signal d'erreur). Le codage possible de l'interruption permet par exemple de renseigner sur la nature de l'erreur. Selon un autre exemple, le traitement d'interruption 10 sert à identifier le circuit esclave en transmettant un code d'identification de celui-ci. Divers modes de réalisation ont été décrits, diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, la détection côté émetteur d'une inhibition du 15 signal d'horloge est à la portée de l'homme du métier en utilisant des circuits en eux-mêmes usuels. Par exemple, à chaque fois que le circuit maître déclenche un front montant sur le signal SCL (par exemple en exploitant l'état du signal CMDSCL), il détecte si le signal SCL ne reste pas à l'état haut 20 pendant la durée de fermeture de l'interrupteur 46. De plus, la mise en oeuvre pratique de l'invention est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus en particulier pour ce qui concerne le codage des différents types d'erreur.12 inhibited code a type of error message. Alternatively, an alternation of inhibitions and of maintaining clock periods in a defined sequence encodes the interruption. The interrupt signal can have multiple applications. For example, it can be used to indicate to the master circuit that the slave circuit is not working properly (error signal). The possible coding of the interrupt makes it possible, for example, to provide information on the nature of the error. In another example, interrupt processing 10 serves to identify the slave circuit by transmitting an identification code thereof. Various embodiments have been described, various variations and modifications will be apparent to those skilled in the art. In particular, the transmitter-side detection of a clock signal inhibition is within the abilities of the person skilled in the art using circuits that are in themselves usual. For example, each time the master circuit triggers a rising edge on the SCL signal (for example by exploiting the state of the CMDSCL signal), it detects whether the SCL signal does not remain high for the duration of the signal. closing switch 46. In addition, the practical implementation of the invention is within the abilities of those skilled in the art from the functional indications given above, in particular with regard to the coding of the different types of 'error.
25 En outre, bien que l'invention ait été décrite en relation avec un bus bifilaire, elle s'applique plus généralement à tout système de communication comportant au moins un fil véhiculant un signal de synchronisation, par exemple un bus comportant un fil d'horloge et plusieurs fils de données, 30 pourvu que le signal d'horloge puisse être forcé à zéro (ou proche de zéro) par le circuit esclave, sans que le circuit maître ne risque d'être endommagé en essayant de tirer ce signal à l'état haut.In addition, although the invention has been described in relation to a two-wire bus, it more generally applies to any communication system comprising at least one wire carrying a synchronization signal, for example a bus comprising a wire. clock and several data wires, provided that the clock signal can be forced to zero (or close to zero) by the slave circuit, without the master circuit being at risk of being damaged by attempting to pull this signal to the user. high state.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1056151AFR2963450B1 (en) | 2010-07-27 | 2010-07-27 | INTERRUPT MESSAGE ON I2C BUS |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1056151AFR2963450B1 (en) | 2010-07-27 | 2010-07-27 | INTERRUPT MESSAGE ON I2C BUS |
| Publication Number | Publication Date |
|---|---|
| FR2963450A1true FR2963450A1 (en) | 2012-02-03 |
| FR2963450B1 FR2963450B1 (en) | 2013-04-19 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR1056151AActiveFR2963450B1 (en) | 2010-07-27 | 2010-07-27 | INTERRUPT MESSAGE ON I2C BUS |
| Country | Link |
|---|---|
| FR (1) | FR2963450B1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5925135A (en)* | 1996-09-26 | 1999-07-20 | Intel Corporation | Clock rate compensation for a low frequency slave device |
| US20050165989A1 (en)* | 2004-01-26 | 2005-07-28 | Yong-Jae Kim | I2C communication system and method enabling bi-directional communications |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5925135A (en)* | 1996-09-26 | 1999-07-20 | Intel Corporation | Clock rate compensation for a low frequency slave device |
| US20050165989A1 (en)* | 2004-01-26 | 2005-07-28 | Yong-Jae Kim | I2C communication system and method enabling bi-directional communications |
| Title |
|---|
| NEGUT A ET AL: "Temperature sensor, band-gap voltage reference and I<2>C interface for CAT75", SEMICONDUCTOR CONFERENCE, 2005. CAS 2005 PROCEEDINGS. 2005 INTERNATION AL SINAIA, ROMANIA 3-5 OCT. 2005, PISCATAWAY, NJ, USA,IEEE, US LNKD- DOI:10.1109/SMICND.2005.1558810, vol. 2, 3 October 2005 (2005-10-03), pages 397 - 400, XP010863817, ISBN: 978-0-7803-9214-4* |
| PHILIPS SEMICONDUCTORS: "The I2C-bus specification, version 2.1", PHILIPS SEMICONDUCTORS, PHILIPS, NL, 1 January 2000 (2000-01-01), pages 1 - 46, XP002464622* |
| Publication number | Publication date |
|---|---|
| FR2963450B1 (en) | 2013-04-19 |
| Publication | Publication Date | Title |
|---|---|---|
| EP2146287B1 (en) | Interface between a two-wire bus and a single-wire bus | |
| EP2312452B1 (en) | Communication protocol on a one-wire bus | |
| EP2413249B1 (en) | Communication protocol on single-wire bus | |
| EP0269481B1 (en) | Method and device for transmitting digita data | |
| US5377227A (en) | Adaptive data recovery for spread spectrum systems | |
| US9710423B2 (en) | Methods to send extra information in-band on inter-integrated circuit (I2C) bus | |
| EP2109247B1 (en) | Detection of data received by a master device in a single-wire communication protocol | |
| FR2965374A1 (en) | MASTER-SLAVE COMMUNICATION ON A UNIFILARY BUS BETWEEN A MASTER CIRCUIT AND AT LEAST TWO SLAVE CIRCUITS | |
| EP0631240A1 (en) | Circuit for data transmission | |
| FR2963449A1 (en) | CONVERSION OF A BIFILAR BUS IN A UNIFIL BUS | |
| EP2368192B1 (en) | Transmission over i2c bus | |
| FR2556535A1 (en) | CIRCUIT FOR CONTROLLING TRANSMISSIONS ON AN OPTICAL DATA BUS | |
| EP2134026A1 (en) | Method for broadband data transmission and corresponding device(s) | |
| FR2988949A1 (en) | COMMUNICATION DEVICE AND METHOD FOR ERROR PROGRAMMING OR CORRECTION OF ONE OR MORE PARTICIPANTS OF THE COMMUNICATION DEVICE | |
| EP1215821B1 (en) | Circuit for securing a minimal transition frequency on a serial link | |
| CA2297510C (en) | Circuitry for electrical device in multi-device communications system | |
| JPH0629954A (en) | Error detection | |
| FR2963450A1 (en) | Interruption signal transmitting method for indicating that slave circuit is not operating correctly for master circuit in communication system, involves inhibiting synchronization signal on conductor i.e. wire, by interruption signal | |
| EP0199294B1 (en) | Method and device for signalling over a bidirectional digital transmission link | |
| JPH04103743U (en) | Asynchronous binary data communication circuit | |
| EP0112429B1 (en) | System for the transmission of data by repetitive sequences | |
| EP0288353B1 (en) | Method for switching asyschronous digital signals, and device for carrying out this method | |
| EP1612985B1 (en) | Bidirectional communication | |
| FR3093198A1 (en) | Transmission of linked data on I2C bus | |
| FR3071938A1 (en) | DETECTION OF A TEMPORAL CONDITION ON A BIFILAR BUS |
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment | Year of fee payment:7 | |
| PLFP | Fee payment | Year of fee payment:8 | |
| PLFP | Fee payment | Year of fee payment:9 | |
| PLFP | Fee payment | Year of fee payment:11 | |
| PLFP | Fee payment | Year of fee payment:12 | |
| PLFP | Fee payment | Year of fee payment:13 | |
| PLFP | Fee payment | Year of fee payment:14 | |
| PLFP | Fee payment | Year of fee payment:15 | |
| PLFP | Fee payment | Year of fee payment:16 |