Brevet FR2686174A1 — publié le 19930716

Système de bus universel La présente invention concerne un système de bus universel, au bus de données duquel sont connectées des sources de données et des collecteurs de données, sous la forme d'utilisateurs contiennent des processeurs de signaux et des mémoires externes rapides, associées à ceux-ci, avec des circuits d'interfaçage et d'accès au bus. On connaît un système de ce type par la DE 39 00 348 Ai Pour une utilisation optimale de la surface (cf DE 39 23 533 Ai), dans le cas d'un arbitrage d'accès au bus, très souple et rapide (cf DE 39 28 481 Al), il est conçu avec un branchement en plusieurs couches de circuits intégrés à utilisation spécifique d'interface de bus (cf DE 39 23 533 Ai) et présente un encombrement extrêmement réduit, y compris en ce qui concerne sa constitution mécanique avec ses utilisateurs du bus, à savoir des circuits d'entrée/sortie rapides et des processeurs de signaux correspondant avec le bus, par l'intermédiaire de mémoires externes rapides (voir brevet US 4, 698, 729). Pour modifier le programme, initialiser et procéder à une analyse de défauts dans des sous- systèmes, en particulier dans les processeurs raccordés, il est nécessaire d'avoir un accès matériel au processeur de signaux concerné, avec un système de développement ou un analyseur logique Mais dans la plupart des utilisateurs, cet accès direct est déjà difficilement possible dans la situation de test et souvent tout à fait impossible dans la situation de fonctionnement, à cause des conditions de câblage et du. caractère compact décrits. L'invention a donc pour but de réaliser, dans un système de bus à multiprocesseurs à plusieurs couches, et de construction compacte, des possibilités d'accès librement sélectionnables par un observateur, à des processeurs utilisateurs, pour des analyses de défauts et des interventions dans le programme. Ce but est atteint suivant l'invention avec un système de bus du type précité en ce que les utilisateurs qui ne sont pas accessibles de l'extérieur pour des émulations, initialisations ou vérifications de logique, sont accessibles à partir d'une commande auxiliaire externe pour interventions dans le programme et appels de données, par l'intermédiaire du bus, cette commande auxiliaire étant raccordée à au moins un utilisateur avec un branchement, accessible de l'extérieur, en vue de la télécommande et de la télésurveillance. D'après cette solution, il suffit de concevoir ou de disposer, électriquement et mécaniquement, au moins l'un des utilisateurs raccordés au bus central, de manière qu'il soit matériellement accessible, directement ou en tout cas par sa mémoire supplémentaire externe rapide, pour une commande auxiliaire de surveillance au moins temporaire Dans ce cas, il est possible d'introduire, de l'extérieur, un bloc de données de commande qui est envoyé, de manière arbitrée, au système de bus, par cette interface de processeur de signaux (désignée ci-après aussi par circuit d'interfaçage), associée à cet utilisateur, afin de déclencher les interventions actuelles concernées chez l'utilisateur à surveiller, non accessible matériellement, par un registre de surveillance de télécommande dans le circuit d'interfagage-cible. Ces interventions peuvent être l'interrogation et la retransmission d'une configuration actuelle de bits d'instruction, après un arrêt passager ou un fonctionnement ralenti de l'utilisateur surveillé, cette commutation ainsi que le retour au fonctionnement normal étant alimentés, à partir de la commande auxiliaire de surveillance, avec le bloc de données de commande; il peut s'agir aussi de l'initialisation de sélection à partir d'une gamme de programmes de fonction préparés ou même d'une intervention directe dans la programmation, afin de modifier un programme de traitement de signaux existant chez l'utilisateur commandé Mais au moyen de la commande auxiliaire externe il est possible aussi de vérifier si la mémoire externe d'un utilisateur quelconque contient des blocs de données correctement générés, sous des adresses concernant de manière spécifique le système Ces blocs peuvent être appelés, en vue de la vérification pendant le fonctionnement courant du bus, à partir de la mémoire de l'utilisateur concerné et être mémorisés de manière intermédiaire dans le circuit d'interfaçage associé, dans le registre de surveillance, jusqu'à ce que l'accès au bus soit possible dans la commande auxiliaire, en vue de la transmission à l'exploitation externe. Le bloc de données de télécommande est envoye, comme l'information en retour ainsi déclenchée, provenant de l'utilisateur surveillé, dans les circuits d'interfaçage, par les registres de surveillance, afin d'éviter des collisions avec des données de fonctionnement, mais pour le reste il est transmis comme un bloc de données ordinaire (en règle générale toutefois avec la plus grande priorité d'arbitrage possible) à la mémoire supplémentaire externe, ayant précisément en cet instant la fonction de réception, du processeur de signaux de l'utilisateur, donc adressé et traité pour le reste comme un bloc de données ordinaire. Grâace au moyen suivant l'invention, il est donc possible, dans la situation de test comme en fonctionnement, d'accéder à des utilisateurs quelconques du bus, à partir d'une seule interface matérielle et d'échanger, comme des données de fonctionnement ordinaires, des instructions de contrôle et des informations de contrôle, indépendamment du type et du sens de transmission des données de fonction ordinaires, par recours au protocole de bus, de toute façon organisé pour le fonctionnement, ces informations de surveillance recevant toutefois opportunément la plu S grande priorité d'arbitrage actuelle C'est ainsi qu'un accès direct rapide à l'utilisateur concerné peut être réalisé par son interface de bus, avec un sens quelconque de transmission des données, pour gêner aussi peu que possible le fonctionnement normal de cet utilisateur, par la fonction de surveillance, par l'intermédiaire de l'effet tampon de la mémoire rapide externe, au cours de la télécommande d'interface. Diverses autres caractéristiques et avantages de l'invention ressortent de la description détaillée qui suit Un mode de réalisation de l'invention est représenté à titre d'exemple non limitatif sur le dessin annexé. La figure unique est un schéma fonctionnel unipolaire, simplifié de manière symbolique, de plusieurs utilisateurs qui par des circuits d'interfaçage, qui leur sont associés, ont accès à un bus commun, en tant qu'émetteurs et récepteurs de données. Comme décrit en détail dans la DE 39 00 348 A 1 déjà citée, il s'agit pour les utilisateurs P, P', connectés au bus B dans la mesure o ceux-ci ne sont pas des circuits d'entrée/sortie rapides de processeurs de signaux S' programmés qui génèrent des données D, pour les envoyer à d'autres utilisateurs P', ou pour traiter des données D' qu'ils ont reçues d'autres utilisateurs P Chacun de ces utilisateurs P, P' peut donc servir aussi bien de source de données que de collecteur de données. Pour réduire autant que possible les temps d'occupation du bus B, après qu'un utilisateur P, P' a 2686174 eu accès, par une procédure d'arbitrage (cf DE 39 28 481 Al) pour un transfert (émission ou réception) de données D, DI, les données D, Dl sortant ou entrant ne sont pas délivrées ou reçues directement par les processeurs de signaux S, Si, mais sont mémorisés de façon intermédiaire dans des mémoires rapides externes R, RI, avec accès optionnel (en ce qui concerne les processeurs, RAM externes) En cas d'accès autorisé au bus, l'appel ou le stockage du bloc actuel de données D, D' s'effectue par l'intermédiaire d'un circuit d'interfaçage I, Il (interface de bus de système) associé à un utilisateur P, P', une information directrice étant complétée à partir d'une mémoire intermédiaire d'interface Z, Z Le bloc de données D, D' finalement délivré au bus ou reçu par celui-ci, contient, outre l'information de signal proprement dite, des indications d'origine et de destination pour l'identification sans équivoque de la source et pour la mémorisation ciblée dans un utilisateur P' récepteur déterminé, et en outre des informations complémentaires relatives à l'urgence de l'accès au bus (caractéristique d'arbitrage) ainsi que des informations de commande internes, en particulier concernant la longueur du bloc de données D à transmettre actuellement et, côté réception, à mémoriser de façon intermédiaire dans le registre de la mémoire externe R'. Pour l'initialisation de fonctions déterminées dans des utilisateurs P, Pl déterminés, à savoir par exemple pour l'initialisation du système mais aussi pour l'adaptation d'un utilisateur P, P' déterminé dans le système complet déjà initialisé à d'autres tâches ou à des tâches modifiées, il est intéressant d'avoir un accès matériel externe ciblé aux processeurs S, SI de l'utilisateur, par exemple au moyen d'un émulateur en vue de modifier le programme interne de traitement des signaux ou au moyen d'un moniteur (console à clavier et écran) en vue de la surveillance des données, désigné ici, d'une manière générique, par commande auxiliaire temporaire H A cause du caractère extrêmement compact de la construction électrique et mécanique en plusieurs couches de ces systèmes complexes de multiprocesseurs (voir brevet US 4, 698, 729 et DE 39 23 533 A 1), sans compter la réalisation de nombreuses fonctions à l'intérieur des circuits d'un circuit intégré d'utilisation spécifique, un grand nombre d'utilisateurs P, P' ne sont pas accessibles pour un accès direct externe en vue de l'interrogation de la tension sur une résistance ou de l'alimentation de signaux dans des voies de circuit déterminées. Il est donc prévu, suivant l'invention, d'équiper chaque utilisateur P, Pl directement ou en tout cas son circuit d'interfaçage d'accès au bus I, I', d'un registre de surveillance 0, 0 ' (qui peut être réalisé en tant que partie d'une mémoire globale dans laquelle est définie aussi la mémoire intermédiaire Z, Z') et d'équiper un nombre réduit d'utilisateurs P, en tout cas au moins un, favorablement conçus et configurés pour un accès externe, de ce système de bus à multiprocesseurs, avec un branchement électromécanique G pour la fonction de surveillance et d'intervention de la commande auxiliaire temporaire H. Ce branchement G n'agit opportunément pas directement sur le processeur de signaux S, SI associé, mais comme le circuit d'interfaçage d'accès au bus I, I', associé, par l'intermédiaire de sa mémoire externe R, afin de ne pas gêner l'échange fonctionnel de données D, D' dans le bus. Au moyen de la commande auxiliaire Hl indirectement reliée au bus B, par cet utilisateur P accessible de l'extérieur, il est possible d'introduire, pour la surveillance du fonctionnement ou pour l'influencer, dans de tout autres parties du système de bus, un bloc de données de commande d, généré de façon externe, et de le stocker de manière intermédiaire dans la mémoire externe R rapide, qui, en cas d'appel d'interface, par le circuit d'interfagage I, exerce des fonctions déterminées dans un utilisateur P' déterminé, connecté de manière tout autre à ce système de bus, mais non accessible de façon externe, ou difficilement accessible C'est ainsi qu'il est possible de faire en sorte que dans l'utilisateur P' concerné, le traitement des signaux soit commuté sur un fonctionnement de surveillance pas à pas ou soit totalement mis à l'arrêt, jusqu'à ce que la commande auxiliaire H exécute, par exemple, une analyse des défauts et, après un changement de programme, le fonctionnement normal soit à nouveau autorisé Pour cela, le registre de surveillance 0 fait que dans l'utilisateur P, servant à la commande auxiliaire H, ce bloc de données de commande d obtienne une priorité d'accès au bus aussi grande que possible, pour rendre opérants, de manière aussi rapide que possible, par exemple les changements de programme dans l'utilisateur P, appelé par le bus B, ou pour pouvoir appeler sans délai des configurations de bits, actuellement concernées, à partir de l'utilisateur P' à surveiller. Dans cet utilisateur P' à surveiller, le registre de télécommande 0 ' fait en outre que le bloc de données de commande d n'est pas traité chez l'utilisateur P' comme des données à traiter du fonctionnement ordinaire du bus, mais que l'information Dl qui intéresse est mémorisée de manière intermédiaire par le processeur S' dans la mémoire externe R' et est transmise ensuite, lors de l'accès au bus suivant, par le circuit d'interfaçage I' à la mémoire externe R à laquelle est reliée la commande auxiliaire H. Il suffit donc d'un seul utilisateur P de bus, accessible matériellement, de façon externe, pour agir sur un autre utilisateur P' quelconque, non accessible non plus de façon externe, de manière en quelque sorte a 2686174 télécommandée indépendamment des données de fonctionnement de l'utilisateur P et du sens de transmission de celles-ci, à savoir par l'intermédiaire du bus du système B, afin d'initialiser par exemple cet utilisateur Pl ou de le reprogrammer ou encore de vérifier seulement son fonctionnement en service courant. REVENDICATIONS 1 Système de bus universel, au bus de données (B) duquel sont connectés des sources de données et des collecteurs de données, sous la forme d'utilisateurs (P, P') qui contiennent des processeurs de signaux (S, S') et des mémoires (R, R') externes rapides, associées à ceux-ci, avec des circuits d'interfaçage et d'accès au bus (I, I'), caractérisé en ce que les utilisateurs (P') qui ne sont pas accessibles de l'extérieur pour des émulations, initialisations ou vérifications de logique, sont accessibles à partir d'une commande auxiliaire (H) externe pour interventions dans le programme et appels de données, par l'intermédiaire du bus (B), cette commande auxiliaire étant raccordée à au moins un utilisateur (P) avec un branchement (G), accessible de l'extérieur, en vue de la télécommande et de la télésurveillance. 2 Système de bus selon la revendication 1, caractérisé en ce que la commande auxiliaire (H) chez l'utilisateur (P), accessible de l'extérieur, peut être commuté sur son processeur de signaux (S). 3 Système de bus selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que la commande auxiliaire (H) chez l'utilisateur (P), accessible de l'extérieur, a accès au circuit d'interfaçage et d'-laccès au bus (I), par sa mémoire (R) externe. 4 Système de bus selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les circuits d'interfaçage (I, I') comportent des registres de surveillance ( 0, O ') pour la mémorisation intermédiaire d'un bloc de données de commande (d), déclenché, de façon actuelle, par la commande auxiliaire (H) et, le cas échéant aussi, pour la mémorisation intermédiaire de données (DI) à retransmettre à la commande auxiliaire (H). Système de bus selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les informations déclenchées ou appelées par la commande auxiliaire (H) bénéficient de la plus grande priorité d'arbitrage pour l'accès au bus. 6 Système de bus selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la commande auxiliaire (H) est un système de développement pour des interventions de programmation dans les processeurs (SI) des utilisateurs. 7 Système de bus selon l'une quelconque des revendications 1 à 6, caractérise en ce que la commande auxiliaire (H) est la console à écran d'un système de test permettant aussi des interventions dans le fonctionnement actuel d'un utilisateur (Pl).