Brevet FR2711817A1 — publié le 19950505

INTERFACE DE CONNEXION ENTRE UN MICROPROCESSEUR ET UN BUS. La présente invention concerne un circuit d'interface de connexion entre un microprocesseur et un bus d'informations suivant un protocole de communication de réseau conçu pour le milieu automobile. Il existe plusieurs types de réseaux de communications informatiques. Ces réseaux sont formés de cellules et de moyens de connexion entre ces cellules qui permettent la communication de ces cellules entre elles. Ces cellules peuvent être formées par exemple d'ordinateurs, de microprocesseurs, ou de circuits électroniques spécialisés (actionneurs, circuits d'acquisition de mesures). Les échanges d'informations entre les cellules du réseau sont généralement normalisés. Cela facilite la mise en connexion des cellules au réseau et l'interopérabilité des fabrications. En effet, une fois une norme dite protocole établie et reconnue, on peut théoriquement mettre deux produits qui s'y rattachent en communication sans qu'il y ait de problème de compatibilité. Ainsi les développements de ces produits peuvent se faire sans tests de compatibilité. Le but de la normalisation de l'échange des informations sur un réseau est de définir la gestion des flux d'informations échangées entre les cellules. En conséquence on doit tout d'abord définir le type et le format des informations échangées. Par suite on cherche à optimiser la configuration des moyens de connexion entre les cellules du réseau. Effectivement pour des raisons économiques on souhaite réduire autant qu'on le peut les circuits de connexion. Cela permet entre autres de réduire l'encombrement matériel du réseau, de réduire et de faciliter la maintenance du réseau, et de réduire le temps de propagation de l'information. Ainsi on emploie dans la mesure du possible une ligne de communication unique au sens général dite bus, à laquelle sont connectées toutes les cellules. Dans le cas d'une telle ligne unique, le problème majeur que pose la gestion des échanges d'informations sur cette ligne est l'organisation des allocations de temps de connexion au bus aux différentes cellules. En effet, il ne peut y avoir écriture ou transport que d'un seul message à la fois sur la ligne. Si ce n'était pas le cas il y aurait risque de mélanger les messages et donc de perdre des informations. Cela impose de n'accorder d'accès à la ligne en écriture qu'à une cellule à la fois. On emploie à cet effet des circuits spécifiques dits gestionnaires de réseau. Ces circuits spécifiques organisent le transfert d'informations sur le bus entre les différentes cellules. Le protocole dit VAN (Vehicule Area Network) est un protocole de communication de réseau de ce type destiné aux échanges de données dans les véhicules. Il est défini par la norme internationale ISO/TC22/SC3. Il est de type dit maître-esclave. Il comporte des cellules maîtres et des cellules esclaves. On appelle cellule maître une cellule qui peut commander d'autres cellules. On appelle cellule esclave une cellule qui agit suivant des consignes qui lui sont imposées par des cellules maîtres. Par exemple, il s'agit à l'aide de microprocesseurs de commander un système au moyen d'actionneurs selon des informations issues de capteurs ou d'organes de commande. Le microprocesseur est une cellule maître alors que les actionneurs et les capteurs font partie de cellules esclaves. De plus ce protocole prévoit la mise en réseau de une ou plusieurs cellules maître avec une ou plusieurs cellules esclaves. Les informations sont organisées en trames. Une trame est une succession de bits. Elle contient d'une part l'information dite utile et d'autre part divers codes. L'information utile correspond aux messages relatifs à une application d'un utilisateur. Les codes définissent des informations nécessaires au réseau pour gérer les échanges en toute sécurité. Par exemple on insère des codes de début et de fin de trame ou bien encore des codes permettant de détecter des erreurs de transmission. Les cellules esclaves envoient des trames d'information sur requête des cellules maîtres. Les cellules maîtres émettent des trames à leur propre initiative avec ou sans demande d'acquittementpar la cellule esclave de la réception des trames émises. Elles peuvent émettre également des demandes de réponse dans la trame, avec éventuellement demande d'acquittement. La trame VAN est organisée en tranches de 4 ou 8 bits. Les tranches VAN sont organisées en intervalles de durées égales dits TS (Time Slot). La durée de TS est la durée élémentaire de temps sur le bus (durée d'un bit). La norme VAN prévoit une vitesse sur le bus de 125 kTS/s soit une durée de TS de 8 Cils. La durée d'un intervalle TS est elle même subdivisée en 16 intervalles d'égales durées. Cette subdivision est utilisée pour définir la normalisation des opérations à effectuer dans la gestion de l'échange d'information entre les cellules du réseau. Par exemple cela permet de normaliser la chronologie des opérations d'acquisition de réception par les cellules maîtres ou esclaves des informations qui leur sont destinées. La synchronisation du système pour l'acquisition d'une donnée en réception ou lecture doit se faire à 2/16 de la durée de TS soit à 1 s. L'acquisition doit se faire à 12/16 TS du bit à lire. Le protocole prévoit la possibilité de connecter plusieurs cellules maîtres. Ces cellules maître peuvent comporter des matériels de contrôle standards, du type microcontrôleur. Un microcontrôleur est un microprocesseur muni d'une mémoire programme, généralement une mémoire morte, comportant toutes les instructions d'un programme que doit exécuter ce microprocesseur. Ces matériels n'ont pas été conçus ni développés pour gérer l'interface avec un réseau de type VAN. I1 est nécessaire de leur adjoindre des cartes de contrôle spécifiques au réseau VAN qui gèrent l'interface entre le matériel et le bus. Ainsi on évite l'écriture simultanée sur la ligne par plusieurs cellules maîtres ou esclaves. Dans le cas où une seule cellule maître est présente dans une application on peut imaginer de se passer de carte de contrôle de ce type. En effet, l'organisation des tranches en codes de 4 à 8 bits permet de traiter facilement l'information avec un microprocesseur. Le traitement des informations par le microprocesseur se fait en effet au moyen de liaisons internes parallèles. On peut ainsi diminuer le court du réseau. I1 est alors nécessaire de faire faire au microprocesseur, de manière interne, au moyen de son logiciel, les taches nécessaires au fonctionnement de l'interface. En effet, si le microprocesseur peut traiter facilement en interne des données de 4/8 bits, il doit alors également gérer les échanges d'informations sur le bus. De manière classique, lorsqu'un message a été émis sur la ligne par une cellule esclave, on en gère ainsi la réception par le microprocesseur de la cellule maître en utilisant une interruption d'un travail en cours d'exécution sous le contrôle de ce microprocesseur. Les microcontroleurs disponibles sur le marché sont généralement munis, dans ce but, de bascules de mémorisation sur leurs ports d'entrée. Ces bascules sont commandées par le microprocesseur de ce microcontrôleur pour mémoriser les informations présentes sur le port d'entrée. La présence d'une information à lire produit un message d'interruption du programme qu'effectue le microprocesseur. La production du message d'interruption peut par exemple être effectué par un circuit détecteur de front relié au port d'entrée. Le microprocesseur commande ensuite l'acquisition des données présentes sur le bus en les mémorisant sur les bascules d'entrée. Par la suite il transfère ces informations sur son bus interne. Le traitement de ces informations, et notamment la gestion des erreurs de transmission, est alors effectué par le microprocesseur programmé de façon adéquate. Le microprocesseur reprend ensuite la tache initialement interrompue par le message d'interruption. Ce dispositif présente néanmoins un gros inconvénient. La lecture des données est commandée par le microprocesseur. I1 y a donc un délai plus ou moins important entre l'annonce de la présence de donnée sur le bus (message d'interruption) et la commande d'acquisition de la donnée. I1 faut en effet gérer l'interruption : sauvegarde du programme en cours et programmation de l'acquisition. Tout ceci nécessite un temps de traitement par le microprocesseur et une mobilisation de ses ressources. On ne peut pas être certain du moment de l'acquisition. Suivant la tache qu'est en train d'effectuer le microprocesseur l'interruption de cette tache sera plus ou moins rapide. On ne peut donc pas certifier que la lecture de la donnée respectera la normalisation temporelle de cette lecture. I1 y aussi un risque de perte de données si la lecture a lieu au moment de la transition entre deux bits successifs, suite à un décalage temporel trop important de l'instant de la lecture par le microprocesseur. D'autre part, l'environnement automobile est contraignant. Que se soit mécaniquement (vibrations) ou électroniquement (phénomènes d'interférence électromagnétique), la transmission est soumise à des perturbations importantes. Le risque d'être soumis à des phénomènes de désynchronisation des informations sur le bus n'est pas négligeable. Si cela se produit, l'acquisition des informations par le microprocesseur peut en être perturbée. Le microprocesseur peut ainsi considérer qu'une trame d'informations est erronée au moindre décalage d'un seul de ses bits. L'utilisation d'un microprocesseur gérant la mémorisation de ses bascules de port d'entrée est donc délicate. Le problème qui se pose est de gérer cette mémorisation indépendamment du microprocesseur. Un moyen connu de gérer l'acquisition d'une donnée en port d'entrée parallèle d'un microprocesseur sans utiliser le microprocesseur est la technique dite de la main tendue (handshake mode), décrite notamment en ce qui concerne la famille de microcontrôleurs ST9 produit par SGS-Thomson Microelectronics. Elle est utilisée pour gérer la communication d'informations entre un périphérique et un microprocesseur reliés par une liaison parallèle. Le microprocesseur possède des bascules de mémorisation sur les ports d'entrée d'un port d'entrée parallèle. Les bascules des ports d'entrée doivent être commandables pour mémoriser les données présentes sur la liaison reliée au port d'entrée parallèle. Cette commande se fait par un signal binaire de commande accessible sur un port externe du microprocesseur. Dans un état particulier de ce signal binaire de commande, par exemple un 0 logique, les bascules mémorisent l'état du port d'entrée parallèle. La particularité du mode main tendue est que le signal binaire de commande est fournie par le périphérique. D'autre part le microprocesseur délivre un signal binaire d'autorisation d'écriture au périphérique. Ce signal binaire autorisant le périphérique à écrire des données sur la liaison. Quand le signal binaire d'autorisation d'écriture est dans un état binaire déterminé, par exemple un 1 logique, le périphérique peut envoyer une donnée binaire sur la liaison parallèle. Le microprocesseur passe la main au périphérique. Quand le périphérique écrit une donnée sur la liaison parallèle il met le signal binaire de commande, précédemment à l'état logique 1, à l'état logique 0. Ainsi la donnée est mémorisée dans les bascule du port d'entrée parallèle. Quand un front montant apparait sur le signal binaire de commande, le signal binaire d'autorisation d'écriture est mis à 0 logique et indique que la donnée est mémorisée. Le chargement suivant ne doit pas avoir lieu tant que le microprocesseur n'a pas lu, en sortie des bascules, la donnée mémorisée. Le microprocesseur reprend donc la main. Quand le port est lu, le signal d'autorisation d'écriture est remis à 1 logique par le microprocesseur. I1 se peut bien sûr que le périphérique ne tienne pas compte de l'autorisation du microprocesseur. Ainsi il est possible qu'une donnée soit envoyée sur la liaison alors que le microprocesseur est en train de lire une donnée précédemment mémorisée. I1 est donc nécessaire d'empêcher qu'on écrive dans la bascule en même temps qu'on la lise. De manière classique on se prémunit contre les risques de conflit entre deux données successives en employant des bascules de port d'entrée de type maître-esclave à deux étages de mémorisation. Dans un premier temps, on connecte le premier étage sur la ligne du port qui lui correspond et celui-ci mémorise l'état binaire présent sur la ligne. Puis on déconnecte le premier esclave de la ligne et on le connecte au second étage. Alors, l'état binaire est mémorisé dans le deuxième étage. Enfin on déconnecte les étages de mémorisation entre eux et on reconnecte le premier à la ligne. On peut alors lire l'état binaire sur le second étage de mémorisation en toute sécurité. I1 suffit de commander l'écriture sur le premier étage de mémorisation et la lecture sur le second étage de mémorisation par des signaux binaires de commande qui ne se recouvrent pas temporellement. On n'est pas obligé d'utiliser deux cellules distinctes de mémorisation. Ainsi on peut imaginer que les bascules présentes sur le port d'entrée parallèle n'aient qu'une cellule de mémorisation. Pour chaque cellule de mémorisation du port d'entrée parallèle il suffit alors de mettre un interrupteur commandant l'accès en écriture à cette cellule de mémorisation du côté de la ligne et un second interrupteur commandant l'accès en lecture en sortie de cette cellule de mémorisation. Bien entendu il ne faut pas que les signaux binaires de commande de ces interrupteurs se recouvrent temporellement. On peut typiquement utiliser le signal de l'horloge interne du microprocesseur. On commande l'accès en écriture à quand le signal de l'horloge est à l'état logique 1 et l'accès en écriture quand il est à l'état logique 0. D'un point de vue cyclique il est bien évident que les signaux de commande de mémorisation dans les bascules et de lecture par le microprocesseur de ces bascules doivent être actifs durant un temps suffisamment long pour correspondre avec les commandes d'accès à la cellule de mémorisation en écriture et en lecture. Par exemple si on se base sur le signal de l'horloge interne, de la manière décrite précédemment, il faut s'assurer que les signaux de commande de mémorisation dans les bascules et de lecture par le microprocesseur de ces bascules aient une durée égale au moins à la durée nécessaire pour que le signal d'horloge effectue une transition d'état logique. Par la technique de main tendue le microprocesseur est déchargé du travail de gestion de la mémorisation des données sur ses bascules de port d'entrée parallèle. La synchronisation entre l'émission des données par le périphérique et la mémorisation de celles-ci en entrée du microprocesseur est réalisée de manière certaine. Dans l'invention on souhaite mémoriser les données en entrée du microprocesseur de manière certaine et indépendamment du microprocesseur. Comme on l'applique à une liaison série et à un réseau de périphériques, on ne peut pas utiliser le mode comme il a été décrit précédemment. Effectivement on ne dispose que de quatre fils sur la liaison qui sont deux fils d'alimentation et deux fils de données. On n'a donc pas la possibilité de connecter un fil de la liaison au port externe qui peut recevoir le signal de commande de mémorisation des bascules du port d'entrée parallèle. D'autre part, en admettant qu'on dispose de deux fils supplémentaires sur la liaison pour l'échange des signaux de commande de mémorisation et d'autorisation d'écriture, on souhaite avoir un contrôle bit par bit des données présentes sur la liaison. Dans le mode de main tendue décrit précédemment, cela nécessiterait que les périphériques envoient les messages bit après bit sur la liaison, l'envoie d'un bit étant subordonné à la lecture du bit précédent par le microprocesseur. Ce système serait donc très pénalisant au niveau du débit de données sur la liaison. Le mode de main tendue tel qu'il fonctionne en liaison parallèle n'est donc pas approprié pour la gestion des échanges sur le réseau VAN. L'invention propose d'utiliser ce moyen et de l'adapter à la communication d'un microprocesseur avec plusieurs périphériques en liaison série. Au lieu de produire une interruption, l'information présente sur le bus commande directement sa mémorisation sur une bascule du port d'entrée parallèle du microprocesseur. L'acquisition de cette donnée est donc toujours synchronisée avec le signal reçu par le microprocesseur, indépendamment du type de programme en cours. Cela permet à la cellule maître d'être toujours synchronisée avec les informations présentes sur le bus, sous réserve que l'horloge interne du microprocesseur soit correcte pour déterminer 12/16 de TS de manière précise. Dans cette interface on utilise un compteur de temps qui, à partir d'un début de TS repéré, est capable d'ouvrir une fenêtre de 10/16 à 12/16 de TS et de commander la mémorisation de l'information présente sur le bus. L'invention concerne une interface de connexion d'un microprocesseur à un bus de données, d'adresses ou de commande comportant au moins une bascule connectée d'une part à au moins un fil de ce bus pour échantillonner des états binaires disponibles sur ce fil et connectée d'autre part à au moins une entrée du microprocesseur. L'interface comprend également une entrée de commande de cette bascule pour provoquer un échantillonnage par cette bascule au moment où un signal de commande est appliqué sur cette entrée. L'interface est caractérisé en ce qu'il comporte un registre d'états de comptage, un compteur comptant au rythme d'un signal d'une horloge, un circuit de commande ayant une entrée reliée audit bus pour charger le compteur avec le contenu du registre d'état et un circuit de comparaison pour comparer en permanence un état du compteur à un état attendu, ledit circuit de comparaison ayant une sortie, et en ce que ce circuit de comparaison produit le signal de commande appliqué à l'entrée de commande de la bascule, la sortie du circuit de comparaison étant reliée à l'entrée de commande de la bascule. L'invention sera mieux comprise à la lecture de la description qui suit d'un mode de réalisation donné à titre non limitatif, et à laquelle des planches de dessin sont jointes sur lesquelles - la figure 1 représente l'interface entre une ligne de bus et une entrée de microprocesseur suivant l'invention, - la figure 2 représente un schéma établissant la correspondance entre la valeur de l'état de comptage du compteur de l'invention et le découpage d'un intervalle TS. La figure 1 présente un schéma fonctionnel de l'invention. Le circuit d'interface de l'invention permet de synchroniser la lecture, par un microprocesseur 1, de données binaires que lui fournissent un ou plusieurs périphériques 2 suivant le protocole VAN. Le microprocesseur représente une cellule maître et les périphériques sont des cellules esclaves. Ces périphériques 2 sont reliés entre eux par un bus de liaison 3. Un fil du bus 3 est relié à l'entrée une cellule de mémorisation 40, par l'intermédiaire de deux interrupteurs 50 et 51. L'interrupteur 50 est commandé par un signal binaire de commande de mémorisation W qui ferme l'interrupteur quand il est dans un certain état logique, par exemple à l'état logique 0. D'autre part l'interrupteur 51, situé entre la cellule 4 et l'interrupteur 50, est commandé par un signal binaire d'accès en écriture H qui ferme l'interrupteur quand il est dans un certain logique, par exemple à l'état logique 0. Cette cellule comporte une sortie qui est reliée à un port d'entrée 5 du microprocesseur par l'intermédiaire de deux interrupteurs 52 et 53. L'interrupteur 52 est commandé par un signal binaire d'accès en lecture H/ qui ferme l'interrupteur quand il est dans un certain état logique, par exemple l'état logique 1. On oeuvre de façon à ce que les signaux d'accès en écriture et en lecture H et H/ ne puissent pas fermer les interrupteurs 51 et 52 simultanément. I1 suffit pour cela de prendre par exemple des états complémentaires. L'interrupteur 53 est situé entre le microprocesseur et l'interrupteur 52. I1 est commandé par un signal binaire de commande de lecture R qui ferme l'interrupteur quand il est dans un certain état logique. Les interrupteurs 51 et 52 sont utilisés pour éviter qu'on puisse écrire dans la cellule de mémorisation en même temps qu'on la lise. De même que pour dans le mode main tendu décrit précédemment, il convient de s'assurer que les signaux de commande de mémorisation et de lecture W et R sont compatibles avec les signaux d'accès en écriture et en lecture H et .H/. Ainsi il faut que le signal de commande W (respectivement R) soit actif pendant un temps suffisamment long pour être certain qu'il coïncide au moins à un instant donné à un état actif du signal H (respectivement H/). Les interrupteurs 50, 51, 52 , 53 et la cellule de mémorisation 40 forment une bascule 4 dans laquelle on ne peut lire et écrire en même temps. Le fil du bus 3 connecté à l'interrupteur 50 est par ailleurs connecté à l'entrée d'un circuit de commande 6. Ce circuit de commande permet de détecter la présence d'informations sur le bus. I1 s'agit par exemple d'un détecteur de front montant et de front descendant. Quand un front est détecté sur l'entrée du circuit de commande, celui-ci commande le chargement de la valeur d'un registre d'état 7 dans un compteur 8. Ce compteur compte au rythme d'un signal d'horloge 9. I1 commence à compter positivement, en partant de 0, quand on lui applique un front montant sur une entrée 31. Ce compteur 8 a une sortie reliée à une entrée d'un circuit de comparaison 10. On appelle COUNT l'état binaire délivré à la sortie du compteur et qui correspond à un état de comptage. Le comparateur 10 a d'autre part une sortie. Cette sortie est reliée à l'entrée d'initialisation 31 du compteur 8 d'une part, et à l'entrée de commande de l'interrupteur 50. Le signal de sortie du comparateur est donc le signal W. Le comparateur possède deux registres 11 et 12 chargés respectivement avec les valeurs binaires COMPO et COMP1. Le signal de commande de mémorisation W est fonction de la valeur de l'état binaire COUNT par rapport à celles comprises dans les registres 11 et 12. Quand COUNT est égal à COMPO le signal de commande de mémorisation W passe dans un certain état logique. Quand le signal d'entrée est égal à COMP1, le signal de commande de mémorisation W passe à l'état logique complémentaire. D'autre part il existe un registre d'état de sortie 13 contenant au moins un bit. Ce registre d'état de sortie 13 est connecté au comparateur 10. Quand le signal de commande de mémorisation W passe à l'état logique correspondant à COUNT=COMP1 alors on met ce registre dans un état logique particulier. Ce registre d'état de sortie est connecté au microprocesseur de manière à ce que ce dernier puisse lire et écrire dans ce registre d'état de sortie. On se situe dans un contexte de réseau VAN. Les tranches VAN sont organisées en intervalles de durées égales dits TS. La durée d'un intervalle TS est elle même subdivisée en 16 intervalles d'égales durées. On rappelle que la lecture d'un bit doit se produire à 12/16 TS. Par ailleurs on synchronise la gestion d'un bit en se repérant à 2/16 TS. La mémorisation est commandée par le signal binaire de commande de mémorisation W. I1 y a mémorisation quand un front montant apparait sur le signal de commande de mémorisation W. On doit donc avoir un front montant sur le signal de commande de mémorisation W à 12/16 TS. Dans l'invention on s'arrange pour ouvrir une fenêtre de lecture. L'ouverture de la fenêtre consiste à mettre le signal de commande de mémorisation W à l'état bas avant d'être à 12/16 TS. On prend une certaine marge de manoeuvre en fixant par exemple le passage à l'état bas à 10/16 TS. On doit ensuite produire un front montant sur le signal de commande de mémorisation W quand on est à 12/16 TS précisément. Pour cela on fixe les valeurs de COMP0 et COMP1 de telle manière qu'elles correspondent à 10/16 TS et 12/16 TS. Pour ce qui concerne le compteur 8, on peut utiliser un compteur sur 8 bits. Si on fixe la durée d'un seizième de TS comme le temps pour le compteur d'incrémenter la valeur de son état binaire de 4 unités alors la durée de TS correspond au temps que met le compteur pour compter 64 unités. On considère que le compteur incrémente la valeur de son état binaire de comptage à partir de la valeur binaire 0. On peut alors se contenter de compter sur 7 bits puisque 64 correspond à 1000000 en binaire. Bien entendu il y a correspondance entre la valeur de comptage du compteur et l'échelle temporelle d'un bit si la fiabilité du signal d'horloge qu'on applique au compteur est suffisante. En pratique, on aura intérêt à utiliser le signal d'une horloge du microprocesseur. De cette façon on est sûr que la mémorisation et le traitement logiciel des données à lire seront parfaitement synchronisés. On fixe les valeurs de COMPO et COMP1 aux valeurs de 56 unités et 64 unités de telle manière que, quand COUNT est égal à 56 unités alors le signal de commande de mémorisation W passe à l'état logique 0, et quand COUNT est égal à 64 unités alors le signal de commande de mémorisation W passe à l'état 1. D'autre part le front montant correspondant à 12/16 TS est appliqué à l'entrée d'initialisation du compteur 8. Ce compteur recommence donc à compter à partir de la valeur binaire 0. La mémorisation s'effectue donc de manière cyclique en permanence. Le lancement du processus de mémorisation démarre sur la détection du premier front de la trame. I1 est à noter que le début d'un bit (16/16 ou 0/16 TS) ne correspond pas à COUNT=0 mais à COUNT=16. Cela permet d'utiliser un compteur qui n'a que deux registres de comparaison. Effectivement on a nécessairement besoin de ces deux registres pour créer une ouverture et une fermeture de la fenêtre de mémorisation. Si la réinitialisation du compteur s'effectuait pour une valeur de COUNT équivalente à 16/16 TS il faudrait un moyen supplémentaire de comparaison. Or les microprocesseurs du commerce équipés de timers munis de registres de comparaison ne possèdent typiquement que de deux registres de ces v registres à comparaison. Le registre d'état 7 est chargé avec la valeur 24 qui correspond à 2/16 TS. Si il y a un décalage temporel des données transmises sur le bus alors la mémorisation de ces données sera également décalée temporellement. Effectivement il y a resynchronisation du compteur à 2/16 TS au premier front qui apparaîtra sur l'entrée du circuit de commande 6. Pour qu'il n'y ait pas de décalage trop important il faut que l'on utilise un système de codage des données qui impose des transitions régulièrement. Le protocole VAN impose ainsi que dans les trames on ait un bit Manchester dès que quatre bits sont émis. En ce qui concerne le microprocesseur on peut le programmer de la manière suivante. Suite à une requête envoyée à une cellule esclave, le microprocesseur attend une réponse. I1 cesse alors toute tache, se limitant à scruter le registre d'état de sortie jusqu'à le contenu de celui-ci lui indique qu'il y a une donnée à lire. Quand la réponse est envoyée, le premier front détecté sur la ligne déclenche la mise en marche du compteur. Quand la mémorisation est effective (COUNT=COMP1), le registre d'état de sortie est chargé avec une valeur spécifique, par exemple un 1 logique. C'est la lecture de ce registre qui entraîne la lecture de la cellule de mémorisation 4 par le microprocesseur. A cet effet il active le signal de commande de lecture R. Puis il écrit dans le registre d'état de sortie une valeur qui correspond à la validation de la lecture de la donnée présentée en entrée. Par exemple le microprocesseur écrit un 0 logique dans le registre 13. Ensuite, soit le microprocesseur reprend une scrutation du registre 13, soit il a lu un code de fin de trame. Le microprocesseur reconnait les codes de début et fin de trame qui sont normalisés dans le protocole VAN. Quand un code de fin de trame est détecté, le microprocesseur peut alors sortir de la boucle d'attente de données et effectuer d'autres taches. Quand il enverra à une cellule esclave un message impliquant une réponse de cette cellule, il recommencera à scruter le registre d'état de sortie. Par ailleurs le microprocesseur traite de manière logicielle les erreurs de transmission. Effectivement il suffit pour cela de comparer les codes lus à ce qu'ils doivent être d'après le protocole VAN. Afin d'utiliser le microprocesseur de la manière la plus efficiente possible, on peut inhiber les interruptions de son programme. Ainsi, on est certain du temps de traitement d'une donnée dans le microprocesseur. Effectivement, en connaît les exécutions que contient le programme et le temps nécessaires pour les mettre en oeuvre. Pour éviter de perdre des données il suffit de s'assurer que le microprocesseur a un traitement des données compatibles avec la durée de l'intervalle TS, telle qu'elle est définie par le protocole VAN. Dans la réalisation décri série. On peut bien entendu envisager une liaison de type parallèle dans un contexte de réseau. Ainsi il suffit de prévoir un port d'entrée pour une liaison parallèle qui soit prévu pour mémoriser des données en mode main tendue et d'utiliser un circuit comportant un compteur, un circuit de commande et un circuit de comparaison qui fonctionne de la façon décrite par l'invention. On peut alors brancher l'entrée du circuit de commande sur l'un des fils de la liaison parallèle, et la sortie du circuit de comparaison sur l'entrée de commande de mémorisation des bascules du port d'entrée fonctionnant en mode main tendue. REVENDICATIONS 1 - Interface de connexion d'un microprocesseur (1) à un bus (3) de données, d'adresses ou de commandes comportant - au moins une bascule (4) connectée d'une part à au moins un fil de ce bus pour échantillonner des états binaires disponibles sur ce fil et connectées d'autre part à au moins une entrée (5) du microprocesseur et - une entrée de commande de cette bascule pour provoquer un échantillonnage par cette bascule au moment où un signal de commande (W) est appliqué sur cette entrée, caractérisée en ce que cet interface comporte - un registre d'état de comptage (7), - un compteur (8) comptant au rythme d'un signal (9) d'une horloge quand on lui applique un signal d'initialisation sur une entrée de commande, - un circuit de commande (6) ayant une entrée reliée audit bus pour charger le compteur avec le contenu du registre d'état, et - un circuit de comparaison (10) pour comparer un état du compteur à un état attendu, ledit circuit de comparaison ayant une sortie, ce circuit de comparaison produisant le signal de commande appliqué à l'entrée de commande de la bascule, la sortie du circuit de comparaison étant reliée à l'entrée de commande de la bascule. 2 - Interface selon la revendication 1, caractérisée en ce que le signal de commande (W) est appliqué à l'entrée de commande du compteur (8). 3 - Interface selon une des revendications 1 à 2, caractérisée en ce que la bascule est du type qu'on ne peut écrire et lire à la fois. 4 - Interface selon l'une des revendications 1 à 3, caractérisée en ce que la bascule est du type maître-esclave à deux cellules de mémorisation. 5 - Interface selon l'une des revendications 1 à 4, caractérisée en ce que le circuit de comparaison qui produit le signal de commande est relié à un registre d'état de sortie (13). 6 - Interface selon l'une des revendications 1 à 5, caractérisée en ce le microprocesseur peut lire et écrire dans ce registre d'état de sortie (13). 7 - Interface selon l'une des revendications 1 à 6, caractérisée en ce que la bascule (4) est câblée dans le circuit intégré du microprocesseur et en ce que l'entrée de donnée et l'entrée de commande de cette bascule sont accessibles sur un port du microprocesseur. 8 - Interface selon l'une des revendications 1 à 7, caractérisée en ce que le circuit de commande, le registre d'état de comptage, le compteur, le circuit de comparaison et le registre d'état de sortie sont câblés dans le circuit intégré du microprocesseur et en ce que l'entrée du circuit de commande et la sortie du circuit de comparaison sont accessibles sur des ports du microprocesseur. 9 - Interface selon l'une des revendications 1 à 8, caractérisée en ce que le microprocesseur et le bus échangent des données suivant le protocole VAN.