NF P 99 302

Projet de norme française             

 

Information et exploitation routières

Protocole de transmission pour échange de données routières

Road Information and control - Road data transmission and interchange

 

analyse                    

La présente norme s'applique aux échanges de données alphanumériques entre tous équipements terminaux de recueil   du domaine routier public   et les équipements permettant de piloter, transporter, utiliser ou distribuer les informations qui y sont liées.

0.      INTRODUCTION

Un système de transmissions de données peut être considéré comme l'ensemble des installations terminales et du réseau d'interconnexion permettant l'échange des données.

Un protocole de transmissions permet à tous les équipements   d'un réseau de communiquer entre eux ou avec un opérateur.

Le protocole définit les éléments fixes et obligatoires de la transmission, les éléments facultatifs, ceux qui sont laissés au choix d'un opérateur, homme ou machine, ainsi que les règles à observer lors des échanges.

A un mode de BASE ici référencé qui assure le transport de l'information   d'une machine à une autre avec un haut degré de sécurité, sont associés 2 autres modes   TEST et TERMINAL mieux utilisables par un opérateur humain et dits "de repli". Ces 3 modes doivent coexister dans chaque équipement du réseau.

Par analogie avec NF Z 70-001, ce protocole définit les couches 2 à 4. Il se situe entre la couche "Physique" et les couches "Présentation" et "Application" qui sont particulières à l'équipement.

Sont inclus les choix particuliers adoptés pour les couches 1 et 2, et les règles concernant la synchronisation du dialogue et les procédures de reprise.

Les Applications résidant dans les éléments du réseau communiquent entre elles au moyen de Questions, Réponses et Informations, qui sont véhiculés par le protocole sous forme de Messages.

Seule la structure générale des Questions contenues dans les messages de sélection est définie ici. Leur contenu, syntaxe et format exact constituent la ou les couches "Langage" non définies ici.

1.      OBJET

La présente norme étend le domaine d'application des procédures de commande en mode de BASE telles que définies en NF Z 66-010 pour leur permettre d'inclure les caractéristiques complémentaires suivantes:

- Coexistence avec 2 modes de repli:   Mode TEST et   Mode TERMINAL.

-   Définition de la structure d'adressage pour un fonctionnement compatible sur   chaînon unique ou chaînons multiples.

- Définition des restrictions ou limitations en procédures de reprise nécessitées par un environnement   multipoints.

- Définition des restrictions ou limitations nécessaires dans un environnement   parasité et noyé dans du bruit (radio half-duplex).

2.      DOMAINE D'APPLICATIONS

La présente norme s'applique aux échanges de données alphanumériques entre tous équipements terminaux de recueil   du domaine routier public:   Unité de détection, Station ou compteurde mesure,    et les équipements permettant de piloter, transporter, utiliser ou distribuer les informations qui y sont liées: Terminal portable de stockage et d'initialisation,Equipement de centralisation, d'échange et de relayage. . etc.

3.      REFERENCES

Pour ce qui concerne son mode de BASE, il se réfère aux normes françaises et internationales suivantes:

NF Z 62-010   (jeu de caractères)

NF Z 66-010   (transmission en mode de BASE)

NF Z 66-100 (structure des caractères)

pour ce qui concerne   les interfaces physiques recommandés, il se réfère aux normes RS232-C et RS485 de l'EIA, V24 et V28 du C.C.I.T.T..

Pour ce qui concerne les liaisons physiques sur réseaux de télétransmission publics ou privés, il se réfère entre autres aux normes V21, V22 et V22bis, V23, V25 et V25 bis du C.C.I.T.T.

4.      STRUCTURE DES ECHANGES

La structure fondamentale des échanges entre Emetteur et Récepteur est le MESSAGE.

Le MESSAGE peut être découpé en BLOCS. Il est constitué de CARACTERES.

Le CARACTERE est constitué de BITS (Binary Digits).

4.1.      niveau bit

Les vitesses possibles sont:   300 - 600 - 1200 - 2400 - 4800 - 9600 - 19200 bauds et au delà selon les capacités du support de transmissions et des équipements connectés, et en conformité avec les avis appropriés du C.C.I.T.T. relatifs aux transmissions série asynchrones.

4.2.      niveau   caractère

4.2.1.     Structure du caractère

Elle est conforme à la norme NF Z 66-100 en transmission arythmique:

                - 1 bit de start

                - 7 bits significatifs

                - 1 bit de parité paire (even)

                - 1 bit de stop

Cette structure est également en conformité   avec les standards Vidéotex et Minitel.

4.2.2.     Codification du caractère

Le jeu de caractères utilisé est l'ASCII, code n°5 du C.C.I.T.T. recommandation V3, et norme NF Z 62-010, version internationale de référence.

Le protocole est transparent pour tous les caractères de 0/0 à 7/15 à l'exception des caractères suivants qui ont une signification particulière   de commande, et qui peuvent, ou non, être transmis selon le contexte du protocole:

[NUL]      0/0         Préfixe ou remplissage

[STX]       0/2         Début de Texte

[ETX]       0/3         Fin de Texte

[ENQ]      0/5         Demande

[ACK]      0/6         Accusé de réception positif

[BS ]        0/8         Espace inverse

[CR ]        0/13      Retour chariot

[DLE]       1/0         Echappement transmission

[DC1]      1/1         Reprise d'émission

[DC3]      1/3        Arrêt provisoire d'émission

[NAK]      1/5        Accusé de réception négatif

[ETB]       1/7        Fin de bloc

!                2/1        Fin de message ou

                             Accusé de réception positif

+             2/11     Fin de bloc

-               2/13     Demande de transmission

?              3/15     Accusé de réception négatif

[DEL]       7/15     Préfixe ou remplissage

4.3.      niveau   message

La structuration des messages est conforme à la norme NF 66-010:

4.3.1.     message de sélection aller

Invitation à émettre et sélection

      E                            E  B

      N --     TEXTE   -- T   C

      Q                           X  C

4.3.2.     messages de supervision retour          ou acquits:

Réponse positive courte à un message:

                       A

                       C  b

                       K

Réponse négative courte à un message:

                       N

                       A  b

                       K

4.3.3.     messages d'information

Ils sont utilisables dans les 2 sens de transmission.

pour le dernier des blocs:

      S                            E  B

      T --     TEXTE   -- T    C

      X                            X  C

pour les blocs intermédiaires:

      S                            E  B

      T --     TEXTE   -- T    C

      X                            B  C

4.4.      restrictions:

Les spécifications suivantes de la norme Z 66-010 ne sont pas utilisées:

- La portion "[SOH] -- En.Tête" dans les messages d'information.

La séquence de supervision de déconnexion en retour : [DLE][EOT]

L'interruption de phase terminale par [EOT].             

4.5.      compléments:

TEXTE débute par un champs obligatoire de 4 caractères: 3 caractères alphanumériques d'adressage/identification et un caractère   de numérotation de bloc.

[BCC] est un caractère obligatoire correspondant à la somme arithmétique sur 8 bits, sans tenir compte de la retenue, de tous les caractères de 8 bits (7 bits + 8° bit de poids fort forcé à 0) précédant [BCC] (hors préfixes de remplissage éventuels).

[ACK] et [NAK] sont toujours suivis d'un caractère représentant le numéro du bloc acquité (modulo 9).

Le message de sélection aller a une taille maximale de 256 caractères, y compris [ENQ] et [BCC].

Le bloc constitutif du message d'information a une taille maximale   de 256 caractères, y compris [STX] et [BCC].

4.6.      niveau   selection aller       structure détaillée

Le message de sélection aller débute par [ENQ], se poursuit par TEXTE et se termine par [ETX][BCC].

!----DDM---!                   !----FDM----!

[ENQ]rgsb[,][CMD][,par][,par]..[,][ETX][BCC]

            !--- QUESTION------!      

     !---------- TEXTE----------------!

!----- message de sélection aller ---------!

TEXTE est constitué de l'adresse/N° de bloc rgsb et de QUESTION.

QUESTION contient la COMMANDE CMD destinée à l'élément asservi et ses paramètres [,par] .

CMD est la commande (ou Fonction ou Instruction) qui indique à l'élément asservi la fonction qu'il doit exécuter. Il est constituée d'un mot-clé de 1 à 8 caractères alphanumériques imprimables, dont le premier est alphabétique.

Le ou les paramètres optionnels [,par] sont des éléments complémentaires de la commande CMD.

Les éléments de QUESTION sont délimités par des séparateurs.

Les séparateurs sont la virgule [,], ou un espace [ ] ou plusieurs espaces consécutifs qui doivent être considérés comme un seul séparateur.

Dans un réseau, le maître choisit son séparateur, mais l'esclave doit accepter n'importe quel séparateur.

La question peut être précédée et suivie de séparateurs optionnels, entre rgsb et CMD pour le premier et entre le dernier paramètre par et [ETX] pour le dernier.

5.      ORGANISATION des ECHANGES

Tous les éléments dans un réseau doivent utiliser les mêmes paramètres pour communiquer: vitesse, format du caractère, protocole, langage de commande, de requête et formats de réponse.

La vitesse est décidée par le gestionnaire du réseau lors de sa construction. Le format du caractère est imposé. Le langage   est décrit par ailleurs.

Trois modes de transmission sont utilisables, par ordre décroissant de priorité:

- le mode   de BASE  (ou PROTEGE)

- le mode TEST  (ou TRANSPARENT)  

- le mode TERMINAL

Les modes TEST et TERMINAL sont des modes de repli ou dégradés,   plus ergonomiques que le mode de BASE. Ils sont utilisables par le maître sous certaines conditions.

Mode de BASE: Lorsque le support de transmission offre un taux d'erreurs non négligeable, ce qui est le cas des lignes téléphoniques, télégraphiques ou de la radio, on utilise le mode de BASE. Ce mode assure un double contrôle des erreurs de transmission, permet l'adressage dans un réseau multipoint et la gestion des flux par découpage en blocs des messages d'information longs.

Mode TEST: Ce mode est dérivé du mode de BASE par suppression de la somme de contrôle en fin de bloc, et substitution des caractères de commande non imprimables (0/0 à 0/15) par des caractères imprimables. Il peut être utilisable par un opérateur, dans un contexte de test de transmission ou de maintenance. Il assure un contrôle plus simple des erreurs et permet l'adressage dans un réseau multipoints ainsi que le découpage en blocs des messages d'information longs. Il peut être utilisé dans des liaisons de machine à machine lorsque l'utilisation du mode de BASE crée des conflits avec certaines configurations du réseau de transmissions (accès par ETTD-C de TRANSPAC par exemple).

Mode TERMINAL: Ce mode permet un dialogue même à partir d'un équipement simple non doté de logiciels: écran-clavier, clavier-imprimante ou terminal de poche. Le dialogue en mode TERMINAL est utilisable par un opérateur. Ce mode n'assure pas la détection des erreurs de transmission, ni la gestion de l'adressage, ni la gestion des flux par découpage en blocs. Il est possible de l'utiliser   de machine à machine,   seulement dans des liaisons point à point et si le support de transmission est de bonne qualité.

Règles pour les 3 modes:

En émission, c'est le Maître, utilisateur ou application,   qui   pilote la couche protocole pour le choix du mode.

En réception, le protocole présume être dans le mode de moindre priorité jusqu'à ce qu'il détecte un Début de Message valide de priorité supérieure. Il reste alors dans ce mode jusqu'à ce qu'une condition de fin de réception soit reconnue ou qu'un Début de Message valide de priorité supérieure survienne et ainsi de suite.

Quel que soit le mode, que l'on soit dans un réseau multipoints ou que l'on soit connecté point à point, le Maître prend l'initiative du dialogue et conduit le dialogue jusqu'à son terme.

Les échanges se font, sauf cas de découpage en blocs décrit par ailleurs, sous forme d'un aller et retour de 2 messages: Le Maître envoie à l'Esclave un message de sélection   dans le mode de son choix. L'Esclave répond au Maître dans le même mode.

Dans tous les cas où un découpage en blocs est effectué, l'échange complet est constitué d'un nombre pair de messages. Le découpage est effectué par l'esclave ou par le maître selon qu'il s'agit d'une réponse ou d'un téléchargement.

Le message d'information est envoyé par l'esclave en réponse normale à un message de sélection du maître. Ce dernier peut également envoyer un message d'information (téléchargement), mais seulement après en avoir averti l'esclave par une commande appropriée du niveau du langage, et qui doit être acceptée explicitement par   ce dernier.

Tous les éléments du réseau ont une adresse qui est incluse dans chaque message de sélection ou d'information. Cette adresse [rgs] est constituée de 3 caractères alphanumériques. Chaque caractère peut être compris entre 2/0 et 7/15, à l'exclusion des caractères de commande du protocole. Cette adresse peut structurer une hiérarchie par réseau r, groupe g (ou sous-réseau) dans le réseau, station s   (ou équipement terminal) dans le groupe.

L'adresse partielle "0" est réservée et sert de "Joker" symbolisant n'importe quel autre caractère alphanumérique permis.

L'utilisation de l''élément d'adresse joker "0" n'a d'utilité que dans un réseau multipoints, radio ou ligne téléphonique. Elle implique que aucun message-Réponse ou d'acquit ne soit émis, bien que la commande soit exécutable.

Exemple d'utilisation: l'adresse X00 signifie: "à toutes les stations à l'écoute, ayant X comme sous-adresse r". Elle sert dans certains sous-réseaux pour une remise à l'heure globale et simultanée de toutes les horloges locales du réseau "X".

6.      MODE de BASE

En réception, toute suite de caractères [ENQ]rgs ou [STX]rgs est considérée comme le début d'un nouveau message   de sélection ou d'information en mode de BASE.

La syntaxe générale   est:

[DDM][,][ …… données ……… ][,][FDM]

[DDM] est le Début De Message, constitué des 5 caractères [ENQ] ou   [STX], de l'adresse [rgs] et du numéro de bloc [b].

[FDM] est le Fin De Message, constitué des 2 caractères [ETB] ou [ETX] et de   [BCC].

[BCC] est un caractère correspondant à la somme arithmétique sur 8 bits, sans tenir compte de la retenue, de tous les caractères de 8 bits (7 bits + 8° bit de poids fort forcé à 0) précédant [BCC] (caractères de début et de fin de message inclus).

Le message d'information peut être découpé en blocs au gré de l'émetteur.   Un message ou un bloc ne peuvent   en aucun cas dépasser 256 caractères de longueur.

[ENQ][rgs][0]------données de sélection------ [ETX][BCC]

ou

[STX][rgs][b]------------données------------- [ETB][BCC]

ou

[STX][rgs][b]------------données------------- [ETX][BCC]

!--------------- 256 caractères maximum  --------------!

!------------------- somme de contrôle -----------!

L'échange peut se borner à une paire de messages: sélection pour le Maître et supervision ou information court pour l'Esclave en retour. Ce dernier tient alors lieu d'acquittement. Les messages de sélection et d'information sont   considérés comme blocs de numéro b=0.

Un bloc est constitué comme un message d'information court avec:

                [FDM]=[ETB][BCC] pour un bloc intermédiaire

ou            [FDM]=[ETX][BCC] pour le dernier bloc

Les blocs sont numérotés de 0 à 9 afin d'éviter tout manque ou redondance des données si un acquittement était mal transmis. La numérotation des blocs commence à 0 et est incrémentée de 1 autant de fois que nécessaire; ainsi, arrivé à 9, le numéro suivant est 0.

Avant de transmettre un nouveau bloc, l'émetteur attend d'avoir identifié dans la réponse du récepteur un des 2 acquits possibles.

[ACK][b] demande l'envoi du bloc b+1

[NAK][b] demande la répétition du bloc b

En cas de défaut d'acquit dans un délai raisonnable, c'est au maître de prendre les décisions, l'esclave restant en position d'attente, ou d'un échange bloc, ou d'une nouvelle commande, annulant ainsi de fait l'échange en cours.

La détection d'erreur retenue pour le mode de BASE utilise deux procédés simultanés: contrôle de la parité verticale en réception (pour chaque caractère), et calcul de la somme de contrôle longitudinale BCC (pour l'ensemble du message).

7.      MODE TEST

Ce mode est structuré de façon identique au mode de BASE, mais il il n'y a pas de [BCC] en fin de bloc, et tous les caractères de commande non imprimables sont remplacés par des caractères imprimables.

Le Début De Message [DDM] est constitué du caractère tiret [-], des 3 caractères de l'adresse [rgs] et du caractère de numéro de bloc [b].

La reconnaissance par le récepteur en mode TEST ou TERMINAL d'un [DDM] débutant par le caractère tiret [-], indique que la réception doit débuter en mode TEST.

[FDM] est le Fin De Message, constitué du caractère [RC] pour la question, et du caractère [!] ou [+] pour la réponse.

On a donc les substitutions suivantes:

[ETX]       =        [RC]       (Question)

[ETX]       =        [!]           (Réponse)

[ENQ]      =        [-]

[STX]       =        [-]

[ETB]       =        [+]

[ACK]      =        [!]

[NAK]      =        [?]

8.      MODE TERMINAL

Le dialogue en mode TERMINAL utilise uniquement des caractères ASCII imprimables. Il peut servir en cas d'intervention manuelle, de maintenance, d'initialisation du système, de remise à l'heure...

Le mode TERMINAL peut être choisi par le maître:

-   Lorsque l'esclave n'est pas partie d'un réseau multipoints, et donc qu'il n'y a aucune ambigüité de reconnaissance d'adresse,

-   Lorsque le Terminal Maître est connecté directement sur un port de communication de l'Esclave,

-   Lorsque la sécurité de la transmission est assurée par le réseau de Transmissions lui-même (Transpac X25 ou modem à protocole MNP par ex.) ou que cette sécurité est secondaire,

La syntaxe générale du message Question ou Réponse est:

[DDM][,][ …… données ……… ][,][FDM]

Le Début de Message [DDM] est vide. [FDM] est constitué du caractère [RC] pour la question, et du caractère [!] pour la réponse (s'il y a lieu)

La parité est ignorée par le récepteur et il n'y a pas de découpage en blocs.

Le protocole récepteur doit être en mesure de recueillir le flot entier sans perte de caractère ou de piloter une gestion de flux par DC1-DC3. Dans ce cas l'émetteur et le récepteur doivent être capables d'émission et réception simultanée (full-duplex)

9.      RECAPITULATIF DES REPONSES POSSIBLES A UN MESSAGE DE SELECTION

Le bon fonctionnement du protocole en réseau multipoints implique que les règles suivantes soient respectées:

R1 - Question mal reçue: erreur de parité - pas de [FDM] identifiable - erreur de checksum - etc..

R2 - Question bien reçue, mal comprise:   Le message a une syntaxe correcte - adresse correcte - la Question/commande n'est pas répertoriée dans la liste - ou les paramètres ne correspondent pas à la commande - ou sont non répertoriés ..

R3 - Question bien reçue, bien comprise, non exécutable: La station est dans l'impossibilité d'exécuter la commande

R4 - Question bien reçue, bien comprise, exécutable (sans message réponse), une télécommande par ex.

R5 - Question bien reçue, bien comprise, exécutable (avec message réponse)

   TEST            TERMINAL         de BASE

R1 pas de réponse  pas de réponse   pas de réponse

R2 pas de réponse  pas de réponse   pas de réponse

R3 ?b              ?                [NAK]b

R4 !b              !                [ACK]b

R5 [DDM]réponse!   réponse!         [DDM] réponse [FDM]

 

-=oOOo=-


10.    10.DIAGRAMMES RECAPITULATIFS

 

 

 

 

MODELE OSI

(NF Z 70-001)

FONCTIONNALITES

7

APPLICATION

Applications orientées réseau

6

PRESENTATION

Contrôle de présentation - conversions de format

5

SESSION

Synchronisation du dialogue

4

TRANSPORT

Découpage en blocs

3

RESEAU

Routage des blocs - acheminement au Destinataire

2

LIAISON DONNEES

Assure transfert, détection des erreurs au niveau Bit

1

PHYSIQUE

Média de transmission - Interface électrique