Brevet FR2650903A1 — publié le 19910215

Dispositif d'émission. et de réception servant d'interface pour un microprocesseur L'invention concerne un dispositif émetteur et récepteur qui sert d'interface pour un microprocesseur et par l'intermédiaire duquel des mots contenant des données et munis d'adresses de mot peuvent être envoyés par le micro- processeur ou amenés au microprocesseur. Pour l'échange dem données entre des appareils électroniques commandés par microprocesseur, les mots conte- nant des données qui sont transmis par l'intermédiaire d'un bus sont munis d'adresses de mot ("labels"). Ces adresses de. mot indiquent à quel appareil électronique ou à quels appareils est destiné le mot concerné qui contient des données. Pour cette transmission des données, il existe dans l'aéronautique une norme dénommée "ARINC 429". Dans les appareils connus, c'est le microprocesseur lui-même qui examine si un mot déterminé contenant des données est destiné à. un appareil déterminé commandé par microprocesseur. Ceci veut dire que l'ensemble des mots contenant des données qui arrivent doit être amené au micro- processeur. Ce dernier vérifie l'adresse de mot de chaque mot individuel contenant des données, afin de déterminer si ce mot contenant des données lui est destiné. Ceci charge très fortement le microprocesseur et le gêne dans sa tâche propre. Il est également connu de prévoir une électronique- séparée pour l'identification des mots contenant des données. Il est enfin connu de prévoir un composant qui permet de reconnaître une adresse de données unique et qui transmet à un microprocesseur les mots contenant des données qui comprennent cette adresse de données. L'appareil commandé par microprocesseur ne reçoit pas seulement des mots contenant des données. Il envoie aussi des mots contenant des données à d'autres appareils. Ces mots contenant des données sont également munis d'une adresse de mot correspondant à la norme ARINC précitée. On connaît un composant qui peut transmettre à cette fin un seul mot provenant du microprocesseur. Ce mot est ensuite envoyé par le composant. Pour leur utilisation, les divers composants connus nécessitent une commande extensive. Les canaux de réception et d'émission sont mélangés de diverses manières dans des composants individuels. Les composants connus ne présentent pas de connexion qui soit compatible avec le bus du micro- processeur. Le décodage des adresses de mot pour le mot conte- nant des données qui est reçu par le composant est très coûteux lorsqu'il a lieu par l'intermédiaire du matériel, à savoir par l'intermédiaire de circuits électroniques supplé- mentaires. Ces derniers nécessitent beaucoup de place et leurs coûts sont élevés. En outre, le matériel et le logiciel doivent être fabriqués séparément. Ceci pose des problèmes lors de -la fabrication,- car le matériel et le logiciel doivent être adaptés l'un à l'autre. Des difficul- tés particulières se présentent ici dans le cas de modifica- tions. Le décodage des adresses de mot par le microproces- seur entraîne un important travail supplémentaire pour celui-ci. De ce fait, le travail du microprocesseur est perturbé. Ce travail doit être interrompu- à des intervalles compris entre deux millisecondes et trois cents microsecon- des, à savoir à chaque fois qu'apparaît un nouveau mot contenant des données. Une alternative serait un micropro- -cesseur supplémentaire avec une périphérie associée. Ceci représente une dépense supplémentaire considérable. Le but de l'invention est de créer un composant qui soit programmable, qui soit compatible avec le bus du micro- processeur et qui décharge. le microprocesseur du travail que représente l'émission et la réception de mots contenant des données et leur identification. Dans son utilisation, le composant ne doit pas rendre nécessaire une adaptation de l'état du matériel et du logiciel, et il doit pouvcir être programmé en vue des diverses exigences de chaque utilisa- tion particulière. Selon l'invention, ce but est atteint grâce au fait que les éléments suivants sont intégrés à un composant à utilisation spécifique: a) une interface microprocesseur-bus comprenant des conduc- teurs de données, des conducteurs d'adresses et des conduc- teurs de commande, b) des moyens à horloge, c) plusieurs canaux de réception comprenant à chaque fois: - une mémoire de décodage des adresses de mots pour plus d'une adresse de mot, - une mémoire à accès direct conçue pour un accès double, soit depuis une logique de réception, soit depuis le microprocesseur, - une logique de commande de réception, - un registre d'instructions pour la programmation par le microprocesseur du mode de travail particulier du canal de réception concerné, et: - un registre d'état grâce auquel une information sur l'état de travail instantané du canal de réception peut être transmise au microprocesseur, d) plusieurs canaux d'émission comprenant: - une mémoire à accès direct conçue pour un accès double, soit depuis le microprocesseur, soit depuis une logique d'émission, - une logique de commande d'émission, -.un registre d'instructions pour la programmation oar le microprocesseur dumode de travail particulier du canal d'émission concerné, et: - un registre d'état grâce auquel une information sur l'état de travail instantané du canal d'émission peut être transmise au microprocesseur, e) un registre d'instructions pour l'ensemble du composant, et: f) un registre d'état pour l'ensemble du composant. On obtient de cette manière un composant qui sert d'interface pour le microprocesseur et qui est programmable. En outre, le composant est compatible.avec le bus du micro- processeur. Il décharge très largement ce dernier du traitement des mots contenant des données qui arrivent et de l'identification de leurs adresses de mot. C'est seulement à la mémoire à accès direct du composant que le microproces- seur a besoin d'accéder. Aucune adaptation de l'état n'est nécessaire entre le matériel et le logiciel. Le composant peut être programmé en vue des exigences -propres aux. utilisations particulières. Les canaux peuvent être conçus ou programmés, respectivement, de manière à fonctionner sur des fréquences de l'ordre du mégahertz. Ainsi, le composant convient égale- ment à des utilisations situées hors de la norme ARINC 429. Le composant peut alors être utilisé, en particulier, pour une communication rapide entre divers systèmes de microDro- cesseurs. L'interface microprocesseur-bus peut être conçue de manière à être programmable au choix pour des bus de données dont le nombre de bits est différent, par exemple pour des bus de données de huit ou de seize bits. - Les signaux de contrôle de l'interface microproces- seur-bus peuvent être adaptés à des types différents de microprocesseurs grâce à une programmation sur broches ("pin programming"). En outre, les moyens à horloge peuvent être programmés de telle manière qu'une. fréquence souhaitée puisse être impartie à chacun des canaux de réception et d'émission, indépendamment des autres canaux de réception et d'émission. A cette fin, les moyens à horloge peuvent contenir plusieurs horloges contenant jusqu'à deux quartz externes. Avantageusement,.un canal de réception est organisé en vue du traitement de chaînes de mots contenant des données ("string words") dont l'adresse de mot est la même, mais dont les données contenues sont différentes, Lors de la détection d'une adresse de mot à une place déterminée dans la mémoire de décodage des adresses de mots, le mot contenant des données qui est reçu peut être ici introduit dans une mémoire à accès direct et à registre à décalage "FIFO" registre à décalage est pleine. Pour l'essai du composant en fonctionnement, le composant peut être constitué de telle manière que tous les registres de lecture du composant puissent aussi fonctionner en écriture, que chaque canal d'émission puisse être commuté par le microprocesseur sur chaque canal de réception, et que la fonction d'émission vers l'extérieur puisse alors être empêchée. Grâce à cela, le composant peut être essayé dans la totalité de son fonctionnement grâce à un programme du microprocesseur. On peut localiser des défauts -partiels Jusqu'au niveau du canal. La détection des erreurs peut aussi être contrôlée. Grâce au composant décrit, le besoin de place et le nombre des composants est diminué. Par rapport aux solutions connues relevant du matériel, à savoir le décodage par un circuit électronique séparé ou encore le décodage par un microprocesseur additionnel, on obtient une diminution des coûts et une réduction des volumes et du poids. On obtient en outre une meilleure fiabilité. L'essai et la maintenance du composant sont plus faciles. La manipulation de l'inter- 3o face est simplifiée. Dans ce qui suit, deux exemples de réalisation sont expliqués de manière plus détaillée en se rapportant aux dessins annexés, parmi lesquels: La figure 1 montre la configuration d'un composant comprenant un dispositif émetteur et récepteur qui comporte deux entrées et une sortie, et: La figure 2 montre la configuration d'un composant comprenant un dispositif émetteur et récepteur qui comporte quatre entrées et deux sorties. Sur la figure 1, le repère 10 désigne un composant & utilisation spécifique qui coopère avec un microprocesseur 12. Le composant contient une interface microprocesseur- bus 14 comprenant des conducteurs de données 16, des conducteurs d'adresses 18 et des conducteurs de commande 20, ces conducteurs étant reliés au microprocesseur- 12. Le composant 10 contient en. outre une horloge 22 dont la fréquence est stabilisée par un oscillateur à quartz externe 24. Le composant 10 comporte un premier canal de réception 26 et un second canal de réception 28. Les canaux de récep- tien renferment des mots contenant des données et des adresses de mots associées provenant d'un démodulateur 30. Le premier canal de réception 26 renferme une logique de réception 32 et une mémoire à accès direct 34 conçue pour un double accès, d'une part depuis la logique de réception 32, et d'autre part depuis le microprocesseur 12 par l'intermé- diaire de l'interface microprocesseur-bus 14. Le premier canal de réception comprend en outre une mémoire à accès direct et à registre à décalage 36 qui peut recevoir plusieurs mots contenant des. données, à savoir seize mots contenant des données selon la norme ARINC. Le second canal de réception 28 contient également une logique de réception 38. Il contient en outre une mémoire à accès direct 40 conçue pour un double accès, soit depuis la logique de' réception 38, soit.depuis le micropro- casseur 12. Un canal d'émission 42 fournit des mots contenant des données & un modulateur 44. Ce canal d'émission 42 contient une logique d'émission 46, ainsi qu'une mémoire 47 à accès direct et à registre à décalage qui est également organisée pour un double accès, soit depuis le microproces- seur 12, soit depuis une logique d'émission 46. Dans le détail, la logique de réception 32 du premier canal de réception 26 contient une mémoire de décodage des adresses de mots pour plus d'une adresse de mot et une logique de commande de réception. Le premier canal de réception 26 contient en outre un registre d'instructions pour la programmation du canal.de réception 26 par le micro- processeur. Il contient enfin un registre d'état grâce auquel une information sur l'état de travail instantané du canal de réception 26 peut être transmise au microprocesseur 12. Ceci n'est pas représenté en détail sur la figure 1. D'une manière analogue, la logique de réception 38 du second canal de réception 28 contient une mémoire de décodage des adresses de mots pour plus d'une adresse de mot et une logique de commande de réception. Le second canal de réception 28 contient en outre un registre d'instructions pour la programmation du mode de travail du second canal de réception 28 par le microprocesseur. Il contient enfin, lui aussi, un registre d'état grâce auquel une information sur l'état de travail instantané du canal de réception 28 peut être transmise au microprocesseur 12. Ceci n'est pas non plus représenté en détail sur la figure 1. La logique d'émission 46 du canal' d'émission 42 contient une logique de commande d'émission. Le canal d'émission 42 contient en outre un registre d'instructions pour la programmation du mode de travail du canal d'émission par le microprocesseur et un registre d'état grâce auquel une information sur l'état de travail instantané du canal d'émission peut être transmise au microprocesseur. Le composant 10 contient en outre un registre d'instructions pour l'ensemble du composant et un.registre d'état, également pour l'ensemble du composant. Les canaux de réception 26 et 28 et le canal d'émis- sion 42 sont conçus ou programmables, respectivement, de telle manière qu' ils fonctionnent aussi avec des fréquences d'horloge de l'ordre du megahertz. L'interface microprocesseur-bus 14 est conçue de manière programmable, au choix, pour des bus de données comprenant un nombre- différent de bits. En outre, les signaux de contrôle de l'interface microprocesseur-bus 14 peuvent être adaptés & des types différents de microproces- seurs 12 grâce à une programmation sur broches ("pin- programming"). Les moyens à horloge qui sont alors représen- tés ici par l'horloge 22 peuvent être programmés de telle manière que l'on puisse fournir une fréquence souhaitée à chacun des canaux de réception et d'émission 26, 28 et 42,. respectivement, indépendamment des autres canaux de récep- tion et d'émission. A cette fin, les moyens à horloge peuvent contenir plusieurs horloges contenant jusqu'à deux quartz externes 24. Le canal de réception 26 est organisé pour traiter des suites de motscontenant des données dont l'adresse de mot est la même, mais dont les données contenues sont différentes ("chaîine de mots"). Lors de la détection d'une adresse de mot à un endroit déterminé de la mémoire de décodage des adresses de mots, le mot contenant des données qui est reçu est introduit dans la mémoire 36 à accès direct et à registre à décalage. Dans le registre d'état et sur une broche du composant 10, une information correspondante est engendrée lorsque la mémoire 36 à accès direct et à registre à décalage est pleine. Pour essayer le composant 10 en fonctionnement, on peut aussi écrire dans tous les registres de lecture du composant 10. Le canal d'émission 42 peut être branché par le microprocesseur 12 sur chaque canal de réceptfon 26 ou 28. La fonction d'émission vers l'extérieur. est alors empêchée. Le dispositif émetteur et récepteur qui a été décrit avec le microprocesseur 12 et le composant 10 fonctionne comme suit: Le microprocesseur 12 configure tout d'abord en une seule fois le registre d'instructions pour le mode de g travail souhaité. On fixe par exemple la fréquence à douze kilohertz, le bit de parité sur "impair" et le nombre des bits utilisés pour décoder les adresses de mot à huit ou onze bits. Dans la mémoire de décodage des adresses de mots, on programme celles des adresses de mot qui doivent être reçues. Ceci peut aller Jusqu'à seize ou trente-deux adresses de mot par canal. Le mot contenant des données qui arrive en série est converti en un mot contenant des données qui apparaît en parallèle. Ses défauts sont examinés par la logique de réception 32 ou 38, par exemple en ce qui concerne les erreurs de fréquence, un nombre erroné de bits, des erreurs d'espacement ou des erreurs de parité. Le résul- tat est introduit dans un registre intermédiaire. L'adresse de mot, y compris le cas échéant les bits d'information sur les données de base ("bits SDI"), est alors comparée à celles qui sont mémorisées dans la mémoire de décodage des adresses de mots. Si la séquence de l'adresse de. mot figure dans la mémoire de décodage des adresses de mots, le mot est écrit à l'endroit approprié dans la mémoire à accès direct 34. Par exemple, la troisième position dans la mémoire de décodage des adresses de mots correspond à la troisième position dans la mémoire à accès direct. L'ordre correspond à l'ordre dans lequel les adresses de mot sont placées dans la mémoire de décodage des adresses de mots. En l'absence d'erreur, l'adresse de mot est transmise à la mémoire à accès direct. Si une erreur a été détectée, c'est le décodage d'erreur qui est transmis à la place de l'adresse de mot. Le bit de parité présent Jusqu'alors est mis à l'état "un". Des informations de réception correspondantes sont fournies au registre d'état. Les mots contenant des données qui ont été reçus et choisis sont à la disposition du microprocesseur 12 dans la mémoire à accès direct 34 d'o ils peuvent être extraits. Cette extraction peut avoir lieu indépendamment de l'entrée de l'information, et donc de manière "asynchrone". Le micro- processeur peut accéder à l'information lorsque ceci est nécessaire pour son travail. Le travail du microprocesseur 12 n'a pas besoin d'être interrompu par l'arrivée d'informa- tions. Les informations qui ne sont pas extraites sont recouvertes (mises à Jour) à l'endroit concerné de la mémoire à accès direct lorsque sont reçues de nouvelles informations comportant la même adresse de mot. L'extraction de l'information met i zéro le contenu de la mémoire à accès direct 34 à l'endroit concerné. Un test de mise à jour est ainsi possible. Le canal de réception 28 fonctionne de la même manière. Le canal d'émission 42 fonctionne comme suit: le microprocesseur 12 configure tout d'abord en une seule fois le registre d'instructions du canal d'émission 42. On définit par exemple une fréquence d'émission de 12 kilohertz, on définit le bit de parité comme étant.pair, etc. Le.microprocesseur 12 envoie alors sur le canal d'émission 42 un paquet allant jusqu'à seize mots contenant des données à émettre.. Les mots contenant des données sont triés par le microprocesseur 12. Ce dernier définit aussi la cadence nécessaire pour obtenir les fréquences de mise à jour des diverses adresses de mot. Les mots contenant des données sont introduits dans la mémoire 47 à accès direct et à registre à décalage. La logique de commande d'émission affiche dans le registre d'état "FIFO non vide". La logique de commande d'émission produit alors.l'émission du contenu de la mémoire 47 à accès direct et à registre à décalage. Ceci a lieu sans commande par le microprocesseur 12. Lors de l'émission, le bit de parité est ajouté. Après la réalisa- tion de cette opération, l'information "FIFO vide" est mise en place dans le registre d'état et sur une broche du compo- sant 10. Dans le composant 10 représenté sur la figure 1, le canal d'entrée 26 a reçu une mémoire de décodage des adresses de mots de 16 mots contenant des données. Le canal de réception 26 est organisé pour recevoir des "chaînes de mots" comprenant 16 mots contenant des données. La mémoire à accès direct 34 mémorise quinze mots contenant des données. La mémoire à accès direct et à registre à décalage présente une capacité de seize mots contenant des données. Dans le canal d'entrée 28, la mémoire de décodage des adresses de mots possède une capacité 'de mémoire de seize mots contenant des données. La mémoire à accès direct 40 possède également une capacité de mémoire de seize mots contenant des données. La mémoire 47 à accès direct et à registre à décala- ge du canal de sortie 42 présente une capacité de seize mots contenant des données. Un composant construit sous cette forme présente une complexité de 10.000 portes environ, et il a été réalisé en technologie à 2 pm sur une surface de 96 millimètres carrés. Le composant 48 représenté sur la figure 2 comporte quatre canaux de réception 50, 52,. 54 et 56 et deux canaux d'émission 58 et 60. Le repère 62 désigne le microproces- seur. Le composant contient une interface microprocesseur- bus 64 qui est reliée au microprocesseur 62 par des conduc- teurs de données 66, des conducteurs d'adresses 68 et des conducteurs de commande 70. Le repère 72 désigne des moyens à horloge. Le premier canal de réception 50 contient une mémoire à accès direct 74 qui correspond à la mémoire à accès direct 34 de la figure 1 et une mémoire 76 à accès direct et à registre à décalage qui correspond à.la mémoire 36 à accès direct et à registre à décalage de la figure 1. Le repère 78 désigne la logique de réception du premier canal de réception 50 qui fonctionne comme le canal de réception 26 dans le composant 10 de la figure 1. Les autres canaux de réception 52, 54 -et 56 contiennent des logiques de réception 80, 82 et 84, respec- tivement, et des mémoires à accès direct 86, 88 et 90, 2650903- respectivement. Tout comme la mémoire à accès direct 74, ces mémoires à accès direct 86, 88 et 90 sont organisées pour un double accès, soit depuis la logique de réception 80, 82, 84 et 78, respectivement, soit depuis le microprocesseur 62. Par ailleurs, les canaux de réception 52, 54 et 56 fonction- nent de la même manière que le canal de réception 28 de la figure 1. Les canaux de réception 52, 54 et 56 contiennent des mots contenant des données provenant d'un démodulateur 92. Les deux canaux d'émission 58 et 60 contiennent chacun une logique d'émission 94 et 96, respectivement, et une mémoire à accès direct et à registre à décalage 98 et , respectivement. Les deux canaux d'émission 58 et 60 fonctionnent de la même manière que le canal d'émission 42 de la figure 1. Les canaux d'émission 58 et 60 fournissent des mots contenant des données à un modulateur 102. Dans la réalisation selon la figure 2, le canal de réception 50 contient une mémoire de décodage des adresses de mots pour seize mots. La mémoire 76 à accès direct et à registre à décalage possède une capacité de mémoire de seize mots. La mémoire à accès direct 74 possède une capacité de mémoire de quinze mots (a chaque fois selon la norme ARINC 429). La mémoire de décodage des adresses de mots du canal de réception 52 met en mémoire 32 mots. Les mémoires de décodage des adresses de mots des canaux de réception 54 et 56 mettent en mémoire seize mots chacune. La mémoire à accès direct 86 du canal de réception 52 possède une capacité de mémoire de 32 mots, et les mémoires à accès direct 88 et 90 des canaux de réception 54 et 56 possèdent une capacité de mémoire de seize mots chacune. Dans les canaux d'émission 58 et 60, les mémoires 98 et 100 à accès direct et à registre à décalage ont à chaque fois une capacité de seize mots. Un composant 48 de ce genre présente une complexité de 30.000 portes environ, et il- a été réalisé en technologie à 0, 7 um sur une surface de 86 millimètres carrés. -14 - REVENDICATIONS - 1. Dispositif émetteur et récepteur qui sert d'interfa- ce pour un microprocesseur et par l'intermédiaire duquel des mots contenant des données et munis d'adresses de mot peuvent être envoyés par le microprocesseur ou amenés au microprocesseur, caractérisé par le fait que les éléments suivants sont intégrés à un composant à utilisation spéci- fique: a) une interface microprocesseur-bus (14) comprenant des conducteurs de données (16), des conducteurs d'adresses (18) et des conducteurs de commande (20), b) des moyens à. horloge (22), c) au moins un canal de réception (26, 28) comprenant à chaque fois: - une mémoire de décodage des adresses de mots pour plus d'une adresse de mot, - une mémoire à accès direct (34, 40) concue pour un accès double, soit depuis une logique de réception (32, 38), soit depuis le microprocesseur (12), une logique de commande de réception, - un registre d'instructions pour la programmation par le microprocesseur du mode de travail particulier du canal de réception concerné, et: - un registre d'état grâce auquel une information sur l'état de travail instantané du canal dexréception peut être transmise au microprocesseur, d) au moins un canal d'émission (42) comprenant: - une mémoire à accès direct (47) conçue pour.un accès double, soit depuis le.microprocesseur f) un registre d'état pour l'ensemble du composant. 2. Dispositif émetteur et récepteur selon la revendica- tion 1, caractérisé par le fait que les canaux (26, 28, 42) sont conçus ou peuvent être programmés, respectivement, de manière à fonctionner aussi sur des fréquences de l'ordre du mégahertz. 3. Dispositif émetteur et récepteur selon la revendica- tion 1, caractérisé par le fait que l'interface microproces- seur-bus (14) est conçue de manière programmable, au choix, pour des bus de données dont le nombre de bits est différent. 4. Dispositif émetteur et récepteur selon la revendica- tion 3, caractérisé par le fait que les signaux de contrôle de l'interface microprocesseur-bus (14) peuvent être adaptés à des types différents de microprocesseurs grâce à une programmation-sur broches. 5. Dispositif émetteur et récepteur selon l'une quel- conque des revendications 1 à 4, caractérisé par le fait que les moyens à horloge (22) peuvent être programmés de telle manière qu'une fréquence souhaitée puisse être impartie à chacun des canaux de réception et d'émission (26, 28 ou 42, respectivement), indépendamment des autres canaux de récep- tion et d'émission. 6. Dispositif émetteur et récepteur selon la revendica- tion 5, caractérisé par le fait que les moyens à horloge (22) contiennent plusieurs horloges à quartz externes (24). 7. Dispositif émetteur et récepteur selon l'une quel- conque des revendications 1 à 6, caractérisé par le fait qu'un canal de réception (26) est organisé en vue du traitement de suites de mots contenant des données dont l'adresse de mot est la même, mais dont les données conte- nues sont différentes. À 8. Dispositif émetteur et récepteur selon la revendica- tion 1, caractérisé par le fait que, lors de la détection d'une adresse de mot à une place déterminée dans la mémoire de décodage des adresses de mots, le met contenant des données qui est reçu est introduit dans une mémoire (36) à accès direct et à registre à décalage longue de plusieurs mots contenant des données. 9. Dispositif émetteur et récepteur selon la revendica- tion 8, caractérisé par le fait qu'une information correpon- dante est engendrée dans le registre d'état et sur une broche du composant lorsque la mémoire à accès direct et à registre à décalage est pleine. 10. Dispositif émetteur et récepteur selon la revendica- tion 1, caractérisé par le fait que, pour l'essai du composant en fonctionnement: a) tous les registres de lecture du composant peuvent aussi fonctionner en écriture, b) chaque canal d'émission (42) peut être commuté par le microprocesseur (12) sur chaque canal de réception (26, 28) , et: c) la fonction d'émission vers l'extérieur.peut alors être empêchée.