FR2969451A1 - Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert - Google Patents

Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert Download PDF

Info

Publication number
FR2969451A1
FR2969451A1 FR1060699A FR1060699A FR2969451A1 FR 2969451 A1 FR2969451 A1 FR 2969451A1 FR 1060699 A FR1060699 A FR 1060699A FR 1060699 A FR1060699 A FR 1060699A FR 2969451 A1 FR2969451 A1 FR 2969451A1
Authority
FR
France
Prior art keywords
bits
packet
words
bus
bit
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.)
Granted
Application number
FR1060699A
Other languages
English (en)
Other versions
FR2969451B1 (fr
Inventor
Francois Tailliet
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.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
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 STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Priority to FR1060699A priority Critical patent/FR2969451B1/fr
Priority to US13/326,922 priority patent/US8667185B2/en
Publication of FR2969451A1 publication Critical patent/FR2969451A1/fr
Application granted granted Critical
Publication of FR2969451B1 publication Critical patent/FR2969451B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration

Abstract

Selon un mode de mise en œuvre, les bits d'identifiants des esclaves sont testés récursivement par groupes de p bits. Pour ces p bits, chaque esclave va reconnaître dans ses p bits correspondants d'identifiant, une combinaison parmi les 2 possibles. Les esclaves répondent simultanément (20) sur le bus, par exemple un bus I C, à une requête du maître. La réponse se fait en sortant une suite de « 1 » dans laquelle chaque esclave intercale un « 0 », qui est par exemple la valeur logique prioritaire sur le bus, la position du « 0 » dans la suite de « 1 » étant fonction de la valeur binaire de la combinaison reconnue par l'esclave dans le groupe de p bits de son identifiant. Le maître détermine au vol progressivement (22) à partir des bits de la trame reçue les valeurs de bits de ces informations numériques.

Description

B10-4488FR 1 Procédé et dispositif de communication entre un maître et plusieurs esclaves suivant un protocole de communication série, en particulier du type à drain ouvert L'invention concerne la communication entre un maître et plusieurs esclaves, notamment connectés sur un bus sur lequel lesdits esclaves et le maître communiquent selon un protocole de communication série du type à drain ouvert, par exemple un protocole I2C (Inter Integrated Circuit).
L'invention concerne plus particulièrement un procédé d'inventaire sur protocole série drain ouvert, et notamment la gestion de réponses simultanées par les esclaves. Dans certaines applications, il peut être nécessaire, lorsque plusieurs esclaves sont présents sur un bus adapté pour un protocole de communication série du type drain ouvert, de pouvoir les identifier bien que ceux-ci soient non discernables initialement par leur adresse. Or, actuellement, il n'est pas possible, avec des protocoles série classiques tels que le protocole I2C par exemple, de gérer les conflits de réponse lorsque plusieurs circuits esclaves répondent simultanément sur le bus. Selon un mode de mise en oeuvre et de réalisation, il est proposé un procédé et un dispositif permettant d'adresser sur un bus série du type drain ouvert, des esclaves ne se connaissant pas initialement, en nombre illimité, connu ou inconnu, sans contrainte d'adressage. Selon un mode de mise en oeuvre et de réalisation, il est proposé un procédé et un dispositif qui permettent d'identifier de façon très simple un nombre n connu d'esclaves. Selon un mode de mise en oeuvre, il est proposé un procédé de reconnaissance itérative, par groupes de bits, d'une partie ou de l'intégralité des informations numériques, par exemple leur identifiant, associées aux modules esclaves, ou plus simplement esclaves.
Pour le cas où le nombre d'esclaves à reconnaître est connu, par exemple n, la reconnaissance itérative peut être stoppée dès que n esclaves ont été identifiés (dans ce cas, seule une partie de l'identifiant peut être récupérée et est suffisante pour discerner les différents esclaves). Pour le cas où le nombre d'esclaves n'est pas connu, la reconnaissance itérative peut aller jusqu'à son terme pour récupérer tous les bits d'identifiants. Selon un mode de mise en oeuvre, les bits d'identifiants sont testés récursivement par groupes de p bits (il y a donc 2" combinaisons de valeurs possibles par groupe). Pour ces p bits, chaque esclave va reconnaître dans ses p bits correspondants d'identifiant, une combinaison parmi les 2" possibles. Les esclaves répondent simultanément sur le bus, par exemple le bus I2C, à une requête du maître. La réponse se fait en sortant une suite de « 1 » dans laquelle chaque esclave intercale un « 0 », qui est par exemple la valeur logique prioritaire sur le bus, la position du « 0 » dans la suite de « 1 » étant fonction de la valeur binaire de la combinaison reconnue par l'esclave dans le groupe de p bits de son identifiant.
Une fois la réponse au premier groupe de p bits obtenue, il faut tester le second groupe de p bits. Si le premier groupe de p bits a eu plusieurs combinaisons reconnues, chaque combinaison reconnue pour le premier groupe donne lieu à une réponse pour la reconnaissance du second groupe. Les réponses de reconnaissance du second groupe sont séquentielles, dans l'ordre correspondant à la valeur binaire reconnue dans le premier groupe. Le même principe est appliqué pour le troisième groupe et les groupes suivants. Ainsi, selon un aspect, il est proposé un procédé de communication entre un module maître et plusieurs modules esclaves connectés sur un bus sur lequel lesdits modules esclaves communiquent simultanément avec la module maître selon un protocole de communication série du type à état logique prioritaire, ledit procédé comprenant une transmission vers le module maître d'une succession de paquets de mots numériques de 2" bits, p étant supérieur ou égal à 1, les paquets successifs étant respectivement associés à des groupes successifs de p bits d'informations numériques, par exemple des identifiants, associées auxdits modules esclaves et destinées à être communiquées au module maître, les 2" bits d'un mot courant d'un paquet courant étant respectivement associés aux 2" combinaisons possibles de valeurs des bits du groupe associé audit paquet courant, ces 2" combinaisons possibles étant prises dans un ordre prédéterminé, la valeur de chaque bit du mot courant ayant l'état logique prioritaire, par exemple l'état logique « 0 », Si les valeurs des p bits de l'information numérique de l'un au moins des modules esclaves correspondent à ladite combinaison de valeurs associée à ce bit, et l'autre état logique sinon; le procédé comprend également une détermination par le module maître des valeurs des bits des informations numériques associées aux modules esclaves à partir des valeurs des bits des mots successivement reçus. Au lieu de transmettre directement les informations numériques, il est avantageusement prévu une transmission vers le module maître d'une succession de paquets de mots numériques de 2" bits dont les valeurs des bits sont représentatives des valeurs des bits de ces informations numériques, et permettant au final de déterminer à partir des bits de la trame reçue par le module maître les valeurs de bits de ces informations numériques. Dans l'étape de détermination, le module maître est capable de déterminer (reconstruire) les valeurs de p bits des informations numériques à chaque réception d'un bit ayant la valeur logique prioritaire. Cette reconstruction (détermination) des bits des informations numériques se fait ainsi progressivement, c'est-à-dire de proche en proche, à partir des bits reçus et on garde le synchronisme côté maître et côté esclaves. Cela étant, même si cette reconstruction se fait de proche en proche à partir des bits reçus, en particulier ceux ayant la valeur logique prioritaire, elle peut être effectuée par exemple après réception et stockage de la trame complète ou d'une partie de cette trame, ou bien au vol c'est-à-dire au rythme des bits successivement reçus, et en particulier au rythme des bits reçus ayant la valeur logique prioritaire. Pour un groupe de p bits de son information numérique associée, un esclave va transmettre sur le bus un « 0 » ou un « 1 » en fonction des valeurs de ces p bits. Puisque les esclaves transmettent simultanément sur le bus et si l'état logique prioritaire est l'état « 0 », un « 1 » sera transmis sur le bus si tous les esclaves transmettent un « 1 » tandis qu'un « 0 » sera transmis sur le bus si au moins un esclave transmet un « 0 » même si les autres esclaves transmettent simultanément un « 1 » Selon un mode de mise en oeuvre, les modules esclaves analysent les contenus des différents mots circulant successivement sur le bus, le nombre de mots du premier paquet est égal à un, et le nombre de mots d'un paquet de rang courant supérieur à un dépend du nombre de mots du paquet de rang précédent et des valeurs de bits de ces mots. Le nombre de mots dudit paquet de rang courant est par exemple égal au nombre de bits ayant ledit état logique prioritaire dans le paquet de rang précédent. Bien que le procédé puisse s'appliquer pour toute valeur de p supérieure ou égale à un et inférieure ou égale au nombre P de bits desdites informations numériques, par exemple les identifiants, il s'avère avantageux d'utiliser pour p une valeur prise égale à deux ou trois, par exemple égale à deux. En effet, ceci fournit un bon compromis entre notamment la vitesse de traitement et le nombre de combinaisons possibles de valeurs des bits d'un groupe. Le bus est par exemple un bus dit à drain ou collecteur ouvert, avec un état logique prioritaire égal à zéro.
Selon un mode de mise en oeuvre, le module maître peut commander l'arrêt de la transmission des mots sur le bus par les modules maîtres, après avoir déterminé une partie seulement des valeurs des bits des informations numériques associées aux modules esclaves.
C'est le cas notamment lorsque le nombre de modules esclaves à identifier est connu. Dans ce cas, dès que l'on obtient une partie des identifiants permettant de discriminer le nombre connu de modules esclaves, on peut stopper la détermination des valeurs des bits des informations numériques associées aux modules esclaves. Selon un autre aspect, il est également proposé un dispositif comprenant un module maître et plusieurs modules esclaves connectés sur un bus sur lequel lesdits modules esclaves sont configurés pour communiquer simultanément avec le module maître selon un protocole de communication série du type à état logique prioritaire, les modules esclaves comprenant des moyens de transmission configurés pour transmettre vers le module maître une succession de paquets de mots numériques de 2" bits, p étant supérieur ou égal à 1, les paquets successifs étant respectivement associés à des groupes successifs de p bits d'informations numériques associées auxdits modules esclaves et destinées à être communiquées au module maître, les 2" bits d'un mot courant d'un paquet courant étant respectivement associés aux 2" combinaisons possibles, prises dans un ordre prédéterminé, des valeurs des bits du groupe associé audit paquet courant, la valeur de chaque bit du mot courant ayant l'état logique prioritaire si les valeurs des p bits de l'information numérique de l'un au moins des modules esclaves correspondent à ladite combinaison de valeurs associée à ce bit, et l'autre état logique sinon, et le module maître comprend des moyens de traitement configurés pour effectuer une détermination des valeurs des bits des informations numériques associées aux modules esclaves à partir des valeurs des bits des mots successivement reçus. Selon un mode de réalisation, les modules esclaves comprennent des moyens d'analyse configurés pour analyser les contenus des différents mots circulant successivement sur le bus, et les moyens de transmission sont configurés pour transmettre ladite succession de paquets dans laquelle le nombre de mots du premier paquet est égal à un, et le nombre de mots d'un paquet de rang courant supérieur à un dépend du nombre de mots du paquet de rang précédent et des valeurs des bits de ces mots.
Par exemple, le nombre de mots dudit paquet de rang courant est égal au nombre de bits ayant ledit état logique prioritaire dans le paquet de rang précédent. Selon un mode de réalisation, le module maître comprend en outre des moyens de commande configurés pour commander l'arrêt de la transmission des mots sur le bus après avoir déterminé une partie seulement des valeurs des bits des informations numériques associées aux modules esclaves. Chaque module esclave peut comprendre un étage de sortie du type à drain ou collecteur ouvert connecté sur le bus. En variante, chaque module esclave peut comprendre un étage de sortie connecté sur le bus et comprenant des premiers moyens activables agencés pour configurer l'étage de sortie dans une configuration du type symétrique (communément désignée par l'homme du métier sous la dénomination anglo-saxonne « push-pull »), des deuxièmes moyens activables agencés pour configurer l'étage de sortie dans une configuration du type drain ou collecteur ouvert, des moyens d'activation commandables configurés pour activer sélectivement les premiers moyens ou les deuxièmes moyens en réponse à un signal d'activation, les premiers moyens et les deuxièmes moyens comportant une partie commune. Un tel mode de réalisation permet de pouvoir appliquer le procédé défini ci-avant pour la communication entre un maître et plusieurs esclaves configuré pour dialoguer a priori selon un protocole de communication qui n'est pas du type à drain ouvert, par exemple un protocole SPI (Serial Peripheral Interface). C'est le cas notamment pour le dialogue entre un processeur et plusieurs modules mémoires mortes électriquement programmables et effaçables (mémoires EEPROM). Dans ce cas, en modifiant la configuration des étages de sortie, on transforme le bus SPI en un bus du type à drain ouvert, qui permet de supporter le procédé de communication défini ci-avant. On peut ainsi par exemple aisément détecter et/ou identifier les modules mémoires sans utiliser la ligne dénommée « chip select » du bus SPI.
Selon un autre aspect, il est proposé un module maître appartenant au dispositif tel que défini ci-avant. Selon encore un autre aspect, il est également proposé un module esclave appartenant au dispositif tel que défini ci-avant.
D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée de modes de mise en oeuvre et de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : - la figure 1 illustre schématiquement un mode de réalisation d'un dispositif selon l'invention, - la figure 2 illustre schématiquement des étapes d'un mode de mise en oeuvre d'un procédé selon l'invention, - les figures 3 à 24 illustrent un exemple particulier de mise en oeuvre du procédé selon l'invention, - la figure 25 est relative à un autre exemple particulier de mise en oeuvre du procédé selon l'invention, et, - les figures 26 à 28 illustrent schématiquement d'autres modes de réalisation d'un étage de sortie connecté sur le bus. Sur la figure 1, la référence DIS désigne un dispositif comprenant, dans le cas présent, un module maître MMT, plus simplement désigné par « maître », ainsi que plusieurs modules esclaves MS1-MSn, plus simplement désignés par « esclaves ». Le maître MMT et les esclaves MSi sont connectés sur un bus BS et sont capables de communiquer selon un protocole de communication série du type à état logique prioritaire. Dans le cas présent, on supposera que le protocole de communication est un protocole à drain ou collecteur ouvert, bien 30 connu de l'homme du métier, par exemple un protocole I2C. A cet égard, chaque esclave MSi comporte un étage de sortie ETS du type à drain ou collecteur ouvert, de structure classique et connue en soi par l'homme du métier. Plus précisément, cet étage de sortie ETS comporte un transistor dont la source est reliée à la masse, 15 20 25 dont le drain est relié au bus BS, et dont la grille est commandée par des moyens de traitement esclaves MTS, par exemple réalisés de façon logicielle au sein d'un processeur et/ou en tout ou partie par des circuits logiques. Ces moyens MTS comprennent des moyens de transmission MTR et des moyens d'analyse MAL. De même, le module maître MMT comporte un étage de sortie ETS de structure identique, la grille du transistor de cet étage ETS étant commandée par des moyens de traitement maître MTM par exemple également réalisés de façon logicielle au sein d'un microprocesseur. I1 est également prévu, de façon classique et connue en soi, une résistance R connectée entre la tension d'alimentation Vdd, par exemple 5 volts, et le bus BS. Dans une telle configuration, l'état logique prioritaire sur le bus BS est un « 0 » logique. En effet, la ou les résistances de rappel R permettent à la ligne de donnée du bus BS d'être au niveau logique haut (niveau logique 1) si toutes les sorties (drains) des étages de sortie sont aussi au niveau 1. Par contre, si au moins une sortie d'un étage de sortie impose un niveau bas sur la ligne du bus BS (le transistor correspondant est passant), cela va entraîner un niveau bas (état logique 0) sur la ligne correspondante, quels que soient les niveaux des drains des autre étages de sortie. Le bus I2C comporte deux fils de communication, à savoir un fil de données désigné sous le vocable anglosaxon de « SDA » (« Serial Data ») utilisé pour transmettre les données, et un autre fil, désigné sous l'acronyme anglosaxon SCL (« Serial CLock ») utilisé pour transmettre un signal d'horloge synchrone. Sur la figure 1, on a représenté à des fins de simplification uniquement le fil de données SDA du bus BS sur lequel sont connectés les étages de sortie ETS. On se réfère maintenant plus particulièrement à la figure 2, pour décrire les grandes lignes d'un mode de mise en oeuvre d'un procédé de communication selon l'invention.
On suppose ici que les esclaves doivent transmettre, sur le bus, à destination du maître, des informations numériques formées ici de leur identifiant respectif UID l -UIDn. Chaque identifiant UIDi est composé de P bits.
Au lieu de transmettre directement les informations numériques UIDi, il est prévu une transmission par les moyens de transmission MTR des modules esclaves, vers le module maître MMT d'une succession de paquets de mots numériques de 2" bits, p étant supérieur ou égal à 1, et inférieur ou égal à P.
Les paquets successifs sont respectivement associés à des groupes successifs de p bits desdites informations numériques. Les esclaves transmettent simultanément sur le bus BS (étape 20), par exemple en réponse à une commande ou requête du maître. Les 2" bits d'un mot courant d'un paquet courant sont respectivement associés aux 2" combinaisons possibles de valeurs des bits du groupe associé au paquet courant, ces 2" combinaisons possibles étant prises dans un ordre prédéterminé. La valeur de chaque bit du mot courant a l'état logique prioritaire, en l'espèce l'état logique « 0 », Si les valeurs des p bits de l'information numérique de l'un au moins des modules esclaves correspondent à ladite combinaison de valeurs associées à ce bit. Dans le cas contraire, la valeur du bit du mot courant a l'autre état logique, c'est-à-dire l'état logique non prioritaire, en l'espèce l'état logique « 1 ».
En d'autres termes, pour un groupe de p bits de son identifiant, un esclave va transmettre sur le bus un « 0 » ou un « 1 » en fonction des valeurs de ces p bits. Puisque les esclaves transmettent simultanément sur le bus, un « 1 » sera transmis sur le bus si tous les esclaves transmettent un « 1 » tandis qu'un « 0 » sera transmis sur le bus si au moins un esclave transmet un « 0 » même si les autres esclaves transmettent simultanément un « 1 » Les moyens de traitement MTM du maître vont alors pouvoir déterminer progressivement les bits des identifiants à partir des bits reçus sur le bus (étape 22).
Comme on le verra plus en détails ci après, il est possible que des moyens de commande incorporés dans les moyens de traitement MTM arrêtent le processus (étape 23), de façon à ne déterminer qu'une partie seulement des identifiants, par exemple dans le cas où le nombre d'esclaves à identifier est connu et que l'on a déterminé un nombre de bits des identifiants permettant de différencier les différents esclaves. Le procédé comprend également avantageusement dans cet exemple de mise en oeuvre, une analyse par les moyens d'analyse MAL des esclaves (étape 21) des contenus des différents mots circulant successivement sur le bus, ce qui permet d'optimiser la transmission 20 des paquets, notamment en termes de nombre de mots dans chaque paquet. On se réfère maintenant plus particulièrement aux figures 3 à 23, pour décrire un exemple pratique de mise en oeuvre du procédé.
Dans cet exemple, on suppose (figure 3) que le nombre d'esclaves est égal à 8. L'identifiant UIDi de chaque esclave est composé de 32 bits (P=32). Seul le nombre d'esclaves est connu par le maître, les identifiants de ces esclaves ne sont par contre pas connus.
Les bits d'identifiants vont être testés par groupes de deux (p=2). Dans ce mode de mise en oeuvre, le procédé va permettre de différencier les huit esclaves. A cet égard, le maître envoie une commande spécifique et, comme on va le voir plus en détails ci-après, certains au moins des esclaves élaborent une réponse REP, dont une partie du contenu est illustrée sur la figure 4. Cette réponse comporte ici trois paquets successifs PQ1, PQ2, PQ3.
Le premier paquet PQ1 comporte un mot de quatre bits tandis que le deuxième paquet PQ2 comporte quatre mots de quatre bits M12, M22, M32, M42 et que le troisième paquet PQ3 comporte sept mots de quatre bits M13, M23, M33, M43, M53, M63, M73.
On se réfère maintenant plus particulièrement aux figures 5 à 23 pour décrire l'élaboration des mots et paquets de la réponse REP. Puisque les bits des différents identifiants UIDi vont être testés par groupes successifs de deux bits (p=2), il y a 22 combinaisons possibles de valeurs pour chaque groupe. Les différentes combinaisons possibles vont être examinées dans un ordre prédéterminé, par exemple l'ordre 1l, 10, 01, 00. Tout d'abord, les esclaves dont le premier groupe G1 de deux bits de l'identifiant a la combinaison 11 répondent simultanément en transmettant l'état logique prioritaire (« 0 ») sur le bus. I1 s'agit du premier bit du mot du paquet PQ1 (figure 5). Puis, les esclaves dont le premier groupe G1 de deux bits de l'identifiant a la combinaison 10, répondent par un « 0 » logique. I1 s'agit du deuxième bit du mot du paquet PQ1 (figure 6).
Le troisième bit du mot du paquet PQ1 a également l'état logique « 0 » car deux esclaves ont la combinaison 01 dans le premier groupe G1 de deux bits de leur identifiant (figure 7). I1 en est de même pour le quatrième bit du mot du paquet PQ1, car les esclaves 7 et 8 ont la combinaison 00 dans le premier groupe de deux bits de leur identifiant UID7, UID8. Les mots de quatre bits du deuxième paquet PQ2 vont maintenant être élaborés par les esclaves. Dans le cas présent, puisque tous les bits du mot du paquet PQ1 sont à « 0 », les esclaves vont élaborer, dans le paquet PQ2, un mot de quatre bits associé à chaque bit du mot du paquet PQ1. Les mots de quatre bits du paquet PQ2 se rapportent au deuxième groupe de deux bits des identifiants. Et, là encore, on teste les combinaisons de valeurs possibles dans l'ordre 11, 10, 01, 00.
Le premier mot M12 du deuxième paquet PQ2 est associé au premier bit du mot du paquet PQ1. En d'autres termes, ce mot concerne les esclaves dont les identifiants commencent par la combinaison de valeurs 11.
Puisque l'esclave 6 a la combinaison 11 dans le deuxième groupe G2 de deux bits de son identifiant UID6, le premier bit du mot M12 a la valeur « 0 » (figure 9). I1 en est de même pour le deuxième bit du mot M12 du paquet PQ2 (figure 10) puisque l'esclave 4 a, dans le deuxième groupe G2 de deux bits de son identifiant UID4, la combinaison 10. Etant donné qu'aucun esclave qui avait la combinaison 11 dans le premier groupe G1 de deux bits de son identifiant, n'a la combinaison 01 ou la combinaison 00 dans le deuxième groupe G2 de deux bits de son identifiant, les deux derniers bits du mot M12 ont l'état logique non prioritaire, c'est-à-dire l'état logique « 1 ». Le deuxième mot M22 du paquet PQ2 est associé au deuxième bit du mot du paquet PQ1. Puisque aucun des identifiants qui avaient dans leur premier groupe G1 de deux bits la combinaison 10, n'ont ni la combinaison 1l, ni la combinaison 10, les deux premiers bits du deuxième mot M22 du paquet PQ2 ont la valeur logique 1 (figure 11). Par contre, le troisième bit du mot M22 a la valeur logique « 0 » puisque l'esclave 1 a dans son identifiant UIDl la combinaison 01 à la suite de la combinaison 10. Le dernier bit du mot M22 a également la valeur logique « 0 » car l'identifiant UID3 a la combinaison de valeurs 00 à la suite de la combinaison de valeurs 10 (figure 12). Le troisième mot M32 du paquet PQ2 est associé au troisième bit du mot du paquet PQ1 (figure 13). On voit sur cette figure que seul le dernier bit du mot M32 a la valeur logique « 0 » car les identifiants qui avaient la combinaison 01 dans leurs deux premiers bits ont uniquement la combinaison 00. Le quatrième mot M42 du paquet PQ2 est associé au quatrième bit du mot du paquet PQ1 (figure 14). Là, seuls le deuxième bit et le quatrième bit du mot M42 ont la valeur logique « 0 » correspondant à la combinaison 10 à la suite de la combinaison 00 (figure 14) et à la combinaison 00 suivant la combinaison 00 (figure 15).
Puisque le paquet PQ2 comporte sept bits à l'état logique « 0 », le paquet PQ3 va comporter sept mots M13-M73 respectivement associés à ces sept bits ayant la valeur logique « 0 » (figure 16). Les mots de quatre bits du paquet PQ3 se rapportent au troisième groupe G3 de deux bits des identifiants. Le même processus que celui qui vient d'être décrit pour le paquet PQ2 s'applique au paquet PQ3. Plus précisément, comme illustré sur la figure 16, le premier mot M13 du paquet PQ3, qui est associé au premier bit du mot M12 du paquet PQ2 a seulement le quatrième bit ayant la valeur logique « 0 » correspondant à la combinaison 00 dans le troisième groupe G3 de deux bits de l'identifiant UID6, suivant les deux combinaisons 11 et 11. Le deuxième mot M23 du paquet PQ3, associé au deuxième bit du premier mot M12 du paquet PQ2, a quant à lui uniquement le deuxième bit égal à 0, correspondant à la suite de combinaisons 11, 10, 10 de l'identifiant UID4 (figure 17). Le troisième mot M33 du paquet PQ3 associé au troisième bit du deuxième mot M22 du paquet PQ2, a uniquement son troisième bit égal à 0 (figure 18), correspondant à la combinaison 10 faisant suite aux deux combinaisons précédentes 10 et 01 de l'identifiant UIDl. Le quatrième mot M43 du paquet PQ3, associé au quatrième bit du deuxième mot M22 du paquet PQ2, a quant à lui uniquement son deuxième bit égal à 0, correspondant à la présence dans l'identifiant UID3 de la combinaison 10 suivant les deux combinaisons précédentes 10 et 00 (figure 19). Le cinquième mot M53 du troisième paquet PQ3, associé au quatrième bit du troisième mot M32 du paquet PQ2, a quant à lui ses deux premiers bits égaux à 0 (figure 20 et figure 21) correspondant respectivement aux combinaisons 11 et 10 présentes dans les identifiants UID2, UID5 suivant la paire de combinaisons précédentes 01 et 00. Le sixième mot M63 du paquet PQ3 associé au deuxième bit du quatrième mot M42 du paquet PQ2, a uniquement son troisième bit égal à 0, correspondant à la présence dans le troisième groupe G3 de deux bits de l'identifiant UID8, de la combinaison 01 suivant la paire de combinaisons 00 et 10 présentes dans les groupes G1 et G2 (figure 22).
Enfin, le septième mot M73 du paquet PQ3, associé au dernier bit du dernier mot M42 du deuxième paquet PQ2, a uniquement son deuxième bit égal à 0 correspondant à la présence de la combinaison 10 suivant la paire de combinaisons 00 et 00 de l'identifiant UID7 (figure 23).
On voit donc ici que le nombre de mots du premier paquet est égal à 1, et que le nombre de mots d'un paquet de rang courant supérieur à 1 dépend du nombre de mots du paquet de rang précédent et des valeurs des bits de ces mots. Plus précisément, le nombre de mots du paquet de rang courant est égal au nombre de bits ayant ledit état logique prioritaire (0) dans le paquet de rang précédent. Par ailleurs, le séquencement des mots du paquet courant associé au groupe courant de p bits des identifiants, dépend de la valeur de la combinaison du groupe précédent.
Les différents bits de la réponse REP circulant sur le bus à destination du maître, sont élaborés par les esclaves à chaque coup d'horloge. Par ailleurs, à chaque coup d'horloge, le maître analyse le contenu du bus de façon à déterminer, de façon progressive, les valeurs des bits des identifiants à partir des valeurs des bits de la réponse. Ceci est illustré schématiquement sur la figure 24. Ainsi, au coup d'horloge CK1 correspondant à la réception du premier bit du mot du premier paquet PQ1, les moyens de traitement déterminent les deux premiers bits 11 d'un premier identifiant ID1. Au coup d'horloge suivant CK2, la réception du deuxième bit du mot du paquet PQ1 permet d'élaborer les premiers bits 10 d'un deuxième identifiant ID2.
Les réceptions des deux autres bits du mot du paquet PQ1 permettent ensuite de déterminer les deux premiers bits 01 d'un troisième identifiant ID3 et les deux premiers bits 00 d'un quatrième identifiant ID4.
Au coup d'horloge CK5, la réception du bit correspondant de la réponse permet de compléter les deux autres bits de l'identifiant ID1 (bits 11). Puis, au coup d'horloge suivant CK6, la réception du bit correspondant de la réponse permet de commencer à élaborer un cinquième identifiant ID5 ayant comme quatre premiers bits les bits 1110. Le coup d'horloge CK11 (réception du quatrième bit du mot M22 ayant la valeur logique 0) permet de compléter, par les bits 01, l'identifiant ID2.
Le coup d'horloge suivant (CK12) permet l'élaboration des quatre premiers bits (1000) d'un sixième identifiant ID6. Le coup d'horloge CK16 (réception du troisième bit du mot M32 ayant la valeur logique 0) permet de compléter les bits de l'identifiant ID3 (0100).
Le coup d'horloge CK18 permet de compléter les bits de l'identifiant ID4 (0010). Le coup d'horloge CK20 (réception du quatrième bit du mot M42 ayant la valeur logique 0) permet de commencer l'élaboration d'un septième identifiant ID7 (bits 0000).
On voit à ce stade que l'on a reconstruit sept quadruplets différents de bits. Cependant, ceci n'est pas suffisant pour identifier huit esclaves. Le processus de reconstruction progressive des identifiants par le maître se poursuit donc. Au coup d'horloge CK24 l'identifiant ID1 est complété par la combinaison de bits 00.
Les identifiants ID5, ID2, ID6 et ID3 sont également successivement complétés par deux bits aux coups d'horloge CK26, CK30, CK34 et CK37. Puis, au coup d'horloge CK38 correspondant à la réception du deuxième bit du cinquième mot M53 du troisième paquet PQ3, les six premiers bits d'un huitième identifiant ID8 sont élaborés. Enfin, aux coups d'horloge CK43 et CK46, les identifiants ID4 et ID7 sont respectivement complétés par la paire de bits 01 et 10. On a donc obtenu huit sextuplets différents de bits, correspondant à huit identifiants différents ID 1-ID8. Ces huit sextuplets ID8 sont suffisants pour adresser les huit esclaves. Le processus peut donc s'arrêter. On remarque à cet égard que les sextuplets ID1-ID8 correspondent respectivement aux débuts des identifiants UID6, UIDl, UID2, UID8, UID4, UID3, UID7, UID5. Cela étant, si le nombre des esclaves avait été inconnu, il aurait fallu continuer le processus de façon à tester successivement tous les groupes de deux bits des identifiants.
On voit ici que, selon un mode de mise en oeuvre du procédé, le nombre de mots sur le bus ne grandit pas exponentiellement lorsqu'on teste les groupes de p bits successifs des identifiants (ce qui revient à descendre les branches d'un arbre arborescent), car pour chaque groupe Gi de p bits de rang i testé, il y a statistiquement de moins en moins de combinaisons reconnues au rang i+l. Ainsi, pour un nombre raisonnable d'esclaves, on a rapidement une seule combinaison reconnue (un seul 0 dans le mot). L'envoi de commandes par le maître au cours du processus n'est pas nécessaire car celui-ci récupère une chaîne continue de bits à interpréter. Le maître peut simplement envoyer une commande initiale pour lancer le processus et le terminer par une commande spécifique. La chaîne de bits envoyée par les esclaves n'est conditionnée par aucune action du maître.
Une fois l'inventaire fini, il est possible de définir alors un adressage simplifié pour les esclaves. A cet égard, soit le maître soit les esclaves peuvent définir une adresse dynamique attribuée à chaque esclave (adresse volatile ou non volatile).
Un échange typique sur un bus I2C contenant la réponse REP de la figure 4 est illustré sur la figure 25. Plus précisément, dans ce cas, l'échange commence par un bit de début S suivi d'une commande C7-0O3 suivie par un bit d'accusé réception des esclaves référencé « a ».
Puis, la réponse REP est transmise par octets successifs séparés par des bits d'accusés réception « A » émis par le maître. L'arrêt du processus se caractérise par l'émission d'un bit d'absence d'accusé réception référencé « Na ». Enfin, l'échange se termine par un bit d'arrêt référencé « BP ».
Le procédé peut s'interrompre si la réponse du test d'un groupe Gi de p bits de rang donné contient dans le paquet correspondant autant de valeurs logiques prioritaires (0) que le nombre d'esclaves attendus. C'est le cas pour le paquet PQ3 qui comporte huit « 0 ». D'une façon générale, le nombre maximum de bits à transmettre est égal au nombre P de bits d'information numériques (identifiants) multiplié par 2P/p, multiplié par le nombre d'esclaves. A titre d'exemple, pour 128 esclaves ayant chacun un identifiant de 32 bits, ce qui correspond à un ensemble de 8192 bits, le nombre maximum de bits à transmettre sur un bus I2C en tenant compte du neuvième bit A, est égal à 9216 bits, ce qui correspond à une durée de transmission de 23 millisecondes pour une fréquence du bus de 400 kHz. Bien entendu, le nombre de bits peut être considérablement réduit en jouant sur la valeur de p et en appliquant l'analyse des mots par les esclaves telle que décrite ci avant. A cet égard la détermination du nombre de mots du paquet suivant est simplement égale au nombre de « 0 » reçus dans le paquet précédent. Cette information peut être avantageusement utilisée par les esclaves au cours de l'analyse du bus pour sortir les réponses au bon moment et par le maître pour décoder la trame reçue. Cela étant, il est également possible pour les esclaves de ne pas analyser le contenu du bus. Dans ce cas, les esclaves répondront sur le bus compte tenu d'une arborescence de tests prédéterminés au rythme du signal d'horloge, en analysant successivement toutes les combinaisons possibles des différents groupes de bits des identifiants. Cela se traduira simplement, dans l'exemple décrit ci-avant, par l'insertion de mots de quatre bits ayant tous la valeur logique « 1 » dans la réponse REP de la figure 4. L'invention n'est pas limitée aux modes de mise en oeuvre et de réalisation qui viennent d'être décrits mais en embrasse toutes les variantes. Ainsi, alors qu'on a décrit un bus comportant un seul fil de données, il serait possible de prévoir un bus supportant un protocole série du type à drain ouvert, comportant plusieurs fils de données destinés à transmettre en parallèle des blocs de réponse. Mais, cela ne change rien au procédé qui vient d'être décrit, et à l'élaboration des mots et des paquets transmis sur le bus. Certains mots ou certains paquets peuvent être alors transmis en parallèle sur des fils différents. Bien entendu, les informations numériques associées aux différents esclaves peuvent être différentes d'identifiants. En d'autres termes, on peut récupérer, par exemple sur un bus I2C, des données autres que celles relatives à un identifiant. A cet égard, le maître peut adresser une requête à la cantonade, et plusieurs esclaves peuvent répondre simultanément sans adressage individuel, et on peut reconstruire les données individuelles de chaque esclave. L'invention peut être utilisée également dans les fonctions « Serial Presence Detect (SPD) » utilisées dans les barrettes mémoire conformes aux spécifications JEDEC, basées sur le protocole SMBUS, dérivé de l'I2C. Le procédé de communication décrit ci-avant peut également être appliqué entre des modules destinés à communiquer a priori sur un bus supportant un protocole différent d'un protocole série du type à état logique prioritaire. Cet autre protocole peut être par exemple le protocole SPI utilisant des étages de sortie du type symétrique (« push pull). A cet égard il est avantageusement prévu d'utiliser pour chaque module un étage de sortie configurable capable de permettre la modification de bus séries de type « push-pull » afin de leur ajouter des fonctionnalités de type drain ouvert. Les figures 26 à 28 illustrent des exemples de réalisation d'un tel étage de sortie. La figure 26 illustre schématiquement un premier mode de réalisation d'un étage de sortie configurable. Cet étage de sortie ETS comporte une entrée ED pour recevoir un signal SD, par exemple un signal de données, et une sortie BSD connectée sur le bus BS, par exemple sur le fil de données du bus. L'étage de sortie comporte également un premier transistor principal TPI et un deuxième transistor principal TP2. Ces deux transistors sont complémentaires. En d'autres termes, l'un est par exemple un transistor MOS à canal P (transistor TP1) tandis que l'autre est un transistor MOS à canal N (transistor TP2). La source du transistor TP1 est reliée à une borne d'alimentation susceptible de recevoir une tension d'alimentation Vdd, par exemple 5 Volts. La source du deuxième transistor TP2 est reliée à la masse GND et les drains des deux transistors TP1 et TP2 sont reliés ensemble pour former la borne de sortie BSD.
L'étage de sortie comporte également une première porte logique PLI, ici une porte logique NON ET, ainsi qu'une deuxième porte logique PL2, ici une porte logique NON OU. La sortie de la porte logique PLI est reliée à la grille du transistor TP1 et la sortie de la porte logique PL2 est reliée à la grille du transistor TP2. Une première entrée de la porte logique PLI et une première entrée de la porte logique PL2 sont connectées ensemble à la borne d'entrée ED pour recevoir le signal SD.
Une deuxième entrée de la porte logique PLI et une deuxième entrée de la porte logique PL2 sont connectées ensemble par l'intermédiaire d'un inverseur INV1. Ces deuxièmes entrées sont également connectées à une autre borne d'entrée EHZ de l'étage de sortie destiné à recevoir un signal de commande d'état de haute impédance LZ. Enfin, un deuxième inverseur INV2 est connecté entre une entrée d'activation EA et une troisième entrée de la porte logique PLI. L'entrée d'activation EA est destinée à recevoir un signal d'activation OD. Ce signal d'activation OD peut être délivré par exemple par des moyens de traitement du module correspondant MD. Lorsque le signal d'activation OD est à l'état logique 0, l'étage de sortie est placé dans une configuration du type symétrique (push- pull). Dans cette configuration, les portes logiques PLI, PL2, l'inverseur INV1, et les deux transistors principaux TP1 et TP2 sont des premiers moyens formant un étage de sortie du type « push pull » à trois états incluant un état de haute impédance obtenu lorsque le signal de commande de haute impédance LZ a la valeur logique 0. Lorsque le signal d'activation est à l'état logique 1, la porte PLI qui reçoit sur sa troisième entrée l'état logique 0 (sortie de l'inverseur INV2) bloque par conséquent le transistor TP1. L'inverseur INV1, la porte PL2 et le transistor TP2, sont alors des deuxièmes moyens formant un étage de sortie du type à drain ouvert, imposant sur le bus BS, un état logique prioritaire, ici un état logique 0, lorsque le transistor TP2 est passant. Par contre, lorsque le transistor TP2 est bloqué, et à condition que les autres transistors des autres étages de sortie connectés sur le bus soient également bloqués, le bus BS prend l'autre état logique (l'état logique « 1 » ici) par le biais d'au moins une résistance de rappel connectée de façon classique entre le bus et la tension d'alimentation Vdd.
Dans les modes de réalisation illustrés sur les figures 27 et 28, il est prévu que l'étage de sortie ETS incorpore un bloc BLC permettant d'assurer la fonction de rappel du bus vers l'état logique non prioritaire dans une configuration drain ouvert.
Ce bloc BLC est également activable par les moyens d'activation INV2. Par ailleurs, le bloc BLC est agencé de façon à être inactif lorsque le deuxième transistor TP2 est dans son état passant, c'est-à-dire lorsque l'étage de sortie impose l'état logique prioritaire sur le bus BS.
A cet égard, comme illustré sur les figures 27 et 28, le bloc BLC comprend un premier transistor auxiliaire TA1 dont la grille est connectée à la sortie des moyens d'activation (inverseur INV2) ainsi qu'un élément connecté entre le premier transistor auxiliaire et la sortie de l'étage et capable de conférer l'autre état logique à la sortie de l'étage lorsque le deuxième transistor principal TP2 est dans son état bloqué. Cet élément est sur la figure 27 une résistance R. Le bloc BLC comporte par ailleurs un deuxième transistor auxiliaire TA2, ici un transistor MOS à canal P, complémentaire du deuxième transistor principal TP2, connecté entre le premier transistor auxiliaire TA1 et la borne d'alimentation Vdd. La grille du deuxième transistor auxiliaire TA2 est connectée à la grille du deuxième transistor principal TP2. Lorsque le signal d'activation OA présent sur l'entrée d'activation EA est dans l'état logique 0, de façon à configurer l'étage de sortie dans une configuration du type push-pull, le transistor TA1 est bloqué ce qui rend inopérant le bloc BLC. Par contre, lorsque l'entrée EA de l'inverseur INV2 est à l'état logique 1, conférant à l'étage de sortie une configuration du type drain ouvert, la sortie de l'inverseur INV2 est à l'état logique 0 rendant passant le transistor TA1. Et, lorsque le deuxième transistor TP2 reçoit sur sa grille un état logique 1, de façon à le rendre passant et imposer l'état logique prioritaire sur le bus BS, le deuxième transistor auxiliaire TA2 est bloqué rendant inactif le bloc BLC. Par contre, lorsque le transistor TP2 reçoit sur sa grille un état logique 0, ce qui le rend bloqué, le transistor TA2 est passant permettant de tirer le bus vers l'alimentation Vdd via la résistance R. Dans le mode de réalisation de la figure 28, la résistance R est remplacée par un élément actif, par exemple un transistor PMOS supplémentaire TS polarisé sur sa grille par une tension de référence Vref. Les caractéristiques du transistor TS ainsi que la tension de référence Vref sont alors ajustées de façon à ce que le transistor TS soit traversé par un courant IRef plus faible que le courant traversant le deuxième transistor principal TP2 dans son état passant. Ainsi selon un aspect de l'invention, le signal d'activation permet très simplement d'activer ou de désactiver la fonction drain ouvert. Ce signal d'activation active la fonction drain ouvert préalablement à tout mode de fonctionnement nécessitant la fonction drain ouvert, par exemple pour la mise en oeuvre du procédé de communication illustré sur les figures 2 à 25. La commande inverse permet de retourner au mode push-pull standard, lorsque la fonction drain ouvert n'est plus nécessaire. Ainsi, la compatibilité est conservée avec un mode de fonctionnement standard (mode push pull) du bus. Si la fonction drain ouvert n'est pas activée, le fonctionnement SPI standard du bus par exemple est conservé sans perturbation, en particulier sans augmentation de consommation et diminution de vitesse.

Claims (16)

  1. REVENDICATIONS1. Procédé de communication entre un module maître et plusieurs esclaves connectés sur un bus (BS) sur lequel lesdits modules esclaves (MSi) communiquent simultanément avec le module maître (MMT) selon un protocole de communication série du type à état logique prioritaire, ledit procédé comprenant une transmission (20) vers le module maître d'une succession de paquets (PQi) de mots numériques de 2" bits, p étant supérieur ou égal à 1, les paquets successifs (PQi) étant respectivement associés à des groupes successifs (Gi) de p bits d'informations numériques associées auxdits modules esclaves et destinées à être communiquées au module maître, les 2" bits d'un mot courant d'un paquet courant étant respectivement associés aux 2" combinaisons possibles, prises dans un ordre prédéterminé, des valeurs des bits du groupe (Gi) associé audit paquet courant (PQi), la valeur de chaque bit du mot courant ayant l'état logique prioritaire si les valeurs des p bits de l'information numérique de l'un au moins des modules esclaves correspondent à ladite combinaison de valeurs associée à ce bit, et l'autre état logique sinon, et une détermination (22) par le module maître des valeurs des bits des informations numériques associées aux modules esclaves à partir des valeurs des bits des mots successivement reçus.
  2. 2. Procédé selon la revendication 1, dans lequel les modules esclaves analysent (21) les contenus des différents mots circulant successivement sur le bus, le nombre de mots du premier paquet est égal à un, et le nombre de mots d'un paquet de rang courant supérieur à un dépend du nombre de mots du paquet de rang précédent et des valeurs des bits de ces mots.
  3. 3. Procédé selon la revendication 2, dans lequel le nombre de mots dudit paquet de rang courant (PQi) est égal au nombre de bits ayant ledit état logique prioritaire dans le paquet de rang précédent.
  4. 4. Procédé selon l'une des revendications 1 à 3, dans lequel p est égal à deux ou trois.
  5. 5. Procédé selon l'une des revendications précédentes, dans lequel le bus (BS) est à bus dit à drain ou collecteur ouvert avec un état logique prioritaire égal à zéro.
  6. 6. Procédé selon l'une des revendications précédentes, dans lequel le module maître commande l'arrêt (23) de la transmission des mots sur le bus après avoir déterminé une partie seulement des valeurs des bits des informations numériques associées aux modules esclaves.
  7. 7. Dispositif, comprenant un module maître (MMT) et plusieurs modules esclaves (MSi) connectés sur un bus (BS) sur lequel lesdits modules esclaves (MSi) sont configurés pour communiquer simultanément avec le module maître (MMT) selon un protocole de communication série du type à état logique prioritaire, les modules esclaves comprenant des moyens de transmission (MTR) configurés pour transmettre vers le module maître une succession de paquets (PQi) de mots numériques de 2" bits, p étant supérieur ou égal à 1, les paquets successifs (PQi) étant respectivement associés à des groupes successifs (Gi) de p bits d'informations numériques associées auxdits modules esclaves et destinées à être communiquées au module maître, les 2" bits d'un mot courant d'un paquet courant étant respectivement associés aux 2" combinaisons possibles, prises dans un ordre prédéterminé, des valeurs des bits du groupe (Gi) associé audit paquet courant (PQi), la valeur de chaque bit du mot courant ayant l'état logique prioritaire si les valeurs des p bits de l'information numérique de l'un au moins des modules esclaves correspondent à ladite combinaison de valeurs associée à ce bit, et l'autre état logique sinon, et le module maître comprend des moyens de traitement (MTM) configurés pour effectuer une détermination des valeurs des bits des informations numériques associées aux modules esclaves à partir des valeurs des bits des mots successivement reçus.
  8. 8. Dispositif selon la revendication 7, dans lequel les modules esclaves comprennent des moyens d'analyse (MAL) configurés pour analyser les contenus des différents mots circulant successivement sur le bus, et les moyens de transmission (MTR) sont configurés pour transmettre ladite succession de paquets dans laquelle le nombre demots du premier paquet est égal à un, et le nombre de mots d'un paquet de rang courant supérieur à un dépend du nombre de mots du paquet de rang précédent et des valeurs des bits de ces mots.
  9. 9. Dispositif selon la revendication 8, dans lequel le nombre de mots dudit paquet de rang courant (PQi) est égal au nombre de bits ayant ledit état logique prioritaire dans le paquet de rang précédent.
  10. 10. Dispositif selon l'une des revendications 7 à 9, dans lequel p est égal à deux ou trois.
  11. 11. Dispositif selon l'une des revendications 7 à 10, dans lequel le protocole de communication est un protocole de communication dit à drain ou collecteur ouvert avec un état logique prioritaire égal à zéro.
  12. 12. Dispositif selon l'une des revendications 7 à 11, dans lequel le module maître comprend en outre des moyens de commande (MTM) configurés pour commander l'arrêt de la transmission des mots sur le bus après avoir déterminé une partie seulement des valeurs des bits des informations numériques associées aux modules esclaves.
  13. 13. Dispositif selon l'une des revendications 7 à 12, dans lequel chaque module esclave comprend un étage de sortie (ETS) du type à drain ou collecteur ouvert connecté sur le bus.
  14. 14. Dispositif selon l'une des revendications 7 à 12, dans lequel chaque module esclave comprend un étage de sortie connecté sur le bus et comprenant des premiers moyens activables (PLI, PL2, TP1, TP2, INV1) agencés pour configurer l'étage de sortie dans une configuration du type symétrique, des deuxièmes moyens activables (INV1, PL2, TP2) agencés pour configurer l'étage de sortie dans une configuration du type drain ou collecteur ouvert, des moyens d'activation (INV2) commandables configurés pour activer sélectivement les premiers moyens ou les deuxièmes moyens en réponse à un signal d'activation, les premiers moyens et les deuxièmes moyens comportant une partie commune (INV1, PL2, TP2).
  15. 15. Module maître appartenant au dispositif selon l'une des revendications 7 à 14.
  16. 16. Module esclave appartenant au dispositif selon l'une des revendications 7 à 14.
FR1060699A 2010-12-17 2010-12-17 Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert Expired - Fee Related FR2969451B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1060699A FR2969451B1 (fr) 2010-12-17 2010-12-17 Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert
US13/326,922 US8667185B2 (en) 2010-12-17 2011-12-15 Method and device for communication between a master and a number of slaves according to a serial communication protocol, in particular of the open drain type

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060699A FR2969451B1 (fr) 2010-12-17 2010-12-17 Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert

Publications (2)

Publication Number Publication Date
FR2969451A1 true FR2969451A1 (fr) 2012-06-22
FR2969451B1 FR2969451B1 (fr) 2013-01-11

Family

ID=43758132

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060699A Expired - Fee Related FR2969451B1 (fr) 2010-12-17 2010-12-17 Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert

Country Status (2)

Country Link
US (1) US8667185B2 (fr)
FR (1) FR2969451B1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101958477B1 (ko) * 2012-11-13 2019-03-14 현대모비스 주식회사 차량용 lin 통신 시스템 및 이 시스템에서 슬레이브 모듈의 동작 방법
US9569386B2 (en) 2013-04-16 2017-02-14 Nxp B.V. Method and system for single-line inter-integrated circuit (I2C) bus
US9223736B2 (en) * 2013-05-03 2015-12-29 Nxp B.V. Devices and methods for an enhanced driver mode for a shared bus
US9959223B2 (en) 2013-05-08 2018-05-01 Nxp B.V. Method and system for interrupt signaling in an inter-integrated circuit (I2C) bus system
US9477616B2 (en) 2013-08-07 2016-10-25 Micron Technology, Inc. Devices, systems, and methods of reducing chip select
CN106155964B (zh) 2015-03-31 2019-05-21 恩智浦有限公司 使用串行数据传输总线的系统中的地址解码方法与系统
CN110325974B (zh) * 2018-11-27 2023-09-22 深圳市汇顶科技股份有限公司 单通信接口及具有内部/外部寻址模式的方法
CN111984576B (zh) * 2019-05-24 2022-03-22 鸿富锦精密电子(天津)有限公司 数据通信系统以及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037851A1 (fr) * 1995-05-26 1996-11-28 National Semiconductor Corporation Interface serie capable de fonctionner selon deux modes de transfert de donnees en serie differents
WO2006117750A1 (fr) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Codage d'identification de dispositif destine a des dispositifs esclaves a circuit i2c
US20100036990A1 (en) * 2008-08-08 2010-02-11 Hon Hai Precision Industry Co., Ltd. Network device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19614237C1 (de) * 1996-04-10 1997-12-11 Siemens Ag Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation
DE19614238C1 (de) * 1996-04-10 1997-12-11 Siemens Ag Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation
US7099970B1 (en) * 2001-04-03 2006-08-29 Electronic Label Technology, Inc. Apparatus and method to enhance a one-wire bus
WO2005106689A1 (fr) * 2004-04-29 2005-11-10 Koninklijke Philips Electronics N.V. Systeme de bus pour commander selectivement plusieurs circuits esclaves identiques connectes au bus et procede associe
US7444453B2 (en) * 2006-01-03 2008-10-28 International Business Machines Corporation Address translation device
DE602008004447D1 (de) * 2007-02-19 2011-02-24 Nxp Bv Integrierter schaltkreis und elektronische vorrichtung
WO2009013674A1 (fr) * 2007-07-20 2009-01-29 Nxp B.V. Attribution d'adresse automatique pour un bus de communication
US7827330B2 (en) * 2007-07-27 2010-11-02 Microchip Technology Incorporated Configuring multi-bit slave addressing on a serial bus using a single external connection
US8892798B2 (en) * 2010-09-27 2014-11-18 Stmicroelectronics (Rousset) Sas Identification, by a master circuit, of two slave circuits connected to a same bus
JP2012080360A (ja) * 2010-10-01 2012-04-19 Denso Corp 通信システム、マスタノード、スレーブノード
CN202372971U (zh) * 2010-11-29 2012-08-08 意法半导体股份有限公司 电子设备和电子系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037851A1 (fr) * 1995-05-26 1996-11-28 National Semiconductor Corporation Interface serie capable de fonctionner selon deux modes de transfert de donnees en serie differents
WO2006117750A1 (fr) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Codage d'identification de dispositif destine a des dispositifs esclaves a circuit i2c
US20100036990A1 (en) * 2008-08-08 2010-02-11 Hon Hai Precision Industry Co., Ltd. Network device

Also Published As

Publication number Publication date
US20120159025A1 (en) 2012-06-21
FR2969451B1 (fr) 2013-01-11
US8667185B2 (en) 2014-03-04

Similar Documents

Publication Publication Date Title
FR2969451A1 (fr) Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert
BE1005695A3 (fr) Procede de transmission commune de donnees audio et de donnees de commande numeriques sur un bus commun, systeme bus de mise en oeuvre du procede et interface pour une utilisation dans le procede.
FR2476851A1 (fr) Procedes et appareils de controle automatique de circuits electriques
FR2999367A1 (fr) Procede de transmission de donnees dans des unites de commande ecu et/ou des dispositifs de mesure dans le domaine automobile
FR2779301A1 (fr) Procede d'identification d'appareils dans un reseau de communication et appareil de mise en oeuvre
EP0889429B1 (fr) Lecteur de cartes à puces à protocole de transmission rapide
FR3009633A1 (fr) Communication sur bus i2c
WO2004066561A1 (fr) Méthode pour réserver de la bande passante dans un réseau de type ethernet
DE102017127428B4 (de) Verfahren und Vorrichtung zum Wiedergeben von Inhalten basierend auf einer Präsentationszeit im Fahrzeugnetzwerk
EP3203445A1 (fr) Systeme et procede d'identification automatique d'un modele de vehicule
WO2007107674A2 (fr) Procede de communication de donnees entre des systemes de traitement heterogenes connectes en reseau local et systeme de communication mettant en oeuvre ce procede
FR2825812A1 (fr) Procede de programmation/reprogrammation parallele de memoire flash embarquee par bus can
EP0881590A1 (fr) Protocole de communication pour carte à mémoire asynchrone
FR3065304A1 (fr) Procede d'adressage d'une memoire non-volatile sur un bus i²c et dispositif de memoire correspondant
EP0550329B1 (fr) Procédé pour vérifier la conformité à une norme d'une cellule représentative d'un circuit dédié à la gestion d'un protocole de communication, et système pour sa mise en oeuvre
EP0666199B1 (fr) Système électronique de véhicule automobile avec circuit d'interface entre deux bus différents
FR3031822A1 (fr) Telechargement de donnees sur un equipement distant
EP0512881B1 (fr) Procédé et dispositif de sélection d'informations utilisables par une unité locale reliée à un système de transmission numérique
EP1346525B1 (fr) Dispositif et procede de filtrage des messages dans un systeme de communication de type serie
EP1554656B1 (fr) Protocole de transmission de messages numeriques
CA2067902C (fr) Procede et dispositif de detection et de controle du gabarit de messages numeriques transmis a un dispositif de reception
FR2828568A1 (fr) Methode et dispositif d'identification des dispositifs connectes a un reseau de communication
FR3006097A1 (fr) Mecanisme d'ecriture d'une memoire eeprom sur bus i2c
EP0681383B1 (fr) Procédé de transmission de messages entre modules d'un réseau multiplexe
EP1551132A1 (fr) Dispositif pour la simulation d'informations véhicules

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20150831