Brevet FR2963449A1 — publié le 20120203

B10313 - 10-RO-083 1 CONVERSION D'UN BUS BIFILAIRE EN BUS UNIFILAIRE Domaine de l'invention La présente invention concerne de façon générale les circuits électroniques et, plus particulièrement, la transmission de données numériques entre deux circuits dans un système de type maître-esclave. L'invention s'applique plus particulièrement à la conversion de signaux numériques entre un premier bus de type bifilaire (données et horloge) et un deuxième bus de type unifilaire, et inversement. Exposé de l'art antérieur On connaît de nombreux systèmes de conversion ou d'interface entre des bus de communication adaptés à des protocoles différents. Ces systèmes sont le plus souvent destinés à des bus multifilaires de part et d'autre. Le brevet US 6 066 964 décrit un bus dynamique dans 15 lequel une communication peut être établie sur l'une ou l'autre phase d'un signal d'horloge. Les demandes de brevet US 2010/017553 et EP 2 146 287 (B8881 - 08-RO-082) décrivent un système d'interface entre un bus bifilaire et un bus unifilaire exploitant les deux demi- 20 périodes du signal d'horloge du bus bifilaire en plaçant les données sur une première demi-période et un motif d'attente sur l'autre demi-période. Ce procédé de conversion est un procédé B10313 - 10-RO-083 2 synchrone dans lequel le côté unifilaire de la transmission utilise l'horloge du côté bifilaire. Résumé Un objet d'un mode de réalisation de la présente 5 invention est de proposer une conversion asynchrone d'un bus bifilaire en bus unifilaire. Un autre objet d'un mode de réalisation de la présente invention est de proposer une solution plus particulièrement destinée à des transmissions d'un circuit maître connecté côté 10 bus bifilaire avec un ou plusieurs circuits esclaves connectés par un bus unifilaire. Un autre objet d'un mode de réalisation de la présente invention est de proposer une solution dans laquelle une même interface de conversion entre les deux bus peut être connectée, 15 côté bus unifilaire, avec plusieurs circuits esclaves. Pour atteindre tout ou partie de ces objets ainsi que d'autres, il est prévu un procédé de conversion par au moins un circuit d'interface connecté entre un premier bus comportant au moins un fil de données et un fil d'horloge, et au moins un 20 deuxième bus unifilaire, d'une transmission entre un circuit maître connecté au premier bus et au moins un circuit esclave connecté au deuxième bus, dans lequel une commande spéculative de lecture est envoyée au circuit esclave avant d'interpréter l'état d'un bit de commande en lecture ou en écriture provenant 25 du circuit maître. Selon un mode de réalisation de la présente invention, ladite commande spéculative est une commande de début de transmission. Selon un mode de réalisation de la présente invention, 30 le circuit d'interface est apte à émettre en direction du circuit esclave, outre la commande de début de transmission, une commande de lecture et une commande de fin de transmission. Selon un mode de réalisation de la présente invention, un message d'erreur côté bus unifilaire correspond à un état bas 35 de durée supérieure à l'état bas d'une transmission normale. B10313 - 10-RO-083 3 Selon un mode de réalisation de la présente invention, côté bus unifilaire, un circuit esclave qui envoie une trame démodule la trame qu'il envoie et effectue, en fin de transmission, une comparaison entre la trame à envoyer et la trame démodulée de façon à envoyer le message d'erreur en cas d'incohérence. Selon un mode de réalisation de la présente invention, le circuit maître débute une transmission par l'envoi de deux trames successives comportant respectivement l'adresse d'un circuit d'interface et l'adresse d'un circuit esclave. Selon un mode de réalisation de la présente invention, le circuit maître débute une transmission par l'envoi d'une trame comportant l'adresse commune d'un circuit d'interface et d'un circuit esclave. On prévoit également un système de transmission comportant : un circuit maître susceptible d'émettre des données selon un protocole I2C ; au moins un circuit d'interface entre ce protocole I2C 20 et un protocole sur bus unifilaire ; et au moins un circuit esclave par circuit d'interface susceptible de communiquer avec ce circuit d'interface selon un protocole unifilaire. Selon un mode de réalisation de la présente invention, 25 le circuit d'interface détecte automatiquement le mode d'adressage adopté par le circuit maître. 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 30 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 ; B10313 - 10-RO-083 4 les figures 2A, 2B, 2C et 2D illustrent une communication entre les deux circuits de la figure 1 ; la figure 3 représente, partiellement et sous forme de blocs, deux circuits susceptibles de communiquer selon un protocole maître-esclave sur un bus unifilaire ; la figure 4 est un chronogramme illustrant une communication entre les deux circuits de la figure 3 ; la figure 5 est un schéma bloc d'un mode de réalisation d'un système de communication entre un circuit maître et un circuit esclave respectivement sur bus bifilaire et sur bus unifilaire ; la figure 6 représente schématiquement un exemple de transmission sur les bus bifilaire et unifilaire du système de la figure 5 ; la figure 7 illustre un autre exemple de trame de données échangées dans un système du type de celui de la figure 5 ; la figure 8 illustre encore un autre exemple de transmission de données dans le système de la figure 5 ; la figure 9 est un schéma bloc d'un autre exemple d'architecture de système de communication entre un circuit maître communiquant par un bus bifilaire et plusieurs circuits esclaves communiquant par des bus unifilaires ; la figure 10 illustre un exemple de transmission, 25 adaptée au système de la figure 9 ; et la figure 11 illustre un autre exemple de transmission, adaptée au système de la figure 9. Description détaillée De mêmes éléments ont été désignés par de mêmes 30 références aux différentes figures. Pour des raisons de clarté, seuls les éléments utiles à la compréhension de l'invention ont été représentés et seront décrits. En particulier, la génération des flux de données par les circuits maître et esclave n'a pas été détaillée, l'invention étant compatible avec les systèmes de 35 génération usuels. B10313 - 10-RO-083 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 5 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 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) 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 SDAM et SDAS imposés par les circuits B10313 - 10-RO-083 6 d'émission 11 et 31. De même, pour simplifier, on néglige les chutes de tension par rapport aux potentiels 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 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 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 SCL revient au niveau bas (instant t3), le circuit maître 1 peut 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 B10313 - 10-RO-083 7 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. Pour simplifier, on fait référence à des commutations vers des niveaux haut et bas. En pratique, un bus I2C fonctionne le plus souvent par libération du bus pour l'état haut et forçage à l'état bas. La figure 3 est un schéma bloc partiel d'un mode de réalisation d'un système de communication sur bus unifilaire. Dans cet exemple, un circuit 2', considéré arbitrairement comme un circuit maître MD, est susceptible de communiquer selon un protocole unifilaire SW avec un circuit distant 2 (SD). Les circuits 2' et 2 sont reliés par un fil 5 constituant le bus unifilaire et partagent le même potentiel de référence (liaison 6, masse GND). Chaque circuit 2', 2 comporte, par exemple, un circuit d'émission (SEND) 21', respectivement 21, et un circuit de réception (DET) 22', respectivement 22. Pour une communication du circuit 2' vers le circuit 2, le circuit 2' impose un signal SM sur le bus. Pour une communication du circuit 2 vers le circuit 2', le circuit 2 impose un signal SS sur le bus. Le circuit qui provoque la transmission impose l'horloge sur le bus. Pour simplifier, on a schématisé en figure 3 les signaux SN et SS comme provenant respectivement des circuits 21' et 21 et on considère que les circuits 22' et 22 ne voient que l'état du signal S présent sur le bus. Par ailleurs, les circuits 2' et 2, tout comme les circuits 1 et 3 de la figure 1, comportent d'autres éléments, notamment d'exploitation des signaux transmis. Indépendamment de la communication, le circuit maître 2' alimente généralement le circuit esclave 2 comme cela est illustré en figure 3 où seul le circuit maître 2' reçoit un potentiel d'alimentation VDD. Le circuit esclave 2 tire son alimentation d'une régulation du signal S dont le niveau de B10313 - 10-RO-083 8 repos, généralement imposé par le circuit 2', est à un niveau haut VH. La figure 4 est un chronogramme représentant un exemple d'allure du signal S illustrant une communication entre les circuits 2' et 2. Le protocole unifilaire consiste à transmettre, sur le bus 5, à la fois un signal d'horloge ou de synchronisation et les données. Pour transmettre des données du circuit 2' vers le circuit 2, le circuit 2' module le signal SM en amplitude entre deux niveaux VH et VL, par exemple tous deux positifs pour préserver l'alimentation du circuit 2. Cette modulation se retrouve sur le signal S. Le niveau de repos du bus est le niveau haut VH. Dans l'exemple représenté, une transmission est initialisée par un bit de démarrage START dans lequel le signal S est forcé (instant t5) au niveau VL. Cela initialise le circuit esclave 2 et le prépare à recevoir des données. Le circuit 2' module le niveau du signal S au rythme d'un signal d'horloge qui fixe le débit de la transmission. La transmission d'un bit au niveau VL s'effectue, par exemple, avec une impulsion de niveau VL d'une durée inférieure à la demi-période du signal d'horloge (dans l'exemple représenté, un quart de la période T) alors qu'un niveau 1 est codé avec une impulsion de niveau VL de durée supérieure à la demi-période de ce signal (par exemple trois quart de la période T). Le circuit esclave 2 détecte la variation d'amplitude et la durée correspondante des impulsions hautes et basses pour déterminer la valeur des bits transmis. Une fin de transmission (généralement la fin d'une trame) est codée par le circuit 2' sous la forme d'un état haut (libération du bus) pendant une durée supérieure à la période T. Le bus unifilaire SW est un bus de communication bidirectionnel alterné (semi-duplex ou half-duplex). Pour transmettre des données du circuit esclave 2 vers le circuit maître 2', le circuit esclave modifie la charge qu'il impose sur le fil S selon le niveau du bit qu'il souhaite transmettre. Là B10313 - 10-RO-083 9 encore, le débit de la transmission est fixé par un signal d'horloge au rythme duquel le circuit 2 module l'amplitude du signal S. L'horloge est ici fixée par une horloge interne du circuit 2 alors que le niveau de repos (VH) du bus reste fixé par le circuit 2'. La figure 5 est un schéma bloc d'un exemple simplifié d'un mode de réalisation d'un système de communication entre un circuit maître 1 (MASTER) susceptible de transmettre des données selon le protocole I2C et au moins 1 circuit esclave 2 (SLAVE) susceptible de communiquer selon un protocole unifilaire SW. Le bus I2C auquel est connecté le circuit maître 1 est relié à un ou plusieurs circuit 7 (CONV) de conversion en bus unifilaire SW. Chaque circuit 7 est connecté à, dans cet exemple, un seul circuit esclave 2 par un accès unifilaire SW. Les différents circuits du système peuvent être alimentés indépendamment les uns des autres ou 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. Le circuit 7 de conversion ou d'interface a pour rôle de convertir à la volée les signaux du bus I2C en signaux compatibles avec le bus unifilaire et vice versa. Le circuit 7 est réalisé de façon à être transparent pour les deux bus. En d'autres termes, le circuit 1 voit l'ensemble, circuit d'interface 7 et circuit esclave 2, comme un circuit I2C standard (par exemple, comme un circuit 3, figure 1). De façon similaire, le circuit esclave 2 voit l'ensemble, circuit 1 et interface 7, comme un circuit maître unifilaire standard (par exemple le circuit 2' de la figure 3). La présente invention tire profit du fait que le débit sur bus unifilaire est généralement supérieur au débit d'un bus I2C. Les figures 6, 7 et 8 sont des exemples d'échanges de données dans un système du type de celui de la figure 5. On suppose que le circuit maître envoie sur le bus I2C des données par paquets de 8 bits, espacées d'un neuvième bit d'accusé-réception (voir les figures 2). Côté bus I2C, les B10313 - 10-RO-083 10 transmissions s'effectuent selon tout protocole bifilaire habituel (par exemple, celui des figures 2A à 2D). Le codage des états 0 et 1 des bits côté bus unifilaire peut être effectué comme en figure 4 ou, selon tout autre codage adapté à un bus unifilaire. L'horloge du bus unifilaire est fixée par le circuit d'interface 7 de façon indépendante de l'horloge du bus I2C. Différentes trames de commande et de données sont présentes. Les trames de commande sont toujours envoyées de l'interface 7 vers le circuit esclave. Les trames de données peuvent être envoyées du circuit 7 vers le circuit 2 ou inversement. Les trames de commande correspondent à des chaînes de bits prédéfinies. Chaque chaîne commence par une impulsion de référence (par exemple du type START, figure 4). On prévoit trois trames de commandes qui sont reconnaissables par le circuit esclave. Une trame de début de transmission, notée B, contient l'impulsion de référence, par exemple suivie d'un code (par exemple 100) suivi de l'adresse du circuit esclave, par exemple sur trois bits. Une trame de fin, noté E, contient l'impulsion de référence suivie d'un code (par exemple 0). Une trame d'interrogation, notée G, contient l'impulsion de référence suivie d'encore un autre code (par exemple 101). Une trame de données contient l'impulsion de référence suivie d'encore un autre code (par exemple 11) et de l'octet de données. Enfin, un code d'erreur est un état bas de durée supérieure à la durée maximale de l'état bas du bus pour une transmission normale. Comme ici, chaque circuit 7 est connecté à un seul circuit esclave, l'adresse dans la trame B est la même que l'adresse du circuit d'interface. Aux figures qui suivent, les transmissions provenant de l'interface, qu'il s'agisse de transmissions sur le bus I2C vers le circuit maître ou sur le bus unifilaire vers le circuit esclave ont été hachurés. Ces figures illustrent, sur une première ligne, les échanges entre le circuit maître et l'interface et, sur une deuxième ligne, entre l'interface et le circuit esclave. B10313 - 10-RO-083 11 Toute transmission commence par l'envoi d'un bit de démarrage S du circuit maître vers la ou les interfaces. Ce bit de démarrage est suivi d'un premier octet au rythme du signal d'horloge du bus I2C (8 I2C clock). Cet octet contient l'adresse du circuit esclave (Slave address) sur sept bits suivi d'un bit (R/W) indicateur de l'opération souhaitée par le circuit maître. Dans l'exemple de la figure 6, on suppose une écriture (état 0 du bit R/W) dans le circuit esclave. Lorsque le circuit d'interface a reçu le premier octet, il envoie un bit d'accusé- réception A au circuit maître. Dans cet exemple, le circuit maître envoie alors deux octets de données Dl et D2 sur huit périodes du signal d'horloge. Chaque octet est suivi d'un accusé-réception A par le circuit d'interface. A la fin du deuxième octet de données, le circuit d'interface envoie un accusé-réception A ou une absence d'accusé-réception A- selon que la transmission s'est passée correctement. La fin de trame est suivie, par le circuit maître, de l'envoi d'un bit d'arrêt (P). Côté bus unifilaire SW, une difficulté est que le circuit d'interface ne sait pas, avant d'avoir reçu le bit qui suit l'adresse de l'esclave, s'il doit renvoyer une donnée au maître ou à l'inverse transmettre une donnée vers le circuit esclave. Selon ce mode de réalisation de l'invention, le circuit d'interface envoie une commande (B) de début de transmission en direction du circuit esclave auquel il est connecté dès qu'il détecte une communication provenant du circuit maître. Cette commande déclenche une lecture d'une donnée D1' (bloc 60) dans le circuit esclave et sa transmission vers le circuit d'interface où elle est mémorisée. Cette donnée Dl' sera ou non utilisée ultérieurement selon l'opération demandée par le circuit maître qui n'est pas encore connue. Il s'agit donc en quelque sorte d'une lecture spéculative. Cela permet d'allonger le temps disponible pour la réaction du circuit esclave et la transmission en retour de données de B10313 - 10-RO-083 12 l'esclave vers l'interface. En effet, le temps disponible entre la réception par l'interface du bit R/W et le moment où l'interface doit éventuellement récupérer un octet provenant du circuit esclave (cas où R/W=1), n'est en pratique que d'une période d'horloge et demi du protocole I2C, ce qui impose un temps de réaction bref du circuit esclave. Allonger le temps disponible pour la réaction du circuit esclave est donc particulièrement intéressant. Dans l'exemple de la figure 6, la requête du circuit 10 maître est une opération d'écriture. Par conséquent, la donnée Dl' de l'esclave n'est pas utilisée. Tous les circuits d'interface connectés au circuit maître effectuent ici cette lecture spéculative. Toutefois, seul le circuit d'interface qui se reconnaît dans l'adresse Slave 15 address va continuer. Suite à la réception de la première donnée Dl du circuit maître par le circuit d'interface, ce dernier transmet cette donnée Dl sur le bus unifilaire à destination du circuit esclave. Il en est de même à la fin de la transmission de la 20 donnée D2. L'interface prévient le circuit esclave de la fin d'une transmission par une commande E qui se produit postérieurement à la fin de la trame I2C. Si aucun circuit esclave n'est présent ou ne répond à la commande spéculative B de lecture de la donnée Dl, le circuit 25 d'interface peut envoyer, dès la fin du premier octet sur le bus I2C, un bit d'absence d'accusé-réception. La figure 7 représente un exemple correspondant à une lecture de données dans le circuit esclave. Comme dans le cas de la figure 6, la trame commence côté bus I2C par un bit de départ 30 S suivi de l'adresse de l'esclave sur sept bits, l'octet étant terminé par un bit R/W indicateur ici d'une lecture (état 1) dans le circuit esclave. Dans ce cas, la donnée spéculative Dl', lue côté circuit esclave pendant la transmission de l'adresse sur le bus I2C va être utilisée. Suite à l'obtention par le 35 circuit d'interface du bus R/W à l'état 1, il renvoie vers le B10313 - 10-RO-083 13 circuit maître la donnée Dl'. Par ailleurs, il envoie sur le bus unifilaire la commande G d'obtention de données suivantes. La détection de cette commande par le circuit esclave lui fait envoyer une deuxième donnée (D2') au circuit d'interface qui est alors en mesure de la transmettre au circuit maître à l'octet suivant. Une troisième donnée (D3'), qui ne sera pas utilisée, est ensuite lue dans le circuit esclave. La transmission sur le bus I2C se termine par un code (A-) d'absence d'accusé-réception suivi d'un bit d'arrêt (P) transmis par le circuit maître au circuit d'interface. Côté bus unifilaire, la transmission s'arrête également par l'envoi d'une chaîne de fin E au circuit esclave. La figure 8 est un troisième exemple illustrant une écriture suivie d'une lecture dans le circuit esclave. Le premier octet de la trame I2C est identique à celui de la figure 6 et la donnée Dl' lue de façon spéculative n'est pas utilisée. Le deuxième octet de la trame I2C est l'envoi d'une donnée Dl vers le circuit esclave. Cette donnée est transmise à la fin de cet octet comme en figure 6. Le circuit maître renvoie un bit de démarrage S juste après l'accusé-réception A/A- de la donnée Dl. Le circuit d'interface provoque alors une deuxième lecture spéculative de la donnée Dl' dans le circuit esclave en même temps qu'il reçoit du circuit maître l'adresse de l'esclave. Comme le bit R/W est à l'état 1, la donnée spéculative reçue par le circuit d'interface est utilisée côté bus I2C pour la transmettre au circuit maître. En raison de l'état du bit R/W, le circuit d'interface provoque la lecture (G) d'une deuxième donnée (D2') côté bus unifilaire. La fin de la transmission est similaire à celle de la figure 7. Comme indiqué précédemment, la vitesse de communication côté bus unifilaire doit être supérieure à la vitesse de communication côté bus I2C (ou autre bus converti à la volée en bus unifilaire), faute de quoi, la conversion en temps réel ne pourra pas être opérée. B10313 - 10-RO-083 14 De préférence, le circuit esclave démodule la trame qu'il envoie et effectue, en fin de transmission, une comparaison entre la trame à envoyer et la trame démodulée de façon à envoyer un message d'erreur en cas d'incohérence. Le même fonctionnement peut être prévu côté circuit maître. La figure 9 est un schéma bloc d'un exemple de système de transmission d'un circuit maître communiquant par un bus I2C avec plusieurs circuits d'interface 70 (Interface I0), 71 (Interface I1) et 72 (Interface I2). Dans l'exemple de la figure 9, chaque circuit d'interface communique avec un ou plusieurs circuits esclaves par bus unifilaire SW. Par exemple, le circuit 70 communique avec trois circuits esclaves 20 (Esclave EO), 21 (Esclave El) et 22 (Esclave E2). Le circuit 71 ne communique qu'avec un seul circuit esclave 20. Quant au circuit 72, il communique avec quatre circuits esclaves 20 (Esclave EO), 21 (Esclave El), 22 (Esclave E2) et 23 (Esclave E3). Enfin, le circuit maître 1 est susceptible de communiquer avec un autre circuit 3 (chip I2C) sur le bus I2C indépendamment des circuits d'interface décrits. De préférence, le circuit d'interface reconnaît automatiquement le mode d'adressage effectué côté bus I2C pour adapter la communication avec l'esclave. En reprenant l'exemple décrit, une même interface peut alors fonctionner indifféremment en adressage sur 7 bits ou en adressage sur 10 bits. Une communication dans un système tel qu'illustré par la figure 9 requiert de pouvoir identifier non seulement le circuit d'interface mais également le circuit esclave auquel est destiné la transmission. On utilise pour cela une fonctionnalité du bus I2C qui peut fonctionner avec plus de sept bits d'adresse (par exemple dix bits d'adresse). Pour cela, le premier octet de la transmission contient comme précédemment sept bits d'adresse et le bit R/W. Toutefois, il s'agit alors des sept bits de poids fort de l'adresse. Le deuxième octet contient les huit bits de poids faible de l'adresse. On exploite ici cette possibilité B10313 - 10-RO-083 15 pour, par exemple, identifier le circuit d'interface par le premier octet et le circuit esclave par le deuxième. On notera que, dans les protocoles I2C, certains des bits d'adresse (par exemple les quatre premiers) sont généralement réservés pour identifier le type d'esclave. Ces quatre bits peuvent également identifier le mode d'adressage sur deux octets au lieu d'un. Un tel fonctionnement est illustré par les figures 10 et 11. La figure 10 illustre un exemple de communication pour une écriture d'une donnée dans un circuit esclave. Côté bus I2C, le circuit maître 1 démarre avec un bit de démarrage S puis envoie les sept bits de poids fort de l'adresse (Slave addressl). Par exemple, les deux derniers bits de cette adresse identifient le circuit d'interface parmi quatre et les quatre premiers identifient un passage en adressage sur deux octets. Cette adresse est suivie d'un bit R/W qui pour un adressage sur deux mots est toujours à l'état O. Le circuit d'interface qui se reconnaît est en mesure d'envoyer le bit d'accusé-réception A. Le circuit maître envoie, dans la deuxième trame, les huit bits d'adresse (Slave address2) du circuit esclave. Le nombre de bits utiles dépend en fait du nombre (par exemple huit) de circuits esclaves connectables par interface côté bus unifilaire. Lorsqu'il reçoit la deuxième adresse Slave address2, le circuit d'interface qui s'est reconnu par la première adresse mémorise l'adresse de l'esclave. Puis, lorsque le premier octet de données arrive à l'interface, celle-ci envoie une trame B aux circuits esclaves qui y sont connectés. Seul celui qui se reconnaît dans l'adresse envoyée dans la trame B va répondre et envoyer un mot de données quelconque (réponse spéculative Dl'). Lorsque le circuit d'interface a reçu la donnée Dl par le bus I2C, il la transmet au circuit esclave en mode un fil à la manière de ce qui a été décrit en relation avec la figure 6. La figure 11 illustre un autre exemple de transmission 35 dans lequel une lecture de données est effectuée sur un circuit B10313 - 10-RO-083 16 esclave. Comme pour le mode de réalisation illustré par la figure 10, le circuit maître 1 envoie les deux premiers octets identifiant l'interface et l'esclave. Puis, comme illustré par la figure 8, il envoie un deuxième bit de départ S. L'interface reconnaît qu'il s'agit d'une lecture par le bit R/W à l'état 1. Dans l'exemple de la figure 11, on illustre la lecture de Dn+1 octets de données successifs. La mise en oeuvre décrite ci-dessus exploite un protocole I2C décrit, par exemple dans le document "UM10204 - I2C-bus specification and user manual", Rev.03 - 19 June 2007 de la société NXP auquel on pourra se référer. Un avantage de la présente invention est qu'il est désormais possible d'effectuer un fonctionnement asynchrone entre un bus I2C et un bus unifilaire. Ce fonctionnement asynchrone est en particulier permis par la lecture spéculative effectuée côté bus unifilaire pour préparer une éventuelle commande de lecture par un circuit maître communiquant en mode I2C. Divers modes de réalisation ont été décrits. Divers variantes et modifications apparaîtront à l'homme de l'art. 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 des outils matériels habituellement utilisés dans des communications I2C et unifilaires. Bien entendu, les circuits d'interface devront comporter les éléments de mémorisation et de traitement matériels ou logiciels nécessaires à la conversion exposée. REVENDICATIONS1. Procédé de conversion par au moins un circuit d'interface (7) connecté entre un premier bus (I2C) comportant au moins un fil de données (44) et un fil d'horloge (42), et au moins un deuxième bus unifilaire (SW), d'une transmission entre un circuit maître (1) connecté au premier bus et au moins un circuit esclave (2) connecté au deuxième bus, dans lequel une commande spéculative (B) de lecture est envoyée au circuit esclave avant d'interpréter l'état d'un bit (R/W) de commande en lecture ou en écriture provenant du circuit maître. 2. Procédé selon la revendication 1, dans lequel ladite commande spéculative (B) est une commande de début de transmission. 3. Procédé selon la revendication 2, dans lequel le circuit d'interface (7) est apte à émettre en direction du circuit esclave (2), outre la commande de début de transmission (B), une commande de lecture (G) et une commande de fin de transmission (E). 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel un message d'erreur côté bus unifilaire correspond à un état bas de durée supérieure à l'état bas d'une transmission normale. 5. Procédé selon la revendication 2, dans lequel côté bus unifilaire, un circuit esclave (2) qui envoie une trame démodule la trame qu'il envoie et effectue, en fin de transmission, une comparaison entre la trame à envoyer et la trame démodulée, de façon à envoyer un message d'erreur en cas d'incohérence. 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le circuit maître (1) débute une transmission par l'envoi de deux trames successives comportant respectivement l'adresse (Slave addressl) d'un circuit d'interface (70, 71, 72) et l'adresse (Slave address2) d'un circuit esclave (20, 21, 22 ; 20 ; 20, 21, 22, 23).B10313 - 10-RO-083 18 7. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le circuit maître (1) débute une transmission par l'envoi d'une trame comportant l'adresse commune (Slave address) d'un circuit d'interface (7) et d'un circuit esclave (2). 8. Système de transmission comportant : un circuit maître (1) susceptible d'émettre des données selon un protocole I2C ; au moins un circuit d'interface (7) entre ce protocole 10 I2C et un protocole sur bus unifilaire ; et au moins un circuit esclave (2) par circuit d'interface susceptible de communiquer avec ce circuit d'interface selon un protocole unifilaire, ces circuits étant adaptés à mettre en oeuvre le 15 procédé conforme à l'une quelconque des revendications 1 à 7. 9. Système selon la revendication 8 dans son rattachement aux revendications 6 et 7, dans lequel le circuit d'interface (7) détecte automatiquement le mode d'adressage adopté par le circuit maître.