FR2996322A1 - Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant - Google Patents

Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant Download PDF

Info

Publication number
FR2996322A1
FR2996322A1 FR1259314A FR1259314A FR2996322A1 FR 2996322 A1 FR2996322 A1 FR 2996322A1 FR 1259314 A FR1259314 A FR 1259314A FR 1259314 A FR1259314 A FR 1259314A FR 2996322 A1 FR2996322 A1 FR 2996322A1
Authority
FR
France
Prior art keywords
circuit
bus
slave
slave circuit
voltage
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.)
Pending
Application number
FR1259314A
Other languages
English (en)
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 FR1259314A priority Critical patent/FR2996322A1/fr
Priority to US14/042,344 priority patent/US9489334B2/en
Publication of FR2996322A1 publication Critical patent/FR2996322A1/fr
Pending legal-status Critical Current

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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • G06F13/4077Precharging or discharging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Electronic Switches (AREA)
  • Logic Circuits (AREA)

Abstract

Dans un mode particulier de mise en œuvre, le procédé de gestion du fonctionnement d'un circuit connecté sur un bus I2C et configuré pour fonctionner au moins en mode esclave et échanger des données sur le bus selon le protocole I2C, comprend, lorsque ledit circuit esclave (CSL) impose le niveau logique prioritaire sur l'une des lignes du bus, une détection au sein du circuit esclave d'un conflit éventuel sur cette ligne résultant d'un forçage, externe audit circuit esclave, de cette ligne à l'autre niveau logique, et en cas de conflit détecté, une génération au sein du circuit esclave d'un signal interne (SGI) interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole I2C.

Description

Procédé de gestion du fonctionnement d'un circuit connecté sur un bus à deux fils, en particulier un bus 12C, et circuit correspondant L'invention concerne la gestion du fonctionnement d'un circuit connecté sur un bus ayant au moins deux fils, par exemple un bus 12C ou un bus SMBus, et configuré pour fonctionner au moins en mode esclave et échanger des données sur le bus, par exemple selon le protocole 12C ou le protocole SMBus, et notamment la protection de tels circuits en cas de conflit sur l'un des fils du bus, par exemple le fil de données ou le fil d'horloge. L'invention s'applique tout particulièrement mais non exclusivement à des mémoires mortes électriquement effaçables et programmables (mémoires EEPROM) destinées à être connectées sur un tel bus.
Le protocole 12C notamment, est un protocole de communication du type à état logique prioritaire Le bus 12C permet de faire communiquer entre eux des modules électroniques très divers grâce à seulement deux fils ou lignes, un fil pour un signal de données (SDA : « Serial Data »), un fil pour un signal d'horloge (SCL : « Serial Clock »). Bien que le bus comporte également un fil pour un signal de masse et un fil d'alimentation, on parle néanmoins de bus à deux fils. Les interfaces des modules connectés sur le fil SDA et sur le fil SCL sont de type collecteur ou drain ouvert imposant un état logique prioritaire sur le fil correspondant. Généralement, il est également prévu, de façon classique et connue en soi, une résistance de rappel connectée entre la tension d'alimentation Vdd, par exemple 5 volts, et le bus 12C. Dans une telle configuration, l'état logique prioritaire sur le bus 12C est un « 0 » logique. En effet, là où les résistances de rappel permettent à la ligne de données du bus ou à la ligne d'horloge d'être au niveau logique haut (niveau logique « 1 ») si toutes les sorties (drains) des interfaces 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 (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 autres étages de sortie. Les caractéristiques du bus I2C et du protocole I2C sont bien connues de l'homme du métier. L'homme du métier pourra à toutes fins utiles se référer notamment au document de la société NXP Semiconductors, notamment disponible sur internet, et intitulé « UM10204, 12C-bus specification and user manual », Rev. 4 - 13 février 2012.
Un bus I2C peut relier un circuit ou module maître à un ou plusieurs circuits esclaves. Il existe également des bus I2C connectant deux circuits maîtres à plusieurs circuits esclaves. Dans ce cas, l'un des circuits maîtres peut se comporter comme un circuit esclave. Le maître et les esclaves échangent des données selon des transactions définies dans le protocole I2C. En situation normale, sur des bus à au moins deux fils avec niveau logique prioritaire, il n'y a pas de conflit sur les lignes du bus. En effet, lorsqu'un circuit esclave veut imposer le niveau logique prioritaire sur le bus (le niveau « 0 »), le transistor de l'interface tire la ligne correspondante à la masse et les transistors des autres circuits esclaves sont bloqués. De ce fait, compte tenu de la présence des résistances de rappel, il s'établit alors une tension prédéterminée sur le bus, typiquement de l'ordre de 250 millivolts, ce qui est tout à fait acceptable pour le circuit esclave.
Cependant, dans certains cas, un conflit peut apparaître sur l'une des lignes du bus. C'est le cas lorsqu'on force, de façon externe au circuit esclave qui est en train de vouloir imposer le niveau logique prioritaire sur une ligne du bus, ladite ligne à l'autre niveau logique (en l'espèce le niveau logique « 1 »). Un tel cas peut se produire par exemple lorsqu'un circuit maître gère un bus I2C sur lequel peuvent être connectés des périphériques amovibles insérables à chaud. C'est le cas par exemple d'une imprimante équipée de cartouches d'encre ayant chacune un micromodule I2C à quatre contacts (Vdd, la masse, SDA et SCL). Il y a alors possibilité de court-circuiter la ligne SDA et/ou la ligne SCL vers la tension d'alimentation Vdd lors d'une mauvaise insertion. Dans un tel cas, la résistance de rappel de la ligne considérée est alors court-circuitée et la tension sur la ligne en question devient très importante de même que le courant qui va circuler dans le transistor du circuit esclave qui tentait d'imposer le niveau logique prioritaire (« 0 » logique). Un conflit peut également survenir lorsque le circuit esclave est soumis à des parasites importants en raison de son environnement. A titre indicatif, en cas de conflit, le courant de court-circuit peut dépasser 200 milliampères à 5 volts. Il peut alors en résulter une destruction rapide du circuit par fusion des soudures et/ou des contacts ou bien une destruction plus lente du circuit par électro-migration ou encore un endommagement plus ou moins rapide du circuit par échauffement ou encore un blocage du circuit en raison du bruit généré sur l'alimentation de masse. Et, ces risques sont devenus particulièrement importants avec l'introduction d'un mode particulier du bus I2C qui est le mode dénommé « fast-mode plus ». En effet ce mode impose des étages de sortie à bien plus faible impédance que celle requise pour les modes classiques, ce qui peut conduire à des courants de court circuit bien plus élevés. Il existe aujourd'hui un besoin pour apporter une solution satisfaisante et industriellement acceptable pour améliorer la protection d'un circuit connecté sur un bus à niveau logique prioritaire, tel que par exemple le bus I2C ou SMBus, contre les risques de conflits sur ce bus. Selon un mode de mise en oeuvre et de réalisation, il est proposé une solution pour répondre à ce besoin qui soit simple à mettre en oeuvre. Selon un autre mode de mise en oeuvre et de réalisation, il est proposé une solution de protection contre les conflits et qui permette en outre d'éviter, par exemple dans le cas de mémoire EEPROM, des opérations de reprogrammation qui conduiraient à des données programmées erronées. Selon un aspect, il est proposé un procédé de gestion du fonctionnement d'un circuit connecté sur un bus ayant au moins deux fils et un niveau logique prioritaire (typiquement le niveau logique « 0 »), le circuit étant configuré pour fonctionner au moins en mode esclave et échanger des données sur le bus ; Un circuit configuré pour fonctionner au moins en mode esclave peut être un circuit esclave proprement dit ou bien un circuit maître capable, par exemple sur un bus multi-maîtres, de se comporter dans certains cas comme un circuit esclave ; Selon une caractéristique générale de cet aspect, le procédé comprend, lorsque le circuit esclave impose le niveau logique prioritaire sur l'une des lignes du bus, que ce soit une ligne de données ou une ligne d'horloge, une détection au sein du circuit esclave d'un conflit éventuel sur cette ligne résultant d'un forçage, externe audit circuit esclave, de cette ligne à l'autre niveau logique (typiquement le niveau logique « 1 »), et en cas de conflit détecté, un placement du circuit esclave dans un état stoppant l'envoi par le circuit esclave de toute donnée sur le bus tout en laissant le circuit esclave à l'écoute du bus. Le placement dans cet état va avoir pour conséquence non seulement de bloquer le transistor de l'étage de sortie (ou interface) du circuit utilisé pour imposer le niveau logique prioritaire, mais également de mettre le circuit dans un état de veille, ce qui va donc stopper l'échauffement du circuit et donc le protéger contre les conséquences néfastes qui peuvent en résulter. Par ailleurs le fait que le circuit reste à l'écoute du bus de façon permet de l'autoriser à recevoir ultérieurement une nouvelle commande éventuelle pour le remettre alors dans un état normal de fonctionnement lorsque le conflit aura cessé. Selon un mode de mise en oeuvre dans lequel le circuit est connecté sur un bus 12C ou sur un bus SMBus, ledit placement du circuit esclave dans ledit état comprend une génération au sein du circuit esclave d'un signal interne interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole 12C ou du protocole SMBus. Dans le protocole 12C ou SMBus, une transaction débute généralement par une condition START et se termine par une condition STOP. Une condition START est définie par une transition haut vers bas sur la ligne de données tandis que la ligne d'horloge est à l'état haut. Une condition STOP est définie par une transition bas vers haut sur la ligne de données tandis que la ligne d'horloge est à l'état haut.
Généralement, lorsqu'un circuit reçoit de la part du bus une condition STOP, il génère en interne un signal de désélection ce qui a pour effet d'interrompre toute communication entre le bus et ce circuit et de le placer dans un état où il va attendre la réception d'une éventuelle nouvelle condition START.
Aussi, le signal interne généré lors de la détection d'un conflit va-t-il être interprété par le circuit comme représentatif de la réception d'une condition STOP, ce qui permet en utilisant une condition existante du bus de placer simplement le circuit dans son état de veille avec écoute du bus avec les conséquences bénéfiques indiquées ci- avant. Par ailleurs, certains circuits esclaves sont configurés pour exécuter au moins un traitement particulier après la réception d'une condition STOP. C'est le cas notamment lorsque le circuit esclave comprend une mémoire du type EEPROM. En effet, dans ce cas, ledit traitement particulier est une programmation de la mémoire avec les données reçues préalablement à la réception de la condition STOP. Or, en cas de conflit, les données qui peuvent avoir été éventuellement reçues par la mémoire avant la génération du signal interne interprété comme étant la réception d'une condition STOP, peuvent être éventuellement des données corrompues. Dans ce cas, il est particulièrement avantageux d'inhiber l'exécution de ce traitement particulier après ladite génération du signal interne. Selon une variante, ladite détection comprend une comparaison de la tension de la ligne sur laquelle le circuit esclave impose le niveau logique prioritaire avec une tension de référence, et un conflit est détecté lorsque ladite tension dépasse ladite tension de référence au moins pendant une durée prédéterminée. Cette variante met ainsi en oeuvre une temporisation.
Cette variante s'applique, que le conflit apparaisse sur une ligne de données ou sur une ligne d'horloge du bus. Selon une autre variante, applicable uniquement lorsque le circuit esclave impose ledit niveau logique prioritaire sur une ligne de données du bus, ladite détection comprend une comparaison de la tension de la ligne de données avec une tension de référence et un conflit est détecté lorsque ladite tension dépasse ladite tension de référence lors du front montant du signal d'horloge suivant le front descendant lors duquel le circuit esclave a imposé ledit niveau logique prioritaire sur la ligne de données.
Un circuit esclave est, comme indiqué ci-avant, capable de détecter la réception d'une condition STOP émanant du bus. Et, en réponse à la détection d'une telle condition STOP, le circuit esclave délivre un signal de désélection. Aussi, selon un mode de mise en oeuvre, une façon d'interpréter le signal interne généré lors de la détection d'un conflit comme étant représentatif de la réception d'une condition STOP, peut consister à délivrer également, au sein du circuit, le signal de désélection en réponse à la génération de ce signal interne. Pour limiter encore l'échauffement du composant entre le moment où le conflit apparaît et le moment où il est détecté, il est avantageusement prévu que le procédé comprenne en outre une limitation de la tension appliquée sur l'électrode de commande du transistor par l'intermédiaire duquel le circuit esclave impose ledit niveau logique prioritaire.
Selon un autre aspect, il est proposé un circuit, comprenant une interface configurée pour être connectée au moins en mode esclave sur un bus ayant au moins deux fils ainsi qu'un niveau logique prioritaire et échanger des données sur le bus.
Selon une caractéristique générale de cet autre aspect, le circuit comprend des premiers moyens possédant un premier état dans lequel ils sont configurés pour imposer le niveau logique prioritaire sur l'un des fils ou lignes du bus, des moyens de détection configurés pour détecter un conflit éventuel sur cette ligne résultant, lorsque les premiers moyens sont dans leur premier état, d'un forçage, externe audit circuit esclave, de cette ligne à l'autre niveau logique, des deuxièmes moyens configurés pour, en cas de conflit détecté, placer le circuit esclave dans un état stoppant l'envoi par le circuit esclave de toute donnée sur le bus tout en laissant le circuit esclave à l'écoute du bus. Selon un mode de réalisation ladite interface est configurée pour être connectée sur un bus 12C ou un bus SMBus et les deuxièmes moyens comprennent des moyens de génération configurés pour, en cas de conflit détecté, générer un signal interne interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole 12C ou du protocole SMBus. Selon un mode de réalisation, le circuit comprend en outre des moyens de traitement configurés pour exécuter au moins un traitement particulier après la réception d'une condition STOP et des moyens d'inhibition configurés pour une inhiber l'exécution dudit au moins un traitement particulier après ladite génération du signal interne. Selon un mode de réalisation, ledit circuit est un circuit esclave comprenant une mémoire du type EEPROM, et les moyens de traitement comportent des moyens de programmation de la mémoire. Selon une variante, les moyens de détection comprennent des moyens de comparaison configurés pour effectuer une comparaison de la tension de la ligne sur laquelle le circuit impose ledit niveau logique prioritaire avec une tension de référence, et des moyens de temporisation contenant une information de durée, et les deuxièmes moyens sont connectés à la sortie des moyens de comparaison et à la sortie des moyens de temporisation, et sont configurés pour placer le circuit dans ledit état lorsque ladite tension dépasse ladite tension de référence au moins pendant une durée égale à ladite information de durée. Selon une autre variante, les premiers moyens sont configurés pour imposer dans leur premier état le niveau logique prioritaire sur une ligne de données du bus lors d'un front descendant du signal d'horloge, les moyens de détection comprennent des moyens de comparaison configurés pour effectuer une comparaison de la tension de la ligne de données avec une tension de référence, des troisièmes moyens configurés pour détecter le front montant du signal d'horloge suivant ledit front descendant, et les deuxièmes moyens sont connectés à la sortie des moyens de comparaison et à la sortie des troisièmes moyens et sont configurés pour placer le circuit dans ledit état lorsque ladite tension dépasse ladite tension de référence lors du front montant du signal d'horloge suivant ledit front descendant.
Selon un mode de réalisation, ladite interface comprend un bloc de détection d'une condition STOP et configuré pour délivrer un signal de désélection en réponse à la détection d'une condition STOP, et lesdits deuxièmes moyens comportent une porte logique connectée à la sortie des moyens de génération et à la sortie dudit bloc de détection et configurée pour délivrer le signal de désélection en réponse audit signal interne. Selon un mode de réalisation, lesdits premiers moyens comprennent un transistor, et le circuit comprend des moyens de limitation de la tension appliquée sur l'électrode de commande de ce transistor. D' autres avantages et caractéristiques de l' invention apparaîtront à l'examen 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, de façon schématique, un mode de réalisation d'un circuit esclave selon l'art antérieur, et les figures 2 à 8 illustrent de façon schématique différents modes de mise en oeuvre et de réalisation relatifs à un procédé et un circuit esclave selon l' invention. Sur la figure 1, la référence CSL désigne un circuit ou module esclave connecté sur un bus BS conforme à la spécification I2C. Le bus BS comporte ici de façon classique, une ligne de données SDA, une ligne d'horloge SCL et une ligne de masse GND. Par ailleurs, comme indiqué ci-avant, des résistances de rappel Rp sont connectées entre la ligne de données et l'alimentation Vdd et entre la ligne d'horloge et l'alimentation Vdd.
Le circuit CSL, par exemple un circuit intégré, comporte deux plots de contact (« pads », en langue anglaise) PSDA et PSCL respectivement connectés sur la ligne de données SDA et la ligne d'horloge SCL. Le composant CSL comporte également une interface I2C, référencée INT, et comportant une première voie connectée au plot de contact PSCL et une deuxième voie connectée au plot de contact PSDA. Par abus de langage, la référence SCL désigne également le signal d'horloge interne au composant CSL issu de la ligne d'horloge SCL et reçu au niveau du plot PSCL. De même, par abus de langage, la référence SDA désigne également le signal de données interne au composant CSL et issu de ou destiné à la ligne de données SDA et reçu ou émis au niveau du plot PSDA.
La première voie connectée au plot de contact PSCL comporte en entrée un « trigger » de Schmitt inverseur TS destiné à remettre en forme le signal SCL suivi d'un filtre passe-bas FPB destiné à éliminer autant que possible les parasites. Le filtre passe-bas FPB est suivi d'un bloc de génération d'horloge BGNH qui délivre un signal d'horloge interne SCLK. La deuxième voie, connectée au plot de contact PSDA, comporte également en entrée un « trigger » de Schmitt inverseur TS suivi d'un filtre passe-bas FPB suivi d'un bloc BDSS destiné à détecter les conditions START et STOP reçues du bus.
Cette deuxième voie de traitement peut comporter un ou plusieurs inverseurs de sorte que les signaux SDA délivrés au niveau du plot PSDA et en amont du bloc BDSS ne soient pas mutuellement inversés.
Le bloc BDSS délivre de façon classique un signal de sélection/désélection CS. Ainsi, lorsque le signal logique CS est par exemple à l'état haut, le circuit est sélectionné tandis que lorsque le signal logique CS est à l'état bas il s'agit là d'un signal de désélection désélectionnant le circuit du bus. En d'autres termes, lorsque l'unité de traitement du circuit CSL reçoit un signal de désélection, elle place le circuit dans un état de veille, stoppant tout envoi de données sur le bus. Néanmoins, dans cet état, le circuit reste à l'écoute du bus et attend la réception éventuelle d'une nouvelle condition START.
Là encore, un ou plusieurs inverseurs peuvent être incorporés dans le filtre passe-bas et/ou dans le bloc BGNH de la première voie de traitement de sorte que, lorsque le composant est sélectionné (signal CS à l'état haut), le signal SCLK n'est pas inversé par rapport au signal SCL. Il convient également de noter que lorsque le composant est désélectionné (signal CS à l'état bas), le bloc BGNH bloque le signal d'horloge interne SCLK. Outre les moyens qui viennent d'être décrits, l'interface INT comporte de façon classique un transistor TR, ici un transistor NMOS, ayant sa source connectée à la masse et son drain connecté au contact PSDA. Lorsque le circuit CSL veut transmettre un « 0 » (niveau logique prioritaire) sur le bus BS, le transistor TR est commandé sur sa grille de façon à être passant. La commande s'effectue à partir d'un signal d'activation SACT et du signal de données DD par l'intermédiaire d'un bloc de commande optionnel BC permettant de contrôler le temps de descente de la tension sur la ligne SDA. On va maintenant illustrer en se référant à la figure 2, un exemple d'apparition de conflit sur la ligne SDA. Le chronogramme CHRO de la partie supérieure de la figure 2 illustre l'évolution temporelle du signal d'horloge SCL.
On suppose dans cet exemple que le circuit CSL délivre sur la ligne de données SDA successivement les données 0, 1, 0, 0 (signal SDA). Ces données sont échantillonnées de façon classique sur les fronts descendants FD1, FD2 et FD3 du signal d'horloge SCL. On suppose également qu'à partir de l'instant INST, il y a un forçage externe au circuit CSL de la ligne SDA. C'est le cas par exemple si la ligne SDA est intentionnellement ou accidentellement court-circuitée à la tension Vdd ou bien amenée à la tension Vdd par un composant connecté sur le bus et ayant un chemin d'accès très faiblement ohmique par rapport aux résistances de rappel RP. On voit alors que, au lieu que le niveau de tension de la ligne SDA (niveau de tension du signal SDA) descende au niveau VO (typiquement 400 millivolts au maximum) en fonction de la valeur choisie pour la résistance de rappel RP, le niveau de tension de la ligne SDA descend à un niveau V1 lorsque, sur le front descendant FD3, le composant CSL tire la ligne SDA à 0. Et, en raison du conflit, le niveau V1 est bien supérieur au niveau VO et peut atteindre selon les cas des valeurs allant jusqu'à la tension d'alimentation.
Il peut en résulter alors un courant de court-circuit important circulant dans le transistor TR pouvant par exemple entraîner une destruction rapide du circuit par fusion de soudure, de contact ou d'interconnexion, ou encore un endommagement du circuit intégré, plus ou moins rapide, par échauffement. A titre indicatif, dans certains cas, le courant de court-circuit peut dépasser 200 milliampères à 5 volts. Et, dans l'art antérieur, non seulement le conflit n'est pas détecté mais il peut continuer sans limitation de durée, ce qui est extrêmement préjudiciable.
Au contraire, selon un mode de mise en oeuvre de l'invention, lorsque le circuit esclave impose le niveau logique prioritaire sur l'une des lignes du bus, en l'espèce la ligne de données SDA, on détecte au sein du circuit esclave le conflit éventuel, et en cas de conflit détecté, on génère, au sein du circuit esclave, un signal interne interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole 12C. En conséquence, le circuit esclave se désélectionne du bus et se met au moins dans un état de veille dans lequel tout envoi de données sur le bus est stoppé et dans lequel il reste à l'écoute du bus pour attendre la réception d'une nouvelle condition START. Par conséquent, le transistor TR est bloqué, la ligne SDA remonte au niveau logique « 1 » et le conflit cesse. Comme illustré sur la figure 2, plusieurs variantes sont envisageables. Ainsi, on voit sur le chronogramme CHR1 que dans une première variante, on peut mettre en oeuvre une temporisation ayant une durée Tt, à l'issue de laquelle le conflit cesse. Selon une autre variante, illustrée sur le chronogramme CHR2, le conflit cesse au front montant FM3 du signal d'horloge SCL suivant le front descendant FD3 lors duquel le circuit esclave a imposé le niveau logique prioritaire sur la ligne de données SDA. On se réfère maintenant plus particulièrement à la figure 3 pour décrire la variante de l'invention mettant en oeuvre la temporisation.
Cette temporisation est réalisée par exemple de façon classique au moyen d'un compteur temporel CPT, incrémenté depuis la valeur nulle jusqu'à l'information de durée Tt et délivrant, lorsque cette information de durée est atteinte, la valeur logique « 1 ». Par ailleurs, comme indiqué ci-avant, on procède tout d'abord à une détection au sein du circuit esclave du conflit éventuel sur la ligne de données. Cette détection comprend une comparaison de la tension de la ligne avec une tension de référence. Cette comparaison est effectuée dans des moyens de comparaison comportant ici un inverseur INV1, déséquilibré au niveau des transistors MOS N et P. Plus précisément, on pourra choisir un inverseur INV1 comportant un MOS N de grande taille et un MOS P de petite taille. Le seuil de basculement de l'inverseur détermine la tension de référence. On pourra choisir une tension de référence supérieure à 400 millivolts, par exemple 850 millivolts de façon à éviter des détections intempestives.
Les moyens de comparaison comportent également de préférence un filtre passe-bas FPB1 connecté à la sortie de l'inverseur INV1. Ce filtre passe-bas, par exemple un filtre résistif capacitif, permet d'éliminer les fausses détections résultant par exemple de pics parasites. Lorsque la tension de la ligne SDA dépasse la valeur de référence, la sortie de l'inverseur INV1 commute à O. On place de ce fait un autre inverseur INV2 à la sortie du filtre passe-bas FPB1 de façon à délivrer un « 1 » logique lorsque la tension de la ligne SDA dépasse la tension de référence. Par ailleurs, deux autres inverseurs INV3, INV4 ainsi qu'une porte logique ET, référencée PL1, permettent de réinitialiser le compteur temporel CPT. Plus précisément, puisque le confit doit être détecté lorsque le circuit esclave CSL veut imposer le niveau logique prioritaire, l'inverseur INV3 inverse les données DD délivrée par le circuit esclave. Cet inverseur INV3 est connecté à une première entrée de la porte logique PLI. Par ailleurs, puisque la donnée est échantillonnée en sortie sur le front descendant du signal d'horloge SCL, la deuxième entrée de la porte PL1 reçoit en entrée le signal d'horloge SCL inversé, préférentiellement après le filtre passe-bas FPB et avant le bloc de génération d'horloge BGNH. On suppose à cet égard ici que le filtre passe-bas n'inverse pas de nouveau le signal SCL inversé délivré par le trigger de Schmitt. Enfin, la troisième entrée PL1 reçoit le signal de commande d'activation SACT, qui prend la valeur logique 1 lorsque le circuit esclave veut délivrer une donnée DD sur le bus. En conséquence, lorsque les trois entrées de la porte logique PL1 sont à « 1 », la sortie de cette porte PL1 est à 1, initialisant la temporisation CPT. La valeur Tt de la temporisation est par exemple prise égale à 500 nanosecondes.
La sortie de l'inverseur INV2 et la sortie du compteur temporel CPT sont reliées aux deux entrées d'une porte logique ET, référencée PL2, formant ici des moyens de génération aptes à générer un signal interne SGI (signal logique à l'état 1) lorsque la tension sur la ligne SDA dépasse la tension de référence au moins pendant la durée égale à ladite information de durée contenue dans le compteur temporel CPT. Et, ce signal SGI va être interprété par l'unité de traitement du circuit CSL comme étant représentatif de la réception d'une condition STOP du protocole I2C.
A cet égard, le signal SGI est représenté schématiquement sur la figure 3 comme attaquant le bloc BDSS de détection des conditions START et STOP. Pour réaliser cette interprétation, une solution consiste, comme illustré sur la figure 4, à modifier légèrement la structure du bloc BDSS de détection de conditions START et STOP. Plus précisément, classiquement, ce bloc BDSS est architecturé autour de deux bascules D, référencées BD1 et BD2, et recevant respectivement sur leur entrée de données le signal SCL, et sur leur entrée d'horloge le signal de données SDA inversé et le signal SDA.
La sortie de la bascule BD1 délivre une impulsion PSTR lors de la réception d'une condition START, tandis que la bascule BD2 délivre une impulsion PSTP lors de la réception d'une condition STOP. Deux portes NON OU, PLS, branchées de façon croisée, et formant une bascule, reçoivent respectivement les impulsions PSTR et PSTP et délivrent habituellement le signal de sélection/désélection CS. La modification selon un aspect de l'invention, consiste par exemple à connecter à la sortie de l'une des portes NON OU, une porte logique ET, référencée PL6 dont l'autre entrée est connectée à la sortie de la porte logique PL2 (figure 3) par l'intermédiaire d'un inverseur INV5. Les portes PL2 et PL6 font partie de deuxièmes moyens configurés pour placer le circuit CSL dans son état de veille avec écoute du bus, en présence d'un conflit détecté sur le bus.
En effet comme indiqué ci-avant, la présence d'un conflit détecté se traduit par un signal SGI, en sortie de la porte PL2, ayant la valeur logique « 1 » et par conséquent, après inversion dans l'inverseur INV5, par un signal logique ayant la valeur logique « 0 » en entrée de la porte PL6. En conséquence, la porte logique PL6 délivre alors le signal de désélection CS ayant la valeur logique « o », ce qui permet de désélectionner le circuit esclave CSL. En l'absence de conflit (deuxième entrée de la porte PL6 au niveau 1), cette adjonction est transparente vis-à-vis du signal de sélection/désélection délivré par la porte NON OU PLS. On se réfère maintenant plus particulièrement à la figure 5 pour illustrer un exemple de mise en oeuvre de la variante de l'invention prévoyant une cessation du conflit au front montant de l'horloge suivant le front descendant lors duquel le circuit CSL a imposé le niveau logique prioritaire sur la ligne du bus, en espèce la ligne SDA. Seules les différences avec la figure 3 seront maintenant décrites. La porte logique PL20, est cette fois-ci une porte ET à trois entrées qui reçoit, au même titre que la porte logique PL2 de la figure 3, la sortie de l'inverseur INV2. La porte logique PL10 est cette fois-ci une porte logique ET à deux entrées, qui reçoit d'une part la sortie de l'inverseur INV3 et d'autre part, le signal d'activation SACT. La sortie de la porte logique PL10 est connectée à une autre entrée de la porte logique PL20. Enfin, la première entrée de la porte logique PL20 est connectée à la sortie du trigger de Schmitt inverseur TS par l'intermédiaire d'un inverseur INV4, de façon à ce que cette entrée de la porte logique PL20 reçoive le signal logique SCL. Les trois entrées de la porte logique PL20 sont à « 1» (conflit détecté) lorsque la sortie de la porte logique PL10 est à « 1 » (imposition d'un niveau logique « 0 » sur la ligne de données SDA), lorsque la sortie de l'inverseur INV2 est à « 1 » (détection du franchissement de la tension de référence) et lorsque le signal d'horloge SCL présente un front montant.
En conséquence, le conflit est détecté et cesse au front montant FM3 du signal d'horloge SCL (figure 2) suivant le front descendant FD3. Bien que les variantes de l'invention qui viennent d'être exposées permettent de mieux protéger le circuit esclave lors de la détection d'un conflit, il apparaît que lorsqu'un conflit se produit, le circuit n'est pas immédiatement désélectionné, et le courant et la puissance dissipés par le transistor de sortie TR du circuit SCL ne sont pas limités, pouvant alors dans certains cas entraîner un risque de destruction rapide, avant l'échéance de la temporisation ou du front montant suivant du signal d'horloge. Aussi, est-il intéressant de limiter ce courant en limitant par exemple la tension de grille maximale que peut recevoir le transistor TR. Ceci est particulièrement intéressant notamment lorsque le bus I2C fonctionne dans un mode dit « fast mode plus ». Un exemple de moyen de limitation de la tension de grille du transistor TR est illustré sur la figure 6. On voit que ces moyens de limitation MLM sont connectés entre le bloc de commande optionnelle BC et la grille du transistor TR. Ils comportent ici une résistance associée à trois transistors montés en diodes et connectés entre la résistance, la grille du transistor TR et la masse. On voit alors sur la figure 7, qui illustre un exemple numérique, que lorsque l'interface INT est en court-circuit à 5,5 volts, le courant de saturation du transistor peut atteindre 900 milliampères, ce qui donne une puissance dissipée de l'ordre de 5 watts. Par contre, avec une limitation de la tension de grille du transistor TR à 2,4 volts et pour une tension de seuil de TR égale à 0,8 volt, on a une différence entre la tension de grille et la tension de seuil du transistor égale à 1,6 volt, ce qui fournit un courant de saturation de l'ordre de 107 milliampères avec une puissance dissipée égale cette fois-ci à 0,59 watt. Le courant et la puissance maximale dissipée par l'interface ont donc été divisés par 10 tant que la désélection du circuit esclave CSL n'est pas effective.
Dans certains cas, le circuit esclave comporte des moyens de traitement MTR configurés pour exécuter au moins un traitement particulier après la réception d'une condition STOP. C'est le cas par exemple lorsque le circuit esclave comprend une mémoire du type EEPROM, le traitement particulier étant alors la programmation de la mémoire avec les données reçues avant la réception de la condition STOP. Il est avantageusement prévu dans ce cas, afin d'éviter d'écrire des données qui pourraient être éventuellement corrompues, que le circuit comprenne des moyens d'inhibition MH configurés pour inhiber l'exécution du traitement particulier après ladite auto-désélection résultant de la détection d'un conflit. Un exemple de réalisation est illustré schématiquement sur la figure. On suppose ici que les moyens de traitement MTR comportent une première entrée El destinée à recevoir le signal CS. Les moyens d'inhibition MH, par exemple une logique appropriée, reçoivent alors sur une deuxième entrée E2 le signal de sortie de l'inverseur INV5. Ce signal de sortie de l'inverseur est à « 0 »en présence d'un conflit détecté. Dans ce cas, la logique MH, recevant un signal logique 0, va inhiber le fonctionnement des moyens de traitement MTR.
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, bien que l'on ait décrit un conflit détectable sur la ligne de donnée SDA, il est tout à fait possible qu'un conflit apparaisse sur la ligne d'horloge SCL, notamment lorsque l'interface INT comporte un autre transistor TR connecté sur la ligne SCL comme cela est prévu dans certains cas particuliers dans la spécification I2C (« clock stretching »). Par ailleurs ce qui vient d'être décrit pour un bus I2C, s'applique d'une façon générale à tout bus à au moins deux fils avec un niveau logique prioritaire, par exemple au bus SMBus. Les caractéristiques du bus SMBus et du protocole SMBus sont bien connues de l'homme du métier. Celui-ci pourra à toutes fins utiles se référer notamment au document en particulier disponible sur internet, et intitulé « System Management Bus (SMBus) Specification, version 2.0, 3 août 2000 ».

Claims (16)

  1. REVENDICATIONS1. Procédé de gestion du fonctionnement d'un circuit connecté sur un bus ayant au moins deux fils ainsi qu'un niveau logique prioritaire, ledit circuit étant configuré pour fonctionner au moins en mode esclave et échanger des données sur le bus, caractérisé en ce qu'il comprend, lorsque ledit circuit esclave (CSL) impose le niveau logique prioritaire sur l'un des fils du bus, une détection au sein du circuit esclave d'un conflit éventuel sur ce fil résultant d'un forçage, externe audit circuit esclave, de ce fil à l'autre niveau logique, et en cas de conflit détecté, un placement du circuit esclave dans un état stoppant l'envoi par le circuit esclave de toute donnée sur le bus tout en laissant le circuit esclave à l'écoute du bus.
  2. 2. Procédé selon la revendication 1, dans lequel le circuit est connecté sur un bus I2C ou sur un bus SMBus et ledit placement du circuit esclave dans ledit état comprend une génération au sein du circuit esclave d'un signal interne (SGI) interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole I2C ou du protocole SMBus.
  3. 3. Procédé selon la revendication 2, comprenant en outre pour un circuit esclave configuré pour exécuter au moins un traitement particulier après la réception d'une condition STOP, une inhibition de l'exécution dudit au moins un traitement particulier après ladite génération dudit signal interne (SGI).
  4. 4. Procédé selon la revendication 3, dans lequel ledit circuit esclave comprend une mémoire du type EEPROM, et ledit traitement particulier est une programmation de la mémoire.
  5. 5. Procédé selon l'une des revendications 2 à 4, comprenant en outre une détection de la réception d'une condition STOP, une délivrance au sein du circuit d'un signal de désélection (U) en réponse à la détection d'une condition STOP, et également une délivrance au sein du circuit dudit signal de désélection (U) en réponse à la génération dudit signal interne (SGI).
  6. 6. Procédé selon l'une des revendications précédentes, dans lequel ladite détection comprend une comparaison de la tension de la ligne sur laquelle le circuit esclave impose ledit niveau logique prioritaire avec une tension de référence, et un conflit est détecté lorsque ladite tension dépasse ladite tension de référence au moins pendant une durée prédéterminée (Tt).
  7. 7. Procédé selon l'une des revendications 1 à 5, dans lequel le bus comprenant un fil de données et un fil d'horloge et le circuit esclave imposant ledit niveau logique prioritaire sur le fil de données du bus lors d'un front descendant (FD3) du signal d'horloge, ladite détection comprend une comparaison de la tension du fil de données avec une tension de référence et un conflit est détecté lorsque ladite tension dépasse ladite tension de référence lors du front montant (FM3) du signal d'horloge suivant ledit front descendant (FD3).
  8. 8. Procédé selon l'une des revendications précédentes, dans lequel le circuit esclave impose ledit niveau logique prioritaire par l'intermédiaire d'un transistor, et le procédé comprend en outre une limitation de la tension appliquée sur l'électrode de commande de ce transistor (TR).
  9. 9. Circuit, comprenant une interface configurée pour être connectée au moins en mode esclave sur un bus ayant au moins deux fils ainsi qu'un niveau logique prioritaire et échanger des données sur le bus, caractérisé en ce qu'il comprend des premiers moyens (TR) possédant un premier état dans lequel ils sont configurés pour imposer le niveau logique prioritaire sur l'un des fils du bus, des moyens de détection (INV1) configurés pour détecter un conflit éventuel sur ce fil résultant, lorsque les premiers moyens sont dans leur premier état, d'un forçage, externe audit circuit esclave, de ce fil à l'autre niveau logique, des deuxièmes moyens (PL2, PL6) configurés pour, en cas de conflit détecté, placer le circuit esclave dans un état stoppant l'envoi par le circuit esclave de toute donnée sur le bus tout en laissant le circuit esclave à l'écoute du bus.
  10. 10. Circuit selon la revendication 9, dans lequel ladite interface est configurée pour être connectée sur un bus I2C ou un bus SMBus etles deuxièmes moyens (PL2, PL6) comprennent des moyens de génération (PL2) configurés pour, en cas de conflit détecté, générer un signal interne (SGI) interprétable par le circuit esclave comme représentatif de la réception d'une condition STOP du protocole I2C ou du protocole SMBus.
  11. 11. Circuit selon la revendication 10, comprenant en outre des moyens de traitement (MTR) configurés pour exécuter au moins un traitement particulier après la réception d'une condition STOP et des moyens d'inhibition (MH) configurés pour une inhiber l'exécution dudit au moins un traitement particulier après ladite génération du signal interne.
  12. 12. Circuit selon la revendication 11, dans lequel ledit circuit est un circuit esclave comprenant une mémoire du type EEPROM, et les moyens de traitement (MTR) comportent des moyens de programmation de la mémoire.
  13. 13. Circuit selon l'une des revendications 10 à 12, dans lequel ladite interface comprend un bloc (BDSS) de détection d'une condition STOP configuré pour délivrer un signal de désélection en réponse à la détection d'une condition STOP, et lesdits deuxièmes moyens comportent une porte logique (PL6) connectée à la sortie des moyens de génération (PLL, PL20) et à la sortie dudit bloc de détection (BDSS) et configurée pour délivrer le signal de désélection (ES) en réponse audit signal interne (SGI).
  14. 14. Circuit selon l'une des revendications 9 à 13, dans lequel les moyens de détection comprennent des moyens de comparaison (INV1) configurés pour effectuer une comparaison de la tension du fil sur lequel le circuit impose ledit niveau logique prioritaire avec une tension de référence, et des moyens de temporisation (CPT) contenant une information de durée, et les deuxièmes moyens (PL2, PL6)) sont connectés à la sortie des moyens de comparaison et à la sortie des moyens de temporisation, et sont configurés pour placer le circuit esclave dans ledit état lorsque ladite tension dépasse ladite tension de référence au moins pendant une durée égale à ladite information de durée.
  15. 15. Circuit selon l'une des revendications 9 à 13, dans lequel les premiers moyens (TR) sont configurés pour imposer dans leur premier état le niveau logique prioritaire sur le fil de données (SDA) du bus lors d'un front descendant du signal d'horloge, les moyens de détection comprennent des moyens de comparaison (INV1) configurés pour effectuer une comparaison de la tension de la ligne de données avec une tension de référence, des troisièmes moyens (INV6) configurés pour détecter le front montant du signal d'horloge suivant ledit front descendant, et les deuxièmes moyens (PL20, PL6) sont connectés à la sortie des moyens de comparaison et à la sortie des troisièmes moyens (INV6) et sont configurés pour placer le circuit esclave dans ledit état lorsque ladite tension dépasse ladite tension de référence lors du front montant du signal d'horloge suivant ledit front descendant.
  16. 16. Circuit selon l'une des revendications 9 à 15, dans lequel lesdits premiers moyens comprennent un transistor (TR), et le circuit comprend des moyens (MLM) de limitation de la tension appliquée sur l'électrode de commande de ce transistor.
FR1259314A 2012-10-02 2012-10-02 Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant Pending FR2996322A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1259314A FR2996322A1 (fr) 2012-10-02 2012-10-02 Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant
US14/042,344 US9489334B2 (en) 2012-10-02 2013-09-30 Method for managing the operation of a circuit connected to a two-wire bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1259314A FR2996322A1 (fr) 2012-10-02 2012-10-02 Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant

Publications (1)

Publication Number Publication Date
FR2996322A1 true FR2996322A1 (fr) 2014-04-04

Family

ID=48040295

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1259314A Pending FR2996322A1 (fr) 2012-10-02 2012-10-02 Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant

Country Status (2)

Country Link
US (1) US9489334B2 (fr)
FR (1) FR2996322A1 (fr)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417944B2 (en) 2011-10-05 2016-08-16 Analog Devices, Inc. Two-wire communication system for high-speed data and power distribution
US10649948B2 (en) * 2011-10-05 2020-05-12 Analog Devices, Inc. Two-wire communication systems and applications
US10311010B2 (en) 2011-10-05 2019-06-04 Analog Devices, Inc. Two-wire communication systems and applications
US9772665B2 (en) 2012-10-05 2017-09-26 Analog Devices, Inc. Power switching in a two-wire conductor system
US9436647B2 (en) * 2013-09-13 2016-09-06 Stmicroelectronics Asia Pacific Pte Ltd IIC bus start-stop detection circuit
US9632960B2 (en) * 2015-05-05 2017-04-25 Dell Products L.P. I2C bus priority alert system
US10250376B2 (en) 2016-01-29 2019-04-02 Analog Devices, Inc. Clock sustain in the absence of a reference clock in a communication system
US10397021B2 (en) 2016-01-29 2019-08-27 Analog Devices, Inc. Synchronous slave-to-slave communications
US10872049B2 (en) 2016-01-29 2020-12-22 Analog Devices, Inc. GPIO-to-GPIO communication on a multi-node daisy-chained network
US10572344B2 (en) * 2017-04-27 2020-02-25 Texas Instruments Incorporated Accessing error statistics from DRAM memories having integrated error correction
US10374583B1 (en) 2018-04-02 2019-08-06 Analog Devices, Inc. Dynamic hysteresis circuit
US10931476B2 (en) 2018-10-29 2021-02-23 Analog Devices Global Unlimited Company Content protection over synchronous data networks
US11338586B2 (en) 2018-12-03 2022-05-24 Hewlett-Packard Development Company, L.P. Logic circuitry
EP3681723B1 (fr) 2018-12-03 2021-07-28 Hewlett-Packard Development Company, L.P. Circuiterie logique
BR112021010672A2 (pt) 2018-12-03 2021-08-24 Hewlett-Packard Development Company, L.P. Circuitos lógicos
WO2020117198A1 (fr) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Circuit logique
US10894423B2 (en) 2018-12-03 2021-01-19 Hewlett-Packard Development Company, L.P. Logic circuitry
WO2020117776A1 (fr) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Ensemble de circuits logiques
PT3688601T (pt) 2018-12-03 2020-11-13 Hewlett Packard Development Co Conjunto de circuitos lógicos
KR20210087975A (ko) 2018-12-03 2021-07-13 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 로직 회로 패키지
US11250146B2 (en) 2018-12-03 2022-02-15 Hewlett-Packard Development Company, L.P. Logic circuitry
EP3687817A1 (fr) 2018-12-03 2020-08-05 Hewlett-Packard Development Company, L.P. Circuiterie logique
HUE063370T2 (hu) 2018-12-03 2024-01-28 Hewlett Packard Development Co Logikai áramkör
US10649945B1 (en) 2018-12-10 2020-05-12 Analog Devices International Unlimited Company Non-native digital interface support over a two-wire communication bus
US10856199B2 (en) 2019-01-04 2020-12-01 Analog Devices, Inc. Communication systems with auxiliary master and auxiliary call support functionality
US10884972B2 (en) 2019-05-08 2021-01-05 Analog Devices, Inc. Communication systems with serial peripheral interface functionality
EP3844000B1 (fr) 2019-10-25 2023-04-12 Hewlett-Packard Development Company, L.P. Boîtier de circuit logique
US11411607B2 (en) 2020-01-07 2022-08-09 Analog Devices, Inc. Audio and lighting control via a communication bus
US11888498B2 (en) 2022-01-18 2024-01-30 Analog Devices International Unlimited Company Elimination of probability of bit errors in successive approximation register (SAR) analog-to-digital converter (ADC) logic

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112990A1 (en) * 2005-11-15 2007-05-17 Matsushita Electric Industrial Co., Ltd. Iic bus communication system, slave device, and method for controlling iic bus communication
US20090157929A1 (en) * 2007-12-18 2009-06-18 Freescale Semiconductor, Inc. Data arbitration on a bus to determine an extreme value

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4719458A (en) 1986-02-24 1988-01-12 Chrysler Motors Corporation Method of data arbitration and collision detection in a data bus
US5715407A (en) 1992-03-06 1998-02-03 Rambus, Inc. Process and apparatus for collision detection on a parallel bus by monitoring a first line of the bus during even bus cycles for indications of overlapping packets
US5754799A (en) 1996-02-28 1998-05-19 Paradyne Corporation System and method for bus contention resolution
JP4417217B2 (ja) * 2004-09-30 2010-02-17 三菱電機株式会社 光送受信モジュール
US7999569B2 (en) * 2009-12-03 2011-08-16 Nxp B.V. Edge rate suppression for open drain buses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112990A1 (en) * 2005-11-15 2007-05-17 Matsushita Electric Industrial Co., Ltd. Iic bus communication system, slave device, and method for controlling iic bus communication
US20090157929A1 (en) * 2007-12-18 2009-06-18 Freescale Semiconductor, Inc. Data arbitration on a bus to determine an extreme value

Also Published As

Publication number Publication date
US9489334B2 (en) 2016-11-08
US20140095750A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
FR2996322A1 (fr) Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant
EP2466528B1 (fr) Sécurisation de l'alimentation de moyens de commande d'une carte à microcircuit en cas d'attaque
FR3066033B1 (fr) Dispositif d'etage tampon, en particulier apte a etre connecte sur un bus du type interface de peripherique serie
US20120235704A1 (en) Redriver with Output Receiver Detection that Mirrors Detected Termination on Output to Input
WO2001009813A1 (fr) Lecteur de carte a puce comprenant un systeme d'economie d'energie
EP1293856A1 (fr) Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
US10770892B2 (en) Space efficient and power spike resistant ESD power clamp with digitally timed latch
FR2947930A1 (fr) Detection d'attachement usb
FR3015151B1 (fr) Dispositif et procede de surveillance d'un generateur d'horloge
EP3644513B1 (fr) Protection de pastille dans un circuit intégré
FR3084488A1 (fr) Dispositif de detection d'une faute dans un circuit de propagation d'un signal d'horloge, et procede correspondant
WO2017165036A1 (fr) Émetteur-récepteur optoélectronique avec gestion d'énergie
FR2861848A1 (fr) Systmeme et procede d'evaluation de la vitesse d'un circuit
EP0581639A1 (fr) Dispositif de protection d'un circuit intégré contre les coupures d'alimentation
FR2820212A1 (fr) Circuit de detection de mauvaise connexion d'alimentation
EP1102158B1 (fr) Dispositif et procédé de contrôle de l'état de fonctionnement d'un système électronique en "zone grise"
FR2875950A1 (fr) Structure tolerante a la tension pour des cellules d'entree/ sortie
EP1303043A1 (fr) Filtre digital pour reduire des pics de tension
FR2828566A1 (fr) Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur
FR3079374A1 (fr) Procede de gestion du fonctionnement d'une boucle a verrouillage de phase, et circuit integre correspondant
FR2810438A1 (fr) Circuit de detection d'usure
FR3047136A1 (fr)
EP2333703A1 (fr) Composant électronique apte à détecter des attaques actives
EP0847550B1 (fr) Dispositif pour communiquer avec un support de donnees portable
EP1302837A1 (fr) Dispositif de génération d'un signal d'horloge