Brevet FR2553950A1 — publié le 19850426

La présente invention concerne un dispositif de transmission bidirectionnelle de données numériques en mode multipoints par une liaison électrique bifilaire unique. Le développement des systèmes de traitement de données informatiques ou plus généralement électroniques exige des moyens de collecte des informations au plus pres possible de la source ainsi que des moyens d'action sur l'environnement résultant des traitements de cette information. Ces points de collecte et d'action sont généralement limités â la périphérie des systèmes de traitement a cause des parasites et affaiblissements que peuvent subir les signaux transmis sur de trop grandes distances. De plus dans leurs versions les plus simples de tels systèmes nécessitent de relier chaque organe d'action ou de saisie par une liaison indépendante a l'organe de traitement, ce qui devient rapidement un inconvénient dès que le nombre de ces organes est important. Les systèmes existants de transmission d'information centralisée en mode multipoints sont soit limités dans certaines de leurs performances (longueur de la liaison, vitesse de transmission, immunité aux parasites industriels, qualité du support de transmission, nombre de points), soit présentent une complexité telle qu'ils sont d'une mise en oeuvre difficile et d'un c6tt leur interdisant les applications les plus simples. Le dispositif selon l'invention permet depuis un poste central appelé contrôleur situé en un point quelconque d'une ligne de transmission, d'échanger des informations avec chacun des autres postes connectés sur cette méme ligne et appelés interfaces périphériques. Le support de transmission appelé ligne est uniquement constitué de 2 conducteurs électriques isolés, de type paire téléphonique ou autre, par lesquels circule l'information sous forme de tension différentielle modulée en phase par les informations numériques à transmettre. Cette ligne peut avoir une longueur totale de plusieurs kilometres et comporter autant de dérivations que nécessaire en des points quelconques pour atteindre chacun des interfaces périphériques. Electriquement parlant tous les interfaces périphériques au nombre total maximum de 225 sont reliés en parallèle sur la ligne. Le contrleur dirige tous les échanges d'information sur la ligne et les interfaces périphériques ne transmettent d'information sur celle-ci qu'a la demande du contrleur. Chaque interface périphérique est capable de saisir ou de délivrer des informations a son environnement local sous forme de mots de 8 bits parallèles en provenanoe ou à destination de 8 sources ou sorties distinctes. En plus de ces 8 ports banalisés d'entrée/sortie, chaque périphérique peut commander et accéder a la lecture d'un convertisseur analogique/ nuDérigue et a la lecture de 8 contacts permettant de coder un nombre qui sera appelé adresse du périphérique afin d'identifier sur la ligne alpes messages qui lui sont destinés. Lors d'un échange d'informations entre un interface périphérique et le controleur, ce dernier envoie sur la ligne un message de longueur variable suivant le type d'échange, formé de bits d'information élémentaires transmis en série, codés en phase et agencés suivant le protocole décrit ci-apres. L'émission de chaque message du controleur est d'abord précédée d'une mise a l'état de repos de la ligne durant au moins trois temps élémentaires de bit destinés à en indiquer le début. Sont ensuite émises 3. impulsions de synchronisation d'une durée totale de 3 temps élémentaires, suivies d'un bit de sens indiquant si le message transite du contrleur vers les interfaces périphériques ou inversement. Vient ensuite un mot de 8 bits comportant l'adresse de l'interface périphérique auquel est destiné le message. Ce mot d'adresse est divisé en 2 champs de 4 bits.Le premier champ de 4 bits désigne le numéro du groupe d'interfaces périphériques auquel il s'adresse, le deuxieme champ de 4 bits désignant le numéro d'ure interface périphérique particulier l'intérieur du groupe défini par le premier champ. Un code nul dans l'un ou l'autre des 2 champs adresse signifie "quel que soit". Ainsi un code nul dans le deuxième champ adresse signifie que le message concerne le groupe défini dans le ler champ "quel que soit" l'interface périphérique de ce groupe. Un tel message sera donc pris en compte par tous les interfaces périphériques d'un meme groupe. De la même façon on peut adresser tous les interfaces périphériques ayant un certain code dans un groupe "quel que soit" ce groupe par l'émission du code nul dans le ler champ adresse. Le code nul dans les deux champs d'adresse signifie que le message est destiné à tout interface périphérique wquel que soit" son groupe et "quelle que soit" son adresse dans le groupe. Le Champ adresse permet ainsi de désigner 225 interfaces périphériques differents agencés en 15 groupes de 15 interfaces périphériques chacun Le message émis par le contrleur comporte ensuite suivant les cas un nombre variable de bits définissant le type de commande et toutes les données utiles à son exécution. Afin d'assurer son intégrité un code de redondance cyclique de 8 bits est transmis a la fin de chaque message. Chaque message est terminé par au moins i temps élémentaire de repos de la ligne permettant au récepteur de détecter sa fin. Les bits d'information sont reçus de façon synchrone et comportent au moins 3 temps de début, 3 temps de synchronisation, un bit de sens, un espace adresse de 8 bits et 1 temps de fin. La longueur maximum de chaque message est de 128 bits ou temps élémentaire. Chaque interface périphérique est mis en éveil par la détection des 3 tempE de début puis se synchronise grâce aux 3 temps de synchronisation. Il teste ensuite le bit de sens. Si le messageneprovient pas du contrôleur, il ne reprendra la réception qu'apres une nouvelle détection d'au moins 3 temps de début. Si le bit de sens est correct l'interface périphérique reçoit ensuite le champ adresse qu'il décode et interromp également la réception si le message ne lui est pas destiné Si le message lui est adressé il poursuit la réception et le décodage de celui-e jusqu' détection du temps de fin. Après contrôle du code de redondance cyclique et si celui-ci est correct, il procède au décodage et à l'exécution de la commande contenue dans le message. Sauf si le message reçu s'adresse à un ensemble d'interfaces périphériqes par codage nul d'au moins un des champs de l'espace adresse, l'interface péri phérique adressé renvoie ensuite une réponse vers le contrôleur. Ce message de réponse est constitué de 3 temps de synchronisation suivis d'un bit de sens indiquant un transit d'informations des interfaces périphériqu vers le contrôleur. Est ensuite émis un champ de 4 bits compose de la somme des bits à 1 de so adresse à des fins de vérification par le contrôleur. Ce champ est suivi d'un champ d'état de 4 bits permettant de détecter un certain nombre d'anomalies éventuelles de fonctionnement de l'interface périphérique. Le message retransmis comporte ensuite un nombre variable de bits d'information correspondant à la commande exécutée puis éventuellement un code de redondance cyclique de 8 bits pour en assurer l'intégrité et enfin au moins un temps de fin de message. Le message retransmis comporte au moins 3 temps de synchronisation, un bit de sens, 4 bits de somme d'adresse, 4 bits d'état et 1 temps de fin. La vitesse de retransmission et donc la durée du temps élémentaire d'un bit peut etre déterminée automatiquement par les interfaces périphériques par analyse des messages émis par le controleur. Cette caractéristique permet de modifier la vitesse de transmission sur la ligne depuis le contrbleur entre 75 et 9 600 bits par seconde. La couche physique des échanges est assurée dans le contrôleur et dans les interfaces périphériques par un microprocesseur attaquant la ligne par un dispositif amplificateur à 2 sorties différentielles en tension pouvant ètre déconnecté de celle-ci par une commande plaçant ses sorties dans un etat haute indépendance. La réception est assurée par un dispositif d'amplification et détection de seuil differentielle. Les dispositifs d'émission et réception sont couples à la ligne soit directement soit par l'intermédiaire d'un transformateur de ligne. La protection contre des surtensions éventuelles en ligne est assuree par des limiteurs de tension et des fusibles rapides permettant d'isoler les périphériques en cas d'anomalie. L'interfacage de l'interface péripiérique à son envirounement local est réalisé par 8 lignes de données bidirectionnelles, 8 lignes d'aiguillage de ces données, des lignes de contrôle et des lignes pour la commande d'un convertisseur analogique1fluTn..eriquepermettant la saisie de grandeurs analogiques. Les bits d'information sont codés par leur phase. Un bit au niveau logique "1" est représenté par une tension différentielle negative en ligne durant la première moitié de son temps et une tension différentielle positive durant la deuxième moitié. Un bit au niveau logique "" est représenté par une tension différentielle positive en ligne durant la première moitie de son temps et une tension différentielle négative durant la deuxième moitié. Les temps de début et de fin de chaque message sont constitués par un état de repos de la ligne sans changement de niveau. Lors de la réception chaque bit est échantillonné une fois durant chaque moitié de sa durée pour établir sa cohérence ou détecter un temps de début ou de fin de message. La mise en éveil des récepteurs est provoquée par une entre d'interruption du microprocesseur activée à chaque. transition du signal de ligne provoquant le test et la réinitialisation d'un compteur de temps. Un temps entre transitions supérieur à 3 temps élémentaires détermine le début d'un nouveau message. Les commandes émises par le contrôleur à destination des interfaces périphériques sont de différents types 1) commandes de lecture d'un ou plusieurs ports d'entrée analogiques ou nuneríques auxquelles l'interface périphérique répond par les valeurs demandées. 2) Commandes d'écriture d'un ou plusieurs ports de sortie analogiques ou numériques avec indication des valeurs correspondantes auxquelles I1 inter- face périphérique répond soit par une copie des valeurs sorties soit par un simple message d'accusé de réception. 3) Commandes de test d'entréesnutieriques à i; ao ou ayant change d'état auxquelles l'interface périphérique répond par une indication des ports d'entrée n'étant pas à 1, pas à o ou ayant changé d'état. 4) Commandes fonctionnelles telles par exemple que changement de vitesse de transmission, demande d'identification de ports d'entrée/sortie, test de présence rapide d'un interface périphérique, lecture de compteur d'erreurs de transmission, cette liste n'étant pas limitative. La figure 1 représente la structure d'un systeme avec ses 3 éléments constitutifs : le contrôleur (21), des interfaces périphériques (22) en nombre quelconque jusqu'à limite de 225, la ligne de transmission bifilaire (23) avec autant de ramifications que nécessaire et d'une longueur pouvant atteindre plusieurs kilomètres. La figure 2 représente la structure d'un interface périphérique avec le microprocesseur de gestion des échanges (1), le dispositif d'amplification et d'attaque de ligne déconnectable (2) et le dispositif d'amplification des signaux reçus (3). Le système de protection contre les surtensions de ligne (4) est éventuellement suivi d'un transformateur d'isolement ligne (5) et aboutit aux points de connexion de la ligne de transmission (6). Le codage de l'adresse de l'interface périphérique est réalisé par 8 interrupteurs (7). L'interfaçage à l'environnement local est effectué par 8 lignes bidirectionnelles de données (8) et 8 lignes de sélection de port d'entree/sortie (9) ainsi que par un certain nombre de lignes de contrôle (10). Un dernier groupe de lignes (11) assure la commande d'un convertisseur analogie/numérique (12). La figure 3 représente ia structure électrique et temporelle d'un message émis par le contrôleur en faisant ressortir la structure ainsi que le codage en phase de chaque bit d'information et sa méthode d'bchan- tillonnage à la réception. On y distingue depuis le debut du message une zone de début (30) constituée par un état de repos ligne avec une tension différentielle pouvant être quelconque (positive, négative ou nulle), la seule contrainte étant qu'elle soit fixe et ne présente pas de fronts de variation. Cette zone est suivie par une zone de synchronisation (31) comportant trois fronts de synchronisation, le dernier définissant le début de la référence de temps pour le décodage des bits suivants par le récepteur. Le bit suivant (32) indique le sens de transmission d'un périphérique vers le contrôleur ou inversement. On trouve ensuite le champ adresse de 8 bits t33) sur lequel on a marqué en tant qu'exemple les 2 moments d'échantillonnage de chaque bit du message (36 et 37). Vient ensuite une zone facultative et variable en contenu et longueur suivant chaque type de message (34) et comportant le code de la commande et les données nécessaires à son exécution ainsi qu'un code de contrôle d'erreurs de 8 bits. Le message est terminé par au moins un temps de repos ligne (35) marquant sa fin. Les applications de ce systeme sont nombreuses en milieu industriel ou tertiaire chaque fois que l'on veut automatiser par l'informatique un processus quelconque nécessitant la saisie directe d'informations ou l'action directe par l'organe de traitement en des points nombreux et dispersés. Comme exemples non limitatifs, on peut citer - régulation de chauffage centralisée de sites industriels ou d'ensembles de bureaux, - surveillance d'accès, - automatisation de chaînes de fabrication, - distributior. d'informations. REVENDICATIQNS 1) Dispositif de transmission bidirectionnelle par tension différentielle modulée sur ligne électrique bifilaire gerée par un contrôleur permettant l'échange d'informations numeriques entre celui-ci et au moins un interface périphérique connecte sur cette ligne, caractérise en ce que la transmission s'effectue par groupes synchrones comportant un nombre variable de bits, traités dans les interfaces périphériques par un unique microprocesseur (1) assurant à lui seul l'ensemble des fonctions suivantes : décodage de la phase du signal a la réception, codage par 2 phases du signal à l'émission, reconnaissance dans le message du numéro de périphérique qui lui a bte assigné, détectiondudébut et de la fin du message, analyse de son contenu et contrôle de son intégrité par un code de détection d'erreurs, commande d'après le contenu du message de la saisie ou la fourniture sous forme analogique ounumérlque des informations transmises à son environnement local et émission vers le contrôleur (21), une vitesse de transmission variable,d'une information dépendant du type de commande reçue. 2) Dispositif selon la revendication 1 caractérise en ce que le décodage de la phase du signal reçu est effectue par echantillonnage de l'état de chaque bit à 2 instants différents situés chacun dans une moitié du temps de sa duree (36 et 37). 3) Dispositif selon la revendication i caractérisé en ce que le code de détection d'erreurs de transmission est un code de redondance cycl que de 8 bits. 4) Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que l'adresse transmise d'identification des périphériques est composee de deux champs de 4 bits dans chacun desquels le code nul à la signification "quelle que soit la valeur de ce champ", 5) Dispositif selon la revendication 1 caractérisé en ce que la séparation temporelle des messages est réalisée par mise au repos de la ligne pendant un temps supérieur à 3 fois la durée d'un bit. 6) Dispositif selon la revendication 1 caractérisé en ce que la vitesse des échanges sur la ligne est commandée par le contrôleur (21) ou déterminée automatiquement par les périphériques.