Brevet FR2516729A1 — publié le 19830520

Le présent brevet concerne les procedures de transmission de données dites a haut niveau comme, par exemple, la procedure HDLC. Il concerne plus particulièrement le mode de transmission des trames qui composent les messages a transmettre. La procédure HDLC est définie dans la Norme Internationale référencée Iso 4335 -1976 (F). Cette norme precise que les messages à transmettre sont découpes en trames. Chaque trame comporte un champ d'adresse de 8 bits qui indique le destinataire du message . un champ de commande des 8 bits . un champ d'information facultative qui contient les données une séquence de contrôle de trame qui contient les éléments binaires nécessaires à la détection des erreurs. Dans la procédure HDLC, une trame constitue une unité insécable. Ceci veut dire qu' & l'émission comme a la réception, il faut disposer d'un registre de trame contenant tous les caractères d'une trame. En effet, les procédures de transmission a haut niveau, en raison des hautes performances demandés, sont utilisées sur des liaisons dites synchrones. Ces liaisons synchrones sont caractérisées par le fait que la transmission des caractères se fait b une cadence bien déterminée. Il est donc nécessaire que tous les caractères d'une trame soient disponibles quand le dispositif placé sur la liaison réclame les caractères.Un moyen sar pour atteindre ce résultat est de disposer d'un registre de trame contenant tous les caractères de la trame et de vider le registre de trame caractère par caractère au fur et a mesure des demandes effectuées par le dispositif émetteur. La nécessite d'avoir ce registre de trame constitue quelquefois un inconvénient soit parce que les trames sont longues, soit parce que les équipements terminaux de liaison sont des équipements très rudimentaires. C'est pourquoi, la présente invention propose une nouvelle méthode d'exploitation des liaisons à haut niveau qui permet la transmission des trames en plusieurs étapes successives. A cet effet, la présente invention a pour objet un procédé de transmission de données a hautes performances du type HDLC pour la transmission de données sur des liaisons synchrones caractérise én ce que : il est convenu, à priori, que le code de service FO est un code de remplissage utilisable aussi bien dans les intervalles intertrames qu'à l'intérieur des trames, que le code de service F1 est le code indicateur de fin de trame a l'émission, quand l'émetteur réclame (1) un caractère en vue de sa transmission si aucune donnée n'est disponible (2), il est décidé de transmettre un code de service, ce dit code de service transmis (7) est un code de fin de trame F1 si le caractère précédent était le dernier caractère d'une trame (4-OUI), dans le cas contraire (4-NON) c'est un code de remplissage FO qui est transmis (6). à la réception, quand un caractere est reçu (8), le récepteur recherche -(9) si le dit caractère reçu est un caractère de fin de trame F1, si ce caractère est un code de fin de trame F1(9-OUI) il y a transfert (10) du contenu du registre de trame vers l'organe destinataire avec remise a zéro du contenu du registre de trame, si le dit caractère reçu n'est pas un code de service de fin de trame Fl(9-NON), il est examine (11) si le dit caractère reçu est un code de service de remplissage FO, si le dit caractère reçu est un code de service de remplissage FO(ll-OUI), ce caractère est ignoré (12), dans le cas contraire (11-NON) ledit caractère reçu est introduit (13) dans le- registre de trame. L'invention vise bien entendu les dispositifs ou analogues faisant usage du procédé de l'invention. D'autres objets, caractéristiques et avantages de la présente invention ressortiront mieux de l'expose qui suit, fait en référence aux dessins annexés à ce texte qui représentent des modes- de galisation préférés de l'invention. La figure 1 représente les 3 codes de service utilisés dans la procédure de transmission de données HDLC aussi bien que dans la présente invention. La figure 1A représente le-code FANION (en anglais FLAG) de la procédure HDLC qui est le code de REMPLISSAGE FO dans la présente invention. La figure 1B représente le code ABANDON (en anglais ABORT) de la procédure HDLC qui est le code de FIN DE TRAME Fl dans la présente invention. La figure 1C représente le code INACTIF (en anglais IDLE) de la procédure HDLC comme pour la présente invention. La figure 2 est la représentation symbolique de la transmission de messages sur une liaison suivant la procédure HDLC. La figure 3 -est la représentation symbolique de la transmission d'une trame en plusieurs fois suivant les enseignements de la présente invention. La figure 4 représente l'ordinogramme de l'émission de messagés suivant les enseignements de l'invention. La figure 5 représente l'ordinogramme de la réception de messages suivant les enseignements de l'invention. La procédure HDLC (HIGH LEVEL DATA LINO CONTROL) est une -pr.océdur.e de transmission de données utilisée en TELEINFORMATIQUE. Elle est destinée S permettre la transmission de messages sur des lignes fonctionnant en mode synchrone. Les messages sont transmis sous forme de BLOCS DE CARACTERES séparés les uns des autres par des intervalles sans messages. Ces blocs sont appelés TRAMES. Le contenu de chaque trame est défini par la NORME : il comprend une adresse, des commandes, un ensemble de données, une.séquence de contrôle. Les intervalles entre les trames sont remplis par des CODES DE SERVICE. La procédure HDLC utilise 3 codes de service : . le code FANION le code ABANDON . le code INACTIF Le code FANION (en anglais FLAG) est utilisé comme QODE DE REMPLISSAGE (en anglais FILLER) et il est dêsigné par le symbole FLG. Ce code de remplissage est utilise pour garnir les espaces laissés libres entre les trames. Le code ABANDON (en anglais ABORT) est utilisé comme CODE D'INDICATION D'ERREUR et il est désigné par le symbole ABT. Ce code d'indication d'erreur est utilisé par le dispositif émetteur pour signaler qu'il a détecté un fonctionnement incorrect dans la liaison. Le code INACTIF (en anglais IDLE) est utilisé comme CODE DE LIBRATION de la liaison et il est désigné par le symbole IDL. Ce code de libération de la liaison est utilisé par le dispositif émetteur pour signaler qu'il a fini d'émettre et que la liaison est disponible pour d'autres transmissions. La figure 1- représente la configuration de ces 3 codes de service. Le code FANION est représenté sur la figure lA. - Ce code a une longueur de 8 bits et sa configuration est la suivante - le premier bit (qui est situé au rang 0) a la valeur ZERO - les six bits suivants (qui sont situés aux rangs 1 à 6) ont la valeur UN - le dernier bit (qui est situé au rang 7) a la valeur ZERO. Le code ABANDON est représenté sur la figure 18. Ce code a une longeur de 8 bits et sa configuration est la suivante - le premier bit (qui est situé au rang 0) a la valeur ZERO - les sept bits suivants (qui sont situés aux rangs 1 3 7) ont la valeur UN. Il peut être remarqué que ces deux codes ont une partie identique : les 7 premiers bits ont la même configuration. Cette partie identique sera appelée par la suite NOYAU DE CODE ou plus simplement NOYAU (en anglais FLAG NUCLEUS). Le code INACTIF est représenté sur la figure 1C. Ce code a une longueur de 16 bits et sa configuration est la suivante - le premier bit (qui est situé au rang 0) a la valeur ZERO - les quinze bits suivants (qui sont situés aux rangs 1 à 15) ont la valeur UN. Ce code peut être lui aussi considéré comme un noyau de code suivi de 9 bits égaux a UN. En récapitulant, il peut être dit que : - le code fanion est composé d'un "noyau" suivi d'un bit égal a zéro (pour cette raison, il sera appelé par la suite FO) - le code abandon est composé d'un "noyau" suivi d'un bit égal a UN ( pour cette raison il sera appelé par la suite F1) - le code inactif est compose d'un "noyau" suivi de neuf bits égaux a UN (pour cette raison il sera appelé par la suite F9). Sur la figure 2 est représenté symboliquement un exemple de transmission de messages sur une liaison suivant la procédure HDLC. Sur la ligne du haut sont représentés les messages transmis en premier. A chaque message ou élément de message est associé un nombre qui correspond a son rang dans la transmission. C'est ainsi que le premier élément de message transmis est le code FANION référence FO auquel est associé le rang 0. L'élément suivant est un nouveau code FANION référencé FO auquel est associé le rang 1. Sur la figure 2 il apparaît donc que 4 codes FANION ayant les rangs o a 3 sont envoyés en premier. Ceci correspond bien aux rôle dévolu au code FANION dans la procédure HDLC : le code FANION est un code de remplissage que l'émetteut envoie au récepteur pendant les périodes où il n'a pas de message à transmettre. De son côté, le récepteur ne prend en compte que les messages qui sont immédiatement précédé d'un code FANION. Il peut être dit que le code FANION joue le rôle d'un SYNCHRONISATEUR DE MESSAGE : il permet au- récepteur de localiser sans ambiguïté le début d'un message. Avec le rang 4, 11 émetteur envoie un message référencé T1. Ce message est référencé Tl parce que les messages sont envoyés sous forme de TRAMES. Ces TRAMES sont parfaitement définies par la norme HDLC et leur constitution permet au récepteur l'identification du destinataire ainsi que la bonne transmission du message.Ce message T1 est suivi de 5 codes FANION occupant les rangs 5 a 9 inclus. Ces 5 codes FO servent & remplir l'intervalle séparant le message T1 du message T2 qui occupe le rang 10. Le message T2 est suivi des codes de remplissage FO occupant les rangs 11 a 16 inclus. Ces 6 codes de remplissage FO sont suivis du message T3 qui occupe le rang 17. Ce message T3 se termine par un code de servicé ABANDON référencé Tl qui occupe donc le rang 18. Ce code de service F1 signifie pour le récepteur qu'il doit doit ignorer les informations de la trame T4 ainsi que celies qui suivent et cela jusqu'a ce qu'il rencontre a nouveau un NOYAU DE FANION. Ceci est représenté dans la partie hachurée ayant le numéro d'ordre 19.Le réceptçut reconnaCt un code FANION comme il est indiqué- avec le numéro d'ordre 20. Un nouveau code FANION est réçu avec le numéro d'ordre 21 puis avec le numéro d'ordre 22 le récepteur reçoit le message T4. Ce message T4 est suivi d'un code INACTIF indique avec la reférence T9* et avec le numéro d'ordre 23. A la suite de ce code F9 le ré-cepteur considère la liaison inactive jusqu'a ce qu'il reconnaisse un code FANION ce qui se produit avec le numéro d'ordre 28. Et ainsi de suite le récepteur surveille les codes de service et transmet les messages aux destinataires. En revenant aux figures lA, 1B et 1C, il peut être dit que la procédure HDLC comporte deux types de code de service - les 2 codes de service d'exploitation de ligne de transmission FO et Fl - le code de service de libération de ligne de transmission F9. La présente invention propose dans une, première modalité de modifier la convention de définition de fonction des codes de service d'exploitation de la ligne de- transmission. - le code FO est toujours un code de remplissage entre les trames mais il peut également hêtre utilisé comme code de remplissage a l'intérieur d'une trame. Il peut être dit que le code FO est un code de r.emplissage INTERTRAME et INTRATRAME - le code F1 est un code-de FIN DE TRAME. Avec cette nouvelle convention, le début d'une trame se situe au moment-de la première transition d'un code de remplissage FO a un bloc de données et la fin d'une- trame se situe a la transition entre un bloc de données et un code de fin de trame Fl. Cette disposition est avantageuse parce qu'elle rend possible la transmission d'un trame en plusieurs étapes. En effet, dans une première étape, un première partie de la trame est transmise, puis au bout d'ùn intervalle de temps la deuxième partie de la trame est transmise et ainsi de suite jusqu'S ce que la totalité de la trame étant transmise, un signal de fin de trame F1 est placé sur la ligne de transmission. Dans les intervalles séparant les différentes parties de la trame des signaux de remplissage FO sont placés sur la ligne de transmission. Ces signaux de remplissage FO seront éliminés a la réception des signaux et la trame sera entièrement reconstituEe. -Sur la figure 3 est représentée la transmission d'une trame T1 en trois parties T'1, T"l et T"1 en utilisant les enseignements de l'invention. A gauche de la figure 3, a l'instant 0, le signal transmis est un code de fin de trame F1. Ce code indique que la trame précédente est terminée et que les signaux de donnes qui seront reçus par la suite concernent une nouvelle trame. A l'instant 1, le signal transmis est un- code de remplissage FO, En raison du fait que le signal précédent est un code de fin de trame Fl, ce signal de remplissage est un code de remplissage intertrame. A l'instant 2, c'est a nouveau un code de remplissage FO qui est transmis. Comme ce signal de remplissage est précédé d'un code de remplissage intertrame FO ce sera un deuxième code de remplissage intertrame. A l'instant 3 apparat à nouveau un code de remplissage FO. Comme ce code de remplissage FD est précédé (à l'instant 2) d'un code de remplissage FO et suivi a l'instant 4 des données de la première partie de la trame T'1, ce code de remplissage FO est le dernier: code de remplissage FO de la ZONE INTERTRAME. A partir de cet instant et aussi longtemps qu'un code de fin de trame Fl ne sera pas transmis, tous les codes de remplissage FO reçus seront dorénavant des codes de remplissage FO INTERTRAME. Donc, ! i'instant 4, la première partie T'l de la trame T1 est retransmise. Dès que cette transmission-est terminée, à l'instant 5, un code de remplissage intertrame F0 est transmis. A l'instant 5, la deuxieme partie T"1 de la trame T1 est transmise. Une fois cette deuxième partie T"1 de la trame T1 transmise a l'instant 7, un code de remplissage intertrame FO est transmis. A l'instant 8, un nouveau code de remplissage intertrame FO est transmis parce que, par exemple, la troisième partie T"1 de la trame T1 n'est pas encore prete a être transmise. A l'instant 9, la troisième partie T"'l de la trame Ti étant prête, celle-ci est transmise. Cette troisième partie T"'l de la trame T1 étant la dernière de la trame T1, a l'instant 10 un code de fin de trame F1 est transmis. Ce code de fin de trame F1 indique que la trame T1 est totalement transmise. Ensuite, aux instants 12, 13, 14 et jusqu'a ce qu'une nouvelle trame soit prête a ête transmise, une succession de codes de remplissage FO sont transmis, ces codes jouant le rôle de code de remplissage intertrame. Sur la figure 4 est représenté l'ordinogramme du procédé de l'invention vu du côté émission des signaux. Comme il a été dit précédemment, l'invention utilise un mode de transmission synchrone, c'est-3-dire qu'a intervalle régulier, 11 émetteur envoie un caractère. En (1) est représentée la requête de l'émetteur qui demande un caractère a transmettre. En (2), il est répondu cette requête. Si une donnée est disponible, la réponse est OUI et en (3) la donnée est transmise. S'il n'y a pas de donnée disponible, la réponse est NON ET EN (4) il est décidé de transmettre un code de service. Cette décision étant prise, en (5) est fait le choix entre la transmission du code FO pu la transmission du code F1.La question posée en (5) est "est-ce que le dernier caractère précédemment transmis était le dernier caractère de la trame en cours de transmission?" Si la réponse est OUI, cela signifie que la trame est terminée et il y a lieu, dans ces conditions, de transmettre en (7) le code F1 qui indique que la transmission de la trame est terminée. Si la réponse est NON, cela signifie qu'il y a une absence de données et qu'il y a lieu de transmettre en (6) un code de remplissage FO. Sur la figure 5 est représente l'ordinogramme du procédé de l'invention vu du côté de la Bception des signaux. Quand un caractère est disponible a la réception, ce qui est représenté en (8) la question qui se pose est de savoir Si ce caractère marque ou non la fin d'une trame. Cette question est posée en (9) sous forme : "est-ce un code de service F1"?. Si la réponse est OUI, en (10) il y a d'abord transfert vers le système récepteur d'un contenu du registre de trame puis remise à zéro du registre de trame. Le registre de trame est prêt a recevoir une nouvelle trame. Si la réponse est NON, en (11) la question posée est de savoir s'il s'agit d'un code de service FO.Si la réponse est OUI c'est-3-dire qu'il s'agit du code de service FO, il est décide en (12) d'ignorer ce caractère puisqu'il s'agit d'un caractère de remplissage (intertrame ou intratame). Si la réponse est NON, c'est- -dire qu'il ne s'agit ni du code de service Fl, ni du code de service FO, le caractère reçu est donc une donnee appartenant a la trame et en (13) le caractère est chargé dans le registre~de trame. Bien entendu, l'invention n'est nullement limitée au mode de réalisation décrit et représenté et comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci sont effectuées suivant l'esprit de l'invention et mises en oeuvre dans le cadre des revendications qui suivent. REVENDICATIONS 1. Procédé de transmission de données hautes performances du type HDLC pour la transmission de données sur des liaisons synchrones caractérisé en ce que . il est convenu, a priori, que le code de service FO est un code de remplissage utilisable aussi bien dans les intervalles intertrames qu'a l'intérieur es trames, que le code de servcie Fl est le code indicateur de fin de trame. . à l'émission quand l'émetteur réclame (1) un caractère en vue de sa transmission si une donnée est disponible (2), elle est transmise (3) sur la liaison; si aucune donnée n'est disponible (2) il est décidé de transmettre un code de service, ce dit code de service transmis (7) est un code de fin de trame F1 si le caractère précédent était le dernier caractère d'une trame (4-OUI), dans le cas contraire (4-NON) c'est un code de remplissage FO qui est transmis (6) a la réception, quand un caractère est reçu (8) le récepteur recherche (9) si le dit caractère reçu est un caractère de trame Fl, si ce caractère est un caractère de fin de trame Fl (9-OUI) il y a transfert (10) du contenu du registre de trame vers l'organe destinataire avec remise a zéro du contenu du registre de trame, si le dit caractère reçu n'est pas un code de service de fin de trame F1 (9-NON), il est examiné (11) si le dit caractère reçu est code de service de remplissage FO, si le dit caractère reçu est un code de service de remplissage FO (ll-OUI), ce caractère est ou bien signalé sur une ligne distincte de celles du registre de trame, ou bien ignore (12), dans le cas contraire (11-NON) le dit caractère reçu est introduit (13) dans le registre de trame. 2. Dispositif de transmission de données ou analogue caracterisé en ce qu'il utilise le procédé de la revendication 1. BIBLIOGRAPHIE - STANDARD ECMA - 40 - HDLC FRAME STRUCTURE - STANDARD ECMA - 49 - HDLC ELEMENTS OF PROCEDURE - STANDARD ECMA - 60 - HDLC UNBALANCED CLASS OF PROCEDURE - STANDARD ECMA - 61 - HDLC BALANCED CLASS OF PROCEDURE - IBM Synchronous Data Link Control - General Information GA 27 - 3903-2