Brevet FR2802744A1 — publié le 20010622

INTERFACE UNIVERSELLE DE BUS NUMÉRIQUE L'invention concerne le domaine des interfaces entre un bus utilisateur et un calculateur muni d'un bus numérique quelconque. Les bus d'entrée sortie utilisés dans l'avionique se servent de normes, du type ARINC (Aeronautical Radio Incorporated), pour définir les communications entre la multitude de composants électroniques présents dans un avion. Cependant, ces normes spécifiques ne permettent pas de traiter directement les informations échangées dans un tel système sans un équipement suivant ce même standard à un coût qui serait avantageux. Il est donc utile de prévoir des interfaces avec des systèmes plus répandus comme les ordinateurs personnels (PC), lesquels ont un prix de revient moindre. De nombreuses cartes existent déjà mais possèdent un certains nombre de défauts rédhibitoires. Elles sont en général de capacité limitée en nombre d'entrée/sortie et ne possèdent pas de protocole d'échange développé. Un exemple d'interface de ce type est donné dans le demande EP94111604.8 qui concerne une interface mémoire spécifique au standard ARINC 629. Cette interface permet la mémorisation des données reçus par un terminal utilisant la norme ARINC 629. Ce terminal est couplé à un bus série pour recevoir des ensembles de mots dans lesquels le premier mot sert de d'étiquette permettant de désigner l'origine des données transmises. Les mots suivants consistent en les données elles-mêmes. Le terminal comporte également un registre spécifique permettant de déterminer le dernier mot reçu et un registre d'erreur qui mémorise les informations concernant les erreurs de transmission ou de réception des données. Ce système comporte de moyens de mémorisation en file d'attente, des moyens de coopération avec le terminal pour la lecture et l'enregistrement des mots dans les différents registres. Il comporte également des moyens d'associations des types de mots aux données auxquelles ils font référence. Tous ces mots peuvent être associés à des mots de classification qui définissent le type des mots originaux. Ce système, bien que gérant les erreurs, ne permet pas une gestion générale des interruptions et ne permet pas d'utiliser une mémoire de partage qui offre des moyens de synchronisation et de gestion de différentes applications. De plus, ce système est entièrement destiné à la norme ARINC 629 et offre une faible portabilité. I1 est limité à un type d'entrées/sorties et au seul type de calculateur HOST. L'invention a pour but de résoudre ces inconvénients en offrant une interface capable de gérer des entrées/sorties à n'importe quelle norme et pour tout type numérique grâce au bus utilisateur. L'invention utilise un dictionnaire de commandes universelles permettant d'utiliser n'importe quel type d'application prévue pour un type particulier de standard comme l'ARINC 429 ou 571, le DIGIBUS. La carte associée à l'interface permet de porter n'importe quel type d'application. L'application réalisant les fonctions d'entrée/sortie développées au standard bus utilisateur permet le portage sur un calculateur de type PC (par exemple), en particulier un bus ISA, un bus PCI ou un bus VME. Il est ainsi possible de récupérer n'importe quelle application électronique au standard bus utilisateur et la porter sur n'importe quel type de calculateur en développant une interface compatible avec le nouveau calculateur. Par exemple, un ensemble porteuse interface ISA/carte coupleur ARINC intelligente. L'adressage de la carte dans le PC se fait de la manière décrite ci-dessous. L'interface possède une adresse de base en zone d'entrée sortie du PC. Cette adresse est configurable par mini interrupteur. La carte est positionnée dans un espace d'adressage libre et son espace occupé est de 64 octets. La carte peut posséder une adresse en zone mémoire du PC. Cette adresse est alors configurable par logiciel. La taille maximale est de 64 Kilo octets. Cette zone peut être entièrement disponible pour l'utilisateur ou partagée en deux avec la mémoire double accès dont la taille est variable. L'espace de 64 Ko peut être vu par pages multiples de 2 par le processeur du PC. Ces fonctions sont toutes programmables. L'interface peut recevoir côté utilisateur 8 interruptions plus 2 bidirectionnelles avec la mémoire double accès. L'acquittement de ces interruptions peut se faire soit électroniquement, soit par programmation. Ces lignes d'interruption sont ensuite envoyées sur le bus au travers de cavaliers de sélection (numéro de ligne). Les sémaphores sont au nombre de 8. Ils permettent de partager une ressource entre le PC et l'application utilisateur. Le processus est le suivant - le demandeur prend le sémaphore; - il regarde s'il l'a obtenu; - si le sémaphore n'est pas libre sa demande est mémorisée; - le demandeur relâche le sémaphore pour libérer la ressource. Les adresses des sémaphores sont accessibles en zone I/O. L'interface gère 4 canaux DMA utilisateur. Elle prend en compte les cycles de rafraîchissement des mémoires du PC afin d'éviter la perte d'information. La durée des transferts est programmable ainsi que le temps entre deux écritures. Les lignes d'arbitrage du couplage DMA sont acheminées vers le bus ISA au travers de cavaliers de sélection. L'interface offre à l'utilisateur un bus d'adresses et de données bidirectionnelles, un bus de contrôle simplifié, les lignes de gestion d'interruptions, les lignes de requêtes DMA, trois possibilités de choix d'horloge et permet de simuler des cycles asynchrones (durée programmable). Un report des entrées/sorties de l'application est prévu en face avant de l'interface (80 lignes). Revendications 1 - Carte interface entre un port utilisateur et un bus parallèle comportant des moyens de mémorisation partagée des données transmises, des moyens de gestion des entrées-sorties, des moyens de gestion du temps machine caractérisé en ce qu'elle comprend un ensemble de registres effectuant l'interface entre une pluralité de bus de type AIA et une pluralité de bus parallèles ladite interface gérant les communications entre ces bus. 2 - Procédé de gestion d'interface entre un port utilisateur et un bus parallèle comportant des moyens de mémorisation partagée des données transmises, des moyens de gestion des entrées-sorties, des moyens de gestion du temps machine caractérisé en ce qu'il utilise une interface universelle composée de registres de traduction entre une pluralité de bus de type AIA et une pluralité de bus parallèles. 3 - Procédé de gestion d'interface suivant la revendication 2 caractérisé en ce que des sémaphores partagent les ressource entre les différents bus selon le processus suivant - le demandeur prend le sémaphore; - il regarde s'il l'a obtenu; - si le sémaphore n'est pas libre sa demande est mémorisée; - le demandeur relâche le sémaphore pour libérer la ressource.