Brevet FR3006532A1 — publié le 20141205

Domaine de l'invention La présente invention se rapporte à un procédé pour réa- liser une interface générique dans un appareil de commande, notamment pour la communication avec d'autres participants d'un système de communication comportant des interfaces. Etat de la technique Les appareils de commande utilisés dans les véhicules ont habituellement des interfaces-série telles que SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, Ethernet, I2C, MSC (micro-Second-Channel) ainsi que d'autres liaisons ou communications avec d'autres appareils de commande, capteurs actionneurs et/ou périphériques. Selon l'état de la technique, ces interfaces-série sont implémentées par le code VHDL dans un microcontrôleur de l'appareil de commande. Du côté des circuits, pour implémenter une interface-série, il faut implémenter selon la nature de l'interface, par exemple un contrôleur de communication spé- cifique à l'interface y compris un contrôleur de protocole, une unité d'échantillonnage, une unité de mémoire ainsi qu'un émetteur récepteur. Un émetteur réception de bus n'est pas nécessaire dans le cas de SENT et de SPI. Les unités de circuit spécifique à des interfaces (par exemple des tampons pour SPI, des contrôleurs de protocole pour CAN) rendent de telles implémentations compliquées et rigides. Selon le document WO-2006013212 Ai, on connaît par exemple la conversion d'un composant de communication FlexRay pour coupler une liaison de communication FlexRay avec un composant de communication FlexRay dans un réseau FlexRay. Un microcontrôleur avec des interfaces-série équipées de manière spéciale est, par exemple, décrit dans le document « 16/32-Bi Architecture, XC2387C, XC2388C, 16/32-Bit Single-Chip Microcontroller with 32-Bit Performance, XC2000 Family/High Line, Date Sheet V1.3 2011-07 ». Ce document est de Infineon. Il existe des exigences très diverses quant à la nature et au nombre d'interfaces-série dans les différentes applications à des véhicules automobiles pour les appareils de commande ainsi que pour un microcontrôleur d'un tel appareil de commande. C'est ainsi que, par exemple dans une application, les conditions peuvent être les sui- vantes : une interface SPI, deux interfaces LIN, cinq interfaces CAN. Dans d'autres applications plus développées, on peut avoir besoin d'interfaces telles que FlexRay ou Ethernet ou un nombre plus important d'interfaces existantes. Pour répondre à ces exigences, on peut uti- liser un microcontrôleur ayant de très nombreuses interfaces de différents types mais qui, toutefois, seront surdimensionnés pour un grand nombre d'applications et de ce fait, elles seront coûteuses. En variante, pour chaque application, on peut implémenter un microcontrôleur spécifique qui dispose, pour chaque type d'interface, le nombre précis souhaité mais cela va contre le souhait d'uniformisation et occa- sionne des coûts d'implémentation élevés. Les deux solutions sont, de plus, rigides vis-à-vis des conditions futures non encore connues. Globalement, une implémentation de circuits spécifiques aux interfaces pour les interfaces-série dans un microcontrôleur d'un appareil de commande de véhicule constitue des solutions rigides (solutions sans souplesse) qui ne peuvent être adaptées que de manière compliquée aux différentes exigences. But de l'invention L'invention a pour but de développer un procédé de réali- sation d'une interface générique, d'un microcontrôleur équipé d'une telle interface et d'un appareil de commande avec un tel microcontrôleur. Une structure souple de microcontrôleur comporte ainsi par exemple une unité centrale de traitement (CPU), un module d'entrée spécifique à l'interface, un module de sortie spécifique à l'interface, une unité de routine ainsi qu'une unité de calcul pour le traitement des informations spécifiques à l'interface. L'unité de calcul est, de préférence, différente de l'unité centrale de traitement. Les composants du micro-contrôleur constituent une interface générique et peuvent être configu- rés pour fournir, selon la configuration, les fonctions correspondant à l'une parmi les nombreuses interfaces-série, en particulier SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC ou Ethernet. Souvent les microcontrôleurs doivent avoir un domaine d'application large car leurs coûts de conception et de production sont élevés et ne permettent pas de développer un microcontrôleur propre à chaque application. En réalisant des interfaces génériques telles que proposées dans un microcontrôleur, il n'est pas nécessaire de connaître le type des interfaces nécessaires pour les différentes applications du microcontrôleur lors de la conception du microcontrôleur. Bien plus, on réalise des circuits qui, selon la configuration, permettent d'assurer les fonctions d'une certaine interface-série. Selon un procédé de présentation d'interfaces génériques par des circuits d'un microcontrôleur, dans une partie distincte de procédé pour la réception et pour le traitement des données d'entrée, selon le protocole, on reçoit pour l'une des nombreuses interfaces-série, les données d'entrée par un module d'entrée spécifique à l'interface et on les transmet par une unité de routine à une unité de calcul. L'unité de calcul extrait les données utiles dans les données d'entrée, notamment en éliminant les spécificités du protocole des données d'entrée. Les premières données utiles sont finalement fournies à l'unité centrale de traitement (CPU). Dans un procédé partiel en principe séparé pour le trai- tement des données et l'émission de données de sortie, on reçoit les secondes données utiles de l'unité centrale de traitement d'une unité de calcul. L'unité de calcul génère les données de sortie à partir des se- condes données utiles notamment en ajoutant des spécificités du protocole aux secondes données utiles. Les données de sortie sont transmises par l'unité de routine à un module de sortie spécifique à l'interface et sont émises finalement en fonction du protocole de l'une des nombreuses interfaces-série par un module de sortie spécifique à l'interface. Ce procédé constitue un type particulièrement souple de traitement de données car il n'utilise pas d'unité de circuit spécifique à l'interface. Les données de nombreux protocoles selon de nombreuses interfaces-série peuvent être reçues et envoyées par des modules d'entrée et de sortie spécifiques à l'interface et par la configuration, on peut exploiter les données reçues par les informations de protocole dans l'unité de calcul. Cela permet de configurer les interfaces génériques en fonction d'interfaces-série, déterminées, selon les exigences spécifiques de l'application pour le microcontrôleur. Des spécificités de protocole, notamment des informations concernant les bits de départ, les bits d'arrêt, les informations de parité, les bits de commande, les bits de remplissage ou autres peuvent ainsi être déposés dans une mémoire, par exemple par l'unité centrale de traitement du microcontrôleur. Pour cela, on peut configurer l'interface générique, avant tout l'unité de calcul utilisée à cet effet. L'unité de calcul accède à la mémoire et peut lire les informations de protocole selon la configuration prévue. Un domaine d'application encore plus large des interfaces génériques est celui de l'utilisation de l'unité de calcul pour calculer également des couches de protocole supérieures comme par exemple la conversion de plusieurs trames d'informations UART en une trame d'informations LIN. La transmission des données utiles des données de calcul vers l'unité centrale de traitement se réalise de la manière la plus simple en ce que l'unité de calcule inscrit les données utiles dans une mémoire à laquelle accède l'unité centrale de traitement et informe l'unité centrale de traitement par exemple par une interruption. Selon une variante plus compliquée qui décharge en re- vanche l'unité de calcul et l'unité centrale de traitement, l'unité de cal- cul peut fournir les données utiles à l'unité centrale de traitement par un accès direct en mémoire. Dans le module d'entrée, on peut attribuer des informa- tions de temps aux données d'entrée, par exemple en ce qu'on applique un tampon de temps à chaque changement de flanc à l'entrée du mo- dule d'entrée. Le changement de flanc est ainsi combiné à une information de temps, ce qui permet indépendamment du protocole des données d'entrée, de recevoir celles-ci de façon qu'à l'aide de l'unité de calcul, on puisse extraire les données utiles à l'aide des informations de temps des changements de niveaux. Pour cela, les changements de flancs, y compris le tampon de temps, sont transmis respectivement par un module d'entrée à l'unité de calcul par l'unité de routine. L'unité de routine a l'avantage que, même pour plusieurs modules d'entrée, modules de sortie et unités de calcul, le transport des données se fait de manière rapide et fiable. Selon une variante, le module d'entrée peut également mémoriser l'ensemble des informations et (de préférence par l'unité de routine) fournir ces informations à l'unité de calcul. Comme on ne transmet pas alors de changement de niveaux avec un tampon de temps, cela décharge l'unité de routine et la transmission n'est plus trop fortement définie par la vitesse et la charge de l'unité de routine. Selon une variante, on peut associer à l'ensemble de l'information, une information de temps par le module d'entrée. Celle-ci peut être transmise à l'unité de calcul ou à l'unité centrale de traite- ment CPU pour être classée ou pour le traitement des données d'entrée. De plus, le module d'entrée peut reconnaître d'une manière particulièrement garantie le contenu des données d'entrée si celles-ci sont analysées par une détection de surcharge ; par un vote de majorité, on peut déterminer à partir des valeurs de niveaux des points de détection, un niveau de bit pour chaque bit de données d'entrée. Selon un procédé d'émission de données qui est analogue au tampon de temps du changement de flanc dans le module d'entrée, l'unité de calcul traite les données utiles du côté de l'unité centrale de traitement en ce qu'elle les convertit en des changements de flanc avec le tampon de temps associé. Pour cela, elle doit connaitre les débits Baud correspondants d'émission des données de sortie, c'est-à-dire la vitesse de transmission des données à l'émission. Chaque changement de flanc avec un tampon de temps est transmis séparément par une unité de routine vers un module de sortie. Dans celui-ci, on compare aux informations de temps, chaque changement de flanc à l'instant souhaité pour l'appliquer à la sortie. Cela permet une émission de données flexibles et indépendantes du protocole avec un module de sortie non spécifique à l'interface. En variante, également lors de l'émission, on peut fournir une trame d'informations, complète, à la place d'une simple alternance de niveaux avec tampon de temps de l'unité de calcul vers le module de sortie. L'émission de toute la trame d'informations se fait alors par exemple par un déclencheur par l'unité de calcul ou l'unité centrale de traitement CPU ou si le tampon de temps de toute la trame d'informations coïncide avec l'information de temps dans le module de sortie. Cela soulage l'unité de routine et limite moins la vitesse d'émission par la charge et la vitesse de l'unité de routine. L'unité de calcul comporte par exemple une unité logique et arithmétique, de préférence, réalisée sous la forme d'un séquenceur multi-canal. Un microcontrôleur dans le module d'entrée spécifique à l'interface a une fonctionnalité de capture et/ou le module de sortie spécifique à l'interface a une fonctionnalité de comparaison, on peut réaliser des interfaces génériques particulièrement flexibles et simples. Avec moins de ressources, on peut arriver à une flexibilité considéra- blement plus élevée du microcontrôleur. Les possibilités d'utilisation du microcontrôleur peuvent être augmentées par d'autres circuits distincts par exemple pour les calculs CRC ou les calculs au cours d'un arbitrage de bus (par exemple dans le cas du bus CAN), qui sont soit partie du microcontrôleur, soit reliés à celui-ci. Par de telles unités de circuit de fonction optimisée, on soulage les autres modules moins spécialisés, en particulier l'unité de calcul du microcontrôleur. De tels calculs et ainsi les applications du microcontrôleur sont possibles avec une grande fiabilité et une grande vitesse seulement avec de telles unités supplémentaires. Pour que les interfaces génériques réalisent les interfaces-série respectives dans une trame, comme elles le permettent dans de nombreuses applications, en particulier dans le domaine de l'automobile, il faut que l'unité de routine et/ou l'unité de calcul fonc- tionnent avec une horloge d'au moins 100 MHz notamment d'au mois 200 MHz et qu'ainsi les données d'entrée soient reçues à une vitesse Baud, d'entrée d'au moins 1 MBaud et que les données de sortie soient envoyées à une vitesse de sortie Baud d'au moins 1 MBaud. Un microcontrôleur très souple d'utilisation est néan- moins particulièrement avantageux, qui comporte à la fois des inter- faces-série spécifiques réalisées sous la forme de circuits mais aussi des interfaces génériques avec des circuits non spécifiques aux interfaces et qui peuvent, en outre, être configurés pour avoir des interfaces-série supplémentaires, souhaitées, par des calculs par programme. Ainsi, pour les applications connues du microcontrôleur, on implémentera de manière fixe une certaine quantité d'interfaces entre les applications alors qu'entre les applications pour des exigences d'interfaces différentes ou des exigences d'interfaces encore inconnues, on utilisera des interfaces génériques. On peut combiner des circuits pour représenter des inter- faces génériques dans un microcontrôleur ayant un ou plusieurs modules d'horloge. Les circuits d'interfaces et un module d'horloge peuvent se soutenir réciproquement de manière souple pour des caches lorsqu'on dispose de capacités correspondantes pour l'un des blocs de cir- cuit. Les microcontrôleurs décrits peuvent s'appliquer particulièrement bien à des appareils de commande, notamment dans le domaine automobile. Les exigences relatives aux interfaces avec en même temps des contraintes de coût strictes sont particulièrement élevées. Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide d'exemples de procédé pour réaliser des interfaces génériques dans un appareil de commande, notamment pour un véhicule automobile, représentés dans les dessins annexés dans lesquels : la figure 1 est un schéma d'un exemple de microcontrôleur avec des circuits pour constituer des interfaces génériques, la figure 2 est un schéma d'un exemple d'un microcontrôleur avec des circuits pour constituer des interfaces génériques ainsi qu'un module d'horloge, la figure 3 montre schématiquement un exemple de microcontrôleur avec des circuits pour des interfaces génériques ainsi qu'avec un circuit spécial pour des calculs CRC, la figure 4 montre schématiquement un exemple de microcontrôleur avec des circuits pour des interfaces génériques et pour un module de sortie spécial, la figure 5 montre schématiquement un exemple de microcontrôleur avec des circuits pour des interfaces génériques ainsi qu'un module d'entrée spécial et une mémoire supplémentaire, la figure 6 montre schématiquement un exemple de microcontrôleur avec des circuits pour des interfaces génériques ainsi qu'un circuit pour soutenir un arbitrage, la figure 7 est un schéma de deux exemples de courbes de signaux avec changement de flanc pour décrire un arbitrage CAN, la figure 8 est le schéma du déroulement d'un procédé de réception de données par une interface générique, la figure 9 est un exemple de schéma d'un procédé d'émission de données par une interface générique, la figure 10 est un schéma d'un exemple de procédé de reconnais- sance de vitesse Baud, la figure 11 est un schéma d'un exemple de déroulement d'une transmission de données avec calcul CRC par une unité CRC distincte. Description de modes de réalisation L'expression « interface-série » signifie, dans la suite de la description, la liaison entre les appareils pour l'échange de données en mode série. La transmission des données série (ou encore en mode série) caractérise une transmission de données consistant à transmettre successivement les bits par une ou plusieurs lignes. Les interfaces-série utilisées par exemple dans les véhicules automobiles sont les suivantes : SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC ou Ethernet. Selon le document WO-2011120823 Al on connaît un module d'horloge « Generic Timer Module (GTM) ». Dans ce module d'horloge, les sous-modules de circuit sont organisés autour d'une unité de routine centrale « Advance Routing Unit (ARU) ». L'unité centrale de routine fait passer les données entre les différents sous-modules de circuit et se traduit, de préférence, par un arbitrage déterministe d'une planification de déroulement en boucle « Round Robin ». Cela signifie que les modules sources sont desservis dans un temps de circulation maximum et leurs données sont routées par des informations d'adresses vers les modules cibles correspondants. Le module d'horloge peut ainsi réduire la charge d'interruption de l'unité CPU d'un micro- contrôleur par exemple dans les microcontrôleurs d'appareils de com- mande électronique (ECU) utilisés pour commander les fonctions d'un véhicule automobile. Le module d'horloge comporte, comme sous modules de circuit entre autres, des modules d'entrée encore appelés « Ti-mer Input Modules (TIM) » ainsi que des modules de sortie appelés « Timer Output Modules (TOM) » ou encore des modules ATOM « ARU- connected Timer Output Modules ». A côté de l'unité de routage ARU, des modules d'entrée TIM et des modules de sortie TOM, ATOM, le module d'horloge comporte également un séquenceur multi-canal comme unité de calcul. Le module d'horloge utilise le principe de base «cap- ture/comparaison ». Pour cela, les signaux d'entrée dans les unités d'entrée (TIM) sont combinés à des tampons de temps correspondant à leur arrivée. Les indications de temps correspondantes sont fournies à l'unité d'entrée (TIM) par exemple par une unité de base de temps (TBU). Cette fonctionnalité du tampon de temps correspond à la « cap- ture » dans la fonction « capture/comparaison ». Les indications de temps sont utilisées par l'unité de calcul ou par l'unité centrale de traitement pour traiter et donner la priorité aux signaux. Les signaux envoyés par les unités de sortie (TOM, ATOM) du module d'horloge sont également munis d'un tampon de temps, par exemple des unités de cal- cul de traitement (CPU, MCS). Dans le module de sortie (ATOM) du module d'horloge, les tampons de temps des signaux sont comparés aux indications actuelles du temps. Le module de sortie reçoit celles-ci par exemple également d'une unité de base de temps. Si le tampon de temps du signal émis correspond au temps actuel, le signal sera émis. Cette fonctionnalité correspond à la fonction de « comparaison » de la notion « capture/comparaison ». A la place de la base de temps décrite, on peut également utiliser des fonctions de synchronisation angulaires « capture/comparaison » réalisées par les unités d'entrée et de sortie. Celles-ci peuvent être nécessaires au véhicule car la position angulaire d'une opération de réception ou d'émission par rapport à l'angle actuel du moteur a une signification particulière. Par exemple, l'unité d'entrée peut donner aux signaux d'entrée un tampon de temps et les informations émises peuvent être émises par des points angulaires déterminés. L'unité de calcul ou l'unité de traitement de données (séquenceur multicanal « MCS ») est réalisé, de préférence, comme sous-module avec des étages pipeline, une unité arithmétique et logique (ALU), des décodeurs et une liaison vers des unités de mémoire (RAM). Un module d'horloge peut utiliser plusieurs séquenceurs multi-canal. Les unités d'entrée sont réalisées de préférence sous la forme de composants de circuit avec des verrous et des flip-flop ainsi qu'une liaison avec une unité donnant le temps et/ou l'angle. Les unités de sortie sont réalisées de préférence comme composants de circuit avec des verrous et des flip-flop qui constituent par exemple un registre ainsi qu'une liai- son vers une unité donnant le temps et/ou l'angle. La base de temps pour les fonctions liées au temps peut être déduite de l'horloge du calculateur du microcontrôleur (ou de son unité centrale de traitement CPU) ; la base angulaire pour les fonctions liées aux angles peut être réalisée par une boucle DPLL (boucle numérique verrouillée en phase). Pour les autres fonctions du module d'horloge, notam- ment les composants ARU, MCS, TIM, ATOM, TBU du module d'horloge, on se reportera au document WP-2011120823 Ai). Un aspect central de la présente invention s'appuie sur la fonctionnalité du module d'horloge connu qui fournit déjà des inter- faces-série génériques dans un microcontrôleur, notamment pour des applications pour des appareils de commande de véhicule. Pour cela on peut reconfigurer des unités d'un module d'horloge déjà intégré dans le microcontrôleur ou intégrer des unités spécialement pour cette applica- tion dans le microcontrôleur. On peut utiliser, par exemple, les fonc- tionnalités « capture » et/ou « comparaison » des unités d'entrée (TIM) ou unité de sortie (TOM, ATOM) pour réaliser des entrées et des sorties d'interfaces spécifiques. Les unités d'entrée et de sortie sont soutenues par une unité de calcul, par exemple, un séquenceur multi-canal (MCS) qui effectue les calculs pour une interface. Pour répartir les données entre les modules d'entrée, les modules de sortie et l'unité de calcul, on utilise, de préférence, une unité de routine. Les modules décrits ci-après, à savoir module d'entrée, module de sortie, unité de routine et unité de calcul, ont de préférence les fonctionnalités décrites ci-dessus pour le module d'horloge « GTM » des unités correspondantes TIM, TOM, ATOM, ARU ou MCS. Toutefois, le circuit pour représenter des interfaces génériques ou le microcontrôleur avec de tels circuits diffère du module d'horloge connu à cause des exigences particulières (par exemple la vitesse de routage et de traitement). De préférence, à l'aide des fonctions décrites ci-dessus des sous-modules d'horloge, on effectue des modifications dans le circuit du microcontrôleur du moins il faut que les composants de circuit d'horloge correspondants soient adaptés par leur configuration aux missions et aux exigences différentes pour s'appliquer dans le cadre de l'invention. La figure 1 montre schématiquement une structure de circuit pour réaliser une interface générique série dans un microcontrôleur. Le microcontrôleur 101 comporte un groupe de circuit 110 qui réalise par configuration les fonctions d'une certaine interface- série. Les composants de circuit 110 comprennent un module d'entrée 111 relié à un canal de données d'entrée 102. Le canal de données d'entrée 102 est, de manière caractéristique, une liaison de communication liée par câble. Le module d'entrée 111 est relié à l'unité de routine 112. L'unité de routine 112 est, en outre, reliée à une unité de calcul 113 et à un module de sortie 114 en plus du module d'entrée 111. Le module de sortie 114 est relié à un canal de données de sortie 103. Le canal de données de sortie 103 est, de façon caractéristique, également une liaison de communication par câble. Le canal de données d'entrée 103 et le canal de données de sortie 104 font partie d'un système de communication ayant un protocole déterminé de sorte qu'il faut confi- gurer les composants de circuit 111, 112, 113, 114 spéficiques à l'interface pour leur permettre de réaliser les fonctions des interfaces correspondantes qui traitent des données de ce protocole déterminé. Par exemple, il peut s'agir, dans le cas du canal de données d'entrée 102, d'une entrée Rx d'une interface UART et dans le cas du canal de don- nées de sortie 103 il peut s'agir de la sortie Tx d'une interface UART. Les composants de circuit 111, 112, 113, 114 de cet exemple doivent être configurés pour copier une interface UART. Le module d'entrée 111 et le module de sortie 114 sont des circuits spécifiques d'interface, c'est-à-dire qu'ils peuvent traiter des données de nombreuses interfaces-série différentes réalisées selon des structures de protocole différentes. L'unité de calcul 113 se distingue de l'unité centrale de traitement (CPU) du microcontrôleur et sera appelée ci-après unité (MCS) pour la distinguer car il s'agit d'un séquenceur multi-canal dans un mode de réalisation préférentiel du microcontrô- leur pour l'unité de calcul (MCS). D'autres conversions de circuit de l'unité de calcul (MCS) sont également possible, de préférence, également avec une unité arithmétique et logique (ALU). L'unité de routine 112 relie le module d'entrée 111, le module de sortie 114 et l'unité de calcul (MCS) 113 en multiplexage dans le temps. La figure 1 est une représentation fortement simplifiée du microcontrôleur 101. Un tel microcontrôleur 101 comporte naturellement de nombreux autres composants non représentés entre autres une unité centrale de traitement (CPU) qui effectue les traitements de données, les calculs et les configurations dans le microcontrôleur. De plus, le microcontrôleur 101 comporte de préférence plusieurs tels modules d'entrée 111 et tels modules de sortie 114. Suivant l'application, on peut également avoir plusieurs unités de calcul (MCS) 113. De nom- breux tels modules 111, 113, 14 peuvent être reliés par une unique unité de routine 112. Pour des applications très complexes, on peut également utiliser plusieurs unités de routine 112 dans un même microcontrôleur 101. Selon une variante particulièrement préférentielle du pré- sent microcontrôleur, celui-ci comporte un nombre d'interfaces-série (réel) c'est-à-dire un circuit selon l'état de la technique, ainsi qu'un nombre d'interfaces « génériques » sous la forme de circuit comme décrit à propos de la figure 1. Cela permet de réaliser, de préférence, le nombre minimum d'interfaces nécessaires selon un type d'interfaces déterminées comme cela était le cas avantageusement, de manière fixe pour un circuit, jusqu'alors mais avec entre les différentes applications du microcontrôleur, des interfaces différentes comme interfaces génériques et qui sont configurées en programme selon l'application. Cela permet ainsi une utilisation flexible du microcontrôleur avec un nombre réduit d'interfaces. La figure 8 montre le déroulement d'un procédé de repré- sentation d'une interface générique pour la réception d'informations selon une représentation très schématique. Dans un module d'entrée (par exemple 111 à la figure 1), un microcontrôleur, on reçoit une première étape 801 de données nu- mériques de microcontrôleurs externes sous la forme de bits. Si un signal d'entrée est appliqué au module d'entrée, ce signal est disponible dans un protocole correspondant à l'interface-série à former. Le changement de flanc entre les bits des données d'entrée sont munis d'un tampon de temps dans le module d'entrée dans l'étape 802 (tampon capture-fonctionnalité). Pour cela, dans le module d'entrée, on saisit les tampons de temps auxquels l'état de la broche, c'est-à-dire le flanc change à l'entrée du module d'entrée. Les informations de temps, nécessaires pour le poinçonnement de temps permettent au module d'entrée de recevoir par exemple une unité de base de temps. Les don- nées ainsi déterminées sont transmises dans l'étape 803 avant le module de réception à une unité de routine (par exemple 112 à la figure 1) du microcontrôleur. La variation de flanc est transmise en cas de variation de l'état de la broche avec le tampon de temps pour le changement de l'autre flanc. L'unité de routine à son tour transmet les informations dans l'étape 804 à une unité de calcul (MCS, par exemple 113 à la figure 1) du microcontrôleur. Dans l'étape 805, l'unité de calcul (MCS) traite les infor- mations qui lui arrivent comme plusieurs transmissions séparées du côté de l'unité de routine en fonction de plusieurs événements de cap- ture dans le module d'entrée. L'unité de calcul (MCS) reconstruit le signal reçu à partir du flux de bits reçu (c'est-à-dire les alternances de flanc poinçonné en fonction du temps). L'unité de calcul (MCS) le vérifie en outre et élimine les bits de commande (par exemple bit de départ, bit d'arrêt, bit de parité, bit de remplissage) selon le présent protocole. L'unité de calcul (MCS) reçoit les informations pour ce traitement (c'est-à-dire les informations du protocole concerné ou par exemple des messages décrivant la construction de ce protocole) de préférence à partir d'une mémoire locale non volatile à laquelle elle a accès. Des informa- tions peuvent y être transmises par exemple d'une unité centrale de traitement (CPU) du microcontrôleur à partir d'une mémoire non volatile (par exemple une mémoire flash). Au démarrage du microcontrôleur, on attribue, de préférence au module d'entrée et au module de sortie qui sera décrit ensuite, par l'unité centrale de traitement (CPU) de ma- nière fixe, un protocole destiné aux informations et qui enregistre l'information relative aux informations de protocole pour l'unité de calcul (MCS) de façon accessible dans une mémoire volatile. Dans une étape 806 en option, l'unité de calcul (MCS) peut effectuer d'autres étapes et calculs par exemple le calcul dans des couches de protocole supérieures. Par exemple, on peut convertir, par le calcul, plusieurs trames (UART) en une trame (LIN) et exécuter les différents calculs de signal. L'unité de calcul (MCS) fournit les informations traitées, dans l'étape 807, à une unité centrale de traitement (CPU) du microcon- trôleur. De façon préférentielle, les informations sont enregistrées dans une mémoire (par exemple une mémoire RAM) et l'unité centrale de traitement (CPU) en est informée (par exemple par une interruption par un déclenchement d'un canal DMA). Le message peut disposer en plus des données utiles, par exemple également d'autres informations telles qu'un identificateur dans le cas d'un message CAN. Dans l'étape 808 l'unité centrale de traitement (CPU) traite exclusivement les informations reçues. A la figure 9, le déroulement du procédé pour représenter une interface générique est donné pour l'émission de messages. Dans l'étape 901, l'unité centrale de traitement (CPU) fournit au microcontrôleur un signal (le cas échéant avec un identificateur) d'une unité de calcul (MCS par exemple 113 à la figure 1). L'unité de calcul (MCS) traite le signal dans l'étape 901. A partir des bits du signal numérique, on calcule le déroulement du changement de flanc et les changements de flanc reçoivent leur indication de temps. Pour des intervalles de temps corrects entre les alternances de flancs, l'unité de calcul (MCS) a besoin de l'information concernant la vitesse de Baud utilisée. De plus, les informations de protocole sont ajoutées en fonction du protocole utilisé, comme par exemples des bits de commande tels le bit de départ, le bit d'arrêt, le bit de parité, le bit de remplissage. L'unité de calcul (MCS) reçoit les informations pour ce traitement (c'est-à-dire des informations concernant le protocole dont il s'agit ou par exemple des informations relatives à la construction de ce protocole) et de nouveau de préférence à partir de cette mémoire locale fugitive à laquelle on accède. Les informations peuvent y être transmises par exemple d'une unité centrale de traitement (CPU) du microcontrôleur à partir d'une mémoire non volatile (par exemple une mémoire flash). La transmission des données ainsi obtenues de l'unité de calcul (MCS) vers l'unité de routine (par exemple 112 à la figure 1) se fait dans l'étape 902. Dans l'étape 903, on effectue le routage des don- nées de l'unité de programme vers l'unité d'émission (par exemple 114 à la figure 1). L'unité d'émission reçoit également les données à émettre sous la forme de changement de flancs, y compris d'informations rela- tives aux instants auxquels les changements de flancs doivent se faire vers quels flancs à la sortie et ainsi le message souhaité est émis. L'unité de sortie compare à cet effet les informations de temps reçues, aux informations de temps disponibles (fonction de comparaison dans l'étape 904). Les informations de temps peuvent être par exemple four- nies par une unité de base de temps. Pour déterminer les informations de temps avec l'instant associé au changement de flanc suivant, l'unité de sortie applique uniquement le changement de flanc à la sortie et envoie ainsi les données souhaitées sous la forme d'un flux de bits avec la vitesse Baud prédéfinie et dans le protocole d'informations en fonction de l'interface-série à copier. La transmission à partir de l'unité de calcul (MCS) par l'unité de routine vers le module de sortie se fait dans cette variante de réalisation, chaque fois séparément pour chaque changement de flanc y compris d'information de temps. Le module de sortie peut ainsi être conçu de façon à être seulement prêt si le changement de flanc, reçu au préalable selon l'information de temps, a été envoyé ou appliqué à la sortie. Pour réaliser le circuit de l'interface-série générique, on peut avoir différentes configurations. D'une part, on peut disposer d'un microcontrôleur par un module d'horloge comme le module d'horloge générique décrit ci-dessus et en plus des circuits comme ceux décrits à la figure 1. Pour une telle configuration, le module d'horloge peut remplir sans difficulté les interfaces à représenter et qui participent à sa mission. La fonctionnalité d'interface est réalisée par les circuits supplémentaires du microcontrôleur. Dans une telle configuration, on peut transmettre la configuration de préférence, les fonctions d'horloge vers les circuits supplémentaires dans la mesure où ceux-ci ne sont pas déchargés de leur fonctionnalité d'interface notamment dans la mesure où les modules d'entrée et de sortie ne sont attribués à aucune fonction d'interface. De même, le module d'horloge (ou ses unités de circuit) dans cette variante spéciale, peut assurer la fonction d'interface des cir- cuits supplémentaires dans la mesure où il s'agit d'une capacité libre suffisante et d'une conception suffisante du circuit ainsi configuré. Une telle réalisation de circuit est représentée à la figure 2. Le microcontrôleur 201 a un circuit 210 qui correspond au circuit 110 de la figure 1 (canal de données d'entrée 202, canal de données de sortie 203, module d'entrée 211, module de sortie 214, unité de routine 212, unité de calcul (MCS) 213). Le microcontrôleur 201 comporte, en plus, un module d'horloge 230 ayant un module d'entrée d'horloge 231, un module de sortie d'horloge 234, une unité de programme 232 ainsi qu'une unité de calcul (MCS) 233. Le module d'entrée d'horloge 231 est relié à l'entrée de signal 222 ainsi qu'à l'unité de routine. Comme le module de sortie d'horloge 234 est relié à la sortie de signal 223 ainsi que l'unité de routine 232. L'unité de routine 232 est en outre reliée à l'unité de calcul (MCS) 233. Le module d'horloge 230 peut être, par exemple, réalisé par le module d'horloge générique. Selon une autre variante, les unités de circuit comme décrite en liaison à la figure 1, peuvent assurer à la fois les fonctions d'horloge et d'interface. Une telle unité de circuit se trouve, par comparaison avec le module d'horloge générique décrit ci-dessus, de préfé- rence dans le cas d'une unité de routine et d'unités de routine qui fonctionnent à fréquence plus élevée et nécessitent moins de modules pour l'unité de routine pour augmenter la vitesse de service et avoir des vitesses Baud élevées comme cela est nécessaire pour la présentation d'interfaces-série génériques. Par exemple, l'unité de routine et l'unité de calcul (MCS) peuvent fonctionner avec des fréquences de 80 MHz (jusqu'à 100 MHz, de préférence à partir de 200 MHz. De façon préférentielle, les fréquences sont développées par l'unité de routine et l'unité de calcul (MCS) pour représenter des interfaces à une vitesse de 1 Baud ou des vitesses plus élevées. Dans les deux variantes, grâce au décalage possible entre la fonction d'interface et la fonction d'horloge au niveau de la souplesse Z.B., on peut dans une application dans un appareil de commande avec le microcontrôleur, fournir en utilisant la combinaison horloge/interface/module avec seize modules de sortie, des fonctions d'horloge pour la commande de huit cylindres d'un moteur. Pour cela, on utilise par exemple le module de sortie avec une fonction de comparaison pour commander l'allumage et huit modules de sortie avec la fonction de coupure pour commander l'injection de chaque cylindre. Si le microcontrôleur avec le module combiné horloge/interface est utilisé dans une autre application pour commander un moteur à quatre cy- lindres, huit des seize modules de sortie qui viennent d'être décrits ne sont pas nécessaires pour les fonctions d'horloge de la commande des cylindres et sont ainsi disponibles pour, par exemple, former les signaux de sortie de huit interfaces-série. Suivant la nature des interfaces-série à former, on peut nécessiter d'autres composants de circuit en plus des modules et des unités déjà décrites. Par exemple, pour certains protocoles, il faut également faire des calculs CRC, par exemple pour PSI5 ou CAN. Dans le cas du calcul CRC (Contrôle de Redondance Cyclique CRC) on détermine une valeur de contrôle pour les données et on vérifie cette valeur de contrôle après transmission en se fondant sur les données transmises pour détecter des erreurs de transmission ou de mémoire. Pour ce type de calcul, il n'est pas intéressant d'implémenter l'unité de calcul (MCS) et le cas échéant, il faut prévoir une puissance de calcul plus élevée. Dans le cas d'un circuit à plusieurs unités de calcul (MCS), chacune de ces unités de calcul (MCS) serait surchargée par des calculs supplémentaires. De plus, les calculs CRC doivent être faits très rapidement pour certains protocoles pour déclencher, le cas échéant, des actions au niveau du protocole, par exemple des trames de message de défaut. C'est pourquoi, pour des raisons de surface et de performance, il est avantageux d'exécuter les calculs CRC dans un module propre. Selon un développement préférentiel des circuits décrits ci-dessus, pour réaliser des interfaces-série, celles-ci sont équipées d'une unité correspondante supplémentaire, distincte, pour calculer les in- formations CRC. De préférence, cette unité de contrôle CRC dans le cas d'un circuit effectué avec plusieurs unités de calcul (MCS), les calcule de façon centralisée pour plusieurs ou pour toutes les unités de calcul (MCS). L'unité CRC supplémentaire est en mesure d'exécuter suffisamment rapidement les calculs CRC et les comparaisons CRC même pour des protocoles très exigeants du point de vue de la vitesse. L'unité CRC effectue ainsi de préférence au moins le calcul des valeurs de contrôle CRC et, le cas échéant, également les contrôles de valeurs de contrôle CRC. Si une valeur de contrôle CRC devait être considérée comme fausse par l'unité CRC, l'unité de calcul (MCS) peut de préférence demander une nouvelle transmission. L'unité de contrôle CRC ou unité de calcul CRC est réali- sée de préférence sous la forme d'un circuit logique, par exemple, sous la forme d'une logique XOR et d'un registre à décalage. Une alternative serait une réalisation sous forme de programme avec calcul par une unité de calcul (par exemple une petite unité de calcul supplémentaire). La figure 3 montre un circuit avec une telle unité CRC supplémentaire. Le microcontrôleur 301 correspond aux modules de circuit 310, c'est-à-dire au module d'entrée 311, à l'unité de routine 312, à l'unité de calcul (MCS) 313 et au module de sortie 314 ainsi que très largement au microcontrôleur 101 de la figure 1. Le canal d'entrée de données 302 et le canal de sortie de données 303 sont reliés à un module d'entrée 311 ou à un module de sortie 314. En plus, du micro- contrôleur 101 de la figure 1, le microcontrôleur 301 comporte égale- ment une unité CRC 315 reliée à l'unité de routine 312 dans le mode de réalisation représenté. Le calcul d'une valeur CRC repose principalement sur une division polynomiale. C'est pourquoi l'unité CRC doit pouvoir être configurée par les paramètres au moins pour le départ du microcontrô- leur de façon à pouvoir représenter différents polynômes. Par exemple, on peut configurer un polynôme b7 * x7 + b6 * x6 + b5 * x5 + b4 * x4 + b3 * x3 + b2 * x2 + bl * x1 + b0 * x° par les paramètres de configuration b0 - b7. Pour assister différentes interfaces avec différents polynômes CRC, il faut reconfigurer de manière souple une unité CRC (c'est-à-dire par rapport au temps de parcours) ou encore prévoir plusieurs unités CRC. Le déroulement d'une transmission de données avec un calcul CRC par une unité CRC distincte est présenté à la figure 11. L'exemple décrit est celui du calcul d'une valeur CRC à partir de don- nées reçues. Dans une première étape 1101, l'unité CRC est configurée par l'unité de calcul (MCS) ou par l'unité de traitement (CPU) du microcontrôleur. Cela est nécessaire car, habituellement pour chaque interface, il faut calculer un autre polynôme. Comme décrit ci-dessus, les polynômes peuvent être définis par des paramètres de configuration. Dans le cas d'un module CRC qui est appliqué pour les calculs CRC de plusieurs interfaces-série, génériques ; une telle configuration n'est pas nécessaire avec le calcul dans la mesure où, pour la même interface, on n'effectue pas des calculs successifs. Cette configuration de l'unité CRC peut par exemple se faire également en ce que l'unité CRC accède à un tableau avec différents polynômes, à un indice correspondant à l'enregistrement dans ce tableau qui sera transmis, et qui utilise le polynôme selon l'enregistrement. Le module CRC reçoit, dans la seconde étape 1102, les données pour effectuer un calcul CRC. Les données sont, par exemple, les données d'entrée avec des informations CRC reçues par le module d'entrée et transmises à l'unité de calcul (MCS). Les calculs CRC de l'unité CRC sont effectués dans la troisième étape 1103. Dans la quatrième étape 1104, on envoie les résultats de calculs CRC (calculs de la valeur de contrôle CRC et le cas échéant vérification) du module CRC vers l'unité de calcul (MCS) (valeur de contrôle CRC et/ou résultat de la vérification CRC). De façon préférentielle, la transmission de ces données se fait de l'unité de calcul (MCS) vers l'unité CRC et de l'unité CRC vers l'unité de calcul (MCS) chaque fois par l'unité de routine. L'unité de calcul (MCS) peut finalement dans la cinquième étape 1105, comparer les informations CRC calculées par l'unité CRC aux informations et exploiter le résultat de la vérification CRC par l'unité CRC et constater ainsi en cas d'écart que la transmission est dé- fectueuse ou qu'il y a un défaut dans la mémoire. Dans une sixième étape 1106 en option, l'unité de calcul (MCS) peut déclencher une nouvelle transmission si l'unité de calcul (MCS) a constaté un défaut ou une erreur de transmission de mémoire. Le calcul CRC se développe de façon analogue pour les données à émettre. Les données sont, de préférence, émises après con- figuration de l'unité CRC par l'unité de calcul (MCS) à l'aide de l'unité de routine vers l'unité CRC. Là, on y effectue un calcul CRC et le résultat est transmis par l'unité CRC par l'unité de routine à l'unité de calcul (MCS). Celle-ci ajoute la valeur CRC aux données et les données sont fournies au module de sortie. Les exemples de réalisation, décrits ci-dessus, partent de la configuration de base (figure 1) dans laquelle le circuit est utilisé pour réaliser des interfaces génériques série, un module d'entrée avec fonction de capture ainsi qu'un module de sortie avec fonction de com- paraison. Selon une autre variante, en revanche, on peut utiliser une variante de module de sortie sans fonction de comparaison. Un tel module spécial pour émettre des trames d'interfaces diffère ainsi des modules de sortie décrits ci-dessus (TOM, ATOM) du circuit et du module d'horloge. La réalisation sous forme de circuit d'un tel module de circuit de sortie peut par exemple se faire avec des automates d'état (machine d'état) en combinaison avec une mémoire. A la place du flux de bits à recevoir et à émettre comme décrit ci-dessus, le module de sortie spécial peut enregistrer dans sa mémoire toute une trame d'informations. L'unité de routine peut ainsi émettre toute l'information par une opération d'émission vers le module de sortie. Les exigences plus strictes de circuit appliquées à l'unité de sortie se traduisent ainsi par une sollicitation réduite de l'unité de routine. De plus, une telle unité de sortie permet plus simplement d'arriver à des vitesses de Baud plus élevées pour l'émission des données car cette vitesse n'est plus li- mitée par l'horloge de l'unité de routine. L'unité de sortie ou unité d'émission selon un mode de réalisation préférentiel, doit disposer d'informations de temps (ou d'informations d'angles correspondantes). Contrairement à l'unité de sortie décrite ci-dessus, cette unité de sortie n'a besoin que de l'information de l'instant (ou de l'angle) et de la vitesse Baud avec lesquelles l'ensemble du message ou l'ensemble des trames de message doit être envoyé. Avec l'information de temps ou d'angle disponible et de la vitesse Baud connue du module de sortie, les données seront alors envoyées. De façon préférentielle, on a une inscription directe des données de l'unité de calcul (MCS) ou de l'unité centrale de traitement (CPU) du microcontrôleur dans les mémoires de l'unité de sortie. L'unité de sortie reçoit ainsi le signal (date) ainsi que les informations relatives à la vitesse des données et à l'instant de l'émission. En variante, l'opération d'émission peut être initiée non par des informations de temps mais aussi par un déclenchement con- cret de l'unité de calcul (MCS) ou par l'unité centrale de traitement (CPU) du microcontrôleur vers l'unité de sortie spéciale. L'unité de sortie applique alors les données de manière autarcique à la broche de sortie. La figure 4 montre un microcontrôleur avec un module de sortie spéciale 414. Le microcontrôleur 401 avec les composants de circuit 410, c'est-à-dire le module d'entrée 411, l'unité de routine 412, l'unité de calcul (MCS) 413 et le module de sortie 414 ainsi que les liaisons avec le canal d'entrée de données 402 et le canal de données de sortie 403, correspondent là encore très largement au microcontrôleur 101 de la figure 1. Le module de sortie 414 comporte toutefois des fonc- tionnalités étendues par exemple des ressources de mémoire pour enregistrer une trame complète de message. Dans l'exemple de réalisation préférentiel présenté, le module de sortie 414 a une autre liaison avec le microcontrôleur 401. Cette liaison permet de fournir au module de sor- tie 414 par exemple des données par l'unité centrale de traitement (CPU) du microcontrôleur 401, par exemple par l'inscription directe décrite ci-dessus des données de sortie dans la mémoire du module de sortie 414 à l'aide de l'unité centrale de traitement (CPU). Le déroulement de l'émission des données à l'aide d'une telle unité de sortie spéciale sera décrit ci-après à l'aide d'un exemple de transmission par une interface générique en configuration UART : 1 l'unité centrale de traitement (CPU) du microcontrôleur ou l'unité de calcul (MCS) décrit la trame de message 01111111111 dans une mémoire d'unité de sortie. Cela correspond à un bit de départ 0 à 8 bits de données (11111111) d'un bit de parité (1 qui est égal à 1 pour le cas impair) ainsi que d'un bit d'arrêt (1). 2. l'unité centrale de traitement (CPU) du microcontrôleur ou l'unité de calcul (MCS) inscrit le débit de données de la trame de message à émettre dans un registre de l'unité de sortie. 3. l'unité centrale de traitement (CPU) du microcontrôleur ou l'unité de calcul (MCS) envoie un déclenchement à l'unité de sortie pour démarrer la transmission. Selon une autre variante, la transmission commence à la réception de la trame de message après un nombre prédéfini d'opérations de transmission. Selon une autre variante, l'unité centrale de traitement (CPU) du microcontrôleur ou l'unité de calcul (MCS) transmet l'instant auquel doit se faire ou doit commencer la transmission. 4. l'unité de sortie donne la trame de message de façon autarcique avec la vitesse ou débit de données choisi. Dans les exemples de réalisation décrits avec une unité d'émission spéciale, l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) est sollicitée en plus par exemple par l'écriture des infor- mations dans l'unité de sortie et le déclenchement de l'opération d'émission. Selon une autre variante avantageuse, l'unité de sortie reçoit les données à émettre ou les trames de message en se rechargeant automatiquement à partir d'une mémoire. Par exemple, une telle recharge automatique peut se faire à partir d'une mémoire RAM dans la- quelle l'unité de sortie accès par des listes enchaînées et l'accès direct en mémoire DMA. Cela permet d'émettre des paquets de données importants à des vitesses élevées sans charge (interruption) par l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) du microcontrôleur. Selon les exemples de réalisation décrits dans l'unité d'émission spéciale, on suppose, tout d'abord, que les autres étapes de procédé (réception des données par le module de réception, routage par l'unité de routage, calcul de protocole par l'unité de calcul (MCS), le cas échéant, calcul CRC par l'unité CRC) se déroulent comme décrit ci-dessus ou encore les circuits usuels (module d'entrée, unité de routine, unité de calcul (MCS), le cas échéant, unité CRC) sont toujours réalisés comme décrits ci-dessus. De façon analogue à l'échange décrit ci-dessus du module de sortie avec la fonction de comparaison par l'unité d'émission spéciale, selon un autre exemple de réalisation, on peut également varier la configuration de base (figure 1) par l'échange du module d'entrée avec la fonction de capture et son remplacement par une unité d'entrée spéciale. De façon préférentielle dans ce mode de réalisation, un tel module d'entrée spécial transmet le flux d'entrée de bits non pas comme décrit ci-dessus en déclenchant flanc par flanc c'est-à-dire que chaque alternance de flanc est poinçonnée en fonction du temps par l'unité de programme pour être transmise à l'unité de calcul (MCS). Bien plus, l'unité spéciale de calcul recevrait un flux de bits complet (c'est-à-dire mémoriserait ce flux) et le filtrerait. Comme filtrage, on peut de préférence appliquer une sur-détection (sur-échantillonnage). Par le sur-échantillonnage, en combinaison par exemple avec une procédure de vote, on pourra séparer ou distinguer en sécurité les bits reçus ayant un niveau élevé et les bits reçus ayant un niveau faible. Le filtre d'entrée du module d'entrée spécial se pro- gramme par exemple pour détecter un signal 1MHz à la fréquence de 16 MHz. Les 16 détections par bit passent alors par une instance de vote qui, selon les réglages prédéfinis (par exemple 3 sur 16 ou 12 sur 16), enregistre un état de bit 1 ou O. Par un tel module d'entrée spécial qui implémente le sur-échantillonnage et le vote, on peut également im- plémenter des interfaces qui doivent répondre à des exigences élevées de protection contre les perturbations. Par la synchronisation avec un événement de déclenche- ment, par exemple un bit de départ pour UART, on peut mettre l'unité d'entrée spéciale dans un état défini par rapport au flux de bits. Lors- que tous les bits sont enregistrés (par exemple UART : bit de départ, 8 bits de donnée, bit de parité, 8 bits d'arrêt), ces données sont transmises par la sortie du module d'entrée spécial, par l'unité de routine vers l'unité de calcul (MCS) ; celle-ci traduit alors, par exemple pour des couches de protocole supérieures (par exemple KWP2000, LIN) ou ins- crit les données directement dans une mémoire FIFO dans laquelle le programme d'application pourra extraire les données. Il n'est plus nécessaire de reconstruire les messages par l'unité de calcul (MCS) par l'exploitation des messages de changement de flanc avec tampon de temps, des côtés de l'unité de programme. En revanche, l'unité de cal- cul (MCS) reçoit les données d'une trame de message comme un mes- sage de l'unité de routine à la place de la transmission du changement de flanc comme transmission chaque fois séparée. Cela permet également de décharger l'unité de routine de l'exécution de nombreuses transmissions distinctes. La vitesse de traitement des données d'entrée ne dépend plus, comme précédemment, fortement de la vitesse de l'unité de routine. A côté de la décharge de l'unité de routine et de l'unité de calcul (MCS), on peut ainsi traiter les données d'entrée avec une vitesse de données plus grande. En plus des niveaux de bit corrects, filtrés c'est-à-dire après sur-échantillonnage et vote, on peut transmettre l'information (par exemple à l'unité de calcul (MCS) ou encore l'unité de traitement (CPU) du microcontrôleur pour indiquer si des bits étaient abîmés et leur importance, c'est-à-dire par exemple la clarté du vote. On peut, par exemple, transmettre combien de valeurs détectées d'un bit avaient le même niveau. Pour rendre le vote plus robuste, on peut par exemple démarquer les points (détection) directement en avant et directement après un changement de flanc pour rendre plus robuste le vote, c'est-à-dire la détection de bits. Pour les circuits décrits avec un module d'entrée spécial, qui effectue un sur-échantillonnage et un vote, pour améliorer la recon- naissance des bits, on peut également utiliser la vitesse Baud déterminée pour le vote (une telle détection de la vitesse Baud sera détaillée ensuite). Selon une variante préférentielle du mode de réalisation avec un module d'entrée spécial, on a une transmission directe du mo- dule d'entrée spécial vers une mémoire par exemple une mémoire FIFO à laquelle l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) du microprocesseur (microcontrôleur) peuvent y accéder. En variante, l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) peut éga- lement accéder directement à la mémoire du module d'entrée spécial. Selon une extension des exemples de réalisation présen- tés ci-dessus et avec une unité spéciale d'entrée, on peut y attribuer un tampon de temps par flux de bits ou par trame de message (pour cela, il faut de nouveau accéder à une information de temps). L'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) du microcontrôleur peuvent obtenir ce tampon de temps pour le traitement ou l'exploitation de la trame de message. Comme cela est également le cas de l'unité d'émission spéciale, l'unité d'entrée spéciale est coûteuse, de sorte que les avan- tages proposés doivent être compensés par des avantages de coût pour permettre de choisir le mode de réalisation approprié. Dans les exemples de réalisation décrits avec une unité d'entrée spéciale, on suppose tout d'abord que les autres étapes de procédé (émission de données par le module de sortie, routage par l'unité de routage et calcul de protocole par l'unité de calcul (MCS) le cas échéant calcul CRC par l'unité de calcul CRC) se déroulent toujours comme décrits ci-dessus et les autres circuits (module de sortie, unité de routine, unité de calcul (MCS) et le cas échéant unité CRC) sont toujours réunis comme décrits ci-dessus. Toutefois, dans une variante de réalisation, le circuit à performance particulière pour la présentation d'interfaces-série génériques présente à la fois un module d'entrée spécial comme déjà décrit avec une fonction de filtre ainsi qu'un module de sortie spécial comme décrit ci-dessus. Un circuit pour présenter des interfaces-série génériques avec une unité d'entrée spéciale est donné schématiquement à la figure 5. Le microcontrôleur 501 avec les composants de circuits 510, c'est-à-dire le module d'entrée 511, l'unité de routine 512, l'unité de calcul (MCS) 513 et le module de sortie 514 ainsi que les liaisons avec le canal d'entrée de données 502 et le canal de sortie de donnée 503, correspond pour l'essentiel au microcontrôleur 101 de la figure 1. Dans le module d'entrée spécial 511, en variante il s'agit toutefois d'une unité de circuit avec des circuits pour représenter une fonctionnalité de filtre notamment une sur-détection de bits reçus et de vote pour lequel, sur le fondement des valeurs de niveau détectées aux points de détection d'un bit, on constate par une décision de majorité, la valeur de niveau de ce bit. Contrairement au module d'entrée décrit à la figure 1, le module d'entrée 511 spécial doit avoir une mémoire de taille suffisante pour recevoir tout le flux de bits, c'est-à-dire toute une trame de message de réception. La figure 5 comparée à la figure 1 comporte également une mémoire 516, par exemple une mémoire FIFO. Au moins le module d'entrée 511 accède à cette mémoire FIFO. De façon correspondante à l'une des variantes décrites ci-dessus, on a une transmission directe du module d'entrée spécial 511 dans la mémoire 516 à laquelle l'unité cen- trale de traitement (CPU) du microcontrôleur peut accéder comme cela est indiqué à la figure 5 par la liaison entre la mémoire 516 et le micro-contrôleur 501. Selon une autre variante du circuit, pour réaliser des in- terfaces génériques série, les modes de réalisation déjà décrits ont, en plus, un autre composant utilisé pour arbitrer les messages. Le compo- sant détecte les fonctions critiques dans le temps qui, du fait de leur structure et de leur fréquence d'horloge, ne peuvent pas être utilisées de manière optimale pour les autres parties de circuit. Il s'agit, de préférence, d'un composant utilisé pour sou- tenir un arbitrage CAN. Pour l'arbitrage CAN, pour une vitesse de don- nées suffisamment élevée, il faut reconnaître à l'intérieur de quelques nanosecondes le temps de traitement interne (IPT) qu'il y a un niveau dominant sur le bus. En cas de niveau dominant sur le bus, l'interface ne doit pas pousser de niveau dominant pour le bit suivant (dans le segment d'horloge suivant) si dans le bit actuel (segment d'horloge ac- tuel) de l'interface on a un bit récessif. Dans ce cas, l'interface (ainsi les noeuds CAN correspondants) est éliminée de l'arbitrage car un autre noeud CAN a une priorité d'information plus élevée (c'est-à-dire un niveau dominant antérieur). Pour cette fonction, les composants de circuit déjà décrits ci-dessus à l'aide de la figure 1 ne constituent pas la solu- tion optimale. C'est pourquoi on peut atteindre des temps de réaction plus rapides avec un module spécifiquement conçu pour cela. La figure 7 montre à titre d'illustration l'arbitrage CAN du signal 701 appliqué au bus CAN ainsi que l'intérieur du microcontrôleur pour émettre le signal 702. De la gauche vers la droite, on a représenté par des traits interrompus, quatre segments de temps. Dans le segment de temps 1, à la fois le bus et le signal interne ont un niveau récessif. Dans le segment de temps 2, un niveau dominant est appliqué au bus ; le signal interne pour ce segment de temps a un niveau récessif. Ainsi, ce noeud est supprimé de l'arbitrage. Un circuit pour arbitrer supprime ainsi la poussée du niveau dominant prévu dans le segment d'horloge 3. De façon correspondante, le noeud ne doit plus émettre dans le segment de cadence 4 et dans les segments de cadence suivants jusqu'à la fin de la présente transmission sur un bus CAN qui a obtenu cet arbitrage. La figure 6 montre un microcontrôleur 601 comportant des modules de programme 610 pour réaliser une interface-série générique notamment une interface CAN ainsi qu'une unité 630 supplémentaire pour arbitrer les messages par cette interface. Le microcontrôleur 601 avec les composants de circuit 610, c'est-à-dire le module d'entrée 611, l'unité de routine 612, l'unité de calcul (MCS) 613 ainsi que le mo- dule de sortie 614 correspond très largement au microcontrôleur 101 de la figure 1. En plus, le microcontrôleur 601 est relié au module (externe dans cet exemple) pour l'arbitrage 630. Le canal de données d'entrée 602 est notamment une ligne CAN-Rx ; le canal de données de sortie 603 est une ligne CAN-Tx. L'unité de circuit supplémentaire 630 est de préférence un circuit logique externe qui coupe l'émission des noeuds dès qu'un signal correspondant est reçu. Dans le cas d'un arbitrage CAN, une telle interruption d'émission serait à entreprendre, par exemple dès qu'un niveau dominant est appliqué au bus et que l'information propre concernant la même unité d'horloge est récessive. Le module 630 peut, par exemple, réaliser un circuit logique par des fonctions de porte, une unité logique programmable (PLD) ou un réseau de portes à champ programmable (FPGA). La figure 6 montre également un second module de sortie 615. Celui-ci peut soutenir une unité de circuit supplémentaire pour arbitrer 630 en fournissant des ressources d'horloge. De telles ressources sont, par exemple, nécessaires pour atteindre une certaine longueur de bit ou respecter une certaine pause. Une variante d'implémentation consisterait à prévoir ces ressources d'horloge égale- ment comme circuits supplémentaires. L'unité de circuit supplémentaire pour arbitrer peut être associée, de préférence de manière flexible, à différents modules de sortie par une logique configurable. Toutefois, on peut avoir une association fixe. L'unité de circuit supplémentaire pour arbitrer est dispo- nible de préférence comme logique programmable (par exemple FPGA ou CPLD) à l'extérieur du microcontrôleur. En intégrant de tels circuits logiques programmables, on peut toutefois également faire une implémentation alternative sur le microcontrôleur. L'unité de circuit spéciale pour arbitrer peut être équipée d'autres fonctions de mesure d'exploitation. Selon une variante préférentielle, une telle unité, pour l'arbitrage CAN, reconnaît également si le protocole utilisé est le protocole CAN ou CAN-FD (protocole CAN avec une vitesse de données flexible). Dans les exemples de réalisation décrits avec une unité de circuit spéciale pour l'arbitrage, on suppose tout d'abord que les autres étapes de procédé (entrée de données dans le module d'entrée, émission de données par le module de sortie, routine par l'unité de routine, calcul de protocole par l'unité de calcul (MCS), le cas échéant cal- cul CRC par l'unité CRC) se déroulent également comme décrit ci- dessus ou pour les autres circuits (module d'entrée, module de sortie, unité de routine, unité de calcul (MCS) et, le cas échéant, également unité CRC) sont réalisés comme décrit ci-dessus à propos de la figure 1. L'unité de circuit spéciale pour l'arbitrage peut, sans difficulté, être combinée également aux exemples de réalisation équipés de modules d'entrée spéciaux et/ou de modules de sortie spéciaux. Selon une autre variante préférentielle, dans les modes de réalisation décrits ci-dessus, on peut implémenter, en plus, une reconnaissance de vitesse Baud. Une telle reconnaissance de vitesse Baud permettrait, par exemple, de s'adapter sur différentes vitesses de construction. La reconnaissance de la vitesse Baud peut être implé- mentée sous forme de programme ou dans un circuit. Dans le cas de la réalisation par programme, on peut par exemple à partir des informa- tions de capture du module d'entrée, effectuer une détection de vitesse Baud par l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) du microcontrôleur. La fréquence d'entrée des données peut ainsi se mesurer et on peut déterminer la vitesse Baud, en se rapprochant de la fréquence de référence. Pour cela, il faut analyser des trames de mes- sage complètes, ce qui est long dans le cas d'une réalisation par programme. Selon une variante de réalisation préférentielle, la détec- tion de la vitesse Baud est faite dans un circuit. Cela peut se faire soit dans un circuit supplémentaire, soit dans un module d'entrée spécial équipé avec des fonctions supplémentaires correspondantes, comme ci-dessus (par exemple la figure 5). Une réalisation sous forme de circuit par comparaison à une réalisation sous forme de programme permet une reconnaissance plus rapide de la vitesse Baud et une adaptation et, de plus, l'unité de calcul (MCS) ou l'unité centrale de traitement (CPU) sont moins sollicitées. La figure 10 montre un ordinogramme correspondant de la détection de la vitesse Baud réalisée dans le circuit dans le cas de l'exemple d'une interface UART générique. La structure de base d'une trame de message dans le protocole prévu est connue ; par exemple dans le présent exemple, on sait qu'une trame de message commence toujours par un bit de départ de niveau bas et se termine par un bit d'arrêt de niveau haut. Dans une première étape 1001, on détermine la vitesse Baud et les fonctions de circuit correspondantes sont le nombre de flancs entre le bit de départ et le bit d'arrêt (c'est-à-dire le premier flanc descendant jusqu'au dernier flanc montant). Le nombre de cadences est déduit préférence d'une base de temps qui fournit la cadence (horloge) pour la fonctionnalité de circuit (par exemple à partir d'une unité de base de temps) et qui est petite par rapport à la vitesse de mots à enregistrer finalement. La longueur (c'est-à-dire le nombre de bits) de la trame de message est la fonctionnalité connue du circuit. Pour le protocole, pris à titre d'exemple, il est connu qu'une trame de message comporte dix bits (par exemple bit de départ, huit bits de données, bit d'arrêt). Le nombre déterminé de cadences écoulées entre le bit de départ et le bit d'arrêt est divisé dans la seconde étape 1002 par le nombre de bits d'une trame de message (dans l'exemple il s'agit de dix-huit). La vitesse de Baud ainsi déterminée peut se transmettre dans la troisième étape 1003 par exemple à l'unité de calcul (MCS) ou à l'unité centrale de traitement (CPU) du microcontrôleur. Alors que, par exemple, dans le cas d'une interface UART ou LIN à représenter, la longueur de la trame est toujours constante et peut ainsi être connue comme telle, par exemple dans le cas de CAN la longueur (c'est-à-dire le nombre de bits) de la trame de message est in- connue. Selon une variante de la détection décrite de la vitesse de Baud, cette vitesse se reconnaît dans les circuits. Par exemple, on peut déterminer le temps le plus court entre deux bits d'une trame de message. Pour reconnaitre la vitesse de Baud, il faut déterminer le début et la fin de la trame de message. Cela peut se faire par exemple par un nombre de cadences fixé, par exemple trois cadences, pour une vitesse de Baud constante correspondant à un temps fixe par exemple 150 ns pour un niveau déterminé.25 REVENDICATIONS1°) Procédé pour réaliser au moins une interface générique dans un appareil de commande, notamment pour un véhicule automobile, l'appareil de commande comportant un microcontrôleur (101) avec au moins une unité centrale de traitement (CPU), au moins un mo- dule d'entrée (111) spécifique à l'interface, au moins un module de sortie (114) spécifique à l'interface, au moins une unité de routine (112) ainsi qu'au moins une unité de calcul (113) pour le traitement d'informations spécifiques à l'interface, et l'interface générique pouvant être configurée et assurer suivant la configuration les fonctions correspondant à une interface-série notamment une interface-série de l'ensemble SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC, Ethernet, procédé caractérisé par les étapes suivantes consistant à: recevoir des données d'entrée selon un protocole de l'une des inter- faces-série par au moins un module d'entrée (111) spécifique à une interface, les données d'entrée sont transmises par l'unité de routine (112) vers l'unité de calcul (113), les premières données utiles sont extraites par l'unité de calcul (113) des données d'entrée notamment en enlevant les spécificités du protocole des données d'entrée, les premières données utiles sont fournies à l'unité centrale de traitement (CPU), des secondes données utiles de l'unité centrale de traitement (CPU) sont reçues par au moins une unité de calcul (113), l'unité de calcul (113) génère des données de sortie à partir des secondes données utiles, notamment en ajoutant des spécificités du protocole aux secondes données utiles, les données de sortie sont transmises par l'unité de routine (112) au module de sortie (114) spécifique à l'interface, les données de sortie sont émises en fonction du protocole de l'une des interfaces-série par au moins un module de sortie (114) spécifique à l'interface.352°) Procédé selon la revendication 1, caractérisé en ce que l'unité de calcul (113) accède à une première mémoire et dépose, dans cette première mémoire, les spécificités de protocole notamment les in- formations concernant un bit de démarrage, un bit d'arrêt, les informa- tions de parité, des bits de commande et des bits de remplissage. 3°) Procédé selon la revendication 2 caractérisé en ce que les spécificités de protocole sont enregistrées par l'unité centrale de trai- tement (CPU) dans la première mémoire. 4°) Procédé selon la revendication 1, caractérisé en ce que le module d'entrée (111) spécifique à l'interface et le module de sortie (114) spécifique à l'interface sont associés à l'une des interfaces-série de manière fixe par la configuration. 5°) Procédé selon la revendication 1, caractérisé en ce que l'unité de calcul (113) effectue également des calculs dans des couches de protocole supérieures, notamment les conversions de plusieurs trames de message UART en trames de message LIN. 6°) Procédé selon la revendication 1, caractérisé en ce que les premières données utiles de l'unité centrale de traitement (CPU) sont fournies en ce que l'unité de calcul (113) inscrit les premières données utiles dans une seconde mémoire et l'unité centrale de traitement (CPU) en est informée par une interruption. 7°) Procédé selon la revendication 1, caractérisé en ce queles premières données utiles de l'unité centrale de traitement (CPU) sont fournies par l'unité de calcul (113) par un accès direct en mémoire (DMA). 8°) Procédé selon la revendication 1, caractérisé en ce que les informations de temps sont associés aux données d'entrée dans au moins un module d'entrée (111) spécifique à une interface. 9°) Procédé selon la revendication 8, caractérisé en ce qu' un tampon de temps est associé dans au moins un module d'entrée (111) spécifique à l'interface à chacun des changements de flanc des données d'entrée appliqué à une entrée du microcontrôleur (101). 10°) Procédé selon la revendication 9, caractérisé en ce que le module d'entrée (111) spécifique à une interface transmet des données d'entrée à l'unité de routine (112), en ce que chaque tampon de temps associé à chaque changement de flanc des données d'entrée est transmis séparément. 11°) Procédé selon la revendication 10, caractérisé en ce que l'unité de calcul (113) détermine une trame de message à partir des changements de flanc des données d'entrée avec des tampons de temps associés. 12°) Procédé selon la revendication 1, caractérisé en ce qu' une trame totale de message d'entrée des données d'entrée est enregistrée dans au moins un module d'entrée (511) spécifique à une interface et l'ensemble de la trame de message d'entrée est mise à la disposition de l'unité de calcul (513).3513°) Procédé selon la revendication 12, caractérisé en ce que la trame d'entrée est analysée par sur-échantillonnage à l'aide d'au moins un module d'entrée (511) spécifique à une interface et on déter- mine le niveau d'un bit de la trame de message par vote de niveaux de bit à partir de niveaux de bit de points de détection du sur-échantillonnage. 14°) Procédé selon la revendication 13, caractérisé en ce qu' on attribue un tampon de temps à la trame de message d'entrée dans le module d'entrée (511) spécifique à une interface. 15°) Procédé selon la revendication 1, caractérisé en ce qu' à partir des secondes données utiles, l'unité de calcul (113) génère les données de sortie en déterminant les données de sortie avec des tampons de temps associés sur le fondement d'un changement de flanc correspondant à une vitesse de Baud prédéfinie. 16°) Procédé selon la revendication 15, caractérisé en ce que en ce que l'on transmet les données de sortie à au moins un module de sortie (114) spécifique à l'interface, en ce que par l'unité de programme (112), on transmet séparément chacun des changements de flanc aux données de sortie avec un tampon de temps associé. 17°) Procédé selon la revendication 15 ou 16, caractérisé en ce que le module de sortie (114) spécifique à l'interface compare le tampon de temps associé à chacun des changements de flanc des données de sortie à des informations de temps et, en cas de concordance, le flanc correspondant est appliqué à une sortie du microcontrôleur (101).18°) Procédé selon la revendication 1, caractérisé en ce que l'unité de calcul (413) génère une trame totale de message de sortie à partir des secondes données utiles comme données de sortie et la transmet vers au moins un module de sortie (414) spécifique à une in- terface. 19°) Procédé selon la revendication 18, caractérisé en ce que le module de sortie (414) spécifique à une interface transmet la trame d'information de sortie si un déclencheur correspondant est déclenché par l'unité de calcul (413) ou par l'unité centrale de traitement (CPU) ou si un tampon de temps associé à la trame de message de sortie correspond aux informations de temps d'au moins un module de sortie (414) spécifique à une interface. 20°) Procédé selon la revendication 1, caractérisé en ce que la reconnaissance de vitesse de Baud est appliquée aux données d'entrée. 21°) Microcontrôleur (101) pour un appareil de commande, notamment un appareil de commande de véhicule, comportant une unité centrale de traitement (CPU), un module d'entrée (111) spécifique à une inter- face, un module de sortie (114) spécifique à une interface, au moins une unité de routine (112) ainsi qu'au moins une unité de calcul (113) pour le traitement d'informations spécifiques à l'interface, microcontrôleur (101) caractérisé en ce qu'il exécute un procédé selon l'une des revendications 1 à 20. 22°) Microcontrôleur (101) pour un appareil de commande, notamment un appareil de commande de véhicule, comportant une unité centrale de traitement (CPU), au moins un module d'entrée (111) spécifique à une interface, un module de sortie (114) spécifique à une interface, uneunité de routine (112) ainsi qu'au moins une unité de calcul (113) pour traiter des informations spécifiques au véhicule, microcontrôleur (101) caractérisé en ce qu' il peut être configuré de façon qu'au moins un module d'entrée (111) spécifique à l'interface, au moins un module de sortie (114) spéci- fique à l'interface, au moins une unité de routage (112) spécifique à l'interface ainsi qu'au moins une unité de calcul (113) réalisent des informations spécifiques à l'interface suivant la configuration des fonctions selon une ou plusieurs interfaces-série et notamment SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC, Ethernet. 23°) Microcontrôleur (101) selon la revendication 21 ou 22, caractérisé en ce que l'unité de calcul (113) comporte une unité arithmétique et logique (ALU). 24°) Microcontrôleur (101) selon l'une des revendications 21 à 23, caractérisé en ce que le module d'entrée (111) spécifique à l'interface a une fonction de capture et/ou le module de sortie (114) spécifique à l'interface a une fonc- tion de comparaison. 25°) Microcontrôleur (301) selon la revendication 21, caractérisé en ce qu' il comporte un circuit séparé (315) pour les calculs CRC. 26°) Microcontrôleur (601) selon la revendication 21, caractérisé par un second circuit séparé pour arbitrer notamment pour effectuer un arbitrage CAN ou qui est relié à un second circuit séparé (630) pour ef- fectuer un arbitrage notamment un arbitrage CAN. 27°) Microcontrôleur (601) selon la revendication 26, caractérisé en ce quele second circuit séparé (630) assure l'arbitrage et effectue une analyse pour transmettre les données d'entrée selon un protocole CAN ou un protocole CAN-FD. 28°) Microcontrôleur (101) selon la revendication 21, caractérisé en ce que l'unité de routine (112) et/ou l'unité de calcul (113) travaille à une cadence d'au moins 100 MHz, notamment à une cadence d'au moins 200 MHz. 29°) Microcontrôleur (101) selon la revendication 21, caractérisé en ce que le module d'entrée (111) spécifique à l'interface reçoit des données d'entrée à une vitesse de Baud d'entrée d'au moins 1 MBaud et le mo- dule de sortie (114) émet, par une interface spécifique à l'interruption des données de sortie à une vitesse de sortie en Baud d'au moins 1 MBaud. 30°) Microcontrôleur (101) selon la revendication 21, caractérisé en ce qu' à côté du module d'entrée (111) spécifique à l'interface et au module de sortie (114) spécifique à l'interface, il y a au moins un module d'entrée spécifique à l'interface et un module de sortie spécifique à l'interface. 31°) Microcontrôleur (201) selon la revendication 21, caractérisé en ce qu' en plus, il comporte un module d'horloge (230) avec un module d'entrée d'horloge (231), un module de sortie d'horloge (234), une unité de routine d'horloge (232) et une unité de calcul d'horloge (233). 32°) Microcontrôleur (201) selon la revendication 31, caractérisé en ce qu' il exécute les fonctions d'horloge du module d'horloge (230) avec au moins un module d'entrée (211) spécifique à l'interface, au moins un module de sortie (214) spécifique à l'interface, au moins une unité decalcul (213) et une unité de programme (212) lorsque ces unités ne sont pas nécessaires pour remplir les fonctions selon l'un des différents interfaces-série.5