Brevet FR2712998A1 — publié le 19950602

"Simulateur de bus numériques intégré dans un système de test automatique de boitiers électroniques embarqués sur avion" DESCRIPTION Domaine technique La présente invention conceme un simulateur de bus numériques intégré dans un système de test automatique de boîtiers électroniques embarqués sur avion. Etat de la technique antérieure Dans un avion, il existe différents systèmes, qui répondent à des fonctions précises: radar météorologique, traitement des paramètres de vol, génération électrique, etc... Ces systèmes sont composés de un ou plusieurs boîtiers électroniques qui sont reliés entre eux par des liaisons de communication que l'on appelle "Bus" et qui, dans le domaine aéronautique, sont décrits par des normes déposées chez ARINC (bureau de normalisation aéronautique). Ainsi par exemple, la norme ARINC 708 décrit le système radar météorologique, la norme ARINC 717 décrit le système d'acquisition des paramètres de vol. D'autres bus obéissent à des normes d'usage plus général (RS 232, 422 et 485 sont par exemple des standards publiés par rorganisme Electronic Industries Association), certains systèmes comportant de façon interne des bus qui sont propres à un fabricant de boîtier. Un bus numérique est donc un moyen de transmission d'informations entre deux systèmes. L'information à transmettre est numérisée, et peut donc être représentée par une suite de 0 et de 1. Les bus numériques se différencient principalement par les deux aspects suivants: - le niveau physique qui concernme la nature des signaux mis en oeuvre et la façon de coder l'information binaire: par exemple un état 1 est représenté par une tension de 5 volts et un état 0 par une tension 0 volt; -le niveau protocole qui concemrne des informations additionnelles ajoutées au message initial: elles permettent au système destinataire de recevoir l'information initiale avec le niveau de sécurité désiré, par exemple l'ajout d'un bit de parité qui est calculé à partir des informations binaires transmises. Un système de test automatique destiné à la maintenance des boîtiers électroniques embarqués sur avion, permet de déterminer si un boîtier o10 donné est opérationnel et si les bus numériques respectent toujours leurs spécifications d'origine. Les fonctions suivantes sont nécessaires pour vérifier le bon fonctionnement d'un bus: - génération d'informations sur le bus, conformément au protocole; - génération d'informations entachées d'erreur (non respect du protocole ou des tolérances sur le signaux), afin de vérifier le bon fonctionnement des organes de sécurisation du système sous test; - enregistrement des informations en provenance du système sous test, qui seront récupérées par le calculateur du système de test automatique et analysées par le programme test; - enregistrement des erreurs de protocole en provenance du système sous test; - génération de signaux de synchronisation afin d'effectuer des mesures en relation avec un événement sur le bus. Pour effectuer la maintenance d'une flotte, une compagnie aérienne doit se doter d'un tel système de test automatique. Un système de cette nature doit être capable de recréer autour du boîtier à tester, un environnement identique à celui rencontré sur l'avion. Pour effectuer le test de boîtiers embarqués sur avion, reliés par des bus numériques qui répondent à des standards différents, les systèmes de test automatique de l'art connu sont constitués en intégrant une multitude d'instruments de simulation, chacun étant dédié à un standard de bus. Ces systèmes présentent donc de nombreux inconvénients et notamment: -la multiplication du nombre d'instruments de simulation se traduit par une augmentation du coût du système de test (chaque instrument possède son propre coût de fabrication...); - la fiabilité et le taux de disponibilité du système de test se dégradent si le nombre d'instruments augmente; -un système de test confronté, au cours de sa vie, à l'apparition sur le marché de nouveaux boîtiers possédant des bus non couverts o10 par les instruments initiaux, doit nécessairement intégrer un instrument additionnel; -la taille du système de test est pénalisée par ce nombre d'instruments. L'invention a pour objet un simulateur de bus numériques intégré dans un système de test automatique permettant d'effectuer, avec un seul instrument, la simulation de différents types de bus numériques d'un avion. Exposé de l'invention La présente invention propose, à cet effet, un simulateur de bus intégré dans un système de test automatique de boitiers électroniques embarqués sur avion comprenant un calculateur, caractérisé en ce qu'il est capable de se reconfigurer sous le contrôle du calculateur du système, par reconfiguration de son matériel et de son logiciel, afin de simuler les bus numériques utilisés sur l'avion. Avantageusement le logiciel et le matériel sont téléchargés. De plus le simulateur de bus de l'invention se présente sous la forme d'un seul instrument. Avantageusement cet instrument comporte une carte électronique dotée de deux microprocesseurs, de plusieurs banques mémoires, et de circuits logiques reconfigurables. Le premier microprocesseur assure la communication avec le calculateur du système de test en respectant les protocoles de communication; le deuxième microprocesseur assure la gestion des bus mis en oeuvre, en exécutant le logiciel applicatif téléchargé dans la première mémoire; une première interface reçoit les signaux bus système, ou VXI; une seconde interface analogique permet de délivrer des signaux bus simulés. Dans les circuits configurables par mémoire volatile sont téléchargés les automates en logique câblée, nécessaires pour effectuer la simulation du bus. La seconde mémoire est accessible par le second microprocesseur et les automates. La logique nécessaire pour réaliser le contrôle de cette seconde mémoire est également implémentée dans un circuit logique reconfigurable. Le simulateur de bus numériques de l'invention est donc un instrument de simulation capable de se reconfigurer sous le contrôle du calculateur du système de test automatique (reconfiguration de son matériel et de son logiciel), afin de simuler de nombreux bus numériques utilisés sur avion. Le simulateur de l'invention permet d'effectuer avec un seul instrument, la simulation de plusieurs bus différents (plusieurs standards différents peuvent être simulables par l'instrument). En ne fabriquant qu'un seul instrument le coût du système est optimisé. Son encombrement est également optimisé. La fiabilité du système est améliorée, de plus la maintenance est facilitée; les rechanges ne concement plus qu'un seul instrument. Le simulateur de l'invention permet de s'adapter à de nouveaux standards de bus, en ne modifiant que les informations de reconfiguration, téléchargées par le calculateur du système, cette intervention est sans commune mesure avec l'intégration d'un instrument de simulation additionnel. Dans un exemple de réalisation avantageux le simulateur de l'invention comprend: - un module interface bus VXI qui réalise l'interfacçage matériel avec un bus VXI; - un module communications unité centrale qui comporte les circuits autorisant les échanges d'informations entre les deux processeurs du simulateur et avec le contrôleur du bus VXI; -une unité centrale application réalisant les fonctions de configuration et d'exploitation des bus à simuler; - un module de simulation de bus qui réalise les fonctions d'émission et de réception sur les bus simulés de façon autonome ainsi que la fonction de stockage des informations échangées; ce module fonctionnel étant reconfigurable en fonction des bus à simuler; -un module interface analogique qui réalise l'adaptation matérielle analogique des bus; un premier bus véhiculant les signaux de déclenchement matériel entre le bus VXI et l'unité centrale application, un second bus véhiculant les signaux de déclenchement matériel entre l'unité centrale application, le module de simulation d'application bus, et le module interface analogique. Le module communications unité centrale comporte: - une mémoire partagée VXI; - une mémoire partagée double port; - un module événements asynchrones; - un module "chien de garde"; - un registre de contrôle; Ce module contenant les éléments matériels permettant l'échange d'informations entre le bus VXI, le module interface VXI et l'unité centrale application. L'unité centrale application comprend: - une unité centrale; - une mémoire locale de travail; - un module horloge variable programmable; - un module traitement des exceptons; - un module horloge système, et ports divers; un module gestion signaux de déclenchement matériel relié au premier et au second bus; une sortie de cette unité centrale étant reliée au module communications unité centrale et une autre sortie étant reliée au module de simulation application bus, cette unité centrale application fournissant les ressources matérielles nécessaires à l'exploitation des simulateurs de bus, ainsi que le processeur de bus qui assure l'exploitation des bus simulés. Le module de simulation de bus numérique comporte tout le matériel nécessaire pour effectuer les échanges d'informations sur les bus simulés, de façon autonome et comprend: - un module isolation bus, décodage bus LCA, et registres simulateurs; - un module contrôleur DMA et d'horloge datation; - un module de simulation bus reconfigurables; - une mémoire d'échange; - un module translateur bus de données; - des périphériques spécialisés; - des circuits adaptation de ligne; les entrées et sorties de ce module étant reliées respectivement au module unité centrale application, au second bus des signaux de déclenchement matériel et à la carte interface analogique, la dernière sortie délivrant les signaux bus simulés. Brève description des dessins - La figure 1 illustre un système de test automatique de l'art connu; les figures 2 à 5 illustrent un exemple de réalisation du simulateur de bus numériques de l'invention. Exposé détaillé de modes de réalisation Comme représenté sur la figure 1, un système de test automatique comprend notamment: - un calculateur 10: ce calculateur est doté d'un logiciel, qui permet de développer et d'exécuter les programmes de test. Il est relié à l'instrumentation qu'il pilote via un ou plusieurs bus systèmes; -des bus systèmes 11, 13: le calculateur 10 du système de test dialogue avec l'instrumentation 12, 14 via plusieurs bus par exemple les bus suivants: * un bus MXI 11: bus développé par National Instrument, et conçu pour relier plusieurs chassis VXI 12 entre eux, et avec différents types de calculateur, * un bus IEEE 488 13: bus standard pour communiquer avec de l'instrumentation 14; - des modules instrumentation 12, 14: les instruments intégrés sur le système de test sont pour la plupart au standard VXI (extension du bus VME pour l'instrumentation). Ces instruments se présentent sous la forme de cartes électroniques, ou éventuellement sous la forme traditionnelle d'instruments de laboratoire; - un module commutation 15: la commutation répond par exemple au standard ARINC 608; elle permet d'aiguiller les signaux, en s provenance du boîtier sous test, vers l'instrumentation du système. Le système de test automatique défini ci-dessus comporte un simulateur de bus numériques. Les différents bus numériques utilisés sur avion diffèrent par les caractéristiques physiques du signal (tension, fréquence...) et par le protocole utilisé (constitution des trames d'information binaire...). Certaines caractéristiques sont contrôlables par un microprocesseur; les trames du système ARINC 708 sont par exemple générées avec un intervalle de temps de 7.82 ms. Pour ces caractéristiques l'adaptation à un nouveau type de bus suppose de changer le logiciel applicatif de l'instrument, en fonction du bus à simuler. Certaines caractéristiques sont contrôlables par un automate réalisé en logique câblée (par exemple les informations binaires présentes sur le bus WXR sont émises au débit de huit millions d'informations par seconde). Pour ces caractéristiques l'adaptation à un nouveau type de bus suppose de changer la logique câblée de l'automate. Dans le cadre de l'invention le simulateur de bus numériques, tels que représenté à la figure 2, comporte une carte électronique 30, dotée de deux microprocesseurs, de plusieurs banques mémoires et de circuits logiques reconfigurables. Le premier microprocesseur est intégré dans un module interface 31. Le second microprocesseur est intégré dans un module unité centrale 34. Les banques mémoires sont réparties dans le module interface 31 et dans les modules communication unité centrale 33, unité centrale application 34, et simulation bus 35. Le premier microprocesseur assure la communication avec le calculateur du système de test en respectant des protocoles de communication, par exemple ceux définis par le standard VXI. Le deuxième microprocesseur assure la gestion des bus mis en oeuvre, en exécutant le logiciel applicatif téléchargé dans une première mémoire. Le premier module 31 reçoit les signaux d'un bus 32, par exemple de type VXI. Un module interface analogique 36 permet de délivrer des signaux bus simulés 39. Des automates en logique câblée, nécessaires pour effectuer la simulation du bus, sont téléchargés dans le module 35. Ils sont par exemple de type FPGA (Field Programmable Gate Array) configurables par mémoire volatile (composant LCA "Logic Cell Array" fabriqué par XILINX). Une seconde mémoire est accessible par le second microprocesseur. Les automates sont réalisés en logique câblée. La logique nécessaire pour réaliser le contrôle de cette mémoire (circuit DMA) est également implémentée dans un circuit logique reconfigurable. Cette reconfiguration des mécanismes de gestion interne du simulateur de bus est nécessaire pour s'adapter aux exigences de vitesse spécifiques à chaque bus numérique simulé. (Par exemple quand le simulateur de bus est utilisé pour simuler plusieurs bus RS 232, il faut télécharger un circuit DMA capable de gérer 8 canaux avec un temps de cycle de 800 nanosecondes. Quand le simulateur de bus est utilisé pour simuler un bus WXR, il faut télécharger un circuit DMA avec un temps de cycle de 200 ns). L'architecture du simulateur de bus numériques permet de télécharger dans celui-ci le logiciel applicatif, et la logique câblée des automates, permettant d'effectuer la simulation d'un nouveau bus numérique. Avantageusement le simulateur de bus numériques de l'invention est une carte répondant au standard VXI (VMEbus Xtensions for Instrumentation) capable de simuler les bus numériques RS 232, RS 422, RS 485, ARINC 708, ARINC 717, DSDL, WXR, IO discrets sur deux voies simultanément. Pour réaliser un automate en logique câblée sur une carte électronique, il existe de nombreuse façon de procéder: par exemple par un assemblage de boîtiers assurant les fonctions logiques élémentaires et relier ces boîtiers par les pistes du circuit imprimé. Les besoins d'intégration augmentent, aussi on cherche à intégrer cette logique à l'intérieur de circuits de type PAL, GATE ARRAY, FPGA ou ASIC. Toutes ces familles de circuits intégrés sont destinées à permettre l'intégration d'une fonction logique définie par l'utilisateur. De tels circuits diffèrent par la complexité de la fonction que ron peut intégrer (nombre de portes équivalentes), la vitesse de fonctionnement, le mode de "programmation" permettant de "graver' la fonction dans le circuit intégré (exemple: pour les plus complexes, les ASICS, il faut faire appel à un fondeur de silicium). Les circuits intégrés de type FPGA configurables par mémoire volatile sont structurés de la façon suivante. Ils possèdent des blocs logiques configurables et des moyens pour relier ces blocs entre eux. De plus, ils disposent d'une mémoire de configuration, dont le contenu détermine les équations logiques de chaque bloc, les liaisons entre blocs, et les liaisons avec les entrées sorties du circuit. Il est donc possible d'établir la correspondance entre un contenu de la mémoire de configuration et une fonction logique (automate) remplie par le circuit intégré. Si l'on considère à présent la mise en oeuvre du système de test automatique contenant le simulateur de bus de l'invention: le calculateur du système de test automatique exécute un programme de test. Ce programme met en oeuvre la simulation d'un bus numérique particulier. Le calculateur possède dans sa mémoire de masse, un ensemble de fichiers. Chaque fichier représente le contenu de la mémoire de configuration du circuit FPGA, et est associé à un automate. En fonction du bus à simuler, le calculateur établit la configuration du simulateur de bus avec l'ensemble de fichiers correspondant Un protocole de communication entre le simulateur de bus et le calculateur du système de test est défini pour que ce fichier soit communiqué au microprocesseur de ce sous-système qui est en relation directe avec le circuit FPGA. Ce microprocesseur reçoit l'ordre de configurer le circuit FPGA; il effectue alors une séquence spécifique au téléchargement (cette séquence est décrite dans la documentation du composant). Il utilise les entrées sorties du circuit FPGA prévues pour cette fonction et transfère dans la mémoire de configuration les données du fichier. Quand toutes les données ont été transférées, le circuit FPGA passe en mode opérationnel et remplit sur ses entrées sorties, la fonction logique définie par sa mémoire de configuration. Dans un exemple de réalisation, comme représenté à la figure 2, le simulateur de bus numériques de l'invention est composé en plusieurs modules: -un module interface bus VXI 31 qui réalise l'interfaçage matériel avec un bus VXI 32. Ce module est réalisé autour d'un module DT9150 du fabricant Interface Technology qui est doté d'un microprocesseur 68000; - un module communications unité centrale 33 qui comporte les circuits autorisant les échanges d'informations entre les deux processeurs du simulateur et avec le contrôleur du bus VXI; - une unité centrale application 34 qui est architecturée autour d'un microprocesseur 68020, ce module réalisant les fonctions de configuration et d'exploitation des bus à simuler; o10 - un module 35 de simulation de bus qui réalise les fonctions d'émission et de réception sur les bus simulés de façon autonome ainsi que la fonction de stockage des informations échangés; ce module fonctionnel est reconfigurable en fonction des bus à simuler; - un module interface analogique 36 qui réalise l'adaptation matérielle analogique des bus A717, A708, WXR et DSDL. Il consiste en une carte qui se connecte sur la carte principale du simulateur de bus par l'intermédiaire de plusieurs connecteurs. Un premier bus 37 dit "TTL Trigger" véhicule les signaux de déclenchement matériel entre le bus VXI et l'unité centrale application 34. Un second bus 38 dit "Trigger véhicule les signaux de déclenchement matériel entre l'unité centrale application 34, le module 35 de simulation d'application bus, et le module 36 interface analogique. Comme représenté sur la figure 3, le module communications unité centrale 33 comporte: - une mémoire partagée VXI 41, de 64 K x 16 bits; - une mémoire partagée double port 42, de 2K x16 bits; - un module événements asynchrones 43 (basé par exemple sur un circuit de type 68901); - un module "chien de garde 44 par exemple un circuit MAX 699 CPA; - un registre de contrôle 45 (initialisation du module unité centrale 34, gestion du "chien de garde"). Ce module 33 contient les éléments matériels permettant l'échange d'informations entre le bus VXI, le module interface VXI et runité centrale application. L'unité centrale application, telle que représentée à la figure 4, comprend: - une unité centrale 51 (par exemple un microprocesseur de type 68020) et sa logique de décodage (basé sur PAL 22V10); - une mémoire locale de travail 52, de 256 K x 32 bits; - un module horloge variable programmable 53 (par exemple un circuit FPGA XC3090 associé à des oscillateurs contrôlés en tension); - un module traitement des exceptons 54; - un module horloge système 55, et ports divers, basé sur un circuit MC 68901; - un module gestion signaux de déclenchement matériel 56 (par exemple un circuit FPGA XC3090), relié à deux bus: au premier bus 37 dit "TTL Trigger" et au second bus 38 dit "Trigger". La sortie 59 est reliée au module communications unité centrale 33 et la sortie 60 est reliée au module de simulation application bus 35. Cette unité centrale application fournit les ressources matérielles nécessaires à l'exploitation des simulateurs de bus, ainsi que le processeur de bus qui assure l'exploitation des bus simulés. Le module de simulation de bus numérique 35, tel que représenté sur la figure 5, comporte tout le matériel nécessaire pour effectuer les échanges d'informations sur les bus simulés, de façon autonome (sans intervention du microprocesseur 68020). Il comprend: - un module 61 isolation bus, décodage bus LCA, et registres simulateurs; -un module 62 contrôleur DMA et d'horloge datation, par exemple un circuit FPGA XC4005; - un module 63 de simulation bus reconfigurables, par exemple deux circuits FPGA XC4005; - une mémoire d'échange 64, de 256 K x 32 bits; -un module 65 translateur bus de données; -des périphériques spécialisés SCC (rSerial Communication Controller") 66, par exemple ZC 16C30; -des circuits adaptation de ligne 67 (RS, entrée/sortie). Ses entrées et sorties 68, 69 et 70 sont reliées respectivement au module unité centrale application, au bus "Trigger et à la carte interface analogique, cette dernière sortie délivrant les signaux bus simulés. Ce module est concçu à partir de trois circuits reconfigurables, dont un assure la fonction contrôleur de DMA, les deux autres sont configurés indépendamment pour gérer les bus à simuler. Il comporte une mémoire recevant les informations échangées sur les bus simulés et deux circuits spécialisés pour la gestion des bus série type RS 232. Les circuits de ce module sont interfacés à un bus, contrôlé par le circuit DMA dès que ce dernier est configuré. Les automates de simulation des bus demandent au circuit DMA d'assurer le transfert des données tant en émission qu'en réception. Ensuite l'automate assure de façon autonome le couplage au bus simulé. La programmation des paramètres nécessaires à chaque automate de gestion du bus simulé est assuré par runité centrale application, qui demande le contrôle du bus au circuit DMA, pour effectuer ces opérations. REVENDICATIONS 1. Simulateur de bus numériques intégré dans un système de test automatique de boîtiers électroniques embarqués sur avion comprenant un calculateur, caractérisé en ce qu'il est capable de se reconfigurer sous le contrôle du calculateur du système, par reconfiguration de son matériel et de son logiciel, afin de simuler les bus numériques utilisés sur ravion. 2. Simulateur selon la revendication 1, caractérisé en ce que le logiciel et le matériel sont téléchargés. 3. Simulateur selon la revendication 1, caractérisé en ce qu'il se présente sous la forme d'un seul instrument. 4. Simulateur selon la revendication 3, caractérisé en ce que cet instrument comporte une carte électronique (30) dotée de deux microprocesseurs, de plusieurs banques mémoires, et de circuits reconfigurables, en ce que le premier microprocesseur assure la communication avec le calculateur du système de test en respectant les protocoles de communication, en ce que le deuxième microprocesseur assure la gestion des bus mis en oeuvre, en exécutant le logiciel applicatif téléchargé dans la première mémoire, en ce qu'une première interface reçoit les signaux bus système, ou VXI, en ce qu'une seconde interface analogique permet de délivrer des signaux bus simulés, en ce que la seconde mémoire est accessible par le second microprocesseur, la logique nécessaire pour réaliser le contrôle de cette mémoire étant implémentée dans un circuit logique reconfigurable. 5. Simulateur selon la revendication 4, caractérisé en ce que les automates en logique câblée, nécessaires pour effectuer la simulation de bus, sont téléchargés dans des circuits configurables par mémoire volatile. 6. Simulateur selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend: - un module interface bus VXI (31) qui réalise l'interfaçage matériel avec un bus VXI (32); -un module communications unité centrale (33) qui comporte les circuits autorisant les échanges d'informations entre les deux processeurs du simulateur et avec le contrôleur du bus VXI; - une unité centrale application (34) réalisant les fonctions de configuration et d'exploitation des bus à simuler; -un module (35) de simulation de bus qui réalise les fonctions d'émission et de réception sur les bus simulés de façon autonome ainsi que la fonction de stockage des informations échangées; ce module fonctionnel étant reconfigurable en fonction des bus à simuler; - un module interface analogique (36) qui réalise l'adaptation matérielle analogique des bus; un premier bus (37) véhiculant les signaux de déclenchement matériel entre le bus VXI et l'unité centrale application (34), un second bus (38) véhiculant les signaux de déclenchement matériel entre l'unité centrale application (34), le O10 module (35) de simulation d'application bus, et le module (36) interface analogique. 7. Simulateur selon la revendication 6, caractérisé en ce que le module communications unité centrale (33) comporte: - une mémoire partagée VXI (41); - une mémoire partagée double port (42); - un module événements asynchrones (43); - un module "chien de garde" (44); - un registre de contrôle (45); ce module (33) contenant les- éléments matériels permettant l'échange d'informations entre le bus VXI, le module interface VXI et l'unité centrale application. 8. Simulateur selon la revendication 6, caractérisé en ce que l'unité centrale application comprend: - une unité centrale (51); - une mémoire locale de travail (52); - un module horloge variable programmable (53); - un module traitement des exceptions (54); - un module horloge système (55), et ports divers; - un module gestion signaux de déclenchement matériel (56) relié au premier et au second bus (37, 38); une sortie (59) de cette unité centrale (34) étant reliée au module communications unité centrale (33) et une autre sortie (60) étant reliée au module de simulation application bus (35), cette unité centrale application fournissant les ressources matérielles nécessaires à l'exploitation des simulateurs de bus, ainsi que le processeur de bus qui assure l'exploitation des bus simulés. 9. Simulateur selon la revendication 6, caractérisé en ce que le module de simulation de bus numérique (35) comporte tout le matériel nécessaire pour effectuer les échanges d'informations sur les bus simulés, de façon autonome, et comprend: - un module (61) isolation bus, décodage bus LCA, et registres simulateurs; - un module (62) contrôleur DMA et d'horloge datation; O10 - un module (63) de simulation bus reconfigurables; - une mémoire d'échange (64); - un module (65) translateur bus de données; - des périphériques spécialisés (66); - des circuits adaptation de ligne (67); les entrées et sorties (68, 69 et 70) de ce module (35) étant reliées respectivement au module unité centrale application, au second bus dit trigger et à la carte interface analogique, la dernière sortie délivrant les signaux bus simulés.