Brevet FR3095073A1 — publié le 20201016

Description Titre de l'invention : Codage de données sur bus série 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 de communiquer sur un bus série. Technique antérieure [0002] Le bus série est déjà largement mis en oeuvre pour permettre à plusieurs circuits élec- troniques d'un même système de communiquer entre eux. En automobile, par exemple, un calculateur utilise fréquemment un bus série pour permettre à un microprocesseur de venir lire ou écrire des informations dans une mémoire non volatile tout au long de l'utilisation d'un véhicule. Résumé de l'invention [0003] 11 existe un besoin d'étendre les capacités actuelles de communication par bus série. Il serait en particulier souhaitable de pouvoir profiter de la présence d'un bus série pour permettre de coder des informations supplémentaires, transmissibles indépendamment des canaux de communication usuels. [0004] Un mode de réalisation pallie tout ou partie des inconvénients des procédés de codage de données sur bus série connus. 100051 Un mode de réalisation prévoit un procédé de codage d'une donnée à transmettre sur un bus série SPI, dans lequel un registre d'état d'une mémoire est modifié, à au moins un instant choisi, en fonction de tout ou partie de ladite donnée à transmettre. 100061 Selon un mode de réalisation, la mémoire est une mémoire non volatile repro- grammable. 100071 Selon un mode de réalisation, le registre d'état est modifié par une inversion d'état d'un bit de verrouillage de la mémoire en écriture. 100081 Selon un mode de réalisation, le registre d'état est modifié au cours d'un cycle d'écriture dans la mémoire. 100091 Selon un mode de réalisation, le registre d'état est modifié une seule fois au cours du cycle d'écriture dans la mémoire, la donnée à transmettre formant un bit. 100101 Selon un mode de réalisation, le registre d'état est modifié plusieurs fois au cours du cycle d'écriture dans la mémoire, la donnée à transmettre formant un mot comportant au moins deux bits. 100111 Selon un mode de réalisation, le nombre de modifications du registre d'état, au cours du cycle d'écriture dans la mémoire, est lié au nombre de transitions d'états entre des bits successivement transmis du mot. 2 100121 Selon un mode de réalisation, ladite donnée à transmettre est représentative d'une usure de la mémoire. [0013] Selon un mode de réalisation, ladite donnée à transmettre reflète un nombre de cor- rections d'erreurs effectuées au sein de la mémoire. [0014] Un mode de réalisation prévoit un procédé comportant les étapes suivantes : commencer à écrire dans la mémoire ; transmettre, de façon périodique, le registre d'état de la mémoire ; modifier, audit instant donné, le registre d'état de la mémoire pour coder tout ou partie de la donnée à transmettre ; et cesser d'écrire dans la mémoire. [0015] Un mode de réalisation prévoit un circuit électronique adapté à la mise en oeuvre du procédé décrit. [0016] Un mode de réalisation prévoit une mémoire non volatile comportant un registre d'état adapté à être modifié par la mise en oeuvre du procédé décrit. Brève description des dessins [0017] Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation et modes de mise en oeuvre particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : [0018] [fig.1] la figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique ; [0019] W8.21 la figure 2 représente un exemple de registre d'état d'une mémoire ; [0020] [fig.3] la figure 3 est un diagramme d'enchaînement d'un mode de réalisation d'opérations associées à un cycle d'écriture de données dans une mémoire via un bus série ; [0021] [fig.4] la figure 4 représente un mode de mise en oeuvre d'un procédé de codage d'une donnée à transmettre sur un bus série ; et [0022] W8.51 la figure 5 représente un autre mode de mise en oeuvre d'un procédé de codage d'une donnée à transmettre sur un bus série. Description des modes de réalisation 100231 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 et modes de mise en oeuvre peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. 100241 Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation et modes de mise en oeuvre 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 à transmettre sur un 3 bus série 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 et modes de mise en oeuvre décrits étant compatibles avec les transmissions usuelles entre deux ou plusieurs circuits sur un bus série. [0025] 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. [0026] 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. [0027] 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. [0028] La figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique 1 du type auquel s'appliquent les modes de mise en oeuvre décrits. [0029] Selon cc mode de réalisation, le circuit électronique 1 comporte : une ou plusieurs unités 11 de traitement numérique (PU), par exemple de type machine d'états, microprocesseur, circuit logique programmable, etc. ; une ou plusieurs mémoires 12, 13 de stockage volatil (RAM) et/ou non volatil (NVM) de données et programmes ; un ou plusieurs bus 14 de données, d'adresses et/ou de commandes entre les différents éléments internes au circuit électronique 1 ; une ou plusieurs interfaces 15 d'entrée-sortie (I/0) de communication avec l'extérieur du circuit ; et divers autres circuits en fonction de l'application, symbolisés en figure 1 par des blocs 16 (FCT). [0030] Dans la plupart des applications, la mémoire 13 est susceptible d'être utilisée pour enregistrer ou stocker des informations, paramètres, résultats de calculs, etc. propres au fonctionnement du circuit électronique 1. Le cas échéant, la mémoire 13 communique généralement avec un ou plusieurs autres éléments du système. Dans l'exemple de la figure 1, on considère que la mémoire 13 échange des données avec l'unité 11 de traitement numérique, laquelle vient lire ou écrire des informations dans la mémoire 13. La mémoire 13 est, par exemple, une mémoire non volatile reprogrammable (Electrically Erasable Programmable Read-Only Memory - EEPROM). [0031] En figure 1, le bus 14 permet une transmission de données, notamment entre l'unité 11 de traitement numérique et la mémoire 13. L'unité 11 de traitement numérique peut ainsi dialoguer avec la mémoire 13 en lui envoyant, via le bus 14, des requêtes, ou instructions, ou codes opératoires (opcodes). Ces codes opératoires sont généralement standardisés en fonction du bus 14 choisi pour mettre en oeuvre la transmission de données. Le bus 14 est typiquement un bus série, par exemple un bus de données série synchrone de type SPI (Serial Peripheral Interface). [0032] Dans le cas où le bus 14 est un bus SPI, l'unité 11 de traitement numérique peut, en particulier, transmettre à la mémoire un code opératoire noté « RDSR ». Grâce au code opératoire RDSR, l'unité 11 de traitement numérique peut venir lire un registre d'état de la mémoire 13. Le contenu de cc registre d'état est renvoyé, en réponse à une réception du code opératoire RDSR, par la mémoire 13 à l'unité 11 de traitement numérique. Le registre d'état est notamment représentatif d'opérations permises ou en cours d'exécution au sein de la mémoire 13. Pour simplifier et sauf précision contraire, on assimilera par la suite le registre de la mémoire au contenu de ce registre. [0033] La figure 2 représente un exemple de registre 2 d'état d'une mémoire. [0034] Dans l'exemple de la figure 2, le registre 2 d'état (Status Register - SR) d'une mémoire (par exemple, la mémoire 13 en figure 1) prend typiquement la forme d'un octet constitué des huit bits suivants : un bit 20 (WIP - Write In Progress) adapté à indiquer qu'une opération d'écriture est en cours dans la mémoire ; un bit 21 (WEL - Write Enable Latch) de verrouillage de la mémoire en écriture ; deux bits 22 et 23 (BPO - Block Protection 0 et BPI - Block Protection 1) dont la combinaison est adaptée à délimiter des zones, ou plages, ou quadrants de la mémoire que l'on souhaite protéger en écriture ; trois bits 24, 25 et 26 dont les valeurs sont arbitrairement, dans cet exemple, fixées à 0 ; et un bit 27 (SRWD - Status Register Write Disable) adapté à interdire l'écriture du registre 2 d'état de la mémoire. [0035] Les bits 22 à 27 du registre 2 d'état de la mémoire ne sont généralement pas destinés à être modifiés au cours d'une utilisation normale d'un produit doté de cette mémoire. Une valeur prédéfinie est donc généralement attribuée, en usine, à chacun des bits 22 à 27. La plupart du temps, la valeur de chaque bit 22 à 27 est ainsi paramétrée « en dur » par un fabricant d'équipements mettant en oeuvre de telles mémoires. À titre d'exemple particulier d'application, dans le secteur automobile, ce fabricant est, par exemple, un équipementier fournissant des calculateurs embarqués ou unités de commande électroniques (ECU - Electronic Control Units) à des constructeurs de véhicules. [0036] En revanche, les bits 20 et 21 (WIP et WEL, respectivement) du registre 2 d'état possèdent des valeurs qui sont généralement amenées à évoluer tout au long de l'utilisation normale d'un produit doté d'une telle mémoire. Les valeurs des bits WIP et WEL sont, en particulier, modifiées au gré de cycles d'écriture effectués sur la mémoire. [0037] Par convention arbitraire, on désigne par 0 ou 1 les états respectifs des bits indé- pendamment des niveaux électriques représentés par ces états, pris pour exemple comme « haut » et « bas ». [0038] En supposant, par exemple, que les valeurs des bits WIP et WEL sont toutes deux initialement égales à 0 et que l'on souhaite effectuer un cycle d'écriture dans la mémoire. Les valeurs des bits WTP et WEL du registre 2 d'état de cette mémoire sont alors typiquement modifiées comme suit : le bit WEL est mis à l'état 1, cc qui signifie que le cycle d'écriture dans la mémoire est autorisé ; dès le début du cycle d'écriture, la valeur du bit WIP commute à l'état 1 pour indiquer qu'une écriture est en cours dans la mémoire ; au cours du cycle d'écriture dans la mémoire, le bit WEL est mis à l'état 0 ; et une fois le cycle d'écriture achevé, le bit WIP est mis à l'état 0. [0039] La figure 3 est un diagramme d'enchaînement d'un mode de réalisation d'opérations associées à un cycle d'écriture de données dans une mémoire via un bus série. [0040] Selon cc mode de réalisation, une unité de traitement numérique (11, figure 1) est reliée, de préférence connectée, à une mémoire (13, figure 1) par un bus série (14, figure 1). On suppose que l'unité de traitement numérique a besoin d'écrire des données dans la mémoire afin, par exemple, de sauvegarder une information, de mémoriser un résultat de calcul, etc. Pour simplifier, on s'intéresse principalement aux opérations qui se déroulent du côté de la mémoire. [0041] Dans l'exemple de la figure 3, une première étape (bloc 301, MEMORY SELECT) consiste, pour l'unité de traitement numérique, à sélectionner la mémoire dans laquelle il souhaite écrire une ou plusieurs données. La mémoire reçoit alors (bloc 311, RECEIVE WREN COMMAND), de la part de l'unité de traitement numérique, un code opératoire, noté « WREN ». Le code opératoire WREN, qui précède les opérations d'écriture proprement dites, permet d'autoriser l'écriture dans la mémoire. La mémoire est ensuite désélectionnée (bloc 302, MEMORY DESELECT) par l'unité de traitement numérique. Le bit WEL de verrouillage de la mémoire en écriture passe alors à l'état 1 (bloc 321, WEL = 1). [0042] L'unité de traitement numérique sélectionne alors de nouveau la mémoire (bloc 303, MEMORY SELECT). Une fois la mémoire sélectionnée, une commande d'écriture, envoyée par l'unité de traitement numérique, est reçue par la mémoire (bloc 312, RECEIVE WRITE COMMAND). Cette commande d'écriture comporte, par exemple : un octet de code opératoire ; 6 deux octets d'adresse ; et un certain nombre d'octets constituant la ou les données à écrire dans la mémoire. [0043] La mémoire est ensuite désélectionnée (bloc 304, MEMORY DESELECT) par l'unité de traitement numérique. La désélection de la mémoire provoque le démarrage du cycle d'écriture proprement dite dans la mémoire (bloc 331, BEGIN DATA WRITING). Le bit WTP passe alors à l'état 1 (bloc 323, WIP = 1). À l'issue des opérations d'écriture proprement dites (bloc 333, END DATA WRITING), le bit WIP repasse à l'état 0 (bloc 325, WIP =0). [0044] Selon un mode de réalisation préféré, la mémoire est, en parallèle des opérations d'écriture décrites ci-dessus, c'est-à-dire pendant une durée séparant les blocs 331 et 333, de nouveau sélectionnée (bloc 305, MEMORY SELECT) par l'unité de traitement numérique. La mémoire reçoit alors (bloc 313, RECEIVE RDSR COMMAND), de la part de l'unité de traitement numérique, un autre code opératoire, noté « RDSR ». Le code opératoire RDSR constitue une requête d'envoi, en continu, du registre d'état de la mémoire. La mémoire, à réception du code opératoire RDSR, commence alors, en retour, à émettre son registre d'état (bloc 351, SR BYTE OUTPUT) à destination de l'unité de traitement. [0045] Selon un mode de réalisation préféré, la mémoire transmet (bloc 351) en boucle (à chaque coup d'horloge), via le bus série, son registre d'état tant qu'elle reste sélectionnée par l'unité de traitement numérique (ou autre circuit sélectionnant la mémoire). Cette sélection est décorrélée des opérations d'écriture proprement dites (blocs 331, 323 et 333), la mémoire étant sélectionnée par un signal binaire distinct du bus. Dans l'exemple de la figure 3, l'unité de traitement commande la désélection de la mémoire (bloc 306, MEMORY DESELECT) dès que les opérations d'écriture sont terminées, c'est-à-dire quand le bit WIP repasse à l'état 0 (bloc 325). Cette désélection de la mémoire interrompt l'envoi, en boucle, du registre d'état de la mémoire (bloc 353, END SR BYTE OUTPUT). [0046] Pendant une phase où le bit WIP est à l'état 1 et où la mémoire est sélectionnée, la mémoire transmet donc en boucle (bloc 351) son registre d'état. En cl' autres termes, le registre d'état est transmis, cycliquement ou périodiquement, pendant que le cycle d'écriture a lieu dans la mémoire et tant que la mémoire demeure sélectionnée par l'unité de traitement (bloc 35). Cela permet ainsi à l'unité de traitement numérique de suivre une évolution du registre d'état. [0047] Selon un mode de réalisation préféré, le registre d'état de la mémoire est transmis de façon synchrone par rapport à un signal de synchronisation, ou signal d'horloge, servant à cadencer les transmissions de données sur le bus série. Par exemple, pour une transmission de données à une fréquence de 1 MHz, une durée minimale de 8 ms sépare chaque émission, par la mémoire, de l'octet constituant le registre d'état. Toujours 7 selon cet exemple, au cours d'un cycle d'écriture d'une durée totale de 3 ms, le registre d'état peut donc être théoriquement émis 375 fois par la mémoire. En considérant des cycles d'écriture compris entre 1 ms et 4 ms, le registre d'état peut alors théoriquement être émis au moins 125 fois et au plus 500 fois. [0048] Le bit WEL du registre d'état de la mémoire est généralement réinitialisé à un instant quelconque pendant l'exécution des opérations d'écriture des données. Grâce au mode de réalisation exposé ci-dessus, en relation avec la figure 3, il est possible de repérer facilement cet instant. La mise à jour du registre d'état de la mémoire et sa lecture par l'unité de traitement numérique tout au long des opérations d'écriture permettent en effet de surveiller l'instant où la valeur du bit WEL repasse à 0. [0049] Un avantage de cc mode de réalisation est de permettre une rétrocompatibilité avec des circuits et procédés de communication existants utilisant un bus série SPI. Une mémoire (13, figure 1) mettant en oeuvre le procédé décrit ci-dessus est, en effet, compatible avec des applications usuelles. Le mode de réalisation exposé en relation avec la figure 3 peut ainsi être implémenté dans un circuit existant sans toutefois venir perturber son fonctionnement. [0050] La figure 4 représente un mode de mise en oeuvre d'un procédé de codage d'une donnée à transmettre sur un bus série. [0051] Selon cc mode de mise en oeuvre, on considère un cycle d'écriture, comme exposé en relation avec la figure 3, durant lequel la mémoire transmet, en boucle, son registre 2 d'état tant que des opérations d'écriture sont en cours. Pour simplifier, on ne s'intéresse qu'aux bits 20 (WIP) et 21 (WEL) de l'octet formant le registre 2 d'état de la mémoire. On considère, dans cet exemple, que les valeurs des autres bits 22 à 27 ne subissent aucune évolution tout au long du cycle d'écriture, et que les bits 20 et 21 représentent les bits de poids faible du registre 2 d'état. [0052] Au cours des opérations d'écriture, on suppose que le registre 2 d'état de la mémoire est actualisé et transmis à n reprises. En d'autres termes, on considère que l'émission en boucle (bloc 351, figure 3) du registre d'état de la mémoire s'effectue n fois pendant une durée séparant le bloc 351 (figure 3) du bloc 353 (figure 3). [0053] Toujours selon cet exemple, des opérations d'écriture dans la mémoire ont lieu entre une première itération ROUND 1 et une dernière itération ROUND n. En figure 4, cela se traduit par le fait que, entre ces deux itérations, la valeur du bit WIP demeure égale à 1, signe que des opérations d'écriture sont en cours d'exécution. Le bit WIP est mis à l'état 0 après la dernière itération ROUND n, ce qui constitue, en figure 4, une ultime étape ROUND n+1. [0054] Dans l'exemple de la figure 4, on ne s'intéresse, pour simplifier, qu'à six itérations intermédiaires ROUND 2, ROUND 3, ROUND k-1, ROUND k, ROUND k+1 et ROUND n-1. Ces six itérations intermédiaires sont, toujours dans cet exemple, succes- 8 sivement intercalées entre la première itération ROUND 1 et la dernière itération ROUND n. D'autres itérations (non représentées) sont également susceptibles de s'intercaler entre les itérations ROUND 3 et ROUND k-1, d'une part, et/ou entre les itérations ROUND k+1 et ROUND n-1, d'autre part. En d'autres termes, les itérations apparaissent temporellement dans un ordre suivant : ROUND 1, ROUND 2, ROUND ..., ROUND k-1, ROUND k, ROUND k+1, ..., ROUND n-1 et ROUND n. [0055] À chaque nouvelle itération, le contenu du registre 2 d'état de la mémoire est sus- ceptible d'être mis à jour et transmis, par la mémoire, sur le bus série. Le registre 2 d'état de la mémoire est, dans cet exemple, actualisé et émis au moins aux itérations successives ROUND 1, ROUND 2, ROUND 3, ROUND k-1, ROUND k, ROUND k+1, ROUND n-1 et ROUND n. [0056] Dans un cycle d'écriture utilisant un bus SPI, il a été précédemment exposé, en relation avec la figure 2, que l'instant de réinitialisation du bit WEL pouvait intervenir n'importe quand entre le début et la fin des opérations d'écriture. [0057] Selon un mode de mise en oeuvre préféré, on se propose de contrôler la réinitia- lisation du bit WEL, de sorte que cette réinitialisation intervienne à un instant choisi. Dans l'exemple de la figure 4, le bit WEL est volontairement réinitialisé (ici, le bit WEL est mis à l'état 0) entre l'itération ROUND 2 et l'itération ROUND 3. Toujours selon cet exemple, la valeur du bit WEL demeure égale à 0 pour toutes les itérations suivantes ROUND 3 à ROUND n. [0058] Le contrôle intentionnel ou déterministe de la réinitialisation du bit WEL lors des opérations d'éciiture permet ici de coder un bit 4 (B) de donnée, ou donnée binaire. On peut, par exemple, choisir de réinitialiser le bit WEL : soit avant une certaine itération, par exemple l'itération ROUND k, pour coder un état bas du bit B ; soit après cette même itération ROUND k, pour coder un état haut du bit B. [0059] Il est ainsi possible de communiquer, par exemple à une unité de traitement connectée à la mémoire, le bit B dont la valeur est codée par rapport à l'instant où le bit WEL est mis à l'état 0 au cours d'un cycle d'écriture. Si le bit WEL est réinitialisé avant une certaine itération, ou un certain instant ou une certaine durée, cela revient à coder un premier état du bit B. En revanche, si le bit WEL est réinitialisé après cette même itération, ou ce même instant ou cette même durée, cela revient à coder un deuxième état du bit B. [0060] Selon un mode de mise en oeuvre, on tire profit de ce contrôle de la réinitialisation du bit WEL pendant un cycle d'écriture pour transmettre un bit B représentatif d'une usure de la mémoire. Par exemple, on intervient sur l'instant choisi pour mettre le bit WEL à l'état 0 en vue de coder le bit B dont : un état haut permet d'indiquer qu'une ou plusieurs opérations de correction d'erreur 9 ont eu lieu dans la mémoire, ce qui peut signifier que la mémoire est usée ; et un état bas traduit le fait qu'aucune correction d'erreur n'a eu lieu dans la mémoire, cc qui peut vouloir dire que la mémoire n'est pas usée. [0061] Selon un autre mode de mise en oeuvre, on considère que la valeur prise par le bit WEL à l'itération ROUND k, ou à un instant correspondant à l'itération ROUND k, conditionne l'état du bit B. En d'autres termes, l'itération ROUND k constitue une référence pour le codage du bit B. On considère ainsi, par exemple : que le bit B vaut 1 si le bit WEL vaut 1 au moment de l'itération ROUND k ; et que le bit B vaut 0 si le bit WEL vaut 0 au moment de l'itération ROUND k. [0062] Toujours selon cet exemple, on contrôle, en fonction de la valeur du bit B que l'on souhaite transmettre à chaque nouveau cycle d'écriture dans la mémoire, l'instant auquel le bit WEL est mis à l'état 0 pendant le cycle considéré. En supposant que l'on veuille coder un état 0 du bit B durant un cycle d'écriture, on mettra le bit WEL à l'état 0 lors d'une itération précédant l'itération ROUND k (par exemple, lors de l'itération ROUND 2). Le bit WEL sera ensuite maintenu à l'état 0 jusqu'à la fin du cycle d'écriture, de sorte que la valeur du bit WEL vaudra bien 0 au moment de l'itération ROUND k. [0063] En supposant que l'on veuille ensuite coder un état 1 du bit B durant un autre cycle d'écriture, on mettra le bit WEL à l'état 0 lors d'une itération postérieure à l'itération ROUND k (par exemple, lors de l'itération ROUND n-1). Le bit WEL sera ainsi maintenu à l'état 1 au moins jusqu'à l'itération ROUND k. [0064] D'un cycle d'écriture à l'autre, on peut décider de réinitialiser (mettre à l'état 0) le bit WEL de façon déterministe dans des plages d'itérations antérieures ou postérieures à l'itération k servant de référence. Par exemple, on peut décider que le bit WEL sera toujours mis à l'état 0 : à l'itération ROUND 2 pour coder une valeur 0 du bit B ; et à l'itération ROUND n-1 pour coder une valeur 1 du bit B. [0065] En variante, on peut décider de réinitialiser le bit WEL de façon aléatoire dans les plages d'itérations antérieures ou postérieures à l'itération k servant de référence. Par exemple, on peut coder : un état 0 du bit B en réinitialisant le bit WEL à une itération aléatoirement choisie parmi les itérations antérieures à l'itération ROUND k ; et un état 1 du bit B en ne réinitialisant le bit WEL qu' à une itération aléatoirement choisie parmi les itérations postérieures à l'itération ROUND k. [0066] La figure 5 représente un autre mode de mise en oeuvre d'un procédé de codage d'une donnée à transmettre sur un bus série. [0067] Selon ce mode de mise en oeuvre, on considère encore un cycle d'écriture comportant n itérations comme exposé en relation avec la figure 4. Pour simplifier, on ne s'intéresse qu'aux bits 20 (W1P) et 21 (WEL) de l'octet formant le registre 2 d'état de la mémoire. On considère, dans cet exemple, que les valeurs des autres bits 22 à 27 ne subissent aucune évolution tout au long du cycle d'écriture. Toujours dans cet exemple, on suppose que le registre 2 d'état de la mémoire est actualisé et transmis sur le bus SPI au moins aux itérations successives ROUND 1, ROUND 2, ROUND 3, ROUND k-1, ROUND k, ROUND k+1, ROUND n-1 et ROUND n. [0068] Lors d'un cycle d'écriture utilisant, par exemple, un bus série SPI, la valeur du bit WEL est modifiable à plusieurs reprises pendant l'écriture. Il est par conséquent possible d'étendre le principe de codage d'un bit, exposé en relation avec la figure 4, pour coder plusieurs bits formant une donnée ou mot 5 (DATA). Pour cela, on contrôle la valeur prise par le bit WEL du registre 2 d'état à chaque nouvelle itération de la boucle d'actualisation et d'émission du registre 2 d'état de la mémoire. [0069] Dans l'exemple de la figure 5, on impose la valeur du bit WEL pour chaque itération comprise entre ROUND 2 et ROUND n-1. Cela permet de coder, pour chaque nouvelle itération, un bit de la donnée DATA dont la valeur est égale à la valeur du bit WEL à l'itération considérée. Ainsi, dans l'exemple de la figure 5, la donnée DATA forme un mot comportant notamment : un bit 50, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND 2; un bit 51, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND 3 ; un bit 52, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND k-1 ; un bit 53, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND k; un bit 54, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND k+1 ; et un bit 55, dont la valeur est égale à la valeur du bit WEL à l'itération ROUND n-1. [0070] Pour un cycle de transmission durant lequel le registre 2 d'état de la mémoire est actualisé et émis n fois, il est ainsi théoriquement possible de transmettre, par le bus série, une donnée DATA comportant jusqu'à n-2 bits. Par exemple, pour un cycle d'écriture, dans la mémoire, cadencé à une fréquence de 10 MHz et s'étalant sur une durée de 1 ms, on peut transmettre via le bus série une donnée DATA comportant environ 1 000 bits (1 kbit). Cela revient à créer un nouveau canal de transmission de données sur le bus série. [0071] Dans l'exemple de la figure 5, les bits 50 à 55 de la donnée DATA sont transmis, dans l'ordre, du bit de poids le plus faible (bit 50) au bit de poids le plus fort (bit 55), ce qui n'est pas obligatoire. On peut en effet prévoir de transmettre les bits 50 à 55 de la donnée DATA dans un autre ordre, par exemple dans un ordre résultant d'une permutation. [0072] Dans l'exemple de la figure 5, le registre 2 d'état subit, pendant un même cycle d'écriture dans la mémoire, un nombre de modifications lié au nombre de transitions 11 d'états entre les bits successivement transmis du mot 5. [0073] Les différents modes de mise en oeuvre et variantes, exposés ci-dessus en relation avec les figures 4 et 5, sont susceptibles d'être mis en oeuvre : par un circuit, par exemple le circuit 1 (figure 1) ; et/ou par une mémoire non volatile, par exemple la mémoire 13 (figure 1) dont le registre 2 d'état est adapté à être modifié tel que décrit. [0074] Divers modes de réalisation, modes de mise en oeuvre et variantes ont été décrits. L'homme de l'art comprendra que certaines caractéristiques de ces divers modes de réalisation, modes de mise en oeuvre et variantes pourraient être combinées, et d'autres variantes apparaîtront à l'homme de l'art. En particulier, le codage d'un bit B comme exposé en relation avec la figure 4 est susceptible d'être répété, au cours de cycles d'écriture successifs, afin, par exemple, de coder plusieurs bits B formant ensemble une ou plusieurs données. De même, le codage d'une donnée DATA comme exposé en relation avec la figure 5 est susceptible d'être répété, au cours de cycles d'écriture successifs, afin, par exemple, de coder plusieurs données DATA formant, après recombinaison (par exemple, après concaténation), une autre donnée non transmissible lors d'un seul cycle d'écriture dans la mémoire. [0075] Enfin, la mise en oeuvre pratique des modes de réalisation, modes de mise en oeuvre et variantes décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus. En particulier, le bit B et la donnée DATA peuvent représenter tout type d'information ou portion d'information, par exemple une information traduisant un état d'usure de la mémoire ou un nombre de corrections d'erreurs réalisées pendant une durée déterminée. 12 REVENDICATIONS[Revendication 1] Procédé de codage d'une donnée (B ; DATA) à transmettre sur un bus série SPI (14), dans lequel un registre (2) d'état d'une mémoire (13) est modifié, à au moins un instant choisi, en fonction de tout ou partie de ladite donnée (B ; DATA) à transmettre. [Revendication 2] Procédé selon la revendication I. dans lequel la mémoire (13) est une mémoire non volatile reprogrammable. [Revendication 3] Procédé selon la revendication 1 ou 2, dans lequel le registre (2) d'état est modifié par une inversion d'état d'un bit (WEL) de verrouillage de la mémoire (13) en écriture. [Revendication 4] Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le registre (2) d'état est modifié au cours d'un cycle d'écriture dans la mémoire (13). [Revendication 5] Procédé selon la revendication 4, dans lequel le registre (2) d'état est modifié une seule fois au cours du cycle d'écriture dans la mémoire (13), la donnée (B) à transmettre formant un bit (4). [Revendication 6] Procédé selon la revendication 4, dans lequel le registre (2) d'état est modifié plusieurs fois au cours du cycle d'écriture dans la mémoire (13), la donnée (DATA) à transmettre formant un mot (5) comportant au moins deux bits (50, 51, 52, 53, 54, 55). [Revendication 7] Procédé selon la revendication 6, dans lequel le nombre de modi- fications du registre (2) d'état, au cours du cycle d'écriture dans la mémoire (13), est lié au nombre de transitions d'états entre des bits successivement transmis du mot (5). [Revendication 8] Procédé selon l'une quelconque des revendications 1 à 7, dans lequel ladite donnée (B ; DATA) à transmettre est représentative d'une usure de la mémoire (13). [Revendication 9] Procédé selon l'une quelconque des revendications 1 à 8, dans lequel ladite donnée (B ; DATA) à transmettre reflète un nombre de corrections d'erreurs effectuées au sein de la mémoire (13). [Revendication 10] Procédé selon l'une quelconque des revendications 1 à 9, comportant. les étapes suivantes : commencer à écrire dans la mémoire (13) ; transmettre, de façon périodique, le registre (2) d'état. de la mémoire (13) ; modifier, audit instant donné, le registre (2) d'état de la mémoire (13) pour coder tout ou partie de la donnée (B ; DATA) à transmettre ; et 13 [Revendication 11] [Revendication 12] cesser d'écrire dans la mémoire (13). Circuit électronique (1) adapté à la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 10. Mémoire (13) non volatile comportant un registre (2) d'état adapté à être modifié par la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 10.