Brevet FR2674395A1 — publié le 19920925

La présente invention est relative à un procédé de transmission de données numériques émises sous forme de trames de signaux différentiels de tension détectables par au moins deux modules électroniques entre des première et deuxième lignes d'un bus de communication de données interconnectant ces modules. Plus particulièrement, la présente invention est relative à un tel procédé conçu pour être mis en oeuvre dans un ensemble de modules électroniques multiplexés commandant diverses fonctions dans un véhicule automobile. Plus particulièrement encore, la présente invention concerne un tel procédé conçu pour résister à la présence éventuelle d'ouvertures accidentelles de circuits pouvant affecter la transmission d'informations entre modules. On étudie actuellement le remplacement du câblage électrique classique d'un véhicule automobile par un bus d'alimentation électrique et par un bus de transmission de données numériques interconnectant des modules électroniques de commande d'actionneurs ou d'acquisition de signaux reçus de capteurs. A titre d'exemple, l'avantprojet de norme française R13-708 correspondant au document de travail référencé ISO/TC22/SC3/WGl N429 Part 2 publié par l'International Standardization Organization, décrit l'architecture générale d'un réseau de communication dit "VAN" conçu pour être embarqué dans un véhicule automobile. Comme schématisé à la figure 1 du dessin annexé, un réseau du type VAN comprend une pluralité de modules électroniques, A, B, C par exemple, interconnectés par un bus bifilaire DATA, DATA propre à transmettre des données numériques émises par un des modules électroniques sous forme de trames de signaux de tension détectables différentiellement entre les deux fils ou lignes du bus. Tout module couplé à ce bus comprend un émetteur, un récepteur ou un bloc émetteur/récepteur tel que celui référencé 1 à la figure 2 du dessin annexé, pour recevoir des informations transmises par le bus et pour émettre des informations sur ce bus. La partie réceptrice comprend classiquement, comme connu des documents US-A- 4 792 950 et FR-A-2 627 036, un premier comparateur RO dont les entrées sont connectées aux lignes DATA, DATA respectivement et des deuxième (ERR1) et troisième (ERR2) comparateurs dont les entrées non inverseuses et inverseuses sont connectées aux lignes DATA, DATA respectivement et dont les entrées inverseuses et non inverseuses respectivement, sont connectées à une source de tension de référence Vref réglée à une valeur comprise dans l'excursion de la tension entre les deux lignes du bus.Deux filtres 3 et 4 sont disposés entre les lignes DATA et DATA respectivement et les entrées des comparateurs. Ces filtres ont pour objet de limiter l'influence des parasites qui peuvent affecter les signaux transmis sur les lignes. I1 est clair que si les lignes ne sont affectées d'aucun défaut, le comparateur RO suffit à détecter la tension différentielle entre les lignes du bus pour délivrer sur sa sortie un signal binaire basculant avec le signe de la tension d'entrée. Cependant, grâce aux deux comparateurs ERR1 et ERR2, il est possible de tirer parti de la complémentarité des états logiques des lignes DATA, DATA pour que l'information circulant sur le bus soit transmise à un module fonctionnant en réception, quand bien même l'une des deux lignes souffrirait d'un courtcircuit ou d'une ouverture de circuit. L'analyse des sorties des trois comparateurs permet de détecter le défaut et de sélectionner l'une des trois sorties, celle qui transmet correctement l'information.A cet effet, l'émetteur/récepteur de ligne 1 comprend des moyens 2 de diagnostic de défaut permettant de sélectionner une sortie de comparateur valide, ces moyens étant associés à des moyens de gestion d'un protocole de transmission particulier choisi pour la transmission des informations reçues du bus à une "application" telle qu'une commande d'actionneur ou une acquisition de signaux fournis par un capteur, par exemple. L'émetteur/récepteur comprend encore un émetteur de ligne 5 dont l'entrée unipolaire est connectée aux moyens 2 et dont la sortie, différentielle, est connectée aux lignes DATA, DATA, à travers des moyens de protection 6 éventuels. Tout ceci est bien connu dans la technique et n'a pas besoin d'être décrit plus avant. De ce qui précède, il résulte qu'un module émetteur peut se "relire" par sa partie réceptrice. Cette relecture autorise certains diagnostics de défauts comme on le verra plus loin. Parmi les défauts qui peuvent affecter le fonctionnement d'un réseau tel que celui représenté à la figure 1, il faut noter l'apparition, fugitive ou permanente, d'ouvertures de circuits telles que celle schématisées en 7 et 8 par des interrupteurs ouverts sur les lignes DATA, DATA, respectivement. De telles ouvertures de circuit peuvent être présentes lors de la transmission d'une trame de signaux, émises par exemple par un module A, alors que le comparateur utilisé dans ce module pour lire les informations sur le bus est le comparateur RO. Par ailleurs, dans le protocole VAN mentionné plus haut, comme dans beaucoup d'autres protocoles de transmission de données, il peut y avoir passage du contrôle du bus, du module émetteur A, par exemple, au module récepteur B par exemple, en cours de trame, à la suite d'une séquence prédéterminée de signaux intermédiaires de la trame transmise. Le module récepteur B devient alors émetteur et complète la trame, par exemple avec des informations demandées par le module A. Si une ouverture accidentelle du circuit, telle que celle schématisée en 8, est présente sur la ligne DATA lors de l'émission par le module A, au moment de la prise de contrôle du bus par le module B, le module A et le module C qui relisent l'état du bus sur le comparateur RO précédemment sélectionné, ne voient pas sur la sortie de celui-ci la séquence de passage de contrôle puisque le comparateur RO, victime de l'ouverture accidentelle 8 de la ligne DATA, ne peut reproduire cette séquence sur sa sortie. C'est seulement sur le comparateur de mode commun ERRI attaché à la ligne DATA, non affecté par une ouverture de circuit ("l'interrupteur" symbolique 7 est fermé) qui pourrait permettre la relecture de la séquence de passage de contrôle.On notera que la situation serait la même si l'ouverture de circuit se manifestait au niveau d'un connecteur raccordant le module B au bus, en particulier à la ligne DATA. La présente invention a donc pour but d'assurer une transmission sure des trames de signaux émises sur le bus, par la détection en cours de transmission d'une trame de signaux, d'une ouverture de circuit sur l'une ou l'autre ligne du bus ou sur un connecteur de raccordement d'un module au bus, et la commande en retour d'une sélection appropriée du comparateur du récepteur formant partie de l'émetteur/récepteur d'un module, propre à assurer une lecture correcte des trames émises sur le bus. On atteint ce but de l'invention, ainsi que d'autres qui apparaîtront à la lecture de la description qui va suivre, avec un procédé de transmission de données numériques émises sous la forme de trames de signaux différentiels de tension détectables par au moins deux modules électroniques entre des première et deuxième lignes d un bus de communication de données interconnectant ces modules, au moins l'un des modules comprenant un émetteur de trames et un récepteur conçu pour recevoir des trames de signaux émises sur le bus à travers l'un, sélectionné, de premier, deuxième et troisième comparateurs, les entrées du premier comparateur étant connectées aux deux lignes du bus, une des entrées des deuxième et troisième comparateurs étant connectée aux première et deuxième lignes du bus respectivement, alors que l'autre entrée est connectée à une tension de référence située dans l'excursion de tension des lignes, les trames de signaux comportant au moins une séquence intermédiaire prédéterminée de signaux de passage du contrôle du bus d'un module émetteur vers un autre module. Suivant l'invention, à l'émission par le module émetteur d'une trame, d'une séquence de passage du contrôle du bus, on compare les sorties des trois comparateurs de son récepteur à cette séquence prédéterminée et on sélectionne éventuellement l'un des deuxième et troisième comparateurs sur la sortie duquel on a reconnu ladite séquence, si celle-ci n' a pas été reconnue sur la sortie du premier comparateur alors que celui-ci était sélectionné préalablement à l'émission de ladite séquence sur le bus. On peut ainsi corriger éventuellement la sélection de comparateur de la partie réceptrice du module émetteur du début d'une trame, ou de tout autre module,de manière à assurer ultérieurement une réception correcte par ce module des informations présentes sur le bus et émises par un autre module interrogé par ce début de trame et répondant après l'apparition sur le bus de la séquence de passage du contrôle du bus. Suivant un mode de réalisation préféré du procédé selon l'invention, on temporise la sélection de l'un des deuxième ou troisième comparateurs de manière à assurer une sélection prioritaire du premier comparateur quand la séquence de passage de contrôle est reconnue sur la sortie du premier comparateur dans un intervalle de temps prédéterminé suivant la reconnaissance de cette séquence sur les autres comparateurs. Cette sélection prioritaire du premier comparateur a pour but de favoriser le comparateur le mieux protégé contre les bruits de mode commun. D'autres caractéristiques et avantages du procédé selon l'invention apparaîtront à la lecture de la description qui va suivre et à l'examen du dessin annexé dans lequel - les figures 1 et 2 schématisent respectivement un réseau de modules électroniques multiplexés et l'organisation de l'émetteur/récepteur d'un tel module, ces figures ayant été commentées dans le préambule de la présente description, - la figure 3 représente en C la séquence des champs constituant une trame "VAN" de signaux émise sur le bus du réseau de la figure 1, en A et B et en D et E respectivement, l'organisation de l'émission de ces différents champs sur le bus, en cas de changement du module émetteur dans le cours d'une trame, - les figures 4 et 5 représentent des diagrammes temporels d'états logiques observés sur les sorties des comparateurs d'un module électronique du type représenté à la figure 2, lors de deux séquences differentes de passage du contrôle du bus, et - la figure 6 est un diagramme d'état qui illustre le procédé suivant l'invention. On décrira dans la suite, à titre d'exemple seulement, une mise en oeuvre de la présente invention dans un ensemble de modules électroniques multiplexés entre lesquels la transmission d'informations s'opère conformément à l'avant-projet de norme VAN précité. Il est clair cependant que l'invention n'est pas limitée à cette application et qu'elle peut trouver utilisation dans d'autres systèmes multiplexés, qu'ils soient conçus pour être embarqués dans un véhicule (tel le réseau CAN par exemple) ou non. On se réfère à la figure 3 du dessin annexé où l'on a représenté en C un format de trames de signaux numériques émise sur le bus de communication d'un réseau VAN. Pour compléter la description qui va suivre de la structure de ces trames, on pourra se réferer au document ISO/TC22/SC3/WG1 N429 Part 2 précité où ces trames sont décrites en détail. Ces trames font l'objet d'une transmission série sur le bus de communication. Elles sont constituées de plusieurs champs successifs schématisés en C à la figure 3 sous la forme de blocs adjacents. Une trame contient ainsi d'abord un champ délimiteur de début de trame SOF pour marquer le début d'une trame, et un champ "identificateur" IDEN utilisé pour préciser l'objet émis dans la trame ou l'objet interrogé. Le champ permet d'identifier quels sont le ou les modules auxquels la trame est destinée. Cet identificateur est constitué par une séquence d'éléments binaires quelconque. La séquence peut être propre à un module particulier ou au contraire être partagée par plusieurs modules, si la nature de l'information contenue dans la trame est telle que celleci doit atteindre plusieurs modules à la fois.La trame se poursuit par un champ de commande COM à quatre bits référencé respectivement EXT, RAK, R/W et RTR. Ce champ est ainsi constitué d'un bit d'extension (EXT) reservé à une utilisation potentielle, d'un bit de "demande d'acquittement" (RAK) qui détermine si un module émetteur demande ou non à un module récepteur de lui accuser réception d'une trame correctement reçue, d'un bit de lecture/écriture (R/W) qui indique si la trame émise est une demande de lecture ou d'écriture, et d'un bit de demande de transmission à distance (RTR). Si le bit R/W est positionné en lecture, cela est interprété par le module récepteur de la trame qui a reconnu son identification comme une invitation à prendre le contrôle du bus lors du bit RTR et à compléter la trame.Si le bit R/W est positionné en écriture, alors cela indique que le reste de la trame sera transmise par le module émetteur. Un champ de données (DAT) suit le champ de commande. I1 comporte un nombre entier d'octets. Une trame de signaux sert donc essentiellement à transmettre à des modules bien déterminés par l'identificateur placé en tête de la trame, les données contenues dans le champ de données. La trame est complétée par divers champs accessoires. Ceux-ci comprennent un champ de "séquence de contrôle de trame" (FCS), utilisé pour garantir l'intégrité des trames transmises, un champ "délimiteur de données (EOD) qui marque la fin du champ transmis par l'émetteur, un champ "d'accusé de réception" (ACK) et un champ "délimiteur de fin de trame" (EOF). Dans l'avant-projet de norme VAN précité, on définit deux états électriques du bus, à savoir un état "récessif n (R) et un état "dominant" (D), correspondant respectivement à un état logique 1 et un état logique 0. Les différents bits (en codage MANCHESTER, par exemple) des divers champs d'une trame se matérialisent ainsi sur le bus par des transitions entre l'état récessif et l'état dominant de ce bus. Le protocole VAN définit en outre deux changements d'émetteur possibles au cours d'une trame. Suivant un premier changement d'émetteur possible (lignes A et B, figure 3) un module A, par exemple, émet les champs SOF à EOD, le bit RAK du champ COM étant, par hypothese, dans l'état correspondant à une demande d'accusé de réception. A la suite de la réception du champ EOD, le module (B par exemple) destinataire de la trame (en particulier des informations contenues dans le champ DAT) prend le contrôle du bus pour émettre le champ ACK. Le contrôle du bus est ensuite repris par le module A pour compléter la trame par le champ EOF. On observera que la séquence de passage de contrôle du bus (E0D, ACK] est parfaitement déterminée étant composée, comme représenté sur le diagramme d'état logique de la figure 4 qui correspond à cette séquence, d'un bit EOD à l'état dominant pendant deux unités de temps TS et d'un bit ACK qui, en code MANCHESTER, comprend une unité de temps TS à l'état récessif suivie d'une unité de temps TS à l'état dominant. Suivant un deuxième changement d'émetteur possible (lignes D et E, figure 3) un module émet les champs SOF, IDEN, et C0M jusqu'au bit de lecture/écriture R/W. Si ce bit est positionné en lecture, cela signifie que le module émetteur (A par exemple) demande à un module interrogé (B par exemple), identifié dans le champ IDEN, de lui transmettre en retour des données enregistrées dans ce module B. Celui-ci répond à cette requête en prenant le contrôle du bus, en émettant un bit RTR prioritaire, puis en émettant à la suite de ce bit les données requises, dans le format du champ DAT, l'émission se poursuivant par celle des champs FCS et EOD après lequel un nouveau changement d'émetteur permet au module demandeur d'accuser réception (champ ACK) des données reçues, comme dans la situation évoquée ci-dessus.La trame est complétée par un champ EOF de fin de trame. On remarquera ici encore que la séquence de passage de contrôle (R/W, RTR] est parfaitement déterminée, étant composée, en codage Manchester par exemple, comme représenté à la figure 5 sur les diagrammes d'états des modules A et B respectivement, d'un bit R/W composé d'une unité de temps TS à l'état dominant suivie d'une unité TS à l'état récessif, ce bit étant suivi d'un bit RTR qui comprend une partie à l'état dominant pendant une unité de temps TS suivie d'une partie à l'état récessif pendant une autre unité de temps TS. Les deux séquences de passage du contrôle du bus d'un module à un autre (EOD, ACK] d'une part et (R/W, RTR] d'autre part étant parfaitement déterminées peuvent être mises en mémoire, ce dont on tire parti dans la présente invention, comme va l'expliquer dans la suite. Supposons que l'émetteur 5 du module A de la figure 1 commence à émettre une trame sur le bus alors qu'une sélection préalable a choisi le comparateur RO, prioritaire, dans le récepteur associé à cet émetteur (voir figure 2). Supposons en outre que lors du départ de l'émission de cette trame, une ouverture accidentelle de circuit affecte la ligne DATA (voir 8, figure 1). L'émission de la trame se poursuit jusqu'au champ EOD (figure 4A) à l'état dominant. Dans l'hypothèse où une demande d'accusé de réception a été formulée dans le champ COM de la trame, le module destinataire de cette demande d'accusé de réception (module B, par exemple), prend le contrôle du bus pour émettre le bit ACK. Comme représenté sur la figure 4, l'émission de ce bit ACK ne pourra être perçue, par le module A et par le module C, ni par le comparateur RO ni par le comparateur ERR2, du fait de l'ouverture du circuit de la ligne DATA. C'est seulement le comparateur ERR1, connecté à la ligne DATA qui a conservé son intégrité, qui recopie le bit ACK sur sa sortie. Des moyens de reconnaissance de la séquence (EOD, ACK] sur la sortie du comparateur ERR1 sont prévus dans les moyens de diagnostic incorporés au bloc 2 de l'émetteur/récepteur 1 du module (voir figure 2). C'est ainsi qu'il est possible, suivant l'invention, de détecter la présence d'une ouverture de circuit sur la ligne DATA par exemple ou sur un connecteur raccordant un module à cette ligne, et de commander en retour une sélection du comparateur ERR1 à la place du comparateur RO préalablement sélectionné. Ainsi le module est-il correctement préparé à la réception d'informations ultérieures émises sur le bus à son intention, malgré la présence du défaut d'ouverture de circuit détecté. I1 en est de même si cette ouverture de circuit est présente alors que le module A débute l'émission d'une trame dans laquelle il demande, par un positionnement adéquat du bit R/W, une réponse dans la trame au module B (voir figure 3, lignes D et E). La réponse (bit RTR) du module consulté B, ne sera pas reconnue par les comparateurs RO et ERR2 (voir figure 5) et le bloc 2 sélectionne alors le comparateur ERR1 à la place du comparateur RO. On a représenté à la figure 6 un diagramme d'état qui illustre le procédé de transmission de données suivant l'invention. Sur ce diagramme d'état, des fonctions logiques formalisent les conditions de sélection énoncées ci-dessus. C'est ainsi que si la séquence (SEQ) de passage de contrôle du bus est reconnue sur la sortie du comparateur ERR1 ( ERR1. SEQ = 1) et que cette séquence n' est pas reconnue sur la sortie du comparateur RO (RO.SEQ = 1) il y a sélection du comparateur ERR1. Suivant une variante avantageuse du procédé de sélection selon l'invention, on ajoute une condition de temporisation (TEMPO). En effet si, dans un intervalle de temps prédéterminé suivant la reconnaissance de la séquence sur la sortie du comparateur ERR1, on opère la même reconnaissance sur la sortie du comparateur RO, on préfère conserver la sélection antérieure du comparateur RO, du fait de la meilleure immunité aux bruits de mode commun de ce comparateur. Bien entendu une sélection similaire du comparateur ERR2 peut être faite en cas de circuit ouvert sur la ligne DATA (7, figure 1) ainsi que l'exprime la fonction logique ((ERR2.SEO).(RO.SEQ)]. TEMPO Suivant l'invention on verrouille ensuite la sélection du comparateur jusqu a l'apparition éventuelle sur le bus d'une nouvelle séquence de passage du contrôle du bus ou jusqu'au retour du bus à l'état inactif. Comme on l'a vu plus haut, les séquences de passage de contrôle du bus (EOD, ACK] et (R/W, RTR] sont parfaitement déterminées par une succession d'états dominants et récessifs de durée déterminée. I1 est alors possible de les mettre en mémoire. C'est par comparaison à des séquences mémorisées que s'opère la reconnaissance sur les sorties des comparateurs de ces séquences. Pour une telle reconnaissance, on opère un suréchantillonnage de la sortie du comparateur considéré et on compare la suite d'échantillons prélevés à une suite correspondante d'échantillons mise en mémoire et représentative de la séquence prédéterminée. On opère de préférence une comparaison échantillon à échantillon en excluant de la comparaison tout échantillon non significatif, tels que ceux qui pourraient être prélevés au voisinage des transitions des signaux de la séquence. Ces transitions peuvent présenter en effet des instabilités qui rendraient la comparaison non significative. Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit et représenté, qui n'a été donné qu'à titre d'exemple. REVENDICATIONS 1. Procédé de transmission de données numériques émises sous forme de trames de signaux différentiels détectables par au moins deux modules électroniques entre des première (DATA) et deuxième (DATA) lignes d'un bus de communication de données interconnectant ces modules, au moins l'un des modules comprenant un émetteur de trames et un récepteur conçu pour recevoir des trames de signaux émises sur le bus à travers l'un, sélectionné, de premier (RO), deuxième (ERR1) et troisième (ERR2) comparateurs, les entrées du premier comparateur (RO) étant connectées aux deux lignes du bus, une des entrées des deuxième (ERR1) et troisième (ERR2) comparateurs étant connectée aux première (DATA) et deuxième (DATA) lignes du bus respectivement, alors que l'autre entrée est connectée à une tension de référence située dans l'excursion de tension des lignes, les trames de signaux comportant au moins une séquence intermédiaire prédéterminée (EOD, ACK R/W, RTR), de signaux de passage du contrôle du bus d'un module émetteur vers un autre module, ce procédé étant caractérisé en ce que, à l'émission par le module émetteur d'une trame, d'une séquence de passage du contrôle du bus, on compare les sorties des trois comparateurs de son récepteur à cette séquence prédéterminée et on sélectionne éventuellement l'un des deuxième (ERR1) et troisième (ERR2) comparateurs sur la sortie duquel on a reconnu ladite séquence, si celle-ci n'a pas été reconnue sur la sortie du premier comparateur (RO) alors que celui-ci était sélectionné préalablement à l'émission de ladite séquence sur le bus. 2. Procédé conforme à la revendication 1, caractérisé en ce qu'on temporise la sélection de l'un des deuxième (ERR1) ou troisième (ERR2) comparateurs de manière à assurer une sélection prioritaire du premier comparateur (RO) quand la séquence de passage de contrôle est reconnue sur la sortie du premier comparateur dans un intervalle de temps prédéterminé suivant la reconnaissance de cette séquence sur les autres comparateurs. 3. Procédé conforme à l'une quelconque des revendications 1 et 2, caractérisé en ce qu'on verrouille la sélection du comparateur jusqu'à l'apparition éventuelle sur le bus d'une nouvelle séquence de passage du contrôle du bus, ou jusqu'au retour du bus à l'état inactif. 4. Procédé conforme à l'une quelconque des revendications précédentes, caractérisé en ce que, à la détection de la tête de la séquence de passage du contrôle du bus, (EOD, ACK ; R/W, RTR) on échantillonne les sorties des comparateurs et on compare les suites d'échantillons obtenus à une séquence d'échantillons correspondants représentative d'une séquence de passage du contrôle, pour identifier le ou les comparateurs assurant une transmission correcte de la séquence émise sur le bus. 5. Procédé conforme à la revendication 4, caractérisé en ce qu'on exclut de ladite comparaison les échantillons correspondants à des transitions des signaux comparés.