Brevet FR2934390A1 — publié le 20100129

B8880 - 08-RO-041 1 TRANSMISSION MULTICANAUX SUR UN BUS UNIFILAIRE Domaine de l'invention La présente invention concerne de façon générale les transmissions de données entre deux circuits électroniques. L'invention concerne plus particulièrement la transmission simultanée, sur un même fil, d'un signal d'alimentation, d'horloge et de données entre un circuit maître et un ou plusieurs circuits esclaves. Etat de la technique Les protocoles de coituttunication entre un circuit maître et un circuit esclave qui transmettent, sur un même fil, un signal d'alimentation, de synchronisation et de données sont généralement appelés protocoles unifilaires. Le plus souvent, les circuits maître et esclave ont en outre une référence de tension commune (typiquement la masse). Le brevet américain N° 5 903 607 décrit un système de transmission sur bus unifilaire en mode bidirectionnel. La figure 1 est un schéma-blocs simplifié d'un tel système de transmission. Les figures 2A, 2B et 2C sont des chronogrammes 20 illustrant le fonctionnement du système de la figure 1. Un circuit électronique maître 1 (MD) est relié, par un bus unifilaire B, à un circuit esclave 3 (SD). Les circuits 1 B8880 - 08-RO-041 2 et 3 partagent en outre la même masse ou plus généralement un même potentiel de référence (GND). Le circuit 1 (par exemple, un circuit de traitement de type microprocesseur) est alimenté par un potentiel Vcc, par exemple positif par rapport à la masse. Le circuit 3 (par exemple, une mémoire ou un autre circuit de traitement) n'est généralement pas alimenté de façon autonome et tire son alimentation de la transmission sur le bus de communication. Pour clarifier la présence d'une référence de tension commune, le bus B bien que considéré unifilaire a été représenté aux figures en incluant un fil 4 de masse en plus d'un fil 2 sur lequel transite le signal S d'alimentation, d'horloge et de données. La connexion à la masse 4 peut être fonctionnelle par le reste des éléments du circuit ou du dispositif. Le circuit maître 1 comporte des interfaces de sortie et d'entrée illustrées en figure 1 respectivement par des bornes OUT de sortie et IN d'entrée reliées au fil S. Le circuit esclave 3 comporte également des interfaces d'entrée et de sortie illustrées par des bornes d'entrée IN et de sortie OUT. Les figures 2A et 2C sont des chronogrammes illustrant une transmission de données dans un mode bidirectionnel entre le circuit maître 1 et le circuit esclave 3. La figure 2A illustre un exemple d'allure de signal SM imposé par le circuit maître 1. La figure 2B illustre l'allure d'un signal SS imposé par le circuit esclave 3 pour transmettre des données en retour. La figure 2C illustre l'allure du signal S résultant sur le bus. Le signal S correspond au signal présent sur les bornes IN des circuits 1 et 3. Pour simplifier, on a schématisé les signaux SM et SS comme provenant respectivement des circuits d'émission du circuit maître 1 et du circuit esclave 3 et on considère que les circuits de réception connectés aux bornes IN ne voient que le niveau du signal S. Le circuit maître 1 module le signal SM en amplitude entre deux niveaux V1 et VO, par exemple tous deux positifs, selon un codage prédéfini. En fait, le circuit 1 module au rythme d'une horloge, les largeurs d'impulsions au niveau V1 B8880 - 08-RO-041 3 selon l'état du bit à transmettre. Le circuit esclave tire son alimentation d'un filtrage du niveau du signal S. Le niveau de repos du signal S est par exemple le niveau V1. Dans l'exemple représenté, une transmission est initialisée par un bit de démarrage START dans lequel le signal SM est positionné (instant t1) à un niveau VO alors que son niveau de repos est le niveau V1. Cela initialise le circuit esclave 3 et le prépare à recevoir des données et à en transmettre en retour. Le circuit maître 1 module le niveau du signal SM au rythme d'un signal d'horloge qui fixe le débit de transmission et qui permet au circuit esclave d'extraire une horloge de séquencement de son fonctionnement et de synchronisation de la transmission avec le circuit maître. La transmission d'un bit à l'état 0 s'effectue, par exemple, avec une impulsion de niveau V1 de durée inférieure à la demi-période du signal d'horloge (par exemple, 1/4 de la période) alors qu'un état 1 est codé avec une impulsion de niveau V1 de durée supérieure à la demi-période du signal d'horloge (par exemple, 3/4 de la période). Le circuit esclave 3 détecte la variation d'amplitude et la durée correspondante des impul- sions hautes et basses pour déterminer la valeur des bits transmis. Dans le sens circuit esclave 3 vers circuit maître 1 (figure 2B), le circuit esclave modifie la charge qu'il impose sur le fil S selon l'état du bit qu'il souhaite transmettre. Dans l'exemple de la figure 2B, le circuit esclave ne modifie pas la charge pour transmettre un 1 (instants t2 et t3). Pour transmette un 0 (instants t4 et t5), il tire (instants t4 et t5) le signal SS au niveau bas, ce qui a pour conséquence de réduire la durée de l'impulsion du signal S. Cela revient, pour le circuit esclave, à moduler la largeur des impulsions de niveau V1 du signal S selon l'état du bit à transmettre. Le circuit maître surveille le niveau du signal S et, si le niveau qu'il a transmis n'est pas modifié, considère une réponse par un état 1, alors que s'il détecte une modification de durée de l'impulsion par rapport à celle qu'il transmet, il considère la réception d'un état O. B8880 - 08-RO-041 4 Un protocole unifilaire tel qu'exposé en relation avec les figures ci-dessus présente un débit limité par la période du signal d'horloge imposé par le circuit maître. De plus, le circuit maître ne peut transmettre qu'un seul canal vers des circuits esclave. Résumé de l'invention Il serait souhaitable de disposer d'un protocole de communication maître-esclave dans lequel un même circuit maître puisse communiquer simultanément avec plusieurs circuits esclaves en leur transmettant des données différentes. Il serait également souhaitable d'accroître le débit de transmission d'un protocole unifilaire sans requérir une augmentation de la fréquence d'horloge. Pour atteindre tout ou partie de ces objets ainsi que d'autres, il est prévu un procédé de transmission d'un signal au moins de synchronisation et de données sur un bus unifilaire entre un dispositif maître et au moins un dispositif esclave, dans lequel : un premier canal de transmission du dispositif maître vers le dispositif esclave module la largeur d'impulsions périodiques entre un premier niveau et un deuxième niveau de tension de même signe par rapport à un potentiel de référence ; et un deuxième canal de transmission module en amplitude au moins un des niveaux de tension entre ce niveau et au moins un troisième niveau différent des deux autres et du potentiel de référence. Selon un mode de réalisation de la présente invention, le troisième niveau est compris entre les premier et deuxième niveaux. Selon un mode de réalisation de la présente invention, la modulation d'amplitude du deuxième canal est analogique entre les premier et deuxième niveaux. Selon un mode de réalisation de la présente invention, la modulation d'amplitude du deuxième canal est numérique entre 35 les premier et troisième niveaux. B8880 - 08-RO-041 Selon un mode de réalisation de la présente invention, une détection du premier canal s'effectue en détectant des fronts montants ou descendants du signal. Selon un mode de réalisation de la présente invention, 5 une détection du premier canal s'effectue par mesure des niveaux de tension. Selon un mode de réalisation de la présente invention, une détection du deuxième canal s'effectue par mesure de niveaux d'amplitude. Selon un mode de réalisation de la présente invention, le signal fournit l'alimentation du dispositif esclave. Selon un mode de réalisation de la présente invention, le deuxième canal est utilisé dans le sens maître vers esclave. Selon un mode de réalisation de la présente invention, le deuxième canal est utilisé dans le sens esclave vers maître. Selon un mode de réalisation de la présente invention, le dispositif esclave module la largeur desdites impulsions en fonction de l'état de bits de données à transmettre dans le sens esclave vers maître. Il est également prévu un système de communication selon un protocole unifilaire transmettant à la fois un niveau d'alimentation, un signal de synchronisation et des données sur un même fil, comportant des moyens pour la mise en oeuvre du procédé. Il est également prévu un dispositif électronique de communication adapté à transmettre des données selon ce procédé. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1, décrite précédemment, est un schéma-blocs d'un système de communication entre un circuit maître et un circuit esclave dans un protocole unifilaire ; B8880 - 08-RO-041 6 les figures 2A, 2B et 2C, décrites précédemment, sont des chronogrammes illustrant un fonctionnement usuel du système de la figure 1 ; la figure 3 est un schéma-blocs d'un mode de réali-5 sation d'un système de communication unifilaire ; la figure 4 est un chronogramme illustrant le fonctionnement d'un protocole unifilaire multicanaux ; la figure 5 est un schéma-blocs partiel d'un circuit esclave du système de la figure 3 ; 10 la figure 6 est un organigramme simplifié illustrant une phase d'initialisation d'une communication ; et la figure 7 est un schéma-blocs d'un détail de réalisation d'un circuit de réception côté dispositif esclave. De mêmes éléments ont été désignés par de mêmes réfé- 15 rences et les chronograituttes ont été tracés sans respect d'échelle. Description détaillée Par souci de clarté, seuls les étapes et é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 signaux côté 20 dispositif maître ou dispositif esclave n'a pas été détaillée, l'invention étant compatible avec la génération habituelle de signaux dans un protocole maître-esclave exploitant une liaison unifilaire. La figure 3 est un schéma-blocs d'un mode de réali- 25 sation d'un système de communication entre un dispositif maître 1 (MD) et un ou plusieurs dispositifs esclaves 31, 32, 33, 34 (SD) sur un bus B constitué d'une liaison unifilaire 2 de transmission d'un signal d'alimentation, d'horloge et de données et d'un fil 4 de référence commune (par exemple, la masse GND). 30 La figure 4 est un chronogramme illustrant le niveau du signal S selon un exemple de réalisation du système de la figure 3. Par rapport au protocole décrit en relation avec les figures 2A à 2C, un niveau intermédiaire VO', entre les niveaux 35 VO et V1, est pris en compte par un ou plusieurs circuits B8880 - 08-RO-041 7 esclave. Ce niveau intermédiaire correspond à un deuxième canal de transmission utilisable par le circuit maître à destination d'un ou plusieurs des dispositifs esclave. L'exploitation d'un premier canal Cl s'effectue comme précédemment par modulation de la largeur des impulsions de niveau VO (ou V1) du signal S entre deux largeurs selon l'état 0 ou 1 à transmettre. Dans l'exemple représenté à la figure 4, on suppose la transmission successive de deux états 0 suivis de deux états 1. Dans l'exemple de la figure 4, l'exploitation d'un deuxième canal C2 numérique consiste à moduler le niveau bas de ce train d'impulsions entre le niveau VO et un niveau VO' pour conditionner l'état des bits transmis. Par exemple, ce deuxième canal C2 transmet successivement un état 0, un état 1, un état 0 et un état 1 en supposant que le niveau VO' correspond à la transmission d'un état 0 et le niveau VO à la transmission d'un état 1. Côté réception, la détection du canal Cl s'effectue soit en détectant les niveaux VO et V1, soit en détectant les fronts du signal S, et en déduisant de ces détections, la durée des impulsions au niveau V1. La détection du canal C2 s'effectue en détectant le niveau de tension intermédiaire VO' par rapport aux niveaux VO et V1. Cela signifie que le circuit de détection est capable de discriminer au moins un niveau intermédiaire entre les niveaux VO et V1. En variante, un troisième canal est utilisé en modulant le niveau haut V1 en fonction de l'état des bits transmis. Selon une autre variante, plusieurs niveaux intermédiaires sont exploités entre les niveaux VO et V1. Toutefois, une telle variante requiert une précision accrue dans les détecteurs de tension des récepteurs. Selon une autre variante, le deuxième canal transmet des données analogiques. Une exploitation analogique du deuxième canal consiste à moduler l'amplitude du niveau intermédiaire VO' entre les niveaux VO et V1 en gardant une marge entre les B8880 - 08-RO-041 8 extrêmes de la plage de modulation et ces niveaux VO et V1 pour ne pas nuire à la détection du premier canal. La figure 5 est un schéma-blocs partiel d'un mode de réalisation d'un circuit esclave 3i. La liaison unifilaire 2 est reliée à une borne 31 du circuit 3i, partagée entre une borne d'entrée d'un régulateur de tension 32 (REG), une borne d'entrée d'un circuit de réception 33 (R) et une borne de sortie OUT d'un circuit d'émission 34 (T). Tous les circuits sont alimentés par une tension Valim fournie par le régulateur de tension 32 à partir du signal présent sur la borne 31. Les circuits 33 et 34 communiquent avec une unité de traitement 35 en étant respectivement reliés à des bornes Rx de réception et Tx d'émission. Par ailleurs, les circuits 32, 33 et 34 sont commandés par l'unité 35 (liaison de commande 36 illustrée par des pointillés). On suppose que le circuit 33 est capable, non seulement de détecter les niveaux VO et V1, mais également le niveau VO'. De préférence, le circuit 33 est capable d'adapter ses niveaux de détection dans une procédure d'apprentissage. Cela permet de tenir compte d'éventuelles variations de ces niveaux. Par exemple, cela permet à un même circuit esclave de s'adapter à différents circuits maîtres dont les niveaux de tension transmis sont différents. Selon un autre exemple, cela permet de compenser d'éventuelles dérives des tensions au cours du temps. La figure 6 est un organigramme simplifié d'une pro- cédure d'acquisition des niveaux de tension à détecter par le circuit de réception 33 de la figure 5. Dans cet exemple, on suppose que le niveau VO' correspond au niveau moyen entre les niveaux VO et V1). Le circuit maître MD (partie gauche de la figure 6) émet (bloc 50) un train d'impulsions d'une séquence préétablie entre les niveaux VO et V1. En réception côté circuit esclave, la tension sert d'une part à fournir une tension d'alimentation Valim et un signal d'horloge. Par ailleurs, le signal reçu est converti (bloc 51, A/D) en niveaux numériques. Puis, les niveaux mesurés, discriminés entre les niveaux haut et bas VOd et V1d, sont mémorisés (bloc 52, MEM). On calcule alors la B8880 - 08-RO-041 9 valeur moyenne V0'd entre les deux niveaux V0'd = (V1d+V0d)/2 dans un bloc 53 afin de mémoriser le niveau intermédiaire VO'd (bloc 54, MEM) représentant le deuxième canal. L'ensemble des niveaux est ensuite reconverti en signaux analogiques de réfé- rence (bloc 55 - conversion numérique-analogique D/A). Enfin, les niveaux analogiques obtenus Vref0, VrefO' et Vref1 (bloc 56) sont exploités par des comparateurs (non représentés) du circuit de réception (33, figure 5) pour déterminer le niveau du signal reçu. Une fois cette phase d'acquisition effectuée, le dispositif maître peut déclencher une transmission (bloc 57, START). La figure 7 illustre une variante de réalisation selon laquelle le train d'impulsions fourni par le dispositif maître dans une procédure d'acquisition est un signal carré entre les amplitudes VO et V1. Ce signal peut être traité par un moyenneur (bloc 61 constitué par exemple d'un circuit résistif et capacitif RC) qui fournit un niveau de référence Vref= (VO+V1) /2. Ce niveau de référence est fourni à un convertisseur analogique- numérique (bloc 62, A/D) pour produire une valeur de référence VrefO' mémorisée (bloc 63, REG) par exemple dans un registre. La valeur contenue dans le registre est ensuite exploitée après conversion en signal analogique (bloc 64, D/A) pour fournir un signal de comparaison analogique. Les niveaux de référence servant à discriminer les états reçus sont exploités par le circuit de réception à la manière d'un détecteur usuel de niveau avec ou sans hystérésis. Selon une variante plus particulièrement destinée à des applications dans lesquelles les niveaux VO, VO' et V1 sont déterminés et stables, les niveaux de référence des comparateurs du circuits de réception correspondent, par exemple, à des niveaux numériques mémorisés ou à des niveaux analogiques fixés, par exemple, par un ou plusieurs ponts résistifs à partir de la tension d'alimentation. B8880 - 08-RO-041 10 D'autres trames d'apprentissage peuvent être prévues, notamment pour fixer d'autres niveaux intermédiaires. On peut également prévoir que le dispositif esclave détecte les 0 ou 1 transmis sur le premier canal par une détec- tion de fronts. Pour une détection par fronts, on peut prévoir de détecter les fronts montants et descendants présents sur le bus à l'aide de comparateurs et de portes logiques. Une telle détection ne permet pas de discriminer un deuxième canal éventuel. Par conséquent, un dispositif esclave équipé uniquement d'un détecteur de fronts ne sera capable de détecter que les données transmises sur le premier canal. L'utilisation d'un deuxième canal ne nuit pas au caractère bidirectionnel de la transmission. Il reste possible à l'un des circuits esclave ou à plusieurs d'entre eux d'émettre en retour, de façon usuelle, en réduisant ou non la largeur des impulsions au niveau V1 selon l'état à transmettre. Différentes applications sont possibles en exploitant le protocole de communication décrit ci-dessus. Selon un premier exemple, l'utilisation de ce deuxième 20 canal permet de doubler le débit de communication. Selon un autre exemple, ce deuxième canal peut servir à transmettre des données cryptées. Selon encore un autre exemple, des dispositifs esclaves compatibles avec diverses applications peuvent identifier quelle 25 application est utilisée en examinant les niveaux de tension présents sur le bus. Selon encore un autre exemple, la transmission peut être destinée à différents dispositifs esclave de façon simultanée, chacun d'entre eux exploitant un des canaux transmis. 30 L'adaptation des niveaux de référence par les dispositifs esclaves permet, de façon induite, d'utiliser un circuit maître pour communiquer avec des circuits esclaves dimensionnés pour travailler sous des tensions différentes. En outre, une modification des niveaux VO et V1 par le 35 circuit maître peut être utilisée pour révoquer un circuit B8880 - 08-RO-041 11 esclave (par exemple, un circuit esclave dédié à un fonctionnement sous des niveaux VO et V1 donnés) sans utiliser le canal de communication. Selon une variante de réalisation, le deuxième canal est utilisé pour une transmission dans le sens esclave vers maître. Cela permet une communication en full-duplex, l'esclave pouvant renvoyer un bit au maître chaque fois qu'il reçoit un bit de celui-ci. Le dispositif esclave doit pour cela être capable (comme le maître) de moduler le niveau du signal avec le ou les niveaux intermédiaires. On peut par exemple prévoir que le dis-positif esclave impose ses propres niveaux que le dispositif maître détecte dans une phase d'apprentissage similaire à celle décrite ci-dessus pour la détection par le dispositif esclave des niveaux transmis par le dispositif maître. Selon un autre exemple, les niveaux restent fixés par le dispositif maître et le dispositif esclave mémorise ces niveaux dans une séquence d'apprentissage pour s'en servir ensuite de consignes. Un système de communication exploitant le protocole multicanaux décrit se traduit, sur la liaison unifilaire, par une variation du niveau de tension parmi au moins trois valeurs pendant la communication. Divers modes de réalisation ont été décrits. Diverses modifications sont à la portée de l'homme du métier. En particulier, la réalisation pratique de l'invention à partir des indications fonctionnelles données ci-dessus est à la portée de l'homme du métier. De plus, on a fait référence aux termes dispositif/circuit maître et esclave pour désigner n'importe quel élément communiquant. Il peut s'agir de circuits d'un même appareil, d'appareils différents et un même dispositif ou circuit esclave peut, selon les applications, exploiter un ou plusieurs des canaux transmis. En outre, bien que l'invention ait été plus particulièrement décrite en relation avec un dispositif esclave tirant son alimentation du bus de transmission, le protocole multicanaux décrit s'applique également aux circuits esclave alimentés indépendamment de ce bus (par exemple, en étant B8880 - 08-RO-041 12 connecté à un bus spécifique de fourniture d'une tension d'alimentation d'un dispositif intégrant les circuits maître et esclave, ou en étant alimenté par batterie ou autre). Selon un exemple particulier de réalisation, le bus de communication est utilisé entre une imprimante (dispositif maître 1) et sa ou ses cartouches d'encre (dispositifs esclave 31, 32, 33 et 34)- REVENDICATIONS1. Procédé de transmission d'un signal (S) au moins de synchronisation et de données sur un bus unifilaire (B) entre un dispositif maître (1) et au moins un dispositif esclave (31, 32, 33, 34 ; 3i) , caractérisé en ce que : un premier canal (Cl) de transmission du dispositif maître vers le dispositif esclave module la largeur d'impulsions périodiques entre un premier niveau (VO) et un deuxième niveau (V1) de tension de même signe par rapport à un potentiel de référence (GND) ; et un deuxième canal (C2) de transmission module en amplitude au moins un des niveaux de tension entre ce niveau et au moins un troisième niveau (VO') différent des deux autres et du potentiel de référence. 2. Procédé selon la revendication 1, dans lequel le 15 troisième niveau (VO') est compris entre les premier et deuxième niveaux (VO, V1). 3. Procédé selon la revendication 1 ou 2, dans lequel la modulation d'amplitude du deuxième canal (C2) est analogique entre les premier (VO) et deuxième (V1) niveaux. 20 4. Procédé selon la revendication 1 ou 2, dans lequel la modulation d'amplitude du deuxième canal (C2) est numérique entre les premier (VO) et troisième (VO') niveaux. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel une détection du premier canal (Cl) s'effectue 25 en détectant des fronts montants ou descendants du signal. 6. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel une détection du premier canal (Cl) s'effectue par mesure des niveaux de tension. 7. Procédé selon l'une quelconque des revendications 1 30 à 6, dans lequel une détection du deuxième canal (C2) s'effectue par mesure de niveaux d'amplitude. 8. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel le signal (S) fournit l'alimentation du dispositif esclave (31, 32, 33, 34 ; 3i).B8880 - 08-RO-041 14 9. Procédé selon l'une quelconque des revendications 1 à 8, dans lequel le deuxième canal (Cl) est utilisé dans le sens maître vers esclave. 10. Procédé selon l'une quelconque des revendications 1 5 à 8, dans lequel le deuxième canal (C2) est utilisé dans le sens esclave vers maître. 11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel le dispositif esclave (31, 32, 33, 34 ; 3i) module la largeur desdites impulsions en fonction de l'état de 10 bits de données à transmettre dans le sens esclave vers maître. 12. Système de communication selon un protocole uni-filaire transmettant à la fois un niveau d'alimentation, un signal de synchronisation et des données sur un même fil (2), caractérisé en ce qu'il comporte des moyens pour la mise en 15 oeuvre du procédé conforme à l'une quelconque des revendications 1 à 11. 13. Dispositif électronique de communication (1 ; 31, 32, 33, 34 ; 3i) adapté à transmettre des données selon un procédé conforme à l'une quelconque des revendications 1 à 11.