Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR INITIALISING A SERIAL LINK BETWEEN TWO INTEGRATED CIRCUITS COMPRISING A PARALLEL-SERIAL PORT AND DEVICE FOR IMPLEMENTING SAME
Document Type and Number:
WIPO Patent Application WO/1998/037494
Kind Code:
A1
Abstract:
The invention concerns a method for initialising a serial link between two integrated circuits comprising a parallel-serial port and the device for implementing the method. The method for initialising a serial link between two integrated circuits comprising an input-output port between a parallel bus and a serial link, said port using two clocks of different frequencies, a first one, with higher frequency for the serial link and called transmitting clock (CKT), a second one, with lower frequency for signals coming from the parallel bus and called clock system (CKS). The invention is characterised in that it consists in the following steps: reinitialising the port with isolation of the receiver clock logic; reinitialisation of the transmitting clock logic (CKT); resetting the serial link between the two ports. The invention also concerns an iteration loop process, automatic or dependent on a microprocessor for implementing a bi-directional serial link.

Inventors:
AUTECHAUD JEAN-FRANCOIS (FR)
DIONET CHRISTOPHE (FR)
Application Number:
PCT/FR1998/000312
Publication Date:
August 27, 1998
Filing Date:
February 18, 1998
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BULL SA (FR)
AUTECHAUD JEAN FRANCOIS (FR)
DIONET CHRISTOPHE (FR)
International Classes:
G06F11/267; G06F13/38; H04L29/06; G06F11/10; H04L29/08; (IPC1-7): G06F13/40
Foreign References:
US5522088A1996-05-28
US4577317A1986-03-18
US5544319A1996-08-06
Attorney, Agent or Firm:
Denis, Herv� (68 route de Versailles, Louveciennes, FR)
Download PDF:
Claims:
REVENDICATIONS
1. Procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port d'entréesortie entre un bus parallèle et une liaison série ; ledit port utilisant deux horloges de fréquences différentes, une première de haute fréquence pour la liaison série et appelée horloge de transmission CKT/CKR (CKT recouvrée), une deuxième, de fréquence plus basse pour les signaux arrivant du bus parallèle et appelée horloge système (CKS), et caractérisé en ce qu'il comporte les étapes suivantes : réinitialisation du port avec isolement de la logique d'horloge de réception ; réinitialisation de la logique d'horloge de transmission (CKT) ; remise à zéro du lien série entre les deux ports.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape de réinitialisation qu port comporte : une étape dans laquelle le microprocesseur associé au port à réinitialiser envoie une succession de messages neutres qui permettent à une ligne à retard de réception (LLR) de se caler sur ces messages neutres et d'en extraire un signal d'horloge de réception (CKR), puis d'émettre un signal (CAL) indiquant que I'horloge de réception est calibrée.
3. Procédé selon la revendication 1, caractérisé en ce que le microprocesseur associé au circuit intégré déconnecte le port en n'envoyant aucune donnée sur le bus parallèle qui le relie à ce port ; le circuit intégré désactive sa sortie série et envoie un signal à 0 volt mlé éventuellement à du bruit ; le circuit intégré met son compteur de jetons à zéro pour éviter d'envoyer des messages et réinitialise tous ces pointeurs.
4. Procédé selon les revendications 2 et 3, caractérisé en ce que chacune des étapes précédentes est reproduite sur chacun des ports de chacun des circuits reliés par la liaison série.
5. Procédé selon la revendication 4, caractérisé en ce que les étapes d'initialisation des ports se poursuivent par une étape d'initialisation de la communication série.
6. Procédé selon la revendication 5, caractérisé en ce que cette étape d'initialisation de la communication série comporte : une étape d'établissement de la liaison maitre/esclave ; une étape d'établissement de la liaison esclave/maitre ; une étape de connexion du bus parallèle sur le port du circuit maître ; une étape de connexion du bus parallèle sur le port du circuit esclave.
7. Procédé selon la revendication précédente, caractérisé en ce que l'étape de l'établissement de la liaison maître/esclave comporte : une étape dans laquelle le processeur de la carte du circuit maître positionne une entrée (OE) du port à une valeur 1 et transmet un flot continu de caractères nuls ; une étape de calibration de I'horloge de réception (CKR) du port du circuit esclave ; et une étape d'émission d'une interruption vers le microprocesseur associé au circuit esclave ; une étape de réinitialisation de la logique d'horloge de réception du circuit esclave et d'émission de deux messages fictifs dans les buffers de réception du port du circuit esclave ; une étape de positionnement d'une entrée (OE) du port du circuit esclave à la valeur 1 ; et une étape de transmission de messages neutres/caractères nuls pendant une durée suffisante déterminée par un signal d'échantillonnage périodique du port esclave.
8. Procédé selon la revendication 6, caractérisé en ce que l'étape d'établissement de la liaison esclave/maitre comporte : une étape de calibrage de I'horloge de réception (CKR) du port du circuit maître et de positionnement du signal de calibration de ce port au niveau 1 ; une étape d'envoi d'une interruption vers le microprocesseur associé à ce circuit maître ; une étape de réinitialisation de la logique d'horloge de réception (CKR) du port de ce circuit maître et de chargement de deux messages fictifs dans les tampons de réception du circuit maître.
9. Procédé selon la revendication 6, caractérisé en ce que l'étape de connexion du bus parallèle sur le port comporte : une étape au cours de laquelle le microprocesseur associé au circuit maître connecte son bus parallèle au port du circuit maître ; une étape de lecture des messages fictifs émis précédemment et d'envoi de deux jetons au port du circuit esclave ; une étape de réception des deux jetons par le circuit esclave ; et une étape d'émission par ce dernier d'une interruption à destination du microprocesseur associé ; une étape de connexion des bus parallèle du microprocesseur associé au circuit esclave ; une étape de lecture des messages fictifs ; et une étape d'envoi de deux jetons au circuit maître.
10. Procédé selon la revendication précédente, caractérisé en ce que les jetons sont générés par une opération de lecture des messages fictifs stockés dans les tampons (RCBUF) du port maître respectivement esclave.
11. Procédé selon une des revendications précédentes, caractérisé en ce que la détection d'une perte de calibration sur l'un ou l'autre des ports ou une commande de réinitialisation de la liaison déclenche la succession des étapes suivantes : une étape d'isolation de la logique d'horloge de réception ; une étape de désactivation du signal OE entraînant pour le circuit ayant détecté la perte de calibration l'interruption des transmissions de données au circuit de réception éteigne ; une étape de détection de la perte de calibration par le port du circuit de réception éloigné ; et une étape de démarrage de la procédure d'isolement de la logique d'horloge de réception de ce circuit.
12. Dispositif permettant la mise en oeuvre du procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port d'entréesortie entre un bus parallèle et une liaison série ; ledit port utilisant deux horloges de fréquences différentes, une première, de fréquence plus élevée pour la liaison série et appelée horloge de transmission/réception (CKT, CKR), une deuxième, de fréquence plus basse pour les signaux arrivant du bus parallèle et appelée horloge système (CKS) ou basse fréquence est caractérisé en ce qu'il comporte : des moyens de réinitialisation du port avec isolement de la logique d'horloge de réception ; des moyens de réinitialisation de la logique d'horloge de transmission ; des moyens de remise à zéro du lien série entre les deux ports.
13. Dispositif selon la revendication 12, caractérisé en ce qu'il comporte des moyens permettant au microprocesseur associé au port à réinitialiser, d'envoyer une succession de messages neutres qui permettent à une ligne à retard de réception (LLR) de se caler sur ces messages neutres et d'en extraire un signal d'horloge de réception (CKR), puis d'émettre un signal (CAL) indiquant que I'horloge de réception est calibrée.
14. Dispositif selon la revendication 12, caractérisé en ce qu'il comporte : des moyens permettant au microprocesseur associé au circuit intégré de déconnecter le port en n'envoyant aucune donnée sur le bus parallèle qui le relie à ce port ; des moyens permettant au circuit intégré de désactiver ces sorties et d'envoyer un signal à 0 volt mlé éventuellement à du bruit ; des moyens permettant au circuit intégré de mettre son compteur de jetons à zéro pour éviter d'envoyer des messages et de réinitialiser tous ses pointeurs.
15. Dispositif selon les revendications 13 et 14, caractérisé en ce qu'il comporte des moyens permettant de reproduire chacune des étapes du procédé sur chacun des ports de chacun des circuits reliés par la liaison série.
16. Dispositif selon la revendication 15, caractérisé en ce qu'il comporte des moyens permettant de poursuivre les étapes d'initialisation des ports par une étape d'initialisation de la communication série.
17. Dispositif selon la revendication 16, caractérisé en ce qu'il comporte : des moyens d'établissement de la liaison maître/esclave ; des moyens d'établissement de la liaison esclave/maître ; des moyens de connexion du bus parallèle sur le port du circuit maître ; des moyens de connexion du bus parallèle sur le port du circuit esclave.
18. Dispositif selon la revendication précédente, caractérisé en ce qu'il comporte : des moyens permettant au processeur de la carte du circuit maître de positionner une entrée du port à une valeur déterminée et de transmettre un flot continu de caractères nuls ; des moyens de calibration de I'horloge de réception du port du circuit esclave ; des moyens d'émission d'une interruption vers le microprocesseur associé au circuit esclave ; des moyens de réinitialisation de la logique d'horloge de réception du circuit esclave et d'émission de deux messages fictifs dans les buffers de réception du port du circuit esclave ; des moyens de positionnement d'une entrée du port du circuit esclave à la valeur 1 ; et des moyens de transmission de caractères nuls pendant une durée suffisante et de validation d'un signal de recalibration périodique du port esclave.
19. Dispositif selon la revendication 16, caractérisé en ce qu'il comporte : des moyens de calibrage de I'horloge de réception (CKR) du port du circuit maître et de positionnement du signal de calibration de ce port au niveau 1 ; des moyens d'envoi d'une interruption vers le microprocesseur associé à ce circuit maître ; des moyens de réinitialisation de la logique d'horloge de réception (CKR) du port de ce circuit maître et de chargement de deux messages fictifs dans les tampons de réception du circuit maître.
20. Dispositif selon la revendication 16, caractérisé en ce qu'il comporte : des moyens au cours de laquelle le microprocesseur associé au circuit maître connecte son bus parallèle au port du circuit maître ; des moyens de lecture des messages fictifs émis précédemment et d'envoi de deux jetons au port du circuit esclave ; des moyens de réception des deux jetons par le circuit esclave ; et des moyens d'émission par ce dernier d'une interruption à destination du microprocesseur associé ; des moyens de connexion des bus parallèle du microprocesseur associé au circuit esclave ; des moyens de lecture des messages fictifs ; et des moyens d'envoi de deux jetons au circuit maître.
21. Dispositif selon la revendication précédente, caractérisé en ce que des moyens génèrent des jetons par une opération de lecture des messages fictifs stockés dans les tampons du port maître respectivement esclave.
22. Dispositif selon une des revendications précédentes, caractérisé en ce que des moyens de détection d'une perte de calibration sur l'un ou !'autre des ports ou de commande de réinitialisation de la liaison déclenche : des moyens d'isolation de la logique d'horloge de réception ; des moyens de désactivation du signal entraînant pour le circuit ayant détecté la perte de calibration l'interruption des transmissions de données au circuit de réception éteigne ; des moyens de détection de la perte de calibration par le port du circuit de réception éteigne ; et des moyens de démarrage de la procédure d'isolement de la logique d'horloge de réception de ce circuit.
Description:
PROCEDE D'INITIALISATION D'UNE LIAISON SERIE ENTRE DEUX CIRCUITS INTEGRES COMPORTANT UN PORT PARALLELE SERIE ET DISPOSITIF DE MISE EN OEUVRE DU PROCEDE La présente invention concerne un procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port parallèle série et série parallèle, le dispositif permettant la mise en oeuvre du procédé.

Ce premier but est atteint par le fait que le procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port d'entrée- sortie entre un bus parallèle et une liaison série ; ledit port utilisant deux horloges de fréquences différentes, une première de haute fréquence pour la liaison série et appelée horloge de transmission et réception CKT/CKR, une deuxième de fréquence plus basse pour les signaux arrivant du bus parallèle du système (CKS), et caractérisé en ce qu'il comporte les étapes suivantes : réinitialisation du port avec isolement de la logique d'horloge de réception ; réinitialisation de la logique d'horloge de transmission (CKT) (parallèle série) ; remise à zéro du lien série entre les deux ports.

Selon une autre particularité, t'étape de réinitialisation du port comporte : une étape dans laquelle le microprocesseur associé au port à réinitialiser envoie une succession de messages neutres qui permettent à une ligne à retard de réception (LLR) de se caler sur ces messages neutres et d'en extraire un signal d'horloge de réception (CKR), puis d'émettre un signal (CAL) indiquant que I'horloge de réception est calibrée.

Selon une autre particularité, le microprocesseur associé au circuit intégré déconnecte le port parallèle en n'envoyant aucune donnée sur le bus parallèle qui le relie à ce port ;

le circuit intégré désactive chacune de ses sorties série et envoie un signal à 0 volt mlé éventuellement à du bruit ; le circuit intégré met son compteur de jetons à zéro pour éviter d'envoyer des messages et réinitialise tous ces pointeurs.

Selon une autre particularité, chacune des étapes précédentes est reproduite sur chacun des ports de chacun des circuits reliés par la liaison série.

Selon une autre particularité, les étapes d'initialisation des ports se poursuivent par une étape d'initialisation de la communication série (MM).

Selon une autre particularité, cette étape d'initialisation de la communication série comporte : une étape d'établissement de la liaison maître/esclave ; une étape d'établissement de la liaison esclave/maitre ; une étape de connexion du bus parallèle sur le port du circuit maître ; une étape de connexion du bus parallèle sur le port du circuit esclave.

Selon une autre particularité, l'étape de l'établissement de la liaison maître/esclave comporte : une étape dans laquelle le processeur de la carte du circuit maître positionne une entrée (OE) du port à une valeur 1 et transmet un flot continu de caractères nuls ; une étape de calibration de l'horloge de réception (CKR) du port du circuit esclave ; et une étape d'émission d'une interruption vers le microprocesseur associé au circuit esclave ; une étape de réinitialisation de la logique d'horloge de réception du circuit esclave et d'émission de deux messages fictifs dans les buffers de réception du port du circuit esclave ; une étape de positionnement d'une entrée (OE) du port du circuit esclave à la valeur 1 ; et

une étape de transmission de caractères nuls pendant une durée suffisante déterminée par un signal d'échantillonnage périodique du port esclave.

Selon une autre particularité, I'étape d'établissement de la liaison esclave/maître comporte : une étape de calibrage de transmission du port du circuit maître et de positionnement du signal de calibration de ce port au niveau 1 ; une étape d'envoi d'une interruption vers le microprocesseur associé à ce circuit maître ; une étape de réinitialisation de la logique d'horloge de réception du port de ce circuit maître et de chargement de deux messages fictifs dans les tampons de réception du circuit maître.

Selon une autre particularité, l'étape de connexion du bus parallèle sur le port comporte : une étape au cours de laquelle le microprocesseur associé au circuit maître connecte son bus parallèle au port du circuit maître ; une étape de lecture des messages fictifs émis précédemment et d'envoi de deux jetons au port du circuit esclave ; une étape de réception des deux jetons par le circuit esclave ; et une étape d'émission par ce dernier d'une interruption à destination du microprocesseur associé ; une étape de connexion des bus parallèle du microprocesseur associé au circuit esclave ; une étape de lecture des messages fictifs ; et une étape d'envoi de deux jetons au circuit maître.

Selon une autre particularité, les jetons sont générés par une opération de lecture des messages fictifs stockés dans les tampons (RCBUF) du port maître respectivement esclave.

Selon une autre particularité, la détection d'une perte de calibration sur l'un ou I'autre des ports ou une commande de réinitialisation de la liaison déclenche la succession des étapes suivantes :

une étape d'isolation de la logique d'horloge de réception ; une étape de désactivation du signal OE entraînant pour le circuit ayant détecté la perte de calibration l'interruption des transmissions de données au circuit de réception éloigné ; une étape de détection de la perte de calibration par le port du circuit de réception éloigné ; et une étape de démarrage de la procédure d'isolement de la logique d'horloge de réception de ce circuit.

Un autre but de l'invention est un dispositif permettant la mise en oeuvre du procédé.

Ce deuxième but est atteint par le fait que le dispositif permettant la mise en oeuvre du procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port d'entrée-sortie entre un bus parallèle et une liaison série ; ledit port utilisant deux horloges de fréquences différentes, une première, de fréquence plus élevée pour la liaison série et appelée horloge de transmission/réception, une deuxième, de fréquence plus basse pour les signaux arrivant du bus parallèle et appelée horloge système ou basse fréquence est caractérisé en ce qu'il comporte : des moyens de réinitialisation du port avec isolement de la logique d'horloge de réception ; des moyens de réinitialisation de la logique d'horloge de transmission ; des moyens de remise à zéro du lien série entre les deux ports.

Selon une autre particularité, le dispositif comporte des moyens permettant au microprocesseur associé au port à réinitialiser, d'envoyer une succession de messages neutres qui permettent à une ligne à retard de réception de se caler sur ces messages neutres et d'en extraire un signal d'horloge de réception, puis d'émettre un signal indiquant que I'horloge de réception est calibrée.

Selon une autre particularité, le dispositif comporte :

des moyens permettant au microprocesseur associé au circuit intégré de déconnecter le port en n'envoyant aucune donnée sur le bus parallèle qui le relie à ce port ; des moyens permettant au circuit intégré de désactiver ces sorties et d'envoyer un signal à 0 volt mlé éventuellement à du bruit ; des moyens permettant au circuit intégré de mettre son compteur de jetons à zéro pour éviter d'envoyer des messages et de réinitialiser tous ses pointeurs.

Selon une autre particularité, le dispositif comporte des moyens permettant de reproduire chacune des étapes du procédé sur chacun des ports de chacun des circuits reliés par la liaison série.

Selon une autre particularité, le dispositif comporte des moyens permettant de poursuivre les étapes d'initialisation des ports par une étape d'initialisation de la communication série.

Selon une autre particularité, le dispositif comporte : des moyens d'établissement de la liaison maitre/esclave ; des moyens d'établissement de la liaison esclave/maître ; des moyens de connexion du bus parallèle sur le port du circuit maître ; des moyens de connexion du bus parallèle sur le port du circuit esclave.

Selon une autre particularité, le dispositif comporte : des moyens permettant au processeur de la carte du circuit maître de positionner une entrée du port à une valeur déterminée et de transmettre un flot continu de signaux d'attente ; des moyens de calibration de I'horloge de réception du port du circuit esclave ; des moyens d'émission d'une interruption vers le microprocesseur associé au circuit esclave ;

des moyens de réinitialisation de la logique d'horloge de réception du circuit esclave et d'émission de deux messages fictifs dans les buffers de réception du port du circuit esclave ; des moyens de positionnement d'une entrée du port du circuit esclave à la valeur 1 ; et des moyens de transmission de caractères nuls pendant une durée suffisante et de validation d'un signal de recalibration périodique du port esclave.

Selon une autre particularité, le dispositif comporte : des moyens de calibrage de l'horloge de transmission du port du circuit maître et de positionnement du signal de calibration de ce port au niveau 1 ; des moyens d'envoi d'une interruption vers le microprocesseur associé à ce circuit maître ; des moyens de réinitialisation de la logique d'horloge de réception du port de ce circuit maître et de chargement de deux messages fictifs dans les tampons de réception du circuit maître.

Selon une autre particularité, le dispositif comporte : des moyens au cours de laquelle le microprocesseur associé au circuit maître connecte son bus parallèle au port du circuit maître ; des moyens de lecture des messages fictifs émis précédemment et d'envoi de deux jetons au port du circuit esclave ; des moyens de réception des deux jetons par le circuit esclave ; et des moyens d'émission par ce dernier d'une interruption à destination du microprocesseur associé ; des moyens de connexion des bus parallèle du microprocesseur associé au circuit esclave ; des moyens de lecture des messages fictifs ; et des moyens d'envoi de deux jetons au circuit maître.

Selon une autre particularité, les moyens génèrent des jetons par une opération de lecture des messages fictifs stockés dans les tampons du port maître respectivement esclave.

Selon une autre particularité, les moyens de détection d'une perte de calibration sur l'un ou l'autre des ports ou de commande de réinitialisation de la liaison déclenche : des moyens d'isolation de la logique d'horloge de réception ; des moyens de désactivation du signal entraînant pour le circuit ayant détecté la perte de calibration l'interruption des transmissions de données au circuit de réception éloigné ; des moyens de détection de la perte de calibration par le port du circuit de réception éloigné ; et des moyens de démarrage de la procédure d'isolement de la logique d'horloge de réception de ce circuit.

D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après faite en référence aux dessins annexés illustratifs d'un mode non limitatif de réalisation de l'invention dans lesquels : la figure 1A représente la partie du circuit intégré constituant le port d'interface série-parallèle ; la figure 1B représente une vue de détail de la cellule de circuit intégré constituant le sérialiseur/désérialiseur ; la figure 2A représente un exemple d'application du port d'entrée sortie série parallèle de la figure 1. la figure 2B représente le schéma d'architecture d'une machine utilisant un tel circuit intégré ; la figure 3A représente les différentes étapes de la procédure d'initialisation d'un lien série entre deux ports appartenant à des cartes différentes ; la figure 3B est une autre représentation de la procédure d'initialisation entre deux ports ;

la figure 3C représente la constitution d'un message envoyé sur le lien série ; la figure 3D représente le logigramme de gestion des trames ; la figure 4A représente un circuit de substitution de caractères d'erreurs ; la figure 4B représente un circuit d'historique ; Le port 10o appelé bloc de contrôle de la liaison série SLC (Serial Link Control) est incorporé dans un circuit intégré du type de celui par exemple représenté à la figure 2A. Ce circuit intégré (1) comporte une pluralité de port 10°, 10', 102, 103 du mme type que celui de la figure 1, lesquels communiquent à une fréquence système par exemple de 33 MHz, avec deux bus parallèles de données de 72 bits, L2CB en entrée (6) et C2LB en sortie (7). Ces bus parallèles communiquent avec des circuits logiques réalisant pour le circuit (3) une fonctionnalité d'interface avec un microprocesseur (11) par l'intermédiaire d'un bus 64 bits (30), pour le circuit (4) une fonctionnalité de déplacement (MOVER) pour le circuit intégré lorsque celui-ci est incorporé dans une carte de type données, et pour le circuit (5) une fonctionnalité de contrôleur mémoire (Slave Control). Ces circuits (3,4, 5) communiquent également par deux bus de données de 72 bits M2CB (9), C2MB (8), avec deux interfaces d'entrée sortie IOBX 2°, 2', qui permettent la communication avec des bus 36 bits provenant soit d'une mémoire (12a, fig. 2B) principale MMU, soit d'une mémoire (12c) d'extension EMU comme représenté à la figure 2B. Un bus de commande CPB permet au microprocesseur (11) communiquant avec le circuit intégré (1) d'accéder aux registres de contrôle et de statut (Status) des différents circuits (3,4, 5, 2,10) présent dans le circuit intégré. Ce circuit intégré (1) est utilisé dans une machine comportant une mémoire principale (12a), une mémoire étendue partageable par plusieurs systèmes (12c). Un premier circuit intégré (1a) maître selon l'invention-communique par le bus (30) avec un premier processeur (11a) et par l'interface IOBX avec la mémoire (12a), tandis qu'un deuxième circuit intégré (1 c) esclave communique d'une part, avec le premier circuit maître (1 a), et d'autre part par le bus (30a) avec un deuxième

processeur (lac) et avec une mémoire étendue (12c). Le port (10a) de transmission parallele série et de réception série parallèle du circuit (1a), comporte pour la partie transmission une paire de tampons de données (buffers) TDBUF de 8 x 72 bits reliés au bus de transmission C2LB. Un multiplexeur (103) permet de sélectionner l'un des deux tampons (buffers) TDBUF ou le tampon (buffer) TCBUF de signaux de commande qui contient l'en-tte. Les informations sortant du multiplexeur (103) sont envoyées sur un circuit (105) de désassemblage, lequel génère une succession de 9 bits série constituant les caractères à transmettre. Ce circuit de désassemblage (105) est également relié à un circuit de génération de caractère de contrôle cyclique redondant CRC (106T). Un second multiplexeur (107) permet de sélectionner les signaux transmis à un codeur (108T) permettant le codage 9/12 des informations transmises en associant au caractère normal formé d'un nonet, un bit de contrôle et, en comp ! étant à 12 bits par un bit de start et un bit de stop. Le codage 9/12 est effectué pour que le signal transmis sur la ligne série ne comporte pas de composantes continue (DC Balance). Le multiplexeur (107) reçoit des signaux provenant d'une machine (1021T) d'état de transmission du lien série qui contient au moins un compteur à 2 bits de jetons, dont chaque bit représentant un jeton indique la disponibilité du tampon associé. Le multiplexeur (107) reçoit des signaux provenant d'une machine d'état de substitution (1 022T), et des signaux provenant d'une machine d'état d'initialisation du port (1023T). La sortie du codeur (108T) est reliée à un circuit sérialiseur (109T) dont la sortie constitue une ligne série (120) qui émet des signaux à une vitesse de 1 Giga bits/sec.

Le sérialiseur est relié par une liaison série de rebouclage (1090) à un désérialiseur (109R) du circuit de réception du port (100). Cette liaison (1090) est validée sur le désérialiseur (109R) par un signal (IctO3).

Chaque cellule (109) de sérialisation (109T)/désérialisation (109R) représentée à la figure 1 b, comporte trois entrées, une première constituée par le signal CKT d'horloge de transmission provenant des autres parties du circuit intégré (1).

Une seconde entrée est constituée du signal RSTG de réinitialisation générale qui est envoyé au circuit intégré (1) au moyen du bus de commande (non représenté) du circuit intégré (1) par le microprocesseur (11 a) associé avec le circuit intégré (1) comme représenté la figure 2b.

Une troisième entrée est constituée par le signal RECAL de redémarrage de la calibration d'horloge de réception pour la cellule.

Une quatrième entrée, OE (Output Enable) de validation des sorties.

Cette cellule (109) comporte deux lignes à retard, une ligne à retard d'émission (LRE), une ligne à retard de réception (LRR). La cellule (109) génère deux signaux, un premier CKR d'horloge de réception, et un deuxième CAL indiquant la calibration de celle-ci (CKR).

Les lignes à retard (LRE, LRR) du circuit sont utilisées par ce dernier lorsque la ligne de réception reçoit des signaux d'attente (messages neutres/caractères nuls) constitués de 6 bits à 1, et de 6 bits à 0 pour, en faisant varier-sa ligne (LRE) à retard respectivement (LRR), calibrer I'horloge (CKT respectivement CKR). Ainsi l'horloge de transmission (CKT) est calée sur une valeur de 12 nano-secondes qui correspond à une fréquence de 83 Méga Hertz, c'est-à-dire celle de l'émission d'un caractère de 12 bits, de façon à permettre l'échantillonnage correct des informations reçues sur la ligne de transmission à 12 bits. La ligne à retard de réception (LRR) permet le calibrage de l'horloge de réception CKR à 83 MHz (1000/12) en faisant varier la ligne à retard. La variation de la ligne à retard s'effectue à I'aide d'un mécanisme DLL (Delay Lock Loop) qui permet d'effectuer le calibrage et qui permet d'adapter ce calibrage aux petites évolutions du signal de réception et de transmission lorsque I'horloge de réception a pu se calibrer sur les signaux idle (messages neutres/ caractères nuls,), la cellule fait monter la sortie (CAL) au niveau actif.

Le multiplexeur (107) reçoit également les signaux d'une machine d'état de la transmission. Chaque tampon (buffer) de transmission est contrôlé par une machine d'état de gestion des tampons (buffers) de

transmission (101T) laquelle reçoit istatus 0 : 6, Istrw 0 : 3, et émet le signal inrdy.

Le désérialiseur (109R) est relié à un décodeur (108R) fonctionnant sur le mme principe que le codeur (108T) du circuit de transmission. Ce décodeur du circuit de réception envoie les 9 bits de chaque donnée sur un circuit (104) d'assemblage des données, pour transformer en mots de 8 x 72 bits les données reçues en série, qui sont chargées dans une paire de tampons (buffers) de réception de données (RDBUF) fonctionnant à une fréquence de 83 MHz. Cette paire de tampons (buffers) de réception de données (RDBUF) est contrôlée par une machine de gestion des tampons (buffers) de réception (101 R), et est associée à une paire de tampons de réception de commande (RCBUF) qui contiennent les en-ttes des messages. La sortie du décodeur (108R) du circuit de réception est branchée à un circuit de code de vérification de messages élaborant un caractère de contrôle cyclique CRC (106T) pour comparaison. Le CRCN+1 est mis à jour après chaque réception de 9 bits de données en calculant sur 16 bits le CRC par un algorithme de permutation cyclique représenté fig. 5 sur les valeurs calculées X ; à partir des données reçues Di et des valeurs Ri des bits du CRCN précédent selon la formule donnée fig. 5. Les informations transmises par ce décodeur (108R) sont également transmises d'une part, à une machine d'état constituant un tampon (buffer) d'historique (1022R), et d'autre part, à une machine d'état du port de réception (1021R), et enfin à une machine d'état d'initialisation (1023R) du port.

La machine (101R) d'état de gestion du tampon (buffer) de réception émet trois signaux (Connect, Outrdy, Status 0 : 10), et reçoit en entrée sur trois lignes les informations (Istrr 0 : 3).

Le signal (Outrdy) indique que la sortie est prte, ce signal indique qu'il y a un message complet en attente de lecture. Le signal Status indique le statut des sorties : interruptions ou non, opérations invisibles ou non, accès mémoire/registres d'accès, local/éloigné ou non ISCON, source micro/déplacement (MOVER)-esclaves (SLAVE), réponses différées ou non, dernier message ou non, erreur de données ou non, accès hors

mémoire ou non, message insignifiant ou non. La sortie Connect indique que le port SLC (10°) est déconnecté quand cette sortie est désactivée.

Les entrées Istrr permettent la lecture des ports de réception en ordre FIFO, et. la commande qui lit le dernier double mot d'un message engendre la génération d'un caractère de contrôle de flux (jeton) associé avec le tampon (buffer) qui devient ainsi libre. Ce caractère de contrôle de flux est transmis de la machine d'état de gestion des tampons (buffers) de réception (101R) à la machine d'état de gestion de la transmission, et à travers celle-ci au multiplexeur (107) de façon à transmettre cette information au port (10c) d'entrée de la carte (1c) associée dans la liaison série au port (109R) de réception dont on vient de lire les tampons (buffers) de réception RDBUF. La machine d'état de gestion des tampons (buffers) de transmission (101T) comporte deux entrées Istatus et istrw, et une sortie Inrdy. Cette sortie Inrdy indique qu'il y a un tampon (buffer) de transmission TDBUF libre en attente pour tre écrit. Les lignes Istatus permettent de préciser les types de message à écrire, et de déterminer en fonction de la valeur des deux premiers bits de status les significations suivantes : 00 ne sont plus utilisés, 01 il s'agit seulement de données, 10 il s'agit d'un entte (header), 11 il s'agit d'un entte et de données. Le troisième bit Istatus, indique s'il s'agit du dernier message ou non. Le quatrième bit, qu'il s'agit d'une erreur de données ou non ; et le cinquième bit si on a un accès extérieur à la mémoire ou non.

Enfin le signal Istrw permet d'écrire les tampons (buffers) de transmissions (TDBUF) en ordre FIFO. Le signal Istrw qui écrit le dernier double mot d'un message initialise la transmission du message dès qu'un tampon (buffer) de réception (RDBUF) éteigne (par exemple du port 10c) est déclaré libre par un port de réception (109R) relié à la liaison série (120).

Le tampon (buffer) d'historique (I-HB) a 16 entrées et contient soit les derniers 16 caractères qui viennent de la liaison série par le décodeur (108R), ou les derniers 16 caractères de contrôles en excluant les caractères nuls. Quand une erreur s'est produite sur le lien série, l'écriture dans le tampon (buffer) d'historique peut tre inhibé par une commande

spécifique et la lecture du tampon s'effectue grâce à un pointeur (PHB) qui permet un balayage cyclique du tampon commandé par le microprocesseur (11). La commande du tampon (buffer) d'historique est effectuée par un registre de commandes (ICL1) (Fig. 4B) relié au bus de commande CPB.

Le tampon d'historique IHB est accessible au microprocesseur (11 a, 11c) par le bus de commande de CPB. Le registre de commande ICL1 est relié à 2 filtres (F1, F2). Le premier F1, lorsqu'il est activé par ICL1 ne laisse passer que les caractères de contrôle, et lorsqu'il n'est pas activé, est transparent. Le deuxième filtre F2 laisse passer tous les caractères non nuls.

La machine d'état de substitution (1022T) (Fig. 4A) comporte un tampon (buffer) de substitution (I-sb) qui a huit entrées et son contenu est combiné dans un OU exclusif (10221) avec le flot sortant (o-s, Out going stream) des caractères sur une longueur de 7 caractères.

La substitution commence avec le dernier caractère d'une séquence d'activation. Le caractère du flot sortant (o-s) correspondant au dernier caractère valide du tampon (buffer) de transmission, TDBUF est combiné dans une porte OU exclusif avec le premier caractère du tampon (buffer) de substitution (I-sb).

En fonctionnement sans substitution, le pointeur de lecture PL du tampon de substitution (I-sb) adresse le premier caractère du tampon de substitution (I-sb). Ce caractère qui est nul, en se combinant dans le OU exclusif (10221) avec les caractères du flot (o-s) ne modifie pas ces derniers, et le flot (o-s) est transmis au multiplexeur (107).

Un tampon (buffer) d'activation (I-tb) à deux entrées détermine par son contenu lorsque la rafale de substitution démarre. Ce tampon l-tub envoie la séquence d'activation tc sur un comparateur associé (10222) qui reçoit sur ses autres entrées le flot sortant (o-s). Cet instant de démarrage est donné lorsque la séquence d'activation (tc) correspond au flot de caractères sortant (o-s).

Dans ce cas, la sortie (10224) du comparateur active l'incrémenteur (10223) du pointeur de lecture PL pour permettre 1'envoi simultané avec chaque nouveau caractère du flot sortant d'un caractère de substitution adressé parmi les 8 caractères du tampon I-sb par le pointeur de lecture.

Ce tampon (buffer) d'activation (I-tb) comporte une information (tv) qui participe à la comparaison et qui indique lorsqu'elle prend la valeur 00 qu'elle n'utilise pas la substitution. Dans le cas où l'information (tv) prend la valeur 10, la longueur de la séquence d'activation est égale à 1. Lorsque tv est égal à 11, la longueur de la séquence d'activation est de deux caractères. Ce circuit de substitution est représenté à la figure 4A.

Un pointeur d'écriture PE accessible par le microprocesseur (11 a, 11c) à travers le bus CPB permet de charger dans le tampon de substitution par le bus CPB les caractères de substitution.

Ainsi, par le circuit de substitution on arrive à insérer des erreurs au moment où on le souhaite, et par le circuit (CRC) à détecter ces erreurs. II est donc possible en rebouclant le port sur lui-mme par la liaison (1090) et la commande IctO3, de détecter un fonctionnement correct des circuits de détection d'erreurs (CRC). Lorsque l'on connecte deux ports (10a, 10c) comme représenté sur la figure 2B, ces deux ports étant reliés par les circuits intégrés (1a, 1c) à des microprocesseurs respectifs (11a, 11c), il est possible de mettre en oeuvre un auto-test interne consistant à envoyer par le premier processeur (11a) une requte d'écriture de 64 bits dont le CRC correct est stocké.

Le processeur (11a) force le mécanisme d'injection d'erreurs du port (10a) et insère dans le message un caractère de contrôle CRC délibérément faux. Ce caractère est transmis par le port (10a) au port (10c) du circuit intégré (1c) esclave et lui aussi couplé à un deuxième processeur (11c). Ce port (10c) détecte une erreur de données par le calcul de CRC du message reçu qui ne correspond pas au CRC erroné inclus par le mécanisme d'insertion dans le message reçu. Cette détection d'erreurs génère l'envoi d'un message d'interruption au circuit d'émission (1a), lequel est reçu par le processeur (11a). Ce processeur (11a) vient lire dans le circuit du deuxième

port (10c) la valeur CRC calculée sur les données transmises et déduit si le circuit CRC a correctement fonctionné en vérifiant que la valeur CRC mémorisée correspond à la valeur CRC reçue.

Ainsi on comprend que par ces mécanismes simples à mettre en oeuvre dans le port d'entrée sortie d'un circuit intégré, on permet la détection d'erreurs, et le contrôle du fonctionnement correct du circuit de port d'entrée sortie dans une liaison série à haut débit assurant ainsi la correction des erreurs, mme si le taux d'erreurs est très faible.

La trace des erreurs s'effectue par la lecture du tampon (buffer) d'historique des caractères qui ont généré l'interruption de détection d'erreurs. Cette occurrence d'erreurs génère également l'interruption de la liaison de communication vers le processeur de façon à éviter la propagation de l'erreur dans la machine.

Toutefois, le problème dans les transmissions est que celles-ci peuvent incorporer soit des erreurs, soit du bruit. Le calibrage peut rester exact, mais une erreur peut s'introduire et modifier un 0 en un 1, ce qui sera interprété comme une erreur de calibration par la cellule (109). Ceci nécessitera alors, la mise en place d'une procédure d'initialisation ou de réinitialisation de la communication série établie entre les deux dispositifs EMA et EMC décrits plus hauts. Dans ces deux dispositifs, I'un, par exemple EMA, et son processeur (11 a) se comportera comme le maître, alors que l'autre contrôleur de liaison série SLC du dispositif EMC se comportera en esclave.

Chaque port de liaison série peut se trouver dans l'un des trois états suivants : inconsistant ; prt pour l'initialisation ; opérationnel.

L'état inconsistant est l'état dans lequel la liaison série se trouve après la mise sous tension ou après un incident. L'état prt pour l'initialisation est l'état dans lequel les deux ports constituant la liaison série

sont initialisé, c'est-à-dire après l'initialisation des cartes incorporant ces ports. L'état opérationnel, est t'état dans lequel la liaison série est effective, dans chaque direction, un flux continu de caractères nuls (idle) est émis, tandis qu'aucune donnée n'est transmise. Dans cet état opérationnel, I'horloge de réception fonctionne.

L'étape d'initialisation des ports s'effectue de la manière suivante : réinitialisation du port en chargeant un registre l-Contrôle 0 7.2 avec la valeur 1'ce qui a pour résultat d'isoler la logique CKR d'horloge de réception du circuit (109) ; réinitialisation les logiques des horloges de transmission CKT, et remise à zéro du lien série (120,121).

Ceci s'effectue par : a-le microprocesseur (11 a) de la carte maître EMA qui réinitialise la cellule (109), par l'envoi d'une suite de caractères nuls (idle), ce qui après environ 2400 cycles d'horloge de transmission CKT, calibre le système de sériatisation ; b1-le microprocesseur (11a) de la carte EMA déconnecte le circuit SLC (10A) en n'envoyant aucune donnée sur le bus C2LB. b2-le circuit intégré (1a) de la carte EMA désactive la liaison série qui est en erreur et envoie donc 0 volt avec éventuellement du bruit sur la liaison série en erreur ; b3-le circuit intégré (1a) de la carte EMA met son compteur de jetons à zéro ce qui t'empche d'envoyer des messages ; b4-la carte EMA réinitialise tous les pointeurs du circuit SLC.

Ceux-ci réinitialisent également les status d'erreurs et les causes d'interruption, puis b5-EMA transmet les caractères nuls/message neutre (idle).

De son côté, le processeur (11c) de la carte EMC effectue la mme étape d'initialisation du port (10c) qui comporte les mmes opérations (a, b1, b2, b3, b4, b5), et en plus une opération c'de validation du signal RECAL qui permet un réessai périodique de la recalibration de la cellule (109)

lorsque la calibration n'a pas fonctionné pour des raisons telle que la réception sur la ligne de bruits qui ne permettent pas de calibrer I'horloge.

A ce moment les circuit transmetteurs de la carte maître EMA et de la carte esclave EMC sont calibres. La carte esclave EMC est prte périodiquement pour la calibration en réception. Aucun signal n'est envoyé sur le lien série. La carte EMA est en attente pour une initialisation de lien (représenté à J'état 2 RDY de la figure 3). EMC est en état d'attente pour que son circuit de réception soit calibré, ce qui correspond à l'état WTCAL de la figure 3A.

Ces étapes d'initialisation des ports se poursuivent par une procédure d'initialisation de la communication série elle mme.

Cette procédure se poursuit par l'envoi d'une commande l-Contrôle 0 7 : 2=1 qui signifie pour le circuit intégré un ordre de démarrage de la phase suivante (Start next).

L'initialisation de la liaison série comporte : une étape d (fig. 3B) dans laquelle le processeur (11 a) de la carte EMA maître positionne t'entrée OE (Output Enable) du circuit (109) de la figure 1 b et transmet un flot continu de caractères nuls (idle) ; une étape e1 dans laquelle le port (10c) de la carte esclave EMC après la réception d'un certain nombre de caractères nuls sur la ligne arrive à calibrer son horloge de réception CKR et positionne sa sortie CAL à"1"; une étape e2 dans laquelle le circuit SLC de la carte esclave EMC envoie une interruption au microprocesseur (lac) et invalide le signal RECAL puisque le circuit de réception du bloc SLC (10c) est déjà calibré ; une étape e3 dans laquelle le processeur (11c) relié à la carte EMC réinitialise la logique CKR d'horloge de réception et au cours de laquelle deux messages fictifs (dummy messages) sont chargés dans les buffers de réception RDBUF du circuit (10c) de la carte esclave ; une étape f1 au cours de laquelle le microprocesseur (11c) de la carte EMC envoie au circuit (1c) et au bloc port (10c) du circuit intégré (1c)

une commande mettant l'entrée OE à la valeur 1 et transmet une série de caractères nuls pendant une durée suffisante de l'ordre de 3.500 signaux.

Le processus (fig. 3B) passe ensuite à l'étape g1 dans laquelle à la suite de la réception des caractères nuls, I'horloge CKR du port (10a) de la carte maître EMA est calibre et le signal de calibration CAL est positionné au niveau 1. Le port (10A) du circuit (1a) de la carte maître EMA envoie à l'étape g2 une interruption au microprocesseur (lia) de la carte EMA et celui-ci invalide le signal RECAL à l'étape g3 puisque le port de réception de EMA est déjà calibré.

Le processus se poursuit par l'étape g4 au cours de laquelle la carte maître EMA réinitialise la logique d'horloge de réception CKR et charge deux messages fictifs dans les tampons de réception RCBUF du circuit (10a) de la carte EMA.

Le processus se poursuit par l'étape h1 au cours de laquelle le microprocesseur (11 a) de la carte maître EMA connecte le bus L2C au circuit SLC comme représenté à l'étape 5 de l'organigramme de la figure 3a.

Le microprocesseur (11 a) lit les messages fictifs à l'étape h2 et envoie deux jetons au port de la carte EMC. Ces jetons sont générés par une opération de lecture des deux messages fictifs stockés dans les tampons RDBUF du port (10a).

Le processus se poursuit par l'étape i1 dans laquelle le circuit (10c) de la carte esclave EMC reçoit les deux jetons, puis à l'étape i2 le circuit EMC envoie une interruption (IT1) au microprocesseur (1 0c).

Le processus se poursuit par l'étape j1 au cours de laquelle le microprocesseur de la carte esclave EMC connecte les bus L2C et C2L comme représenté entre les étapes 7 et 8 de l'organigramme de la figure 3a.

Puis la carte EMC lit à l'étape j2 les messages fictifs, et à l'étape j3 envoie deux jetons (token) à la carte EMA, ces jetons sont générés par la lecture des deux messages fictifs. Le microprocesseur (11c) à l'étape j4 positionne l'état du circuit (10c) de la carte esclave EMC à l'état opérationnel. Les deux jetons sont stockés dans son compteur de jeton et permettent à chaque fois

au processeur d'associer au circuit intégré de connaître !'état des lignes de transmission et la disponibilité de l'un ou l'autre des tampons.

Le processus se poursuit encore par l'étape k1, au cours de laquelle la carte EMA reçoit les deux jetons dans son compteur de jeton et, cette carte envoie à l'étape k2 une interruption IT1 au microprocesseur (11 a) de la machine maître ; puis à l'étape k3, le microprocesseur positionne l'état du circuit (10a) de la carte maître EMA à l'état opérationnel.

Enfin dans le cas où après 15.000 cycles d'horloge de transmission CKT, le microprocesseur n'a pas reçu l'interruption IT1 de t'étape k2, il en déduit que l'initialisation automatique de la liaison série a échoué.

La machine d'état d'initialisation du port (1023) comporte un registre d'état l-Contrôle 0 6 : 3 de 3 bits, dans lequel 6 des valeurs possibles exprimables par les 3 bits signifient : pour la première valeur, que le port SLC est déconnecté de L2CB ; pour la deuxième valeur, que le compteur de jetons de contrôle de flux (Flow Control token counter) est mis à zéro ; pour la troisième valeur, que la cellule (109) de liaison série est réinitialisée et que sa sortie OE est invalidée ; pour la quatrième valeur, que la recalibration périodique est validée sur l'autre port de la carte esclave EMC ; pour la cinquième valeur, que la logique d'horloge de réception CKR est isolée de la logique de I'horloge de transmission CKT de façon à éviter la perturbation des autres parties du circuit de commande des liaisons série (10a), lorsque I'horloge de réception ne fonctionne pas correctement ; pour la sixième valeur, la réinitialisation de la logique d'horloge de transmission et de tous les pointeurs de tampons, les erreurs de status et des causes d'interruption.

Ainsi, avec ce processus d'initialisation, on est sûr que par des mécanismes simples au niveau du circuit intégré et du microprocesseur, la liaison s'établit correctement. Au niveau de l'initialisation de la liaison, on

peut détecter comme erreur, une erreur de calibration lorsque le signal CAL est égal à 0.

Une autre source de détection d'erreurs est la valeur des jetons, qui doivent tre alternativement le jeton 0 du buffer 0, et le jeton 1 du buffer 1, de chaque côté de la liaison série. Si ce n'est pas le cas, cela montre qu'il y a un problème. Une autre source d'erreurs peut tre détectée par le caractère de contrôle de trame, par exemple, dans le début de trame, il y a un caractère inconnu ou inattendu ou d'absence de fin de trame. Enfin une dernière cause d'erreur est une erreur détectée sur le caractère de contrôle CRC comme représenté à la figure 3d.

La perte de calibration ou une erreur fatale sur la communication série génère une interruption IT2 et provoque le déroulement du mécanisme de traitement ci-après. Une détection de perte de calibration sur l'un ou l'autre des ports (10a, 10c) ou une commande de réinitialisation de la liaison par le microprocesseur associé déclenche le mécanisme suivant soit sur la carte maître EMA soit sur le port de la carte esclave EMC.

Une première étape a"d'isolation de la logique d'horloge de réception. Dans ces cas là, la situation est la mme qu'à t'étape a pour la carte maître EMA ou a'pour la carte esclave EMC, ceci signifie que pour la carte qui a détecté une perte de calibration ou une erreur fatale, le signal OE (Output Enable) est désactivé, et aucune donnée n'est transmise au circuit éloigné de réception respectif EMC ou EMA. Puisque aucune donnée n'est transmise, le receveur éteigne détecte lui mme également une perte de calibration et son microprocesseur démarre la procédure symétrique en isolant également la logique d'horloge de réception.

A partir de cet état, les deux ports du circuit maître et esclave sont dans la mme position et doivent tre réinitialisé tous les deux en suivant la procédure prévue qui est résumée ci-après : calibration du port de réception de la carte esclave EMC et envoie d'une interruption au microprocesseur (11 c) ;

calibration du port de réception de la carte maître EMA et envoie d'une interruption au microprocesseur maître (11 a), et lit les deux messages fictifs. A la réception des deux caractères de contrôle de flux, le port de réception de la carte esclave EMC envoie une interruption à son microprocesseur (11c), et lit les deux messages fictifs. A la réception des deux caractères de flux par le port de la carte maître, celle-ci envoie une interruption à son microprocesseur (11a).

Ainsi par ce mécanisme simple, on assure la mise en état opérationnel de la liaison tout en sachant qu'en cas de perte de calibration suite à une réception défectueuse sur la liaison série, le système va propager cette erreur sur le port situé à l'autre bout de la liaison et repartir dans une procédure d'initialisation sur des bases saines.

D'autres modifications à la portée de I'homme de métier font également partie de l'esprit de l'invention.