Brevet FR3040843A1 — publié le 20170310

DISPOSITIF DE TEST D'UN RÉSEAU VIDÉO BIDIRECTIONNEL PAR PERTURBATION DE TRAMES ÉCHANGÉES ENTRE ORGANES L'invention concerne les réseaux de communication qui sont adaptés à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de données vidéo, et plus précisément la détermination des conséquences des perturbations induites dans des trames circulant dans de tels réseaux de communication. la Certains réseaux de communication du type précités, et notamment ceux dits « à signalisation différentielle à basse tension » (ou LVDS - « Low Voltage Differential Signaling »), comprennent un organe maître et au moins un organe esclave agencés de manière à s'échanger des trames de données non vidéo de façon bidirectionnelle, dans des créneaux (ou tranches) 15 temporel(le)s (ou « slots »), et des trames de données vidéo de façon unidirectionnelle. Comme le sait l'homme de l'art, la couche électrique (couche 1 dans le modèle OSI) des réseaux du type précité est standardisée. C'est notamment le cas des réseaux LVDS dont le standard est défini dans le 20 document TIA/EIA-644 de l'ANSI (« American National Standards Institute »). Mais, tel n'est pas le cas des couches supérieures, et notamment de la couche 2 (de liaison de données), si bien qu'il n'existe pas de mécanisme permettant de tester ou diagnostiquer la liaison de transmission bidirectionnelle. De ce fait, il n'est pas possible aujourd'hui de connaître à 25 l'avance les conséquences que peuvent induire sur les organes maître et esclave(s) des perturbations sur des trames qu'ils s'échangent. Par conséquent, il n'est pas possible de protéger efficacement le réseau de communication contre ces perturbations. De même, il n'est pas possible de déterminer dans un service après-vente si certaines pannes ou certains 30 dysfonctionnements résultent de perturbations de trames. L'invention a donc notamment pour but d'améliorer la situation. Elle propose notamment à cet effet un dispositif destiné à tester un 3040843 2 réseau de communication adapté à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de données vidéo entre des organes. Ce dispositif se caractérise par le fait qu'il comprend : 5 - des moyens de contrôle agencés pour permettre à un usager de sélectionner au moins une trame à perturber destinée à un organe et au moins une perturbation de cette trame, - des moyens de génération agencés pour générer cette trame sélectionnée, - des moyens de traitement agencés pour perturber cette trame générée avec chaque perturbation sélectionnée pour elle afin qu'elle soit transmise dans un intervalle prédéfini à cet organe destinataire, et - des moyens d'enregistrement agencés pour enregistrer la réaction de cet organe destinataire consécutivement à la réception de la trame perturbée. Grâce à l'invention, un usager peut désormais connaître les conséquences que peuvent induire sur les organes maître et esclave(s) des perturbations qu'il a sélectionnées sur des trames qu'il a sélectionnées. Le dispositif selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment : - chaque perturbation peut être sélectionnée parmi (au moins) un ajout d'un inter-octets ou d'une inter-trames en un endroit choisi d'une trame, une suppression d'au moins un octet d'une trame, et une inversion d'une valeur d'au moins un bit d'au moins un champ d'une trame ; - chaque inversion peut concerner un champ choisi parmi (au moins) « SYNC », « DEV ADDR », « ID », « DLC », un champ d'octet de données, et « CHECKSUM » (ou « CRC ») ; - ses moyens de traitement peuvent être agencés sous la forme d'une carte électronique choisie parmi (au moins) une carte à circuit intégré de type FPGA (« Field Programmable Gate Array »), une carte à microcontrôleur et une carte à circuit spécialisé de type ASIC (« Application-Specific Integrated Circuit ») ; il peut comprendre une liaison de type dit « à accès direct à la mémoire » (ou DMA) entre ses moyens de contrôle et ses moyens de traitement ; 3040843 3 il peut être agencé pour tester un réseau de communication de type LVDS, éventuellement destiné à équiper un véhicule, éventuellement de type automobile. D'autres caractéristiques et avantages de l'invention apparaîtront à 5 l'examen de la description détaillée ci-après, et du dessin annexé, sur lequel l'unique figure illustre schématiquement et fonctionnellement un réseau de communication auquel sont connectés un organe maître et au moins un organe esclave, ainsi qu'un exemple de réalisation d'un dispositif de test selon l'invention. 10 L'invention a notamment pour but de proposer un dispositif de test DT propre à être connecté à un réseau de communication RC adapté à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de données vidéo. Dans ce qui suit, on considère, à titre d'exemple non limitatif, que le 15 réseau de communication RC est de type LVDS (« Low Voltage Differential Signaling »). Mais l'invention n'est pas limitée à ce type de réseau de communication. D'une manière générale, l'invention concerne tout réseau de communication adapté à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de 20 données vidéo. Par ailleurs, on considère dans ce qui suit, à titre d'exemple non limitatif, que le réseau de communication RC est destiné à être installé dans un véhicule automobile, comme par exemple une voiture. Mais l'invention n'est pas limitée à cette application. Elle concerne en effet tout système, 25 installation ou appareil pouvant comprendre au moins un réseau de communication adapté à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de données vidéo. Elle concerne donc notamment les véhicules, qu'ils soient de type terrestre, maritime (ou fluvial), ou aérien, les installations, éventuellement 30 de type industriel, et les bâtiments. On a schématiquement représenté sur l'unique figure un exemple non limitatif de réseau (de communication) RC. Dans cet exemple, le réseau RC (de type LVDS) comprend un bus auquel sont connectés un organe (ou 3040843 4 noeud) maître OM et trois organes (ou noeuds) esclaves 0E1 à 0E3 (j = 1 à 3). Mais le nombre d'organes esclaves OEj peut prendre n'importe quelle valeur supérieure ou égale à un (1). L'organe maître OM et les organes esclaves OEj peuvent être de tout 5 type, dès lors qu'ils sont impliqués dans l'acquisition ou l'utilisation de données vidéo. Par exemple, dans le cas d'une voiture il peut s'agir d'un calculateur multimédia ou d'un écran tactile. Une fois connectés à un réseau RC, l'organe maître OM et les organes esclaves OEj peuvent transmettre des trames de données non vidéo 10 dans des créneaux temporels (ou slots) qui sont prédéfinis dans une table (de programmation), connue de chacun d'entre eux. Il est rappelé que dans un réseau LVDS l'organe maître OM peut transmettre soit des trames de données non vidéo dites d'écriture (ou « write frames ») TE, soit des trames de données non vidéo dites d'entête (ou 15 « header frames ») TH, tandis que chaque organe esclave OEj peut transmettre des trames de données non vidéo dites de lecture (ou « read frames ») TL en réponse respectivement à des trames de données non vidéo d'entête TH. Par ailleurs, une trame d'entête TH et la trame de lecture TL associée sont transmises dans un même créneau temporel défini par la table. 20 Une trame d'écriture TE est destinée à transmettre des données non vidéo à un organe esclave OEj et contient les champs suivants, toujours transmis dans le même ordre : un champ de synchronisation (« SYNC »), indiquant le début de la trame, - un champ (« DEV ADDR »), indiquant à quel composant (sérialiseur, 25 désérialiseur ou microcontrôleur esclave) la trame est adressée, - un identifiant (« ID »), permettant à l'application de l'organe esclave OEj récepteur de savoir comment décoder le champ de données fonctionnelles, - une longueur de trame (« DLC »), indiquant la taille de la trame ou la taille du champ de données fonctionnelles (en octet), 30 le champ de données fonctionnelles (« Di »), contenant des données de commandes (par exemple le réglage d'un écran), 3040843 5 - une somme de contrôle (« CRC » ou « CHECKSUM »), pour permettre à l'organe esclave OEj récepteur de vérifier que la trame reçue n'a pas été altérée au cours de la transmission. Une trame d'entête TH contient les champs suivants, toujours 5 transmis dans le même ordre : - un champ de synchronisation (SYNC), indiquant le début de la trame, - un champ (DEV ADDR), indiquant à quel composant (sérialiseur, désérialiseur ou microcontrôleur esclave) la trame est adressée, - un identifiant (ID), permettant à l'application de l'organe esclave OEj 10 récepteur de savoir comment décoder le champ de données fonctionnelles, - une longueur de trame (DLC), indiquant la taille de la trame demandée (en octet). Une trame de lecture TL contient les champs suivants, toujours transmis dans le même ordre : 15 - un premier champ (ACK), indiquant le début de la trame, - un champ de données fonctionnelles (Di), contenant des données de commandes (par exemple des données générées par un écran tactile indiquant quelle partie de l'écran est touchée par un utilisateur), - une somme de contrôle (CRC ou (CHECKSUM)), pour permettre à l'organe 20 maître OM récepteur de vérifier que la trame reçue n'a pas été altérée au cours de la transmission. Comme illustré sur l'unique figure, un dispositif de test DT, selon l'invention, comprend au moins des moyens de contrôle MCT, des moyens de génération MG, des moyens de traitement MT et des moyens 25 d'enregistrement ME. Dans l'exemple illustré non limitativement sur l'unique figure, le dispositif de test DT est un équipement « externe » qui est temporairement connecté au réseau RC à tester et à un équipement électronique EE comprenant une interface homme/machine (clavier) et un écran d'affichage 30 pour permettre son contrôle par un usager. Ici, l'équipement électronique EE 3040843 6 est un ordinateur individuel (ou PC). Mais il pourrait s'agir d'un ordinateur portable ou bien d'une tablette électronique, par exemple. Dans ce cas, la liaison entre l'équipement électronique EE et le dispositif de test DT peut, par exemple, être de type Ethernet. 5 Dans une variante de réalisation, le dispositif de test DT pourrait faire partie d'un équipement électronique EE (ordinateur (éventuellement portable) ou tablette électronique). Dans une autre variante de réalisation, le dispositif de test DT pourrait comprendre une interface homme/machine (clavier) et un écran d'affichage pour permettre son contrôle direct par un usager. 10 Les moyens de contrôle MCT sont agencés pour permettre à un usager de sélectionner au moins une trame à perturber destinée à un organe OM ou OEj et au moins une perturbation de cette trame. Comme illustré, ces moyens de contrôle MCT peuvent faire partie des moyens de traitement MT. Mais cela n'est pas obligatoire. 15 Dans l'exemple illustré non limitativement, les moyens de contrôle MCT fournissent à l'équipement électronique EE au moins une liste de trames à perturber, et chaque organe destinataire correspondant, en vue de son affichage sur l'écran et d'une sélection par un usager via l'interface homme/machine. On notera, comme illustré non limitativement, que le 20 dispositif de test DT peut comprendre un élément El connecté aux moyens de contrôle MCT et couplé à l'équipement électronique EE afin de communiquer en temps réel avec ce dernier (EE). A titre d'exemple non limitatif, cet élément El peut être un châssis de type PXI (« PCI eXtensions for Instrumentation »). Dans une variante, il pourrait s'agir d'un châssis de 25 type VXI (« VME eXtensions for Instrumentation »), par exemple. Par ailleurs, et comme illustré non limitativement, l'équipement électronique EE peut comporter un logiciel d'interface LI assurant l'interface entre les moyens de contrôle MCT et son interface homme/machine. A titre d'exemple non limitatif, ce logiciel d'interface LI peut être Labview ou 30 TestStand. Ici, une fois que l'usager a sélectionné dans la liste affichée au moins une trame à perturber et au moins un organe destinataire correspondant (parmi ceux possibles), les moyens de contrôle MCT fournissent à 3040843 7 l'équipement électronique EE une liste de perturbation(s) possible(s) pour chaque trame sélectionnée, en vue de son affichage sur l'écran et d'une sélection par l'usager via l'interface homme/machine. On notera que dans une variante de réalisation les moyens de 5 contrôle MCT pourraient fournir à l'équipement électronique EE en même temps la liste de trames et la liste de perturbation(s) possible(s) pour chaque trame. Par exemple, chaque perturbation peut être sélectionnée parmi au moins un ajout d'un inter-octets ou d'une inter-trame en un endroit choisi 10 d'une trame, une suppression d'au moins un octet d'une trame, et une inversion d'une valeur d'au moins un bit d'au moins un champ d'une trame. L'ajout d'un inter-octets ou d'une inter-trame peut, par exemple, se faire à la suite du bit de stop d'un octet sélectionné d'une trame, soit entre deux octets déjà existants de cette trame, soit au début de cette trame juste 15 après l'octet de synchronisation, soit encore à la fin de cette trame, juste après son dernier octet. L'usager peut demander un ajout d'un inter-octets ou d'une inter-trames dont le nombre N de bits peut aller jusqu'à une valeur maximale, par exemple égale à 300. Ces N bits doivent être continus à la suite d'un unique bit de stop. 20 On notera qu'il est également possible d'insérer un défaut (ou « glitch ») d'une longueur variable dans une inter-trames précédemment paramétrée par l'usager, à un instant donné, sur un numéro de bit sélectionné. La durée de ce glitch est par exemple réglable entre 1 /16 de durée de bit et 16/16 de durée de bit. La valeur de ce bit peut, par exemple, 25 être l'inverse de la valeur du bit de stop de l'inter-octets ou de l'inter-trames utilisé. De préférence, on ne peut insérer qu'un seul glitch par trame. La suppression d'un ou plusieurs octets consécutifs d'une trame peut, par exemple, se faire soit à l'intérieur d'une trame, soit au début d'une trame (suppression de l'octet de synchronisation et des x octets suivants (avec x 30 1) pour former une nouvelle trame tronquée), soit encore à la fin de la trame (suppression du dernier octet et des x octets précédents (avec x 1) pour former une nouvelle trame tronquée). A titre d'exemple, si le cinquième octet 3040843 8 d'une trame est supprimé, l'ordre d'émission des octets de la trame perturbée sera 1-2-3-4-6-7... Par conséquent, il n'y aura pas d'intervalle laissé vide pour marquer l'absence du cinquième octet supprimé. On notera que s'il y a plus d'octets supprimés que d'octets dans la trame, la trame n'est pas émise et le 5 slot prédéfini de cette trame est laissé vierge (en d'autres termes, ce slot prédéfini ne devient pas un slot sporadique). L'inversion d'une valeur d'au moins un bit peut, par exemple, se faire dans au moins un champ de trame choisi parmi au moins SYNC, DEV ADDR, ID, DLC, un champ d'octet de données, et CHECKSUM (ou CRC). Par 10 ailleurs, cette inversion peut concerner, par exemple, un bit de donnée et/ou un bit de stop et/ou un bit de parité. Les moyens de génération MG sont agencés pour générer chaque trame sélectionnée par un usager sur ordre des moyens de contrôle MCT. Ils sont donc, ici, couplés aux moyens de contrôle MCT. On notera que la 15 génération d'une trame à perturber se fait de façon anticipée avant le slot prédéfini qui lui a été attribué dans le réseau RC, afin qu'elle puisse être effectivement perturbée et transmise avant l'expiration de ce slot prédéfini. Les moyens de traitement MT sont agencés pour perturber la trame générée (par les moyens de génération MG) avec chaque perturbation 20 sélectionnée pour elle, afin qu'elle soit transmise dans un intervalle temporel prédéfini (c'est-à-dire le slot prédéfini associé) à chaque organe qui en est le destinataire. On comprendra que les moyens de traitement MT sont informés par les moyens de contrôle MCT d'une trame à perturber et de chaque 25 perturbation correspondante sélectionnée pour elle, avant qu'ils ne reçoivent cette trame des moyens de génération MG. Les informations de perturbation (identifiant de trame, identifiant(s) d'organe(s) destinataire(s) et définition(s) de perturbation(s)) peuvent être stockées dans une mémoire des moyens de traitement MT. On notera que le dispositif de test DT peut, par exemple, 30 comprendre une liaison de type dit « à accès direct à la mémoire » (ou DMA (« Direct Memory Access »)) entre ses moyens de contrôle MCT et ses moyens de traitement MT, pour faciliter le transfert et le stockage des informations de perturbation. 3040843 9 La trame perturbée est ensuite transmise dans son slot prédéfini à chaque organe qui en est le destinataire, par exemple et comme illustré non limitativement grâce à un module de communication MCN (ici de type LVDS) que comprend le dispositif de test DT. Dans ce cas, la liaison entre les 5 moyens de traitement MT et le module de communication MCN peut, par exemple, être de type UART (« Universal Asynchronous Receiver Transmitter » - émetteur-récepteur asynchrone universel). A titre d'exemple non limitatif, les moyens de traitement MT peuvent être agencés sous la forme d'une carte électronique, et plus précisément 10 d'une carte à circuit intégré de type FPGA (« Field Programmable Gate Array »). Mais dans des variantes de réalisation, cette carte électronique pourrait être d'un autre type. Ainsi, il pourrait s'agir d'une carte à microcontrôleur ou d'une carte à circuit spécialisé de type ASIC (« Application-Specific Integrated Circuit »). 15 Les moyens d'enregistrement ME sont agencés pour enregistrer la réaction d'un organe destinataire OM ou OEj consécutivement à la réception d'une trame perturbée. En fait, les moyens d'enregistrement ME peuvent être informés par l'enregistrement chronologique des trames circulant sur le réseau. A chaque trame reçue par le dispositif de test DT sont associés des 20 drapeaux (ou « flags ») d'erreurs, soit l'erreur de bit de stop, l'erreur de parité, l'erreur de checksum, l'erreur de DLC et l'erreur de timeout. Chaque réaction est stockée sous la forme d'un ensemble de données, par exemple en correspondance d'un identifiant de la trame perturbée qui l'a provoquée. Cet ensemble constitue une « trace » chronologique. 25 Dans l'exemple illustré non limitativement sur l'unique figure, les moyens d'enregistrement ME ne font pas partie du module de communication MCN. Ils sont même ici externes aux moyens de traitement MT. Cette solution est actuellement préférée car la datation des trames se fait dans les moyens de traitement MT, mais la construction du log en lui-même se fait de manière 30 externe. Mais dans une variante de réalisation, les moyens d'enregistrement ME pourraient être internes au module de communication MCN et couplés à ce dernier (MC). Ainsi, l'usager peut connaître, éventuellement avant l'installation du réseau RC dans un système (comme par exemple un 3040843 10 véhicule), les conséquences que peuvent induire sur les organes maître OM et esclave(s) OEj des perturbations qu'il a sélectionnées sur des trames qu'il a sélectionnées. L'invention permet avantageusement de tester un réseau de 5 communication pendant sa phase de conception ou dans un service après- vente dans le cadre d'une recherche de panne ou de dysfonctionnement. REVENDICATIONS1. Dispositif de test (DT) pour un réseau de communication (RC) s adapté à la transmission bidirectionnelle de trames de données non vidéo et à la transmission unidirectionnelle de trames de données vidéo entre des organes (OM, OEj), caractérisé en ce qu'il comprend i) des moyens de contrôle (MCT) agencés pour permettre à un usager de sélectionner au moins une trame à perturber destinée à un organe et au moins une perturbation de 10 cette trame, ii) des moyens de génération (MG) agencés pour générer ladite trame sélectionnée, iii) des moyens de traitement (MT) agencés pour perturber ladite trame générée avec chaque perturbation sélectionnée pour elle, afin qu'elle soit transmise dans un intervalle prédéfini audit organe, et iv) des moyens d'enregistrement (ME) agencés pour enregistrer la réaction dudit 15 organe consécutivement à la réception de ladite trame perturbée. 2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de traitement sont agencés pour perturber la trame avec une perturbation choisie parmi : un ajout d'un inter-octets ou d'une inter-trames en un endroit choisi d'une trame, une suppression d'au moins un octet d'une trame, et une 20 inversion d'une valeur d'au moins un bit d'au moins un champ d'une trame. 3. Dispositif selon la revendication 2, caractérisé en ce que, une trame comprenant un champ de synchronisation (SYNC), un champ (DEV ADDR), indiquant à quel composant la trame est adressée, un identifiant (ID), une longueur de trame (DLC), un champ de données et une somme de contrôle 25 (CHECKSUM), les moyens de traitement (MT) sont agencés pour perturber un champ de trame choisi parmi : le champ de synchronisation (SYNC), le champ (DEV ADDR) indiquant à quel composant la trame est adressée, l'identifiant (ID), la longueur de trame (DLC), le champ de données ou la somme de contrôle (CHECKSUM), 30 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que lesdits moyens de traitement (MT) sont agencés sous la forme d'une carte électronique choisie dans un groupe comprenant une carte à circuit intégré de type FPGA, une carte à microcontrôleur et une carte à circuit spécialisé de 3040843 12 type ASIC. 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend une liaison de type dit « à accès direct à la mémoire » entre lesdits moyens de contrôle (MCT) et lesdits moyens de traitement (MT). 6. Dispositif selon l'une des revendications 1 à 5, caractérisé en ce qu'il est agencé pour tester un réseau de communication (RC) de type LVDS.