Brevet FR3093198A1 — publié le 20200828

Description Titre de l'invention: Transmission de données liées sur bus 12C Domaine technique [0001] La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, les systèmes dans lesquels plusieurs circuits sont susceptibles dc communiquer sur un bus 12C. Technique antérieure [0002] Le protocole 12C utilise, outre un signal de référence (généralement la masse) re- présentant l'un des deux états des signaux binaires, un signal de données (SDA) et un signal d'horloge ou dc synchronisation (SCL). [0003] Le protocole I2C est utilisé pour communiquer entre un dispositif ou circuit maître, qui génère le signal de synchronisation sur un fil d'horloge ainsi que le signal dc données sur un fil de données, et un dispositif ou circuit esclave qui répond sur le signal dc données. Le dispositif esclave (récepteur) génère un bit d'accusé réception qu'il transmet sur le fil dc données. En pratique, les conducteurs du bus sont, au repos, à un potentiel différent du potentiel de référence, cc deuxième potentiel représentant l'autre des deux états des signaux binaires. Résumé de l'invention [0004] 11 serait souhaitable de pouvoir profiter de la présence d'un bus 12C pour permettre l'authentification d'accessoires ou de consommables par un équipement. 100051 Un mode de réalisation pallie tout ou partie des inconvénients des processus d'authentification connus. 100061 Un mode de réalisation prévoit un procédé de transmission sur bus I2C, dans lequel un premier canal du signal de données véhicule une première donnée et un deuxième canal du même signal de données véhicule une deuxième donnée, ces deux données étant liées entre elles. 100071 Un mode de réalisation prévoit un circuit de communication sur bus I2C, comportant des circuits adaptés à mettre en oeuvre le procédé décrit. 100081 Un mode de réalisation prévoit un produit programme d'ordinateur, comportant un support de stockage non transitoire comprenant des instructions adaptées à mettre en oeuvre le procédé décrit. 100091 Un mode de réalisation prévoit un circuit mémoire contenant une table de corres- pondance entre un ensemble de premières données et un ensemble de deuxièmes données. 100101 Selon un mode de réalisation, la deuxième donnée dépend de la première donnée. 100111 Selon un mode de réalisation, la deuxième donnée représente l'application d'un code 2 correcteur à la première donnée. [0012] Selon un mode de réalisation, la deuxième donnée est un masque. [0013] Selon un mode de réalisation, la deuxième donnée est identique à la première donnée. [0014] Selon un mode de réalisation, en émission, une fonction d'émission est appliquée à une donnée d'émission : la première donnée correspondant à la donnée d'émission ou au résultat de l'application de la fonction d'émission à la donnée d'émission ; et la deuxième donnée correspondant à la donnée d'émission, ou au résultat de l'application de la fonction d'émission à la donnée d'émission ou à un masque appliqué à la donnée d'émission pour obtenir la première donnée. [0015] Selon un mode de réalisation, un émetteur transmet la donnée d'émission via la première donnée, la deuxième donnée représentant une information de vérification ou de correction de la première donnée par un récepteur. [0016] Selon un mode de réalisation, un émetteur masque la donnée d'émission puis transmet le résultat via la première donnée, la deuxième donnée représentant une information de démasquage de la première donnée par un récepteur. [0017] Selon un mode de réalisation, en réception, une fonction de réception est appliquée aux première et deuxième données et fournit une donnée de réception, la donnée de réception correspondant à la première donnée ou au résultat de l'application de la fonction de réception. [0018] Selon un mode de réalisation, une information représentative de la donnée de réception est retournée à un circuit émetteur. [0019] Un mode de réalisation prévoit un système de transmission sur un bus 12C comportant au moins deux dispositifs, au moins un des dispositifs : étant adapté à mettre en oeuvre le procédé décrit ; et/ou comportant un circuit de communication tel que décrit ; et/ou comportant un produit programme tel que décrit ; et/ou comportant un circuit mémoire tel que décrit. [0020] Un mode de réalisation prévoit un émetteur d'un tel système. [0021] Un mode de réalisation prévoit un récepteur d'un tel système. [0022] Un mode de réalisation prévoit un émetteur-récepteur d'un tel système. Brève description des dessins [0023] Ces 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 : [0024] [fig.1] la figure 1 représente, de façon très schématique et sous forme de blocs, un 3 mode de réalisation d'un système utilisant un bus 12C pour transmettre des données liées entre elles ; [0025] [fig.2] la figure 2 est un schéma-blocs d'un système d'émission-réception de données liées sur un bus 12C ; [0026] [fig.3] la figure 3 représente des chronogrammes illustrant le fonctionnement du bus 12C; [0027] [fig.4] la figure 4 représente des chronogrammes illustrant une transmission multi- canal sur un bus 12C ; [0028] [fig.5] la figure 5 est un schéma-blocs d'un mode de réalisation d'un système d'émission-réception de données utilisant un mécanisme de correction d'erreur (ECC) ; [0029] [fig.6] la figure 6 est un diagramme d'enchaînement d'opérations associées à la mise en oeuvre du mécanisme de correction d'erreur entre un émetteur et un récepteur ; [0030] [fig.7] la figure 7 illustre un exemple de liaison entre un circuit électronique associé à une imprimante et des circuits électroniques associés à des cartouches d'encre ; et [0031] [fig.8] la figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique adapté à mettre en oeuvre les modes de réalisation décrits. Description des modes de réalisation [0032] De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. [0033] Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, la génération des signaux en fonction des données à émettre sur un bus I2C et la réception de ces signaux par un circuit de réception n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les transmissions usuelles entre deux ou plusieurs circuits sur un bus I2C. [0034] Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments. [0035] Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. [0036] Sauf précision contraire, les expressions "environ", "approximativement", "sen- siblement", et "de l'ordre de" signifient à 10% près, de préférence à 5 % près. [0037] La figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système utilisant un bus 12C pour transmettre des données liées entre elles. [0038] Un bus 12C se compose de deux fils ou conducteurs 21 et 22 destinés à véhiculer, respectivement, un signal de données SDA et un signal de synchronisation SCL. [0039] Plusieurs circuits 11, 12, 13 sont reliés, de préférence connectés, au fil 21 (bornes 111, 121) de transmission du signal de données SDA, au fil 22 (bornes 113, 123) de transmission du signal de synchronisation ou d'horloge SCL, et à un fil ou conducteur 23 (bornes 115, 125) porté à un potentiel électrique de référence (typiquement la niasse, GND). Les circuits 11, 12, 13 et autres circuits connectés au bus 12C ou appartenant au dispositif électronique peuvent être alimentés sous une même tension ou sous des tensions différentes. Par exemple, les circuits 11, 12 et 13 sont connectés à un fil ou conducteur 24 (bornes 117, 127) porté à un potentiel électrique VCC supérieur à celui de la masse GND. Les fils 21 et 22 sont individuellement reliés par des résistances de tirage (pull-up) Rp au fil 24, de sorte que les signaux SDA et SCL sont au repos à l'état haut. [0040] Pour une transmission de données sur le bus 12C, un des circuits (par exemple, le circuit 11) fait office de dispositif maître (MD) et impose le signal de synchronisation SCL. Le ou les autres circuits 12 et 13 prennent alors le statut d'esclave (SD) pour recevoir les données transmises par le circuit 11 et répondre au circuit 11. Ces données peuvent être à destination de plusieurs circuits esclaves ou d'un seul d'entre eux. Le protocole I2C prévoit de transmettre une adresse de dispositif avant un octet de données. Selon le sens de communication, un même circuit peut tantôt avoir le statut de maître et tantôt le statut d'esclave. [0041] Selon un mode de réalisation, pour une transmission de données liées entre elles sur le bus 12C, les circuits 11 et 12 contiennent des blocs 112 et 122 (T) d'émission ainsi que des blocs 114 et 124 (R) de réception servant respectivement à envoyer et à recevoir des données par l'intermédiaire du fil SDA. Chaque bloc 112, 122, d'émission reçoit d'un bloc 116 ou 126 (fT) fonctionnel d'émission deux informations à transmettre sur le fil SDA. Chaque bloc 116, 126 transforme une donnée d'émission TDATA transmettre via le bus 12C en deux données liées entre elles. En outre, chaque bloc de réception 114, 124, relié, de préférence connecté, au fil SDA, comporte deux sorties reliées à un bloc 118 ou 128 (fR) fonctionnel de réception permettant de reconstituer une donnée de réception RDATA à partir des deux données liées entre elles reçues via le bus 12C. Le circuit 13 et les éventuels autres circuits esclaves (non représentés) contiennent eux aussi des blocs et des liaisons semblables à ceux des circuits 11 et 12 précédemment décrits. Les blocs fonctionnels 116, 126, 118, 128 ne sont pas nécessairement identiques d'un circuit à l'autre. [0042] Selon des modes de réalisation particuliers, les blocs fonctionnels 116, 126, 118, 128 peuvent être matériels et/ou logiciels et être indifféremment constitués de circuits, de logiciels ou de mémoires (dispositifs stockant directement tous les résultats possibles issus de l'application de la fonction f, ou f' mise en oeuvre par le bloc correspondant 116, 126 ou 118, 128). [0043] La figure 2 est un schéma-blocs d'un système d'émission-réception de données liées sur un bus 12C. [0044] Seuls les éléments du circuit maître 11 dédiés à l'émission de données et les éléments du circuit esclave 12 dédiés à la réception de données sont repris, ces deux parties de circuit étant connectées entre elles par le fil ou conducteur 21 du bus 12C. Pour simplifier la représentation de la figure 2, seule une partie des éléments constitutifs du circuit pilotant le fil 21 a été représentée. Les autres constituants du dispositif maître et du dispositif esclave sont usuels, notamment les éléments générant le signal de synchronisation SCL imposé, par le circuit 11, sur la borne 113 connectée au fil 22. [0045] Une donnée à émettre TDATA est d'abord envoyée sur une entrée du bloc fonctionnel 116 du circuit 11 pour application de la fonction fr. En résultent deux données corrélées (ou liées) TDATA1 et TDATA2 qui sont ensuite transmises sur le fil 21 par le bloc d'émission 112 du circuit 11. Cela s'apparente à une transmission de deux canaux temporellement distincts sur le signal SDA, un premier canal véhiculant la donnée TDATAI et un deuxième canal véhiculant la donnée TDATA2. [0046] À partir de la borne 121 reliée au fil 21, le bloc de réception 124 du circuit 12 permet alors d'obtenir en sortie deux données RDATAI et RDATA2 provenant des deux canaux mis en oeuvre pour la transmission. Enfin, le bloc fonctionnel 128 du circuit 12 traite les données RDATA1 et RDATA2 afin d'obtenir en sortie une seule donnée RDATA. [0047] La figure 3 représente des chronogrammes illustrant le fonctionnement du bus I2C. [0048] Les chronogrammes de la figure 3 illustrent un exemple d'allures du signal SCL, d'un signal de données DATA à transmettre par un dispositif maître vers un ou plusieurs dispositifs esclaves, d'un signal S/R interne au dispositif maître et du signal SDA. Le signal S/R symbolise les phases pendant lesquelles le circuit maître est en mode émission (S) et impose l'état du signal SDA et les phases pendant lesquelles il est en réception (R) et détecte l'état du signal SDA. Dans l'exemple de la figure 3, on suppose un signal de synchronisation périodique et de rapport cyclique 1/2, ce qui n'est pas obligatoire. [0049] Le protocole I2C définit un bit de début de communication (START) par une com- 6 mutation vers l'état bas (instant t19) du signal SDA alors que le signal SCL reste à l'état haut. Cette commutation est provoquée par celui des dispositifs qui prend le statut de maître pour la communication. Le dispositif maître commute alors le signal SCL au niveau bas (instant t11). Puis, il impose l'état du signal SDA en fonction de l'état du premier bit BO de l'octet (BYTE) a transmettre. L'état du signal SDA est validé par la période (instant t13 à instant t14) à l'état haut du signal SCL. Lorsque le signal SCL revient à l'état bas, le circuit maître continue l'opération avec les bits suivants Bl, B7, jusqu'à transmission de l'octet complet. [0050] À la fin du dernier bit B7 (instant t16) du premier octet, le dispositif maître relâche le signal SDA, qui revient donc à l'état haut, et positionne sa borne 111 reliée au fil 21 en lecture de l'état du signal SDA (signal S/R à l'état bas R). [0051] Les différents circuits esclaves détectent le début d'une communication en surveillant les états respectifs des signaux SCL et SDA. Lorsque le signal SDA est tiré à l'état bas (instant t10) alors que le signal SCL reste à l'état haut, les dispositifs esclaves savent qu'une transmission va débuter. [0052] Le plus souvent, le premier octet envoyé par le dispositif maître comporte sept bits d'adresse identifiant le circuit destinataire, suivi d'un bit indicateur de l'opération (lecture-écriture) souhaitée par le dispositif maître. [0053] Les différents circuits esclaves détectent les données transmises et, notamment, dé- terminent à partir du premier octet constituant l'adresse du destinataire si le ou les octets suivants leur sont destinés. [0054] À la fin du premier octet, le circuit esclave, identifié par l'adresse, accuse réception (ACK) de l'octet transmis en tirant le signal SDA à l'état bas. Cette transition (instant t ,7) est détectée par le circuit maître qui peut alors émettre l'octet suivant et ainsi de suite jusqu'à la fin de la transmission. Pour cette émission du ou des octets suivants, le circuit maître rebascule l'état de son port relié au fil 21 pour imposer cet état (signal S/ R à l'état haut S). [0055] Une fois le dernier octet de données transmis et un accusé réception ACK reçu du circuit esclave, le circuit maître impose une condition d'arrêt (STOP) en commutant le signal SDA à l'état haut (instant t19) alors que le signal SCL est lui-même à l'état haut. [0056] La figure 4 représente des chronogrammes illustrant une transmission multi-canal sur un bus I2C. [0057] Les chronogrammes de la figure 4 illustrent un exemple d'allures de signaux SCL et SDA imposés par un circuit maître. Dans l'exemple de la figure 4, le signal SCL a été représenté arbitrairement avec un rapport cyclique différent de 1/2. [0058] La figure 4 illustre quatre exemples 01, 10, 11, 00, de combinaisons possibles entre d'une part le signal (état 1 ou 0) du canal principal destiné à véhiculer la donnée TDATA1 et d'autre part le signal (état 1 ou 0) du canal secondaire destiné à véhiculer 7 la donnée liée TDATA2 sur le bus 12C. Les données du canal secondaire sont codées sous la forme d'un signal impulsionnel généré en dehors de la période (état haut du signal SCL - instant t23 à instant t21) de validation du signal principal de données. [0059] Le protocole 12C prévoit des fenêtres temporelles à partir du front descendant du signal de synchronisation SCL. Typiquement, une durée tin) (d'environ 200 ns pour un protocole à 400 kHz) fixe un intervalle minimum entre le front descendant du signal SCL (instant t21) et l'apparition du codage de la donnée suivante, et une durée maximum tom, (d'environ 700 - 900 ns dans l'exemple ci-dessus) entre la présentation de la donnée (instant t22) et le front montant suivant (instant t23) du signal SCL. La durée minimale des paliers bas du signal SCL est également fixée : elle est d'environ 1,3 us pour un protocole à 400 kHz (et d'environ 4,7 ps pour un protocole à 100 kHz). L'intervalle (instant -(22 à instant t23) entre l'apparition du codage et le front montant du signal SCL laisse un intervalle libre dans le protocole 12C. On code le canal secondaire (TDATA2) pendant les périodes où le signal de synchronisation SCL est à l'état bas (en ayant respecté la durée Dans l'exemple représenté, si une impulsion (succession d'un état bas puis d'un état haut) est présente, cela correspond à transmettre un état 1 sur le canal secondaire. En revanche, si aucune impulsion n'est présente cela correspond à transmettre un état 0 sur le canal secondaire. [0060] On tire ainsi profit de l'existence d'une période inexploitée dans le bus 12C. Ty- piquement, dans un protocole 12C à une fréquence de 400 kHz, une période de 700 - 900 ns sépare l'instant t22 de l'instant tr (durée pendant laquelle l'état du signal SDA n'est pas pris en compte par les récepteurs du protocole 12C). Cette période est mise à profit pour la transmission impulsionnelle du canal secondaire servant à véhiculer la donnée liée TDATA2. La durée de l'impulsion est comprise entre 300 ns et 500 ns pour un protocole à 400 kHz (et entre 1,0 ps et 2,2 i..ts pour un protocole à 100 kHz). [0061] Les circuits esclaves sont adaptés pour détecter ces signaux impulsionnels. [0062] La figure 5 est un schéma-blocs d'un mode de réalisation d'un système d'émission-réception de données utilisant un mécanisme de correction d'erreur (ECC). [0063] Selon ce mode de réalisation, le bloc 116 (ECC) applique un code correcteur d'erreur (la fonction fT est un code correcteur d'erreur) à une donnée à émettre TDATA. Le résultat de l'application du code à la donnée TDATA constitue une donnée TDATA2. [0064] Selon un mode de réalisation, la donnée TDATA constitue directement la donnée TDATAI. [0065] Selon un autre mode de réalisation préféré, le circuit 11 comporte un bloc 119 (ERR) qui applique une fonction d'erreur à la donnée TDATA pour fournir une donnée TDATAI volontairement erronée. Le nombre de bits de la donnée TDATAI faussés par la fonction d'erreur ERR est choisi pour être dans la plage de nombre de bits corrigeable par le code correcteur d'erreur. 8 [0066] Le bloc 112 du circuit 11 transmet au bloc 124 du circuit 12 deux données : d'une part TDATA2 et d'autre part TDATA1 qui représente, en l'absence du bloc optionnel 119, la donnée à émettre TDATA ou, en présence du bloc optionnel 119, la donnée erronée. [0067] Les deux données RDATA1 et RDATA2 obtenues en sortie du bloc 124 du circuit 12 sont traitées par le bloc 128 (ECC'). Le résultat de ce traitement produit une donnée RDATA. Dans l'exemple représenté, on suppose que le bloc 128 applique à la donnée RDATA1 reçue un code correcteur d'erreur ECC' correspondant au code ECC, en utilisant la donnée RDATA2. En d'autres termes, la fonction f' est un code correcteur d'erreur. [0068] Selon un mode de réalisation (dans le cas où le circuit 11 est dépourvu du bloc 119), le bloc 128 corrige d'éventuelles erreurs dans la donnée RDATA1 reçue par rapport à la donnée TDATA1 transmise et garantit alors que la donnée RDATA correspond à la donnée TDATA. [0069] Selon un autre mode de réalisation dans lequel une erreur est introduite dans la donnée TDATA1 par le bloc 119, l'application du code correcteur d'erreur ECC' par le bloc 128 corrige la donnée erronée, faussée par le bloc 119, de façon à restituer une donnée RDATA correspondant à la donnée TDATA. Ainsi, le bloc 128 corrige la donnée RDATA1 grâce à la donnée RDATA2. Selon ce mode de réalisation, la correction, par le circuit récepteur 12, de l'erreur volontairement introduite par le circuit émetteur 11, signifie que le circuit récepteur possède bien la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur. [0070] On peut alors prévoir que le circuit récepteur 12 renvoie la donnée RDATA obtenue par le bloc 128. Si la donnée ainsi reçue en retour par le circuit 11 est identique à la donnée TDATA émise par le circuit 11, alors cela signifie que le circuit 12 met bien en oeuvre la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur. Le circuit 12 reproduit alors les fonctionnalités du mode de réalisation décrit. [0071] Si, par contre, le circuit récepteur ne possède pas la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur, la vérification, par le circuit émetteur 11, de la donnée RDATA reçue par le circuit récepteur, montre une donnée de réception RDATA différente de la donnée TDATA transmise. Le circuit 12 ne reproduit alors pas les fonctionnalités du mode de réalisation décrit. [0072] Selon un autre mode de réalisation, la donnée TDATA2 représente le résultat de l'application d'une fonction cryptographique, par exemple une signature, à la donnée TDATA (la fonction fT est une fonction de calcul de signature). La donnée TDATAI est alors égale à la donnée TDATA et est transmise avec une signature portée par la 9 donnée TDATA2. Côté réception, le circuit 11 décode le signal reçu et, s'il comporte les fonctionnalités de cc mode de réalisation, est capable de traiter les données des deux canaux RDATA1 et RDATA2, et de vérifier qu'une signature qu'il calcule (il possède alors une fonction fk appliquant le même algorithme de calcul de signature que la fonction f, du circuit 11) correspond à la signature reçue sur la donnée RDATA2. En supposant un mécanisme de réponse selon lequel le circuit émetteur 11 attend un accusé-réception représentatif de la signature obtenue par le récepteur, le fait que le circuit 12 renvoie cet accusé-réception signifie alors que le circuit 12 reproduit les fonctionnalités du mode de réalisation décrit. [0073] Selon encore un autre mode de réalisation, les données TDATA1 et TDATA2 sont identiques et correspondent à la donnée TDATA. La fonction f, est alors une fonction de duplication de la donnée TDATA. Côté réception, la fonction fk est par exemple une fonction de combinaison bit à bit de type OU-Exclusif dont le résultat attendu est un mot nul (tous les bits à l'état 0). La détection du fait qu'un circuit esclave possède les fonctionnalités de ce mode de réalisation peut s'effectuer par un processus d'échange selon lequel le circuit maître attend en retour le résultat de la fonction fR. S'il reçoit un mot nul, cela signifie que le circuit 12 reproduit les fonctionnalités du mode de réalisation décrit. [0074] Selon encore un mode de réalisation, la donnée RDATA2 constitue un masque que le circuit récepteur est supposé appliquer à la donnée RDATA1 qu'il reçoit pour retourner un résultat attendu. [0075] Le cas échéant, la donnée TDATA2, dont l'élaboration par le bloc 116 vise à permettre une vérification ou une correction de la donnée RDATAI reçue par le circuit 12, comporte un nombre de bits inférieur au nombre de bits de la donnée TDATA. Dans le cas d'un code correcteur d'erreur, la longueur du code conditionne le nombre de bits susceptibles d'être corrigés. [0076] La figure 6 est un diagramme d'enchaînement d'opérations associées à la mise en oeuvre du principe de correction d'erreur entre un émetteur et un récepteur. [0077] Les opérations décrites ci-dessous ont typiquement pour but de contrôler qu'un récepteur est capable d'utiliser une transmission multi-canal et de corriger d'éventuelles erreurs affectant les données envoyées par un émetteur. [0078] Dans une première étape (STEP 1), l'émetteur (SENDER) envoie (SEND) au récepteur (RECEIVER) une commande (SET CONNU) de configuration de la communication. La prise en compte (EXECUTE) de cette commande par le récepteur lui permet d'être informé que la transmission sur le bus I2C s'effectuera sur deux canaux et que la fonction de correction d'erreur doit être activée (CONFIG OK). [0079] Dans une deuxième étape (STEP 2), l'émetteur interroge (REQ) le récepteur par une requête d'état (STATUS REQUEST). La prise en compte (EXECUTE) de cette requête par le récepteur lui permet de renvoyer (RESP) un statut (STATUS) à l'émetteur. Le contrôle (CHECK) de cc statut par l'émetteur permet de vérifier que la transmission est correctement établie (STATUS OK). [0080] Dans une troisième étape (STEP 3), l'émetteur interroge (REQ) le récepteur par une requête de reconnaissance (HANDSHAKE REQUEST). Cette requête de reconnaissance est, de préférence, élaborée en introduisant une erreur volontaire dans la donnée à transmettre comme exposé en relation avec la figure 5. Dans le cas où le récepteur est doté des blocs nécessaires à la communication multi-canal et à la correction d'erreur, la prise en compte (EXECUTE) de cette requête par le récepteur lui permet de renvoyer (RESP) la réponse (HANDSHAKE RESPONSE) attendue par l'émetteur. Le contrôle (CHECK) de cette réponse par l'émetteur permet de vérifier si le récepteur est capable de mettre en oeuvre la fonction dc correction d'erreur (HANDSHAKE OK). [0081] La figure 7 illustre un exemple de liaison entre le circuit électronique d'une im- primante et des circuits électroniques associés à des cartouches d'encre. [0082] Dans l'exemple de la figure 7, une imprimante 31 contient un circuit principal 312 dédié notamment au pilotage d'organes électromécaniques. L'imprimante 31 est équipée d'une ou plusieurs cartouches d'encre, par exemple trois cartouches d'encre 33, 35 et 37. Chaque cartouche 33, 35, 37 porte un circuit, respectivement 332, 352 et 372. Les quatre circuits 312, 332, 352 et 372 sont reliés entre eux par des conducteurs, symbolisés par un câble 320, compatibles avec une transmission respectant le protocole I2C. De préférence, le circuit 312 (le l'imprimante 31 fait office de circuit maître tandis que les circuits 332, 352 et 372 font office de circuits esclaves. Dans ce cas, la transmission bi-canaux peut n'être prévue que dans le sens maître-esclave, les réponses des cartouches mettant en oeuvre une transmission I2C usuelle et les fonctions particulières fi- et f, n'étant alors respectivement prévues que côté imprimante et côté cartouches. [0083] La figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique 8 adapté à mettre en oeuvre les modes de réalisation décrits. [0084] Le circuit électronique 8 comporte : - une ou plusieurs unités 81 de traitement numérique (PU), par exemple de type machine d'états, microprocesseur, circuit logique programmable, etc.,' et/ou - une ou plusieurs mémoires 82, 83 de stockage volatil (RAM) et/ou non volatil (NVM) de données et programmes ; - un ou plusieurs bus 84 de données, d'adresses et/ou de commandes entre les différents éléments internes au circuit 8 ; et - une ou plusieurs interfaces 85 d'entrée-sortie (I/O) de communication, entre autres, 11 par un bus 12C avec l'extérieur du circuit ; et - divers autres circuits en fonction de symbolisés en figure 8 par des blocs 86 (FCT). [0085] En supposant une mise en oeuvre de la fonction f' par des circuits 8 équipant des cartouches, on peut prévoir que la fonction f' elle-même ne soit pas contenue dans le circuit mais qu'une mémoire, de préférence une mémoire non volatile, de celui-ci comporte une table de correspondance entre des ensembles de données RDATA1 et RDATA2 reproduisant la fonction f, pour tout ou partie des valeurs possibles. Cela permet alors à la cartouche de mettre en oeuvre le procédé décrit. [0086] Dans le cadre d'une mise en oeuvre partiellement ou totalement logicielle, un support de stockage du dispositif ou de l'équipement concerné peut stocker des instructions d'un produit programme d'ordinateur qui, lorsqu'elles sont mises en oeuvre par un processeur équipant le dispositif ou l'équipement, font que le processeur met en oeuvre tout ou partie du procédé décrit. [0087] Divers modes de réalisation et variantes ont été décrits. L'homme de l'art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d'autres variantes apparaîtront à l'homme de l'art. En particulier, cc qui est exposé plus particulièrement en relation avec un exemple d'application à une authentification imprimante-cartouche s'applique plus généralement à toute authentification d'accessoire ou de consommable par un équipement. [0088] Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus. En particulier, dans le mode de réalisation à correction d'erreur, le choix de la longueur et de la nature du code correcteur d'erreur peut varier en fonction de l'application. De plus, bien que les modes de réalisation décrits fassent plus particulièrement référence à un système dans lequel les fonctions maître (imprimante) et esclave (cartouche) sont figées, la transposition des modes de réalisation décrits à un système dans lequel tous les circuits peuvent jouer un rôle de maître ou d'esclave (figure 1) est à la portée de l'homme du métier à partir de la description ci-dessus. 12