Brevet FR2774836A1 — publié le 19990813

DISPOSITIF DE TRANSMISSION BI-DIRECTIONNELLE. La présente invention concerne un dispositif de transmission d'informations numériques. L'invention s'applique plus particulièrement à la transmission d'informations numériques sur un conducteur bidirectionnel. On connaît différents bus de transmission bi- directionnelle, utilisant un ou plusieurs conducteurs bi-directionnels pour transmettre des données numériques. On peut citer par exemple le bus dit I2C mis au point par Philips, très utilisé notamment dans le domaine audio et vidéo. Ce bus comprend des lignes uni- directionnelles qui sont une ligne d'alimentation pour la masse, une ligne d'alimentation pour la tension d'alimentation positive (5 volts par exemple). Ce bus comprend aussi une ligne pour transmettre un signal d'horloge, qui peut-être uni-directionnelle mais aussi bi- directionnelle, par exemple dans le cas o l'on a plusieurs maîtres sur le bus. Ce bus comprend en outre une ligne bi-directionnelle pour les données numériques à transmettre. Quand aucune donnée n'est transmise, cette ligne est tirée à un potentiel positif par un dispositif de tirage. Ce dispositif de tirage est composé d'une résistance. Quand un circuit maître ou esclave veut transmettre des données sur la ligne bi-directionnelle, il prend la main sur cette ligne pour imposer des impulsions négatives selon un protocole déterminé, à la cadence horloge, correspondant à la suite de "1"111 et de 11"0"11 des informations à transmettre (adresses et données). Or, quand on veut réaliser un système électronique pour une application, on choisit les différents circuits électroniques nécessaires pour réaliser les différentes fonctions, dans les catalogues des différents fournisseurs de circuits électroniques. Selon les domaines, par exemple, selon que l'on cherche un microprocesseur, un amplificateur audio ou tuner, une mémoire statique ou dynamique, une mémoire non volatile ou autres, les technologies disponibles ne sont pas toujours équivalentes. Par exemple, on sait que l'une des tendances actuelles est au développement des technologies et des structures de circuits capables de fonctionner à basse tension d'alimentation: 2,5 volts et moins. S'agissant de microprocesseurs et de mémoires, de tels circuits sont déjà disponibles, fonctionnant sous 2,5 volts par exemple. Mais s'agissant de circuits qui nécessitent beaucoup de puissance (d'un tuner par exemple), on peut ne trouver que des circuits fonctionnant sous 5 volts. Si on veut utiliser dans un même système électronique, des circuits alimentés sous des tensions différentes, il faut donc prévoir d'adapter les niveaux des données à transmettre. Par ailleurs, certains circuits sont très sensibles au bruit, comme par exemple les amplificateurs. Si on a un système comprenant beaucoup de circuits électroniques communiquant par le même bus de transmission, un circuit comme le tuner va être très perturbé par toutes les informations transmises sur ce bus qui ne lui sont pas destinées. Ainsi, le problème technique qui se pose dans l'invention concerne un bus de transmission bi- directionnelle. Dans l'invention, on cherche à limiter le bruit ainsi qu'à permettre la connexion sur un même bus de transmission bi- directionnelle de différents circuits alimentés sous des tensions différentes. Une solution à ce problème technique a été trouvée, qui consiste, pour un circuit de tension d'alimentation différente ou à isoler, à connecter ce circuit à cette ligne bi-directionnelle, au travers d'un répéteur bidirectionnel selon l'invention. Telle que caractérisée l'invention concerne un dispositif de transmission numérique bi- directionnelle sur un bus comprenant au moins une ligne bidirectionnelle. Selon l'invention ce dispositif comprend au moins un répéteur bi-directionnel entre un premier tronçon et un deuxième tronçon de la dite ligne, chaque tronçon étant connecté à au moins un circuit électronique, un premier dispositif de tirage à un premier niveau logique étant placé sur le premier tronçon, un deuxième dispositif de tirage à un premier niveau logique étant placé sur le deuxième tronçon, ledit répéteur comprenant en outre un premier dispositif de tirage à un deuxième niveau logique (zéro) connecté au premier tronçon et un deuxième dispositif de tirage à un deuxième niveau logique (zéro) connecté au deuxième tronçon, les dits dispositifs de tirage au deuxième niveau logique étant commandés par un circuit logique connecté en entrée au premier tronçon et au deuxième tronçon tel que les dispositifs de tirage au deuxième niveau logique ne soient pas actifs simultanément. Ce répéteur permet d'isoler le circuit en ne laissant passer aucune information vers ce circuit qui ne lui serait pas destinée. Ce répéteur permet de connecter activement ce circuit au bus uniquement lorsque les informations sur ce bus lui sont destinées et/ou quand lui-même transmet des informations. Ce répéteur permet aussi de connecter sur un même bus bi-directionnel des circuits fonctionnant sous des tensions d'alimentation différentes, en réalisant une adaptation de niveau dans les deux sens. En outre, un tel répéteur permet avantageusement de prévoir des dispositifs de tirage différents de chaque côté du répéteur, permettant d'adapter ce dispositif de tirage à l'impédance de ligne de chaque côté du répéteur. D'autres caractéristiques et avantages de l'invention sont détaillés dans la description suivante faite à titre indicatif et nullement limitatif et en référence aux dessins annexés, dans lesquels: - la figure 1 montre un exemple d'une réalisation d'un répéteur, mais non adapté à une transmission bi-directionnelle; - la figure 2 montre un exemple de réalisation d'un répéteur bi-directionnel selon l'invention. - la figure 3 représente un schéma détaillé d'un répéteur bi- directionnel selon 3 5 l'invention, comprenant des moyens de commande d'isolation. Dans la description qui suit, on utilise par convention une logique positive, avec un premier niveau logique qui correspond à un niveau haut positif et un deuxième niveau logique qui correspond à la masse. L'invention ne se limite pas à cette convention. L'homme du métier peut tout aussi bien retenir une logique négative, et effectuera sans difficultés les adaptations nécessaires. La figure 1 montre un répéteur REP? conditionnel, unidirectionnel placé sur une ligne bi-directionnelle, séparant cette ligne en deux tronçons de ligne SDA1 et SDA2. Un dispositif de tirage est prévu pour chaque tronçon de ligne. On a ainsi un dispositif de tirage DT1 sur le tronçon SDA1 et un dispositif de tirage DT2 sur l'autre tronçon SDA2. Le répéteur est placé entre les deux dispositifs de tirage. Réaliser un répéteur unidirectionnel ne pose pas de problèmes particuliers. C'est un simple interface à portes logiques. Dans l'exemple, ce répéteur unidirectionnel comprend une porte NAND (NON ET) 10 recevant sur une entrée, une extrémité d'un tronçon, dans l'exemple SDA1. L'autre extrémité de ce tronçon est connecté à au moins un circuit, par exemple un circuit maître (processeur) Mi. Sur l'autre entrée de la porte NAND, un signal conditionnel COND est appliqué, provenant par exemple du circuit maître Ml connecté au tronçon SDA1. La sortie de la porte NAND est appliquée sur la grille ou la base d'un transistor 11 connecté entre une extrémité de l'autre tronçon, dans l'exemple SDA2, et la masse. Ce deuxième tronçon SDA2 est connecté à au moins un autre circuit, dans l'exemple, un circuit esclave (mémoire, tuner...) noté El. Le signal conditionnel permet d'autoriser la transmission d'un message à destination de l'esclave El, à l'initiative de celui qui l'émet, le maître Mi dans l'exemple. Si le signal conditionnel COND autorise la transmission, la porte 11 retransmet l'information appliquée sur sa grille, en tirant à la masse le tronçon SDA2, si le tronçon SDA1 est lui-même à la masse, ou en laissant le dispositif de tirage de ce tronçon SDA2 imposer le potentiel. Ce dispositif particulièrement simple ne peut cependant pas être utilisé pour fonctionner en bi- directionnel. En effet, si on duplique le répéteur dans l'autre sens, comme représenté en pointillé sur la figure 1 sous la référence REP1', si à un moment donné un circuit impose un zéro sur le tronçon SDA1, le tronçon SDA2 sera aussi tiré à zéro, par recopie par le premier répéteur REP1. Le deuxième répéteur REP1' agit de même, ce qui maintient le tronçon SDA1 à zéro. Le système reste ainsi verrouillé à zéro. Plus aucune information ne peut passer. Pour que le répéteur puisse fonctionner en bi- directionnel, il faut que le tronçon SDA1 puisse revenir à l'état haut de repos, entraînant à sa suite le retour à l'état haut de l'autre tronçon SDA2. Un exemple de réalisation d'un répéteur bi- directionnel conforme à l'invention est représenté sur la figure 2. Le répéteur REP2 comprend un dispositif de tirage à zéro connecté à chacun des tronçons SDA1 et SDA2. On a ainsi dans l'exemple un premier transistor 20 connecté entre le tronçon SDA1 et la masse et un deuxième transistor 21 connecté entre le tronçon SDA2 et la masse. Le répéteur REP2 comprend aussi un circuit logique CL connecté en entrée à chacun des tronçons SDA1 et SDA2 pour commander les éléments de tirage à zéro, tel que les deux dispositifs de tirage à zéro ne soient pas actifs simultanément. Dans l'exemple, le circuit logique CL comprend une première porte logique NON OU 22, recevant sur une entrée le premier tronçon SDA1 et une deuxième porte NON OU 23, recevant sur une entrée le deuxième tronçon SDA2. L'autre entrée de la porte NON OU 22 reçoit la sortie de la porte NON OU 23. L'autre entrée de la porte NON OU 23 reçoit la sortie de la porte NON OU 22. La sortie A de la porte 22 est en outre appliquée sur l'électrode de commande (grille ou base, selon que le transistor est un transistor MOS ou un transistor bipolaire) du transistor 21 de tirage à zéro du tronçon SDA2. La sortie B de la porte 23 est appliquée sur l'électrode de commande du transistor 20 de tirage à zéro du tronçon SDA1. Le fonctionnement d'un tel dispositif est détaillé ci-après. Au repos, quand aucune information n'est transmise sur le conducteur, les deux tronçons SDA1 et SDA2 sont tirés à leur niveau haut de repos, par les dispositifs de tirage DT1 et DT2. Les sorties A et B sont au même niveau logique 0. Dès que l'un des tronçons est tiré à zéro par un circuit, les sorties A et B deviennent complémentaires l'une de l'autre et l'autre tronçon est aussi tiré à zéro. Par exemple, si le tronçon SDA1 passe à zéro, la sortie A passe à "1", ce qui fait conduire le transistor 23. Ce transistor tire le tronçon SDA2 à zéro. Mais comme la sortie A à "1" est appliquée en entrée de la porte NON OU 23, la sortie B reste inchangée, à zéro, quel que soit le niveau sur le tronçon SDA2. Il n'y a pas de rebouclage sur le tronçon SDA1. Le transistor 20 de tirage à zéro du tronçon SDA1 reste bloqué (non passant). Lorsque le tronçon SDA1 revient à l'état haut, relâché (absence de commande sur ce tronçon), le tronçon SDA2 repasse au niveau haut. On revient à l'état initial de repos. Dans l'exemple représenté, les éléments de tirage à zéro dans le répéteur sont des transistors MOS. On peut tout aussi bien avoir des transistors bipolaires. Au lieu d'un seul transistor, on pourrait aussi prévoir un inverseur à drain ouvert (technologie MOS) ou collecteur ouvert (technologie bipolaire). Avec un tel répéteur bi-directionnel selon l'invention, on peut connecter sur le tronçon SDA1 des circuits alimentés sous une première tension d'alimentation, par exemple, sous 2,5 volts et connecter sur le tronçon SDA2 d'autres circuits alimentés sous une tension d'alimentation différente de la première, par exemple sous 5 volts. Dans ce cas, les dispositifs de tirage au niveau haut seront différents. Le premier dispositif DT1 sera tel qu'il tirera à 2.5 volts le tronçon SDA1. Le deuxième dispositif DT2 sera tel qu'il tirera à 5 volts le tronçon SDA2. Dans une même application, on peut ainsi utiliser des circuits de pointe, de technologies différentes, sans avoir de problèmes de niveaux pour la transmission d'information entre ces différents circuits. Il suffit de regrouper les circuits en deux ensembles, un premier connecté à un premier tronçon, regroupant les circuits alimentés sous une première tension d'alimentation, un deuxième connecté à un deuxième tronçon, regroupant les circuits alimentés sous une première tension d'alimentation, et de placer un répéteur selon l'invention entre ces deux tronçons. En outre, les éléments de tirage à zéro 20 et 21 selon l'invention peuvent être différents, c'est à dire dimensionnés de façon différente, permettant d'adapter chaque transistor de tirage à l'impédance du tronçon associé. En effet, si un tronçon est faiblement capacitif, on peut utiliser un élément de tirage à faible résistance, suffisant à tirer le tronçon à zéro avec un temps de réponse convenable. Tandis que pour une ligne fortement capacitive, on prévoira un transistor beaucoup plus gros, capable de tirer beaucoup de courant, adapté au tronçon associé. De cette façon, en dimensionnant convenablement les éléments de tirage à zéro, on obtient une consommation optimale pour ce circuit, la plus faible possible, sans pénaliser le temps de réponse. Dans un perfectionnement représenté sur la figure 3, le répéteur comprend en outre un circuit conditionnel 30, permettant de connecter activement les deux tronçons SDA1 et SDA2 ou au contraire de les isoler. Le répéteur conditionnel permet d'isoler un circuit du reste du système. Techniquement, il est bien sûr possible d'avoir plusieurs circuits sur ce deuxième tronçon, mais en pratique, c'est un seul circuit que l'on veut isoler de tous les autres. Ce circuit à isoler est donc connecté au tronçon SDA2, les autres circuits du système étant connectés au tronçon SDA1. Dans l'exemple, le circuit à isoler est un circuit esclave El. Le circuit conditionnel est commandé par un circuit électronique connecté au premier tronçon SDA1. Le circuit conditionnel comprend un élément de mémorisation (MEM) pour positionner un signal conditionnel C. Ce signal conditionnel C est appliqué au circuit logique CL, pour lui permettre ou l'empêcher de prendre en compte le niveau sur les tronçons SDA1 et SDA2. Dans l'exemple, ce signal conditionnel est ainsi appliqué sur une troisième entrée de chacune des portes 22 et 23. Quand ce signal conditionnel C est mis à 1, il permet de forcer la sortie des portes NON OU à zéro. Aucune transmission n'est possible entre les deux tronçons. Quand au contraire, ce signal conditionnel C passe à zéro, il permet la transmission d'informations entre les deux tronçons, dans un sens ou l'autre. Par défaut, le signal conditionnel C est à 1, pour isoler le circuit El. Il faut une commande d'activation pour permettre la transmission bi-directionnelle via le répéteur. Le circuit conditionnel 30 pourrait être directement commandé par un circuit maître du tronçon SDA1, comme représenté sur la figure 1 (signal COND). Dans l'exemple représenté sur la figure 3, il est avantageusement commandé via le tronçon SDA1. Il peut ainsi être activé indifféremment par l'un quelconque parmi plusieurs circuits maîtres connectés à ce tronçon SDA1. Le circuit conditionnel comprend alors un circuit détecteur d'activation 31, connecté en entrée au tronçon SDA1. Ce circuit 31 a pour fonction de reconnaître un message d'activation ou un message de fin, pour autoriser ou interdire la transmission bi- directionnelle à travers le répéteur en positionnant à un ou à zéro l'élément de mémorisation (MEM). Dans l'exemple plus particulièrement représenté, on a représenté, en plus de la ligne bi-directionnelle pour la transmission d'information, la ligne de transmission du signal d'horloge. C'est une ligne uni- directionnelle SCL1, émise dans l'exemple par le circuit maître M1 connecté au tronçon SDA1. Dans l'exemple, cette ligne SCL1 est appliquée en entrée du circuit conditionnel 30, et plus particulièrement au circuit détecteur d'activation 31, pour lui permettre de décoder les messages d'activation et de fin. L'élément de mémorisation (MEM) du circuit conditionnel 30 comprend dans l'exemple une bascule RS 32 et une bascule D (latch) 33, toutes deux commandées par le circuit détecteur d'activation 31. La sortie /Q de la bascule D 33 fournit le signal conditionnel C qui commande l'isolation ou la connexion active du répéteur. La sortie Q de la bascule RS est appliquée sur l'entrée D de la bascule D 33. La sortie Q de cette bascule D 33 est rebouclée sur l'entrée de mise à zéro R de la bascule RS 32. La sortie /Q de la bascule D fournit le signal conditionnel C. Enfin, la sortie STOP du circuit détecteur 31 est appliquée sur l'entrée horloge CK de la bascule D. Le fonctionnement est le suivant. Quand le circuit détecteur 31 détecte le message d'activation transmis par un maître sur le tronçon SDA1, il envoie une impulsion positive sur la première sortie ON, appliquée sur l'entrée S de mise à un de la bascule RS 32 et il transmet sur une deuxième sortie STOP, une impulsion d'horloge pour faire mémoriser le "1" dans la bascule D. La sortie /Q passe à zéro, ce qui permet au répéteur bi-directionnel de fonctionner. Dans le même temps, la sortie Q de cette bascule D passe à 1, ce qui remet à zéro la bascule RS. La sortie de la bascule RS repasse donc à zéro. Quand le circuit détecteur 31 détecte le message de fin, il émet une nouvelle impulsion d'horloge sur la il sortie STOP. Cela fait mémoriser dans la bascule D l'état de la bascule RS qui est repassée à zéro. La bascule D mémorise donc un zéro. La sortie /Q de la bascule D, qui fournit le signal conditionnel C repasse donc à un: le répéteur est désactivé. En pratique, le message d'activation peut-être l'adresse du répéteur émis sur le tronçon SDA1 par un maître. Le message de désactivation est la fin du message de réponse de l'esclave E2. De préférence, on prévoit que le répéteur comprend en outre une porte d'isolation 40 pour empêcher la transmission du signal d'horloge transmis sur la ligne uni-directionnelle SCL1, vers l'esclave E2. Dans l'exemple, il s'agit d'une porte NON OU qui reçoit en entrées, la ligne SCL1 et le signal conditionnel C. La sortie de cette porte NON OU 40 est connectée à la ligne SCL2 connectée à l'entrée horloge de l'esclave E2. Dans un exemple pratique o l'esclave est un tuner, l'utilisation d'un tel répéteur conditionnel permet de protéger au mieux le tuner des bruits de transmission sur la ligne des données et sur la ligne d'horloge, tout en permettant que ce tuner soit alimenté à une tension différente du reste du système. On remarquera que le circuit détecteur 31 est dans l'exemple de réalisation décrit un simple décodeur d'une adresse et d'un message de fin. Il n'y a pas besoin de connaître le protocole de transmission. Ceci permet une réalisation particulièrement simple et peu coûteuse du répéteur bi-directionnel conditionnel de l'invention. On pourra améliorer l'isolation contre le bruit en plaçant des filtres dans le sens des entrés sur le répéteur du tronçon SDA1 (Fl), de la ligne SCL1 (F2) et du tronçon SDA2 (F3). Mais ces filtres ne sont pas obligatoires, et seront évités s'ils nuisent trop au temps de transmission désiré dans l'application, le répéteur lui-même ralentissant déjà la transmission. En pratique, dans un système applicatif, on peut prévoir un répéteur entre deux ensembles de circuits alimentés sous une alimentation différente. On pourra aussi prévoir selon l'invention plusieurs répéteurs conditionnés, chaque répéteur conditionné permettant d'isoler un circuit électronique associé. REVENDICATIONS 1. Dispositif de transmission numérique bi- directionnelle sur un bus comprenant au moins une ligne bidirectionnelle, caractérisé en ce qu'il comprend au moins un répéteur bi-directionnel (REP2) entre un premier tronçon (SDA1) et un deuxième tronçon (SDA2) de la dite ligne, chaque tronçon étant connecté à au moins un circuit électronique (M1, El), un premier dispositif (DT1) de tirage à un premier niveau logique (Vcc) étant placé sur le premier tronçon (SDA1), un deuxième dispositif (DT2) de tirage à un premier niveau logique (Vcc) étant placé sur le deuxième tronçon (SDA2), ledit répéteur comprenant en outre un premier dispositif de tirage (20) à un deuxième niveau logique (zéro) connecté au premier tronçon (SDA1) et un deuxième dispositif de tirage (21) à un deuxième niveau logique (zéro) connecté au deuxième tronçon (SDA2), les dits dispositifs de tirage au deuxième niveau logique étant commandés par un circuit logique (CL) connecté en entrée au premier tronçon et au deuxième tronçon tel que les dispositifs de tirage au deuxième niveau logique ne soient pas actifs simultanément. 2. Dispositif de transmission selon la revendication 1, caractérisé en ce que ledit circuit logique (CL) comprend une première porte NON OU (22) et une deuxième porte NON OU (23), la première porte (22) étant connectée en entrée au premier tronçon (SDA1) et à la sortie (B) de la deuxième porte NON OU (23), la deuxième porte (23) étant connectée en entrée au deuxième tronçon (SDA2) et à la sortie (A) de la première porte (22), la sortie de la première porte (22) commandant le dispositif de tirage (21) au deuxième niveau logique du deuxième tronçon et la sortie de la deuxième porte (23) commandant le dispositif de tirage (20) au deuxième niveau logique du premier tronçon. 3. Dispositif de transmission selon la revendication 1 ou 2, caractérisé en ce que les dispositifs de tirage au premier niveau logique (DT1 et DT2) imposent un premier niveau logique de tension différent sur chaque tronçon. 4. Dispositif de transmission selon l'une quelconque des revendications précédentes, caractérisé en ce que les dispositifs de tirage au deuxième niveau logique (20 et 21) sont dimensionnés en fonction de l'impédance du tronçon auquel chacun est connecté. 5. Dispositif de transmission selon l'une quelconque des revendications précédentes, caractérisé en ce que le répéteur (REP2) comprend en outre un circuit conditionnel (30) commandé par un circuit électronique (Ml) connecté au premier tronçon (SDA1) pour autoriser ou empêcher la transmission entre les deux tronçons. 6. Dispositif de transmission selon la revendication 5, caractérisé en ce que ce circuit conditionnel (30) comprend un élément de mémorisation (MEM) pour commander l'état d'un signal conditionnel (C) appliqué au circuit logique (CL). 7. Dispositif de transmission selon la revendication 5 ou 6, caractérisé en ce que le circuit conditionnel (30) comprend un circuit détecteur (31) connecté en entrée au premier tronçon (SDA1), pour détecter un message d'activation ou d'isolation et positionner le dit élément de mémorisation (MEM). 8. Dispositif de transmission selon l'une quelconque des revendications 5 à 7, le bus comprenant en outre une ligne (SCL1) pour la transmission d'un signal d'horloge, caractérisé en ce que le signal conditionnel (C) est appliqué à une porte logique d'isolation (40) recevant également le signal d'horloge, pour permettre ou non la transmission du dit signal d'horloge vers le ou les circuits connectés au deuxième tronçon. 9. Système comprenant des circuits électroniques connectés à un bus de transmission numérique bi- directionnelle, comprenant un dispositif de transmission numérique bi-directionnelle avec un répéteur (REP2) placé entre un premier tronçon (SDA1) et un deuxième tronçon (SDA2) du bus selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'un premier ensemble de circuits électroniques alimentés sous une première tension d'alimentation est connecté au premier tronçon (SDA1), et en ce que un deuxième ensemble de circuits électroniques alimentés sous une deuxième tension d'alimentation, est connecté au deuxième tronçon. 10. Système comprenant des circuits électroniques connectés à un bus de transmission numérique bi- directionnelle, caractérisé en ce qu'il comprend un dispositif de transmission numérique bi-directionnelle avec un répéteur selon l'une quelconque de revendications 5 à 7 pour chaque circuit électronique à isoler.