Brevet FR2857805A1 — publié le 20050121

PROCÉDÉ ET DISPOSITIF DE TRANSMISSION DE DONNEES La présente invention se rapporte au 5 domaine des procédés et dispositifs de transmission de données. La présente invention se rapporte plus particulièrement à ce type de procédés ou dispositifs appliqués dans un système fermé de calculateurs de contrôle embarqué, tels que par exemple dans un 10 véhicule aérien ou terrestre. En effet, l'objet de la présente demande concerne les systèmes utilisant une pluralité de calculateurs, de capteurs, d'actionneurs, et le réseau 15 de communication les reliant. A l'heure actuelle, de tels systèmes sont utilisés au contrôle d'automatismes complexes et exigeants en performance comme les véhicules aérospatiaux, terrestres ou marins. Dans l'état de l'art, les calculateurs sont reliés par des bus, qui sont utilisés pour les deux fonctions suivantes: - relier physiquement les calculateurs pour l'échange de données (médium), - arbitrer l'accès des calculateurs au médium en émission et l'acceptation des messages en réception. Cette pratique d'utilisation des bus 30 informatiques présente les contraintes et limitations suivantes: - le bus est un point commun de circulation des données du système et met sa sécurité en danger en cas de défaillance, - la probabilité de défaillance du bus est élevée car de nombreux neuds y sont reliés, - le bus n'admet qu'un seul émetteur simultanément, ce qui ralentit les échanges, - le bus impose un protocole pour arbitrer l'accès au bus, identifier l'émetteur et ses destinataires, confirmer l'arrivée des messages, - l'arbitrage du bus consomme deux ressources importantes sur chaque neud: la partie matérielle confiée au contrôleur de protocole physique, dont le coût provient de la circuiterie mise en oeuvre, 10 et la partie logicielle qui consomme une part importante de la mémoire de programme et de la puissance de calcul du neud. Il est en effet fréquent que, dans un système actuel, le contrôle du bus consomme la majorité des ressources matérielles et 15 logicielles du système. La justification de base du bus est d'éliminer de nombreuses liaisons filaires. Dans plusieurs cas, trois inconvénients apparaissent 20 ensemble ou indépendamment: - coût du neud: le bus ne peut s'étendre aux capteurs et actionneurs les plus simples quand le coût d'un neud ne s'y justifie pas, - temps de propagation: certains signaux 25 rapides ne peuvent transiter par un bus car celui-ci est ralenti par son protocole, - signaux sécuritaires: les signaux à sécurité critique ne peuvent emprunter le bus à cause de la limitation mentionnée précédemment. Il résulte de ces limitations que, dans les systèmes actuels, le bus transporte au mieux les signaux non sécuritaires, lents, et vers les périphériques coûteux. Un important câblage filaire subsiste vers les neuds présentant une contrainte de 35 sécurité, une contrainte de temps et/ou coût, limitant l'intérêt économique du déploiement de bus. Le support physique des communications ou "médium", typiquement du câble électrique, voit ses possibilités réduites quand on l'utilise comme bus: connecter de nombreux noeuds sur un 5 conducteur, selon une disposition dépendant des applications, requiert la spécification de normes électriques sévères, elle-même longues et coûteuses à mettre au point puis à respecter; - l'interface physique du noeud au bus, 10 supporte ces contraintes qui se traduisent en un coût matériel additionnel. À l'heure actuelle, il est courant d'y ajouter des composants passifs de filtrage et de protection et d'ajuster ces circuits supplémentaires sur le système final pour obtenir un 15 comportement correct du bus; - le protocole de communication impose également des contraintes réduisant la performance du support physique. Par exemple, le câble torsadé utilisé selon la norme EIA644 autorise un débit supérieur à 20 500 Mbits/s (mégabits par seconde) , et le même câble employé selon la norme IS011898 (bus CAN), connu comme standard de l'industrie, ne transmet au mieux que 1 Mbits/s. Ces deux ordres de grandeur de perte de bande passante proviennent d'une contrainte majeure du 25 protocole, l'acquittement des messages par leur dernier bit. L'art antérieur connaît déjà une solution décrite dans la demande de brevet WO 0114976 qui 30 divulgue un système dans lequel il y a un transfert de données entre une première utilisation sur un premier calculateur et une deuxième utilisation sur un deuxième calculateur. La liaison s'effectue de préférence par l'intermédiaire d'un processus optique de transfert de 35 données. Les utilisations communiquent avec des utilisations suppléantes prévues sur chacun des calculateurs identiques, sans que des ordres spéciaux spécifiques des bus soient obligatoirement pris en compte. Néanmoins, dans tous les systèmes existants 5 jusqu'à présents, il n'a jamais été envisagé de n'utiliser aucun bus informatique puisque ces derniers sont considérés comme essentiels pour le réseau de transmission de données. La présente invention entend remédier aux inconvénients de l'art antérieur en réalisant un système équivalent en évitant l'emploi des bus, et en éliminant le contrôleur physique de protocole, circuit logique autorisant et validant les transmissions et le 15 contrôleur logique de protocole, partie logicielle du neud spécifique à l'utilisation du bus, qui sont, bien entendu liés à la présence de bus informatiques. Pour ce faire, la présente invention 20 concerne un procédé de transmission de données dans un système fermé de calculateurs de contrôle embarqué, tels que par exemple dans un véhicule aérien ou terrestre, comportant une étape de transmission de données point à point entre deux neuds de transmission 25 par exemple via un réseau filaire, chaque neud possédant un ou plusieurs canaux autorisant chacun la transmission avec un unique neud, une étape de conversion des données pour leur transmission, par exemple en série, caractérisé en ce qu'il ne comprend 30 aucune étape de contrôle physique ou logique pour l'autorisation et/ou la validation des données transmises de sorte que toute réception de données à un neud est suivie inconditionnellement d'une réémission, c'est- à-dire que le contrôle des flux de données est 35 déterminé implicitement par la topologie câblée mise en oeuvre. La réémission se fait normalement par un autre canal, sauf si les données circulent sur un canal sans issue ou à impasse, auquel cas il y a donc écho, il en résulte une propagation et le flux de 5 données est donc défini principalement par la topologie du câblage. Dans le cas d'un envoi de données ou message erronées , le système selon l'invention 10 fonctionne sensiblement comme les systèmes de l'art antérieur, c'est-à-dire que le dispositif transmet de manière inconditionnelle l'information relative à l'état incorrect de ses données. Avantageusement, le procédé pourra comprendre en outre une étape d'inscription de l'état des neuds par lesquelles les données sont transmises ou véhiculées. De préférence, chaque noeud de transmission prélèvera le contenu pertinent pour sa tâche de contrôle dans les données transmises. Avantageusement, le procédé de l'invention 25 comprendra une étape de génération et d'envoi des données par un noeud initiateur émettant périodiquement et imposant sa période au reste du système. De préférence, le procédé selon l'invention 30 comprend un second noeud devenant initiateur en cas de défaillance du premier noeud initiateur. Selon un aspect particulièrement avantageux de l'invention, les données, restant inchangées et 35 passant à nouveau par le noeud d'origine des données, seront transmises sous une forme réduite signifiant leur constance. De même, avantageusement, chaque noeud de transmission des données comprendra une table de prélèvement apte à autoriser le prélèvement des données nécessaires à sa tâche de contrôle. Avantageusement, chaque neud de transmission sera programmable et reprogrammable selon un code transmis par les neuds voisins. 10 Avantageusement, chaque neud transmettra un commentaire relatif au retard, aux déformations, distorsions ou à la répétition dans le cas où les données transmises sont effectivement reçues 15 respectivement avec un retard, une déformation, une distorsion ou une répétition. La présente invention se rapporte également au dispositif de mise en oeuvre du procédé décrit 20 précédemment. Ce dispositif comprend des neuds reliés entre eux par liaison filaire, ou optique, pour la circulation desdites données selon un réseau de liaison point à point caractérisé en ce qu'il ne comprend aucun contrôleur de protocole ni de bus informatique. 25 Grâce à l'invention, on réalise un procédé de coordination d'un système de calculateurs de contrôle embarqué par la combinaison de trois moyens: - des liens point à point entre 30 calculateurs, - un mécanisme de circulation automatique des données sans contrôleur de protocole, - une numérotation préalable des messages des calculateurs pour tout le système. 35 Les limitations de l'art antérieur observées dans un système à bus sont donc résolues comme suit: - la perte d'un lien ou d'un neud 5 n'inhibe pas tout le système, seulement la liaison ou l'organe concernés, - il y a autant d'émissions simultanées possibles qu'il y a de liens, - sur un lien les fonctions 10 d'identification de l'émetteur et du destinataire sont inutiles, - le noeud est plus simple car dépourvu des éléments matériels nécessaires dans un système avec bus informatiques, il est possible d'en disséminer plus 15 et donc de réduire le câblage filaire vers les capteurs ou actionneurs les plus simples. Selon un aspect particulièrement avantageux de l'invention, ces neuds plus simples, non spécialisés et plus nombreux, sont plus économiques; - un lien point à point selon l'invention est beaucoup plus rapide qu'un bus, - les liaisons filaires sécuritaires indispensables dans l'art antérieur sont remplacées selon l'invention par des liens redondants, - simplicité de réalisation de la liaison point à point, pour la même raison, les interfaces point à point sont connues pour être plus simples et économiques. On comprendra mieux l'invention à l'aide de la description, faite ciaprès à titre purement explicatif. Il n'a pas été choisi pour illustrer l'invention de réaliser une ou plusieurs figures schématiques dans la mesure où l'homme du métier est parfaitement capable d'appréhender et de visualiser les éléments matériels auxquels il sera fait référence dans la suite. Dans l'art antérieur, les systèmes de connexion pour la transmission de données fonctionnent avec des bus selon les éléments et caractéristiques suivants: 1. support physique typiquement un ou 10 plusieurs fils, paires torsadées, fibres optiques, 2. interface matériel circuit logique convertissant les données pour leur transmission en série, 3. contrôleur physique de protocole 15 circuit logique qui arbitre l'accès au bus, autorise et valide les transmissions, 4. contrôleur logique de protocole partie logicielle du neud spécifique à l'utilisation du bus, 5. applicatif partie logicielle du neud 20 assurant sa fonction de contrôle. Nous allons voir dans la suite comment l'objet du procédé selon l'invention réalise un transfert de données sans nécessiter les étapes 3 et 4 25 ci-dessus. Selon la présente invention, le bus est remplacé par un réseau de liaisons point à point. Dans le cadre de la présente invention, le terme lien 30 signifie une liaison entre au plus deux noeuds. Le réseau selon l'invention est disposé pour fournir au moins deux chemins indépendants entre toute paire de neuds échangeant des données jugées sécuritaires. Certains neuds ne possèdent qu'un lien, par exemple 35 ceux contrôlant un capteur ou un actionneur dont la perte éventuelle n'est pas critique au point de justifier des liens redondants. Certains noeuds possèdent deux liens et permettent de former des structures en chaîne ou en anneaux. Certains noeuds possèdent trois liens permettant de grouper des chaînes ou des anneaux de noeuds ou de constituer une pluralité de structures plus complexes. Pour assurer la circulation des données sans les dispositifs de contrôle de protocole, l'invention définit un mécanisme de communication 10 dépourvu de la complexité qui justifie ces dispositifs, à savoir qu'il y a émission et réceptions systématiques et inconditionnelles des données. Les messages se propagent de neud en noeud. 15 Une réalisation selon l'invention se décrit par le fait que toute réception de message par un neud est suivie inconditionnellement d'une réémission du message à l'identique ou d'un message commentant une erreur ou vice quelconque du message tel qu'un retard. Le procédé 20 de l'invention emploie des chemins fermés, de sorte que les messages émis reviennent à leur originateur. Tout neud est originateur des messages portant son état et celui de ses actionneurs, les mesures effectuées par les capteurs qu'il contrôle et éventuellement son 25 identification. Un noeud recevant un message dont il est l'originateur le propage avec un contenu mis à jour. Si le message a un autre originateur, il est simplement 30 propagé, le neud propagateur en prélevant ensuite le contenu éventuellement pertinent pour sa tâche de contrôle. Ce comportement est assez simple pour être assuré directement par les étapes 2 et 5 indiquées précédemment. On peut donc réaliser l'invention sans 35 recourir à des dispositifs spécialisés dans la gestion d'un protocole, par exemple en n'utilisant qu'un port série asynchrone, ce qui est le but essentiel de l'invention. Les interfaces physiques aux deux 5 extrémités d'un lien doivent être compatible. Il est possible selon l'invention d'utiliser un standard physique pour un lien et un autre standard pour un autre lien du même neud, pourvu que cette hétérogénéité soit compatible avec les besoins en vitesse de 10 propagation. D'autres comportements non essentiels sont généralement nécessaires dans une réalisation avantageuse du dispositif et procédé de l'invention: - un noeud appelé initiateur émet périodiquement, imposant sa période d'émission au reste du système, - au moins un second neud devient initiateur en cas de défaillance du premier, - dans les arrangements fermés, l'initiateur et les neuds suivants émettent dans les deux sens, ce qui assure une résistance à la perte d'un élément, - une stratégie particulière régit la 25 propagation de la pulsation entre deux circuits fermés, - les messages au contenu inchangé sont propagés sous une forme réduite signifiant leur constance, - le bon fonctionnement de la chaîne de 30 propagation fait partie de l'état transmis par les noeuds; Ceci permettant de localiser les pannes. La messagerie utilisée par le système est définie préalablement à l'assemblage de celui-ci. 35 Chaque neud se voit attribuer un ou plusieurs identifiants propres dont il marque les messages qu'il initie. Dans le cas simple d'un noeud n'émettant qu'un seul type de message, par exemple un capteur élémentaire, le message possède un identifiant qui est 5 de fait l'identifiant du noeud émetteur. Pour les noeuds plus complexes, une pluralité d'identifiants est possible. De même, chaque noeud détient une table lui permettant de prélever les données nécessaires à sa 10 tâche de contrôle. Cette table associe aux messages, reconnaissables par leurs identifiants, la position de la donnée pertinente dans le message. Il ne sera pas développé plus avant d'explications relatives aux susdites tables qui sont bien connues de l'homme du 15 métier et sont utilisées ici en remplissant leurs fonctions classiques. Dans une réalisation selon l'invention un système de contrôle embarqué est constitué de deux 20 sous-systèmes: Un Premier sous-système (ABCD) : noeuds A, B, C, D, et Un second sous-système (EFGH): noeuds E, F, G, H. Les noeuds A et B, B et C, C et D, D et A sont respectivement reliés les uns aux autres et la liaison forme les liens correspondant ab, bc, cd, da. Le premier sous-système est relié par le réseau fermé 30 le plus simple, un anneau. De la même manière, les noeuds E et F, F et G, G et H. H et E sont reliés les uns aux autres et la liaison forme les liens correspondant ef, fg, gh, he. 35 Le second sous-système est également relié par le réseau fermé le plus simple, un anneau. nouveau, le noeud D est relié au noeud E formant le lien ed et le neud H est relié au noeud A formant le lien ha, les liens ed et ha relient les deux sous-systèmes ABCD et EFGH. On notera dans la suite que tous les liens sont bidirectionnels. On considèrera que: - le noeud A possède un capteur cA, - le neud G possède un capteur cG, 10 - le neud F possède un actionneur aF, - le neud F pilote aF d'après les mesures de cA et cG. Les règles définissant la circulation des 15 données dans la réalisation selon l'invention sont les suivantes: - chaque neud (ABCDEFGH) émet cycliquement un message portant l'identification de leur originateur, et les mesures de ses capteurs, - ces messages circulent dans chaque sous-système, de noeud en neud, dans les deux sens, jusqu'à être relus par leur originateur. Celui-ci les propage alors avec mise à jour éventuelle des mesures transportées, - un neud pilotant un actionneur prélève les données le concernant au passage. Un noeud pilotant un capteur ou un actionneur possède sa loi d'activation, et il suffit 30 que les données pertinentes soient produites dans le réseau. Si l'activation d'un actionneur produit une donnée pertinente en un autre point du système, alors le neud concerné émet cette donnée dans son message d'état. Il n'est pas nécessaire que ce noeud (le 35 programme qu'il héberge) connaisse la pertinence ou l'utilisation de cette donnée ailleurs dans le système. Les autres règles relatives au dispositif selon l'invention s'énoncent comme suit: - les messages reçus par un noeud sont endogènes, c'est-à-dire que le neud récepteur en est 5 l'émetteur initial, ou exogènes, c'est-à-dire que le message a été émis par un autre neud; - les messages endogènes sont remplacés immédiatement par une version mise à jour. Un message endogène encore à jour, c'est-à-dire identique à la 10 version mise à jour, est ré-émis sous sa forme courte, ne comprenant que l'identification du neud et un témoin d'identité. Les messages courts réduisent l'énergie de communication du système; - les messages exogènes sont propagés 15 sans délai. Leurs données ne sont utilisées localement qu'après le début de leur réémission; - un message jugé erroné est remplacé par un témoin d'erreur, qui ne sert qu'à synchroniser les échanges suivants; - le neud A initie les échanges du soussystème ABCD en émettant le premier, dans les deux sens, à la mise sous tension; Il émet également vers le neud H. Celui-ci à son tour initie les échanges du sous-système EFGH. Si le neud A est défaillant, le noeud 25 H devient l'initiateur du système en émettant dans (EFGH) ; - l'initiateur A (ou H en cas de défaillance de A) déroge aux règles en émettant périodiquement au lieu de propager les messages sans 30 délai. Il respecte une période d'émission qui définit la pulsation du système. En raison de la propagation sans délai des messages, les échanges du système surviennent dans une première partie de la pulsation, à partir des émissions de l'initiateur, puis le système 35 devient silencieux jusqu'à la fin de la période, dans l'attente de la prochaine pulsation. La présente invention utilise un mode de synchronisation isochrone, grâce aux périodes de repos entre deux pulsations, avec pourtant une précision temporelle qui est celle de l'horloge de l'initiateur. 5 À titre de comparaison, le mode isochrone est plus simple et donc plus économique qu'un mode synchrone qui demanderait des ressources importantes pour synchroniser tous les liens, à l'instar du protocole TTP (Time Triggered Protocol). 10 Selon un mode de réalisation destiné à illustrer l'invention, les messages de A et G sont de la forme suivante: Identification du message: 16 bits, 15 - état du noeud: 16 bits, - mesure du capteur: 16 bits, - clé de contrôle: 16 bits, la liaison utilise une paire torsadée LVDS (Low Voltage Data Signaling) à 32 Mbits/s, la pulsation 20 du système est définie à 100 ps, le temps de transfert d'un message: 64 bits à 32 Mbits/s: 2 Ds et le temps de propagation à travers le neud: 3 Ps. Si on prend l'exemple du cheminement des 25 données de cA [cA] et cG [cG] vers aF (neuds de A à F). Les données de cA, émises par A à To, parviennent à F après 10 ps de transfert (TO + 10 us). A reçoit son message en fin de boucle, le reconnaît, prépare la version éventuellement mise à 30 jour... To +15 ps. Le sous-système est inactif, c'est-à-dire à très basse consommation, jusqu'au prochain cycle To +100 Ds. La seule activité entre To +15 et To + 100 est l'horloge de A décomptant la fin de cycle. Il est trivial que [cG] parvient à F en Ds directement par G et en 15 ps par H et E. Pour illustrer de façon complète le procédé et le dispositif selon l'invention, on pourra décrire également les cas possibles de pannes de la manière suivantes: * Perte d'un lien: - Dans l'art antérieur: 1. problème électrique sur un bus, tout le bus est perdu (tous les neuds isolés). Il n'est pas possible de déterminer l'emplacement du défaut. 2. problème électrique sur la branche reliant un neud; le neud est perdu. - Dans le procédé de l'invention: La perte n'affecte pas les liens voisins. Il y a toujours au moins un second chemin entre deux 15 noeuds. L'emplacement de la panne est connu. * Perte d'un noeud: - Dans l'art antérieur: possibilité de mise en défaut de tout le bus (émission ininterrompue ou problème électrique), 20 - Dans le procédé selon l'invention: au pire, isolement du neud, le noeud en panne étant connu. * Perte du noeud initiateur: - dans l'art antérieur: 25 le bus ne démarre pas, - dans le procédé selon l'invention: après expiration du délai de première émission, le second initiateur émet, on est ramené au cas précédent (perte d'un neud). * Message erroné à l'émission: - Dans l'art antérieur: déclenchement de procédures d'erreur, modifiant le déterminisme temporel du système, - dans le procédé selon l'invention: 35 message non propagé par les noeuds voisins, ou avec notification explicite de doute (le déterminisme temporel est conservé). L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de 5 l'invention sans pour autant sortir du cadre du brevet. REVENDICATIONS 1. Procédé de transmission de données dans un système fermé de calculateurs de contrôle embarqué, 5 tels que par exemple dans un véhicule aérien ou terrestre, comportant une étape de transmission de données point à point entre deux noeuds de transmission par exemple via un réseau filaire, chaque noeud possédant un ou plusieurs canaux autorisant chacun la 10 transmission avec un unique noeud, une étape de conversion des données pour leur transmission, par exemple en série, caractérisé en ce qu'il ne comprend aucune étape de contrôle physique ou logique pour l'autorisation et/ou la validation des données 15 transmises de sorte que toute réception de données à un neud est suivie inconditionnellement d'une réémission, c'est-à-dire que le contrôle des flux de données est déterminé implicitement par la topologie câblée mise en oeuvre. 2. Procédé de transmission de données selon la revendication 1, caractérisé en ce qu'il comprend en outre une étape d'inscription de l'état des noeuds par lesquelles les données sont transmises ou 25 véhiculées. 3. Procédé de transmission de données selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque noeud de transmission 30 prélève le contenu pertinent pour sa tâche de contrôle dans les données transmises. 4. Procédé de transmission de données selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape de génération et d'envoi des données par un noeud initiateur émettant périodiquement et imposant sa période au reste du système. 5. Procédé de transmission de données selon la revendication 4, caractérisé en ce qu'il comprend un second noeud devenant initiateur en cas de défaillance du premier noeud initiateur. 10 6. Procédé de transmission de données selon l'une quelconque des revendications précédentes, caractérisé en ce que les données, restant inchangées et passant à nouveau par le noeud d'origine des données, 15 sont transmises sous une forme réduite signifiant leur constance. 7. Procédé de transmission de données selon la revendication 3, caractérisé en ce que chaque 20 noeud de transmission des données comprend une table de prélèvement apte à autoriser le prélèvement des données nécessaires à sa tâche de contrôle. 8. Procédé de transmission de données 25 selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque noeud de transmission est programmable et reprogrammable selon un code transmis par les noeuds voisins. 9. Procédé de transmission de données selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque noeud transmet un commentaire relatif au retard, aux déformations, distorsions ou à la répétition dans le cas où les données transmises sont effectivement reçues respectivement avec un retard, une déformation, une distorsion ou une répétition. 10. Système de transmission de données pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes 1 à 9, comprenant des neuds reliés entre eux par liaison filaire pour la circulation desdites données selon un réseau de liaison 10 point à point caractérisé en ce qu'il ne comprend aucun contrôleur de protocole ni de bus informatique.