Brevet FR2656970A1 — publié le 19910712

Transmission de messages sur bus partagé. L'invention concerne la transmission de messages sur bus partagé par plusieurs cartes informatiques qui sont liées à des appareils téléphoniques, des terminaux téléphoniques, ou des microordinateurs. Classiquement, chaque carte étant équipée d'un microprocesseur, celui-ci assure outre des fonctions d'élaboration et de traitement de messages, la réception et l'émission de messages sur le bus partagé Pour chaque émission ou réception de messages sur le bus le microprocesseur doit interrompre son travail en cours et procéder à une sauvegarde avant de traiter l'émission ou la réception d'un message Le temps nécessaire pour sauvegarder des informations réduit de manière importante la disponibilité du microprocesseur pour effectuer les tâches qu'il doit assurer. L'invention a pour but de libérer totalement le microprocesseur de toute fonction de transmission sur le bus, et ainsi de supprimer les contraintes de fonctionnement en temps réel. L'invention a pour objet un système de transmission de messages sur bus partagé relié à des cartes informatiques équipées chacune d'un microprocesseur caractérisé par le fait que chaque carte informatique comporte des moyens de réception pour mémoriser des messages reçus, des moyens d'émission pour mémoriser des messages à émettre et des moyens de contrôle pour recevoir et émettre des messages, que le microprocesseur est relié aux moyens de réception pour prendre connaissance des messages reçus et aux moyens d'émission pour leur délivrer des messages à émettre et que les moyens de contr 8 le sont réliés au bus partagé, aux moyens de réception et d'émission, et au microprocesseur auquel ils délivrent un signal d'attente pour arrêter son fonctionnement pendant un temps nécessaire pour accéder à l'un des moyens de réception et d'émission. L'invention sera bien comprise par la description qui va suivre d'un exemple de réalisation d'un système de transmission illustré par la figure annexée. Dans cette figure le microprocesseur m P est celui de la carte informatique, et seules les liaisons du microprocesseur avec le -2système de transmission sont représentées Le système de transmission de l'invention est constitué par une mémoire de réception MR, de type FIFO, une mémoire d'émission ME, de type FIFO, un contrôleur accès direct mémoire, CADM, un registre émission RE, un registre réception RR, un compteur nombre de messages à émettre NME, un compteur nombre de messages reçus, NMR, un compteur d'adresse courante émission, ACE, un compteur d'adresse courante réception, ACR, et un contrôleur de bus CB. Le système de transmission est relié par son contrôleur de bus CB au bus relié à toutes les cartes informatiques, ce bus étant constitué par un fil de données FD, sur lequel les données sont en série et un fil d'occupation FO porté à l'état " 1 " quand il est libre et à l'état " O " quand il est actif. Le contrôleur de bus CB est relié au registre émission RE par une liaision série émission L 5, au registre réception RR par une liaison série réception L 6, et au contrôleur CADM. Le contrôleur accès direct mémoire, CADM, est relié par une ligne de commande d'émission LCE au registre d'émission RE, et par une ligne de commande de réception LCR au registre de réception RR; il est relié aux compteurs NME, ACE, NMR et ACR; il est également relié au microprocesseur m P par une liaison d'attente Ll et par une liaison d'accusé de réception L 2. Le microprocesseur m P est relié au circuit d'adressage en écriture de la mémoire ME par une liaison adresse d'écriture à l'émission LEME, au circuit d'adressage en lecture de la mémoire de réception MR par une liaison adresse de lecture à la réception LLMR, au compteur NME par une liaison compteur de message à émettre L 3, et au compteur NMR par une liaison compteur de messages reçus L 4. Le compteur ACE est relié au circuit d'adressage en lecture de la mémoire d'émission ME par une liaison adresse de lecture de la mémoire d'émission LLME, et le compteur ACR est relié au circuit d'adressage en écriture de la mémoire de réception MR par une liaison adresse d'écriture de la mémoire de réception LEMR. Un bus de données BD, qui est un bus parallèle, relie le microprocesseur m P, aux mémoires d'émission ME et de réception MR, et -3 aux registres d'émission RE et de réception RR. Toutes les cartes informatiques sont en scrutation du fil d'occupation FO; dès qu'il est actif (état 0) les cartes savent, par leur contrôleur de bus CB, que le premier octet qu'elles reçoivent par le fil de données FD est un octet de contention et qu'il est suivi par un octet d'adresse destinataire Dès qu'un contrôleur de bus reconnaît son adresse il récupère les deux octets suivants qui sont des octets de longueur du message transmis, et les transmet au contrôleur CADM qui les prend en compte pour compter le nombre d'octets du message qui suivent les deux octets de longueur, et incrémenter pour chaque octet de longueur et chaque octet du message, le compteur adresse courante réception ACR, qui est un compteur modulo N, N étant la profondeuri de la mémoire de réception MR. Le contrôleur de bus envoie par la liaison série réception L 6 chaque octet de longueur et de message dans le registre de réception RR; le contrôleur CADM transfère chaque octet dans la mémoire de réception MR à l'adresse indiquée par le compteur ACR et incrémente celui-ci d'une unité à chaque octet transféré Lorsque le message est entièrement reçu, le contrôleur C A D M incrémente d'une unité le compteur nombre de messages reçus NMR. Le microprocesseur m P, lorsqu'il a fini de travailler sur un message reçu ou à émettre, vient scruter le compteur nombre de messages reçus NMR; si ce compteur est à zéro il se met en attente et effectuera une nouvelle scrutation; si le compteur n'est pas à zéro le microprocesseur va lire la mémoire de réception MR par son pointeur de lecture qui est positionné à une adresse qui est celle de la dernière lecture incrémentée d'une unité Les adresses successives de lecture sont délivrées sur la liaison LLMR, la lecture d'un nouveau message commençant par les deux octets de longueur de celui-ci, pour connaître la longueur du message reçu Après lecture complète du message le microprocesseur m P décrémente d'une unité le compteur nombre de messages reçus NMR. Quand le microprocesseur m P a généré un message à transmettre, il l'empile dans la mémoire d'émission ME à laquelle il -4- délivre les adresses d'écriture successives des octets du message par la liaison LEME; après chargement de la mémoire d'émission le microprocesseur m P incrémente d'une unité le compteur nombre de messages à émettre NME. Le contrôleur CADM vient scruter périodiquement le compteur NME; si le compteur n'est pas à zéro, le contrôleur CADM fait une demande de bus, et le contrôleur de bus gère la procédure de contention d'accès au bus FD Cette procédure est la suivante: le contrôleur de bus va scruter le fil d'occupation FO et si ce fil est inactif il le met actif et envoie son octet de contention, puis il compare l'octet de contention envoyé et ce même octet reçu, et si la comparaison est bonne il en informe le contrôleur CADM Le contrôleur CADM commande la lecture de la mémoire d'émission ME par l'intermédiaire du compteur adresse courante émission ACE qui est incrémenté d'une unité après chaque lecture d'un octet; le compteur ACE est un compteur modulo M, M étant la profondeur de la mémoire d'émission ME, et cette profondeur est généralement égale à celle de la mémoire de réception MR; donc M=N Les octets sont transférés successivement dans le registre émission et le contrôleur CADM commande leur émission sur le bus FD via la liaison série L 5 et le contrôleur de bus CB Après envoi du message le contrôleur CADM décrémente d'une unité le compteur NME. Le contrôleur de bus CB injecte donc bit par bit chaque octet du registre d'émission RE, à l'émission; en réception il récupère le message bit par bit pour les envoyer dans le registre de réception RR. A la réception le contrôleur de bus calcule le contrôle cyclique par redondance et le compare à celui reçu; le résultat est transmis à la mémoire de réception MR A l'émission le contrôleur C A D M calcule le contrôle cyclique par redondance et le transmet au contrôleur de bus CB pour émission sur le bus, fil FD. A la réception chaque octet reçu est chargé en série dans le registre de réception RR et transféré en parallèle et sous commande du contrôleur CADM, dans la mémoire de réception MR; à l'émission chaque octet d'un message est transféré en parallèle de la mémoire d'émission ME dans le registre d'émission RE, puis émis en série sur le bus, fil -5- FD A chaque transfert, c'est-à-dire à chaque écriture dans la mémoire de réception MR et à chaque lecture de la mémoire d'émission ME, le contrôleur CADM émet, sur la liaison Ll, un signal d'attente HRQ à destination du microprocesseur m P Ce signal d'attente arrête le fonctionnement du microprocesseur m P, sans cependant déclencher une procédure de sauvegarde; le microprocesseur répond au signal d'attente en émettant sur la liaison L 2 un signal d'accusé de réception HLDA qui autorise le contrôleur CADM à accéder aux mémoires ME et MR Le microprocesseur m P reprend son fonctionnement automatiquement, dès l'inactivation du signal d'attente. Par contre le microprocesseur m P accède librement aux mémoires d'émission ME et de réception MR; le signal d'attente le met dans phase bien précise de son cycle de travail qui ne nécessite pas de sauvegarde, comme cela est le cas dans l'art antérieur ou toute interruption du fonctionnement du microprocesseur entraîne une procédure de sauvegarde qui nécessite beaucoup plus de temps qu'un arrêt de fonctionnement. Dans le système de l'invention le microprocesseur est déchargé des fonctions réception et émission sur bus, et son fonctionnement propre n'est arrêté que le temps nécessaire au contrôleur CADM pour échanger un octet entre une mémoire ME ou MR et le registre correspondant RE ou RR. -6- Revendications: 1) Système de transmission de messages sur bus partagé relié à des cartes informatiques équipées chacune d'un microprocesseur (m P), caractérisé par le fait que chaque carte informatique comporte des moyens de réception (RR, MR) pour mémoriser des messages reçus, des moyens d'émission (ME, RE) pour mémoriser des messages à émettre et des moyens de contrôle (CADM, CB, NME, NMR, ACE, ACR) pour recevoir et émettre des messages, que le microprocesseur est relié aux moyens de réception pour prendre connaissance des messages reçus et aux moyens d'émission pour leur délivrer des messages à émettre et que les moyens de contrôle sont réliés au bus partagé, aux moyens de réception et d'émission, et au microprocesseur auquel ils délivrent un signal d'attente pour arrêter son fonctionnement pendant un temps nécessaire pour accéder à l'un des moyens de réception et d'émission. 2) Système de transmission selon la revendication 1,; caractérisé par le fait que les moyens de réception sont constitués par un registre de réception (RR) et une mémoire de réception (MR), que les moyens d'émission sont constitués par une mémoire d'émission (ME) et un registre d'émission (RE), que les mémoires de réception et d'émission, les registres de réception et d'émission, et le microprocesseur sont reliés par un bus parallèle de données (BD), que le microprocesseur est relié par une liaison adresse de lecture (LLMR) à un circuit d'adressage en lecture de la mémoire de réception, par une liaison adresse d'écriture (LEME) à un circuit d'adressage en écriture de la mémoire d'émission, et que les moyens de contrôle sont reliés par une liaison adresse d'écriture (LEMR) à un circuit d'adressage en écriture de la mémoire de réception, par une liaison adresse de lecture (LLME) à un circuit d'adressage de lecture de la mémoire d'émission, par une ligne de commande d'émission (LCE) au registre d'émission (RE), par une ligne de commande de réception (LCR) au registre de réception (RR), par une liaison série émission (L 5) au registre d'émission, et par une liaison série réception (L 6) au registre de réception. 3) Système de transmission selon la revendication 2, caractérisé par le fait que les moyens de contrôle sont constitués par: un contrôleur de bus (CB) relié au bus partagé, au registre -7- d'émission (RE) par la liaison série émission (L 5), et au registre de réception par la liaison série réception (L 6), un contrôleur accès direct mémoire (CADM) relié au contrôleur de bus, au microprocesseur (m P) par une liaison d'attente (Ll) et une liaison d'accusé de réception (L 2), au registre d'émission (RE) par la ligne de commande d'émission (LCE), et au registre de réception (RR) par la ligne de commande de réception (L 6). un compteur nombre de messages reçus, (NMR) relié au contrôleur accès direct mémoire (CADM) et par une liaison compteur de messages reçus (L 4) au microprocesseur (m P), un compteur adresse courante de réception (ACR) relié au contrôleur accès direct mémoire (CADM) et par une liaison adresse d'écriture (LEMR) à un circuit d'adressage en écriture de la mémoire de réception (MR) un compteur nombre de messages à émettre (NME) relié au contrôleur accès direct mémoire (CADM) et par une liaison compteur de messages à émettre (L 3) au microprocesseur (m P), et un compteur adresse courante d'émission (ACE) relié au contrôleur accès direct mémoire (CADM) et par une liaison adresse de lecture (LLME) à un circuit d'adressage de lecture de la mémoire d'émission (ME).