Brevet FR2807175A1 — publié le 20011005

ETAT DE LA TECHNIQUE L'invention concerne un procédé et un dispositif pour établir une communication entre deux participants d'un système de bus et pour charger des données par le systèmes de5 bus, selon lequel: - on charge les données dans une mémoire d'un premier participant et on émet les données à partir d'un second participant, - le système de bus ayant une vitesse de transmission prédéterminée, valable pour tous les participants, à laquelle tous les participants en fonctionnement communiquent, - la transmission des données est faite sous la forme de trame et une telle trame contient une caractéristique selon laquelle chaque participant au bus peut émettre des trames avec les mêmes droits et chaque participant calcule et reçoit la trame qui lui est destinée au moyen de la caractéristique. Une telle vitesse de transmission connue ou vitesse baud, convenue entre tous les participants à un système de bus, et qui reste invariable en fonctionnement normal, est présentée dans le cas d'un système de bus CAN; elle est importante pour le fonctionnement de l'ensemble CAN. Cela correspond à la spécification CAN de Robert Bosch GmbH de 1991, versions 1.2 et 2.0. Le bus CAN s'est confirmé comme moyen de transmission de données à vitesse de transmission élevée et très grande sécurité de transmission. Le document ci-dessus décrit un bus de communication série, selon lequel les données sont transmises en paquets ou en trames appelées trames CAN qui se composent principalement d'une caracté- ristique ou identification (ID) et d'un certain nombre d'octets de données notamment 8. L'identification ID est utilisée ici pour la priorité des paquets de données pour l'arbitrage du bus. L'arbitrage du bus ou plus simplement l'arbitrage signifie que chaque fois que le système de bus (ou le bus) est libre, chaque participant peut transmettre une information, notamment des données. Lorsque deux ou plusieurs participants démarrent en même temps la transmission de données, l'utilisation de la caractéristique résout le conflit d'accès au bus en comparant le niveau transmis de l'information en code binaire, c'est-àdire le niveau du bit transmis par chaque participant au niveau du bit affiché dans le bus. Si les niveaux sont identiques, le participant peut continuer d'émettre. Un niveau est récessif et l'autre est dominant. Lorsqu'un niveau récessif est émis et que le bus affiche un niveau dominant, le participant de l'arbitrage a perdu et il doit immédiatement arrêter sa transmission. Cela est vrai pour le système CAN basique. Dans le cas du système CAN complet, on applique un mécanisme de différentiation selon lequel il y a une comparaison de niveau ou de bit concernant l'identificateur. De plus, on ne distingue plus entre le système CAN basique et le système CAN complet, car les explications suivantes peuvent être appliquées ou facilement transposées. Pour charger des données, notamment des codes de programme, on connaît le mécanisme d'un " Bootstrap-Loader " ou programme d'amorçage. Ce programme d'amorçage est un programme particulier qui est mis dans une mémoire au démarrage du système d'ordinateur et qui assure ensuite que les parties du système de fonctionnement nécessaires à la mise en oeuvre de l'installation, arrivent dans la mémoire de travail et assurent le contrôle. Un système d'ordinateur dont le programme de fonctionnement n'est pas câblé de manière fixe ou contenu dans une mémoire morte (mémoire ROM) est seulement mis en fonctionnement par un tel mécanisme. Un tel mécanisme de programme d'amorçage pour des participants à un système de bus est décrit dans le document EP 0 364 127 Ai. Selon ce document, on distingue entre un chemin de chargement de programme d'amorçage défini et indéfini. Le chemin défini est exécuté si la configuration actuelle du système correspond à la configuration du système prévue pour le chemin de chargement défini. Dans le cas contraire, on sélectionne le chemin de chargement d'amorçage non défini selon lequel un module de service central recherche les éventuels chemins de chargement d'amorçage pour démarrer ainsi le système. Ainsi l'ensemble du système est mis en oeuvre par le programme d'amorçage. Si dans une combinaison de système, différents participants notamment des appareils de commande d'un véhicule doivent être relancés par un autre participant notamment un système de contrôle et/ou de programmation pour un mécanisme d'amorçage, en particulier dans des systèmes de bus avec des participants ayant les mêmes droits, on rencontre le problème qu'une intervention non voulue dans le programme notamment dans le code de programme d'autres participants pourrait être faite engendrant alors des erreurs. Dans un système de bus CAN ou une combinaison CAN, il faut réaliser cela de manière individuelle et ainsi de façon très particulière par adaptation à chaque système de bus sous la forme d'une programmation de niveau haut. Une telle programmation de niveau haut ne pourrait s'utiliser que pour le système CAN concerné mais non pas de manière générale. L'état de la technique montre également qu'il n'y a pas de contrôle d'autorisation pour un tel programme d'amorçage, si bien qu'il peut y avoir des défauts en particulier des défauts de programmation. Des interfaces série (ISO-K) qui peuvent être reliées de manière générale, entre un appareil de commande et un système de contrôle et/ou de programmation, sont connues et utilisent un support de transmission tel qu'un programme d'amorçage. Le programme à exécuter par ce support de transmission est ainsi transmis et est prédéfini de l'extérieur sans aucun contrôle d'autorisation. L'utilisation d'une interface rapide, en particulier d'une interface CAN, sans utiliser de conditions de lancement de circuit particulières, n'est pas présentée dans ce document. On a constaté que l'état de la technique ne peut pas donner des résultats optimum dans chaque cas. Dans ces conditions la présente invention a pour but de développer un procédé et un dispositif permettant de définir un mécanisme de programme d'amorçage d'application universelle, notamment avec contrôle d'autorisation pour une interface rapide, notamment CAN, celle-ci pouvant être démarrée sans conditions de lancement de circuit particulières. AVANTAGES DE L'INVENTION A cet effet la présente invention concerne un S procédé du type défini cidessus, caractérisé en ce que le premier participant reçoit une trame du second participant si ce dernier envoie au moins une trame avec une vitesse de transmission différente de la vitesse prédéterminée de transmission de fonctionnement par l'intermédiaire du système de bus. Selon d'autres caractéristiques avantageuses du procédé: - les informations transmises par le système de bus sont en code binaire, un niveau étant dominant et l'autre niveau étant récessif, et la trame au moins unique ayant une vitesse de transmission différente commence par un nombre prédéterminé de niveaux dominants, notamment cinq; - on transmet au moins deux trames avec une vitesse de transmission différente de la vitesse de transmission prédéterminée de fonctionnement à partir du deuxième participant, une première vitesse de transmission d'une première trame se distinguant d'une seconde vitesse de transmission d'une seconde trame et les caractéristiques des deux trames commençant par le même nombre de niveaux dominants, la première trame, transmise à la première vitesse de transmission, transmet globalement avec les niveaux dominants l'information à codage binaire d'un niveau dominant, et la seconde trame transmise à la seconde vitesse de transmission transmet globalement avec les niveaux dominants l'information à codage binaire d'un niveau récessif, la première ou la seconde trame étant transmise à la suite l'une de l'autre en fonction de l'information à transmettre; - le premier participant utilise un mécanisme de programme d'amorçage pour charger les données, le deuxième participant transmettant au premier comme condition de lancement dans le mécanisme de programme d'amorçage, la trame au moins unique ayant la vitesse de transmission différente de celle prévue pour le système de bus; - une troisième trame est transmise à une troisième vitesse de transmission par le second participant vers le premier participant, le premier et le second participant étant synchronisés sur les niveaux dominants dans la troisième trame, - on définit une quatrième trame transmise à une quatrième vitesse de transmission, la caractéristique de la quatrième trame étant transmise avec la première et la seconde trames avant la transmission de la quatrième trame par le second participant au premier participant, le second participant transmettant les données au premier participant après la quatrième trame; - la quatrième trame contient en plus de la caractéristique du second participant également une caractéristique pour le premier participant, et une adresse de départ concernant les données à charger ensuite dans la mémoire du premier participant; - les première, seconde, troisième, et quatrième vitesses de transmission sont différentes et se distinguent d'une vitesse de transmission prédéterminée du système de bus en fonctionnement, la quatrième vitesse à laquelle en plus de la quatrième trame, on transmet également les données du second au premier participant étant supérieure à la première, à la seconde et à la troisième vitesse de transmission. La vitesse de transmission différente s'utilise avantageusement comme condition de lancement dans la transmission de données en particulier dans un mécanisme de programme d'amorçage du premier participant. De façon avantageuse, on peut établir un mécanisme de programme d'amorçage d'application universelle pour des systèmes de bus ayant chaque fois une vitesse de transmission prédéterminée,35 propre (vitesse baud) notamment avec contrôle d'autorisation pour un système de bus CAN. Après accusé de la réception par le premier participant, par exemple un appareil de commande d'un véhicule automobile avec accusé de réception, il y a transmission de données, notamment d'un code de programme à exécuter, dans une mémoire du premier participant. Après une vérification, notamment une vérification par somme de contrôle, on exécute les données chargées, par exemple lorsque celles-ci correspondent à un programme. Cela permet de charger avantageusement des données ou des codes de programme quelconques dans une mémoire du premier participant et d'en assurer l'exécution, si bien que le procédé et le dispositif conviennent non seulement par exemple à la programmation de niveau bas (par exemple d'une mémoire Flash), mais également à l'analyse et à la vérification des premiers participants, également indépendamment de leur fonction proprement dite. Si de façon avantageuse, comme condition de lancement, on utilise seulement des trames transmises, notamment des trames CAN, on peut renoncer avantageusement à toute condition de lancement HW particulière tout en conservant tous les avantages d'une interface rapide de bus. On raccourcit ainsi de façon avantageuse le temps de programmation L'invention concerne également: - un dispositif comprenant un premier et un second participant et un système de bus qui les relie, avec des moyens pour établir une communication entre les participants et charger des données par le système de bus, les données étant chargées dans une mémoire du premier participant et les données étant envoyées par le second participant, le système de bus ayant une vitesse de transmission prédéterminée et valable pour tous les participants, et à laquelle tous les participants communiquent en fonctionnement, la transmission des données étant faite sous la forme de trames et une telle trame contenant une caractéristique, chaque participant du bus pouvant émettre des trames de même droit et chaque participant déterminant par la caractéristique, la trame qui lui est destinée et la recevant, caractérisé en ce que d'autres moyens sont contenus dans le second participant et le premier participant reçoit des trames du second participant lorsque le second participant transmet par les autres moyens, au moins une trame à une vitesse de transmission différente de la vitesse de transmission prédéterminé par le système de bus; - un appareil de commande comme premier participant d'un système de bus, le système de bus transmettant des données vers l'appareil de commande et celui-ci transmettant des données par le système de bus, le système de bus ayant une vitesse de transmission prédéterminée valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant pouvant émettre des trames avec les mêmes droits, et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que l'appareil de commande comporte un programme d'amorçage et des moyens qui peuvent déterminer au moins une trame à une vitesse de transmission différente de la vitesse de transmission prédéterminée et qui ensuite activent le programme d'amorçage; - un système de vérification et/ou de programmation comme second participant d'un système de bus, le système de bus transmettant des données vers un premier participant par le second participant, le système de bus ayant une vitesse de transmission prédéterminée et valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant envoyant des trames de même droit et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que le second participant contient des moyens qui forment et qui transmettent au premier participant au moins une trame de données à une vitesse de transmission différente de la vitesse de transmission prédéterminée, et les données sont ensuite transmises au premier participant; - un système de bus pour transmettre des données vers un premier participant à partir d'un second participant, le système de bus ayant une vitesse de transmission prédé- terminée valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant pouvant émettre des trames avec les mêmes droits et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que des trames sont définies dans le système de bus pour être transmises par le système de bus à au moins une vitesse de transmission différente de la vitesse de transmission prédéterminée. De manière avantageuse, on peut ainsi utiliser le mécanisme de programme d'amorçage dans chaque environnement de bus, notamment un environnement CAN, c'est-à-dire soit dans un appareil de commande distinct avec des interfaces CAN ou une combinaison CAN, mais également dans un véhicule ou une machine outil, et l'adaptation peut s'envisager pour l'application à différents réseaux, du point de vue de la vitesse en baud et/ou des identifications ID utilisés. De manière particulière, on peut envisager l'utilisation de plusieurs vitesses de transmission baud alternées, notamment faibles, pour utiliser des trames complètes comme supports d'informations qui ne peuvent être parasités, ce qui offre des avantages importants pour résoudre le problème posé. DESSINS La présente invention sera décrite ci-après de manière plus détaillée à l'aide des dessins annexés dans lesquels: - la figure la montre un montage comprenant un appareil de commande et un système de contrôle et/ou de programmation PPS, qui peut être relié par un système de bus ou une interface correspondante notamment un système CAN, - la figure lb montre une combinaison de système dans un véhicule, à laquelle un système de contrôle et/ou de programmation PPS est couplé par un système de bus notamment un système CAN, - la figure 2 montre l'exécution du procédé selon l'invention pour un programme d'amorçage BSL notamment par un bus CAN sous la forme d'un ordinogramme, - la figure 3 montre les conditions de lancement ESB ou les trames correspondant à celles-ci avec des vitesses variables, - la figure 4 montre à titre d'exemple la définition de différentes trames pour un programme d'amorçage CAN, et - la figure 5 montre le déroulement d'une programmation d'appareil de commande sous la forme d'un ordinogramme. La présente invention sera décrite ci-après à l'aide d'un exemple de réalisation. Dans cette description, on utilise pour expliciter, un système de bus CAN. Mais l'invention peut s'appliquer à n'importe quel système de bus présentant une situation comparable telle qu'un système de CAN combiné, du point de vue du mécanisme d'amorçage ou des conditions de lancement. DESCRIPTION DE L'EXEMPLE DE REALISATION La figure la montre un appareil de commande 100 relié par un système de bus CAN 107 ou une interface correspondant à un système de bus CAN à un système de programmation et/ou de contrôle PPS 108. Le système PPS 108 comporte une interface 106 pour être relié au bus CAN. Une telle interface 105 pour la liaison avec le bus CAN 107 est également prévue dans l'appareil de commande 100. La référence 102 désigne la mémoire de travail RAM de l'appareil de commande. Celle-ci peut être prévue dans le micro- ordinateur pC 101 de l'appareil de commande ou être à l'extérieur de celui-ci. La même remarque s'applique à la mémoire 103 qui est également une mémoire non volatile. Cette mémoire non volatile 103 peut être réinscriptible, c'est-à- dire effaçable ou non effaçable. Suivant la réalisation de la mémoire 103, en option, on a une autre mémoire 104 également non volatile. La référence 101 correspond à un micropro- cesseur. Suivant l'ampleur des fonctionnalités et le mode de réalisation, celui-ci est également un micro-ordinateur pC, un microcontrôleur ou un moyen analogue. Les mémoires 102, 103 et en option 104 ainsi que l'interface 105 et au moins une unité de calcul 101 de l'appareil de commande 100 sont reliées par un système de bus interne 115. D'éventuels autres éléments contenus dans l'appareil de commande tels que des unités de calcul, mémoire, interface, alimentation etc ne sont pas représentés dans un but de simplification. La figure lb montre l'appareil de commande 100 intégré dans un véhicule 110 et relié par un système de bus CAN 111 avec en option d'autres appareils de commande, capteurs actionneurs, interfaces etc, par un système de bus CAN 111. Un élément 109 schématise les autres éléments reliés au bus CAN 111. Une interface de branchement sur le bus CAN 111 porte la référence 112. Sur cette interface 112, on peut par exemple relier un système de contrôle et/ou de programmation PPS 114 notamment sans interface propre, par une liaison 113, bidirectionnelle avec le bus CAN. L'interface de branchement peut être intégrée au bus CAN par le système PPS 108 ou être externe comme le PPS 114. La définition selon l'invention d'un programme d'amorçage CAN universel (CAN-BSL), notamment avec contrôle d'autorisation, doit être réalisée par exemple par une programmation de niveau bas même par le système CAN-BSL, pour raccourcir par exemple les durées de programmation d'un appareil de commande 100. De plus, on peut par exemple effectuer également un contrôle de l'appareil de commande (analyse) par cette procédure, indépendamment de la fonction proprement dite de l'appareil de commande. Le mécanisme traité ci-après peut ainsi être utilisé dans un appareil de commande distinct mais également dans un appareil de commande d'un véhicule. Contrairement à la programmation ou à la transmission de niveau haut, avec la programmation de niveau bas, on a une simple transmission au plan des composants sans nécessiter de structures de programme compliquées dans l'appareil de commande. Cela signifie que les protocoles de programme spécifiques et compliqués pour le plan de communication avec un environnement complexe comme par exemple une partie principale et une partie prioritaire sont ainsi évités. En particulier, la programmation ou la communication de niveau bas s'oriente en fonction des possibilités de la machine et non directement en fonction du programme posé par l'utilisateur. Le programme d'amorçage est enregistré soit dans une mémoire non volatile 103, 104 comme code programme pour être chargé de là dans la mémoire active 102 de l'appareil de commande 100. Il peut également s'agir d'un programme câblé dans une machine d'état, comme automate contenu directement dans le microprocesseur pC 101. Le programme d'amorçage peut être logé dans une simple mémoire morte (ROM) 104 pour être chargé en vue de son exécution dans une mémoire active. De même, on peut prévoir dans une zone réservée et protégée d'une mémoire non volatile 103, par exemple sous la forme d'une mémoire PROM, EPROM, EEPROM, Flash-EPROM etc; mais pour cela, on n'utilisera pas de mémoire 104 de type ROM. Le programme d'amorçage CAN universel BSL dans un appareil de commande est activé par la transmission d'une condition de lancement, en particulier une condition de lancement CAN, ESB. L'information contenue dans la condition de lancement CAN, ESB est utilisée pour configurer la suite de la communication CAN. On peut ainsi adapter le procédé à son application à différents réseaux CAN suivant la vitesse baud et l'identificateur ID. Après confirmation de la réception par l'appareil de réception à l'aide de l'accusé de réception, on transmet le code de programme à exécuter dans la mémoire de travail de l'appareil de commande, c'est-à-dire la mémoire RAM 102. Après contrôle d'autorisation, par exemple par un calcul de somme de contrôle, on exécute le programme chargé. La figure 2 montre à cet effet un ordinogramme. Le système programmé PPS 108 ou 114 fonctionne en maître et l'appareil de commande SG 100 comme esclave. Le bloc 101 assure l'alimentation de l'appareil de commande; le bloc 200 démarre la programmation ou la mise en oeuvre du programme d'amorçage. Le maître, c'est-à-dire le système PPS envoie dans le bloc 202, la condition de lancement ESB vers l'esclave, c'est-à-dire l'appareil de commande SG 100. Cela est représenté par le passage PPSl. L'interrogation 203 vérifie si la condition de lancement du maître a été reconnue ou si elle existe. Dans la négative, on passe au bloc 204 et au fonctionnement normal de l'appareil de commande. Au contraire, si la condition de lancement est reconnue, on passe au bloc 205 qui acquitte l'appareil de commande par un accusé de réception. La transmission de la quittance est représentée par SG1. Puis dans l'interrogation 206, on vérifie si le maître a ainsi reçu l'accusé de réception de l'appareil de commande par PPS. Dans la négative, on passe de nouveau au bloc 202 et on émet une nouvelle fois la condition de lancement. En cas de réception de l'accusé de réception, on passe au bloc 207. Après l'émission de l'accusé de réception de l'appareil de commande dans le bloc 205, l'appareil de commande déclenché par la condition de lancement ESB déclenche le programme d'amorçage dans la mémoire active (RAM) 102 de l'appareil de commande 100. Comme déjà indiqué dans ce bloc 208, le programme d'amorçage peut être activé même s'il existe sous la forme d'une machine d'état dans le micro-ordinateur 101. Le programme d'amorçage assure ensuite la transmission des données CAN, c'est-à-dire la transmission en particulier des routines de programmation dans les mémoires actives (RAM) 102 de l'appareil de commande 100. Ce transfert est représenté par PPS2. Dans le bloc 209, on contrôle la mémoire active par exemple en formant une somme de contrôle. En utilisant un bus CAN, on peut utiliser le mécanisme de somme de contrôle du protocole CAN. Si à la vérification de la somme de contrôle de la mémoire active, on rencontre un défaut, on peut traiter l'erreur en utilisant le bus CAN selon la procédure CAN et c'est pourquoi cette procédure ne sera pas détaillée. En cas d'erreur, on répète simplement les routines en les chargeant dans les mémoires actives pour remplacer les éléments défectueux par un retour en désignant les défauts. Si la vérification de la somme de contrôle est en ordre, on passe au programme chargé dans la mémoire active dans le bloc 210. A partir du point de coupure Al jusqu'au point de coupure A2 dans le bloc 210, on passe à l'exécution à partir de la mémoire non volatile de l'appareil de commande notamment de la mémoire ROM ou de la plage flash, réservée (voir ci-dessus). A partir du point d'intersection A2, on exécute la suite du procédé à partir de la mémoire de travail (RAM) 102 de l'appareil de commande. Après le lancement de la routine de la mémoire de travail dans le bloc 210 et l'exécution ou le début d'exécution ou un premier parcours de routine, dans le bloc 210, on envoie de nouveau une confirmation de l'appareil de commande comme accusé de réception. Le transfert vers le maître représenté par SG2 nécessite de nouveau une vérification dans l'interrogation 212 pour savoir si l'accusé de réception de l'appareil de commande a été reçu. Dans la négative, on revient au bloc 207 et on transmet de nouveau les routines de programmation à la mémoire active. On évite de passer dans une boucle définitive en limitant les tentatives de chargement. En cas de réception de la confirmation de l'appareil de commande, on passe au bloc 213 pour le début de la transmission CAN. Si la programmation est une programmation flash, on transmet alors dans le bloc 213 les données flash. La mémoire non fugitive 103 peut également être réalisée comme mémoire flash. Les données flash sont reçues par l'appareil de commande pour y subir une vérification telle qu'une vérification de somme de contrôle. Si la vérification est en ordre, on programme les données flash dans la mémoire flash. Cela se fait dans le bloc 214. En cas d'erreur au contrôle des données ou à la vérification de la somme de contrôle, on peut transmettre une nouvelle fois les données respectives. Par la programmation ou lorsque la programmation des données flash est terminée, on envoie de nouveau une confirmation par l'appareil de commande. Cela se fait dans le bloc 215. Les transferts du maître PPS vers l'appareil de commande, c'est-à-dire ici les données flash transmises, sont représentés par les passages PPSK. La transmission de la confirmation de l'appareil de commande est représentée par le transfert SG4. Pour des raisons de sécurité et en limitant le contenu maximum des données d'une trame CAN, on forme des portions de données flash, c'est-à-dire on transmet des parties des données. L'exécution du procédé à partir du point de coupure A3 vers le point de coupure A4 est ainsi répétée pour chaque partie transmise des données flash. Pour des raisons de clarté, la nouvelle vérification de l'accusé de réception de l'appareil de commande n'est pas présentée de manière détaillée. Le maître vérifie à l'aide de l'accusé de réception si lesdernières données flash transmises sont programmées ou non et il envoie par exemple les données suivantes seulement à la suite d'un accusé de réception. En l'absence d'accusé de réception de l'appareil de commande pour le dernier paquet de données flash, les données flash non programmées, c'est-à-dire non confirmées par accusé de réception sont de nouveau transmises. Lorsque la transmission CAN des données flash dans le bloc 213 est terminée, on passe au bloc 216, c'est-à-dire la fin des opérations. En chargeant les routines notamment les routines de programmation dans la mémoire (RAM), on assure l'exécution à partir du point de coupure A2 jusqu'au point de coupure A4 à partir de la mémoire active de l'appareil de commande. Ainsi, les routines de programmation flash sont chargées par le programme d'amorçage CAN dans la mémoire RAM interne à l'appareil de commande; on effectue également de cette manière une vérification de la somme de contrôle et on l'exécute. Le système de vérification de programmation n'aura à alimenter que l'appareil de commande et générer la condition de lancement CAN (CAN-ESB), puis transmettre les données (routines de programmation flash et données flash) par le système CAN. A l'aide du procédé tel que présenté, on peut charger en principe n'importe quel code dans la mémoire active de l'appareil de commande et l'exécuter. Le procédé peut ainsi s'utiliser non seulement pour la programmation flash de niveau bas, mais également pour l'analyse et la vérification de l'appareil de commande. L'élément décisif pour l'application du procédé à un système CAN ou comparable à un système CAN est la condition de lancement ESB dans le mécanisme de programme d'amorçage. On utilise d'une part les avantages de l'interface rapide (par exemple en Mbaud) sans condition de lancement particulière de circuit. Comme condition ESB, on utilise seulement les trames CAN transmises. Toutefois cette condition de lancement ou les trames CAN utilisées ne doivent pas se produire en fonctionnement normal, car sinon le risque d'une perturbation est grand puisque en fixant la vitesse de transmission ou vitesse en baud dans le système CAN et en donnant les mêmes droits aux participants dans une programmation d'un système de programme de véhicule, on interviendrait dans le programme de conduite. Comme les identificateurs ID CAN sont spécifiques au système, c'est-àdire sont attribués de manière unique à chaque système CAN, on ne peut les utiliser dans des mécanismes de programme d'amorçage CAN généraux avec des conditions de lancement correspondantes. La solution selon l'invention réside dans l'utilisation de vitesses de baud variables, notamment faibles comme conditions de lancement CAN. Un système CAN classique ne réagit pas à des vitesses de baud variables notamment faibles. De plus pour augmenter la vitesse de transmission de données à l'avenir, on prévoit plutôt une autre augmentation des vitesses de baud CAN utilisées. Comme dans un système CAN, l'état dominant du bus s'est imposé (état dominant du bus, c'est-à-dire par exemple le niveau bas), la trame CAN avec plus de zéros prioritaires dans l'identificateur ID aura la priorité la plus élevée. Pour des raisons de synchronisation, à l'intérieur d'une trame CAN, après un nombre déterminé de bits de même niveau notamment après un maximum de 5 bits, on insère toujours un changement de flanc, ce qui est appelé bourrage de bits dans le système CAN. Normalement ce bourrage de bits est de nouveau effacé en cas d'exploitation de l'information. Pour établir une communication de type maître/esclave par le bus CAN, avec les participants ayant en fait les mêmes droits, on définit pour cela trois trames à savoir une trame Sync, une trame Un et une trame Zéro. La figure 3 montre cette situation. Le début des trames CAN-ESB est encore appelé phase Info et représente ainsi un signal qui ne peut ni être perturbé, ni échangé grâce à notamment les cinq bits dominants. La figure 3 montre pour la coupure AtO jusqu'à la coupure At2, une première trame, c'est-à-dire la trame Sync transmise par le maître avec une vitesse baud de transmission 1. La phase Info est définie du segment de temps AtO jusqu'au segment de temps Atl et avec IPSync. Dans IPSync, on transmet ainsi cinq bits avec un taux dominant à la vitesse baud 1. Dans la partie suivante appelée RestSync, entre le segment Atl jusqu'au segment de temps At2, il y aura uniquement la condition de ne pas avoir successivement cinq bits de mêmes positions de niveau notamment de positions dominantes qui se suivent; cela sera détaillé à l'aide de la figure 4. La trame Un, qui transmet pour l'établissement de la communication soit l'état " 1 ", soit l'information de niveau haut, correspond au segment de temps compris entre At3 et At5. Cette transmission se fait à la vitesse baud 2. La phase Info a une durée allant de la coupure At3 jusqu'à la coupure de temps At4 et porte la dénomination IPUn. Dans ce cas, on transmet également cinq bits identiques notamment de niveau dominant à la vitesse baud (2) par le maître. Les autres bits de la trame Un sont regroupés dans Restun compris entre l'instant At4 jusqu'à l'instant At5; les mêmes considérations concernant les bits successifs de même niveau que pour la trame Sync s'appliquent ici. Enfin à la figure 3, on a représenté la trame Zéro dont les bits sont transmis à la vitesse baud 3 et qui transmet l'information zéro (bas) pour l'établissement de la communication. Entre les coupures de temps At6 jusqu'à At7, on transmet également ici dans la phase Info IPZéro, de la trame Zéro, cinq bits de niveau dominant à savoir à la vitesse baud 3 par le maître. Les autres bits de la trame Zéro sont regroupés dans RestZéro entre At7 et At8; les mêmes considérations que pour RestSync et RestUn s'appliquent ici. Suivant la définition des trames utilisées pour Sync, Un et Zéro, on peut modifier l'importance respective de Restbits, RestSync, RestUn et RestZéro. Les éléments décisifs sont dans ce cas les phases info, IPSync, IPUn ou IPZéro avec les bits de niveau dominant, successifs notamment cinq bits. Ces phases sont utilisées dans la suite de la communication avec des vitesses de transmission baud, différentes 1, 2, 3 comme supports d'information. L'utilisation de ces vitesses baud, différentes notamment faibles donne des durées différentes avec lesquelles on transmet en même temps que CAN- ESB, l'information pour l'autre communication CAN, c'est-à-dire avec une vitesse baud plus élevée. Pour des raisons de sécurité, on peut fixer que le Rest des trames CAN respectif RestSync, RestUn, RestZéro corresponde au maximum à trois bits successifs de niveau dominant si du fait du bourrage de bits après cinq bits, on aura formé la phase Info avec cinq bits dominants. Cela signifie ainsi que la suite de bits dominante la plus longue dans le Rest des trames CAN, c'est- à-dire RestSync, RestUn ou RestZéro, c'est-à-dire à la vitesse baud plus faible, ne doivent conduire en aucun cas à une confusion avec notamment les cinq bits dominants d'une phase Info. Cela est assuré dans l'exemple du tableau de la figure 4. A la figure 4, on a défini quatre trames CAN différentes. Il s'agit des trames dites Sync, Un, Zéro et ensuite la trame de déclenchement. Comme à partir des trames ESB-CAN les plus différentes en particulier on considère la vitesse baud la plus faible Sync, Un et Zéro, seule la phase Info comme information sûre d'un message CAN, car les bits suivants peuvent être perturbés, on utilise cette partie comme support. A l'aide de ce support, on transmet n bits d'information qui sont définis dans la trame de déclenchement suivante. Cela sera présenté ultérieurement à l'aide de la figure 5. Le procédé peut ainsi s'adapter aux différents réseaux CAN pour la vitesse baud et pour l'identificateur. A titre d'exemple, dans le tableau T400 de la figure 4, on a défini CAN-ESB comme séquence cyclique de trame CAN émise par PPS comme maître. Les conditions pour la dérivation vers le programme d'amorçage CAN sont incluses quasiment dans l'identificateur, indirectement dans le contenu de données, de la vitesse baud et de la succession des messages CAN. Le tableau T401 contient pour cela par exemple les trames CAN du maître avec les dénominations de trame Sync, Un, Zéro et déclenchement. Pour les trames Sync, Un et Zéro, il suffit de remplir trois conditions. D'une part avec un nombre de bits dominants notamment cinq, on introduit l'identificateur. En second lieu, c'est-àdire dans le Rest de l'identificateur et dans le contenu des données, on veille à ce que cette constellation des cinq bits notamment dominants ne se produise plus. En troisième lieu, les trois trames sont transmises à des vitesses de transmission différentes notamment à des vitesses baud 1, 2, 3 comme cela est représenté. Par exemple les vitesses baud sont notamment des vitesses baud faibles par comparaison à une vitesse de transmission usuelle telle que Mbaud. Celles-ci sont comprises par exemple entre 38 et 47 kilobaud. On pourrait dans un exemple prévoir pour la vitesse 1, 38,27 kilobaud, pour la vitesse 2, 42,10 kilobaud et pour la vitesse 3, 46,78 kilobaud. La trame de déclenchement est spécifiée par des alternances de trame Un et Zéro comme représenté à la figure , portant comme identificateur, l'identificateur maître de programme de lancement CAN (CAN-BSL-maître-ID) que l'on peut utiliser pour les données de bloc de code et les données flash. Le contenu des données dans cet exemple possède au début et à la fin chaque fois un octet réservé et en plus l'identificateur ID esclave CANBSL pour l'appareil de commande par exemple deux octets pour l'adresse de démarrage RAM ainsi que deux octets pour l'adresse de fin RAM (en remplacement l'adresse de démarrage plus l'adresse de décalage) et on transmet avec le taux de transmission, la vitesse baud R. La vitesse baud R se distingue également de la vitesse de transmission prédéterminée usuellement dans chaque système CAN. A titre d'exemple, pour une vitesse de transmission en fonctionnement normal de 1 mégabaud, le déclencheur pourrait transmettre à une vitesse de 500 kilobaud. On évite que par exemple dans un appareil de commande d'un véhicule, on sollicite le programme de marche. Si le CAN-ESB est reconnu par l'appareil de commande, celui- ci répond par une trame d'accusé de réception présentée dans le tableau T402. Cette trame d'accusé de réception contient comme identificateur, l'identificateur ID-esclave-CAN-BSL et dans le contenu de données, un octet de code d'erreur et quatre octets correspondant à la version de masque pour CAN basique. De plus, on réserve par exemple trois octets. La trame d'accusé de l'esclave, c'est-à-dire de l'appareil de commande est également transmise à la vitesse R vers le maître. L'identificateur à 11 bits peut notamment être enregistré dans les bits ID 28 à ID 18 d'une trame CAN en format standard. Cela peut se transposer simplement au format étendu. La figure 5 montre de nouveau un ordinogramme dans un système de programme pour le maître avec spécification des trames de déclenchement. Partant du segment A50 jusqu'au segment A51, on transmet au début du procédé un bloc de trame Sync 500. Cette trame Sync réveille l'esclave, c'est-à-dire l'appareil de commande. Du segment A51 jusqu'au segment A52, on aura alors n trames, trames Un ou trames Zéro alternant pour transmettre n bits d'information pour la suite des spécifications de communication. Dans le bloc 501, on transmet un nombre nb de trames pour le bourrage de bits, notamment l'information concernant la vitesse de transmission baud des trames de déclenchement ou trames d'accusé suivantes. Dans l'exemple particulier, par exemple nb peut être 15. Cela permet ainsi de transmettre 15 trames d'état Un ou d'état Zéro à 15 bits avec l'information pour la vitesse de transmission baud utilisée ultérieurement. Dans le bloc 502, on transmet alors l'identificateur ID- maître CAN-BSL avec ni trames. Dans le présent exemple, on a utilisé un identificateur à 11 bits; l'identificateur ID avec par exemple 11 bits, c'est-à-dire ni = 11 trames serait ainsi transmis. Dans le bloc 503, on dispose alors d'encore nc trames pour la vérification notamment pour former une somme de contrôle. En utilisant une somme de contrôle Nibbel- XOR, on aurait par exemple nc = 4. On transmet ici quatre bits dans quatre trames Un ou Zéro dans le bloc 503. Un nibbel est la moitié d'un octet; un nibbel se code en hexadécimal. Cela correspond à une écriture préférentielle pour le contenu des mémoires. On a ainsi transmis dans les blocs 501, 502, 503, dans un exemple concret 15 + 11 + 4 = 30 bits avec n = 30 trames. Chaque trame Zéro représente ainsi une information " zéro " (0) et chaque trame un représente un état " un " (1). De la coupure A52 à la coupure A53, on assure par une nouvelle trame Sync dans le bloc 54, l'émission de la trame de déclenchement. Les blocs 500 à 504 ou les trames envoyées dans ces blocs ont une particularité dans la mesure o le maître n'attend pas de bits d'accusé de circuit. Du fait de l'absence de bits d'accusé de circuit, il faut une remise à zéro consécutive du système CAN (Reset) ou de ces blocs 500-504. On définit ainsi CAN-ESB comme séquence cyclique de trame CAN émise par le maître PPS. Du segment 53 vers le segment 55, on assure alors la transmission et l'émission de la trame de déclenchement. Du segment 54 jusqu'au segment 57, vers les vitesses R élevées transmises dans le bloc 501, on passe à 500 kilobaud. Dans le bloc 505, on transmet alors la trame de déclenchement avec l'identificateur ID-esclave-CAN-BSL + l'adresse de démarrage RAM + l'adresse finale RAM vers l'esclave; cette trame est caractérisée par sa transmission ID-esclave. L'esclave transmet alors au maître sa trame d'accusé comme cela est représenté à la figure 4, après réception de la trame de déclenchement. Le maître attend entre le segment 55 et le segment 56 à la réponse de l'appareil de commande notamment avec un décompte de temps, c'est-à-dire un temps d'attente TW. Cela se fait dans l'interrogation 55. Si la réponse de l'appareil de commande avec l'identificateur ID-esclave-CAN- BSL est arrivée pendant le temps d'attente PW, on commence dans le bloc 507 avec la transmission CAN à la vitesse baud convenue par exemple R des informations du maître vers l'esclave. Si le maître ne reçoit pas d'accusé de l'esclave, on commence de nouveau par l'émission d'une trame SYNC dans le bloc 500 et on répète ainsi la condition d'entrée ESB. Le temps d'attente pour le décompte de temps TW peut ainsi correspondre à 2 millisecondes. Si alors, CAN-ESB est reconnu par l'appareil de commande, celui-ci répond par une trame d'accusé. L'important ici est que la vitesse transmise et l'identificateur CAN-ID ne codent pas de manière trop accentuée l'appareil de commande mais informent l'appareil de commande avec les conditions de lancement. La suite de la transmission CAN dans le bloc 507 se produit alors à vitesse baud R élevée notamment par exemple 500 kilobaud et utilise les deux identificateurs maître-CAN- BSL pour la transmission entre le maître et l'esclave et l'identificateur ID-esclave- CAN-BSL pour la transmission de l'esclave vers le maître. Le procédé et le dispositif selon l'invention permettent ainsi dans un même système de bus avec des participants ayant les mêmes droits et pour la vitesse de transmission prévue pour le fonctionnement, de réaliser une communication maître- esclave entre deux participants sans avoir de défaut ou de perturbations pour l'ensemble du système. Comme développement avantageux, l'ensemble de la transmission peut se définir sous la forme d'un dossier NOP comme extension pour CAN; cela permet une spécification simple. Le dossier de communication de protocole NO (dossier NOP) décrit le flux de données d'une communication série. Il contient à côté des données proprement dites également la description de la communication et le paramétrage de l'interface. A l'aide de ce dossier, on peut transmettre les données pour la programmation flash d'un appareil de commande par la ligne de données série. On peut ainsi décrire de manière uniforme différents protocoles. Ce dossier peut se générer automatiquement en prédéfinissant le protocole à décrire. Dans le cas présent, il s'agit de CAN. R E V E N D I C A T IONS 1 ) Procédé pour établir une communication entre deux participants d'un système de bus et pour charger des données par le systèmes de bus, selon lequel: - on charge les données dans une mémoire d'un premier participant et on émet les données à partir d'un second participant, - le système de bus ayant une vitesse de transmission prédéterminée, valable pour tous les participants, à laquelle tous les participants en fonctionnement communiquent, - la transmission des données est faite sous la forme de trame et une telle trame contient une caractéristique selon laquelle chaque participant au bus peut émettre des trames avec les mêmes droits et chaque participant calcule et reçoit la trame qui lui est destinée au moyen de la caractéristique, caractérisé en ce que le premier participant reçoit une trame du second participant si ce dernier envoie au moins une trame avec une vitesse de transmission différente de la vitesse prédéterminée de transmission de fonctionnement par l'intermédiaire du système de bus. 2 ) Procédé selon la revendication 1, caractérisé en ce que les informations transmises par le système de bus sont en code binaire, un niveau étant dominant et l'autre niveau étant récessif, et la trame au moins unique ayant une vitesse de transmission différente commence par un nombre prédéterminé de niveaux dominants, notamment cinq. 3 ) Procédé selon la revendication 2, caractérisé en ce qu' on transmet au moins deux trames avec une vitesse de transmission différente de la vitesse de transmission prédéterminée de fonctionnement à partir du deuxième participant, une première vitesse de transmission d'une première trame se distinguant d'une seconde vitesse de transmission d'une seconde trame et les caractéristiques des deux trames commençant par le même nombre de niveaux dominants,5 la première trame, transmise à la première vitesse de transmission, transmet globalement avec les niveaux dominants l'information à codage binaire d'un niveau dominant, et la seconde trame transmise à la seconde vitesse de transmission transmet globalement avec les niveaux dominants l'information à codage binaire d'un niveau récessif, la première ou la seconde trame étant transmise à la suite l'une de l'autre en fonction de l'information à transmettre. 4 ) Procédé selon la revendication 1, caractérisé en ce que le premier participant utilise un mécanisme de programme d'amorçage pour charger les données, le deuxième participant transmettant au premier comme condition de lancement dans le mécanisme de programme d'amorçage, la trame au moins unique ayant la vitesse de transmission différente de celle prévue pour le système de bus. ) Procédé selon la revendication 3, caractérisé par une troisième trame transmise à une troisième vitesse de transmission par le second participant vers le premier participant, le premier et le second participant étant synchronisés sur les niveaux dominants dans la troisième trame. 6 ) Procédé selon la revendication 3, caractérisé en ce qu' on définit une quatrième trame transmise à une quatrième vitesse de transmission, la caractéristique de la quatrième trame étant transmise avec la première et la seconde trames avant la transmission de la quatrième trame par le second participant au premier participant, le second participant transmettant les données au premier participant après la quatrième trame. 7 ) Procédé selon la revendication 6, caractérisé en ce que la quatrième trame contient en plus de la caractéristique du second participant également une caractéristique pour le premier participant, et une adresse de départ concernant les données à charger ensuite dans la mémoire du premier participant. 8 ) Procédé selon quelconque des revendications 3 à 5, 6, caractérisé en ce que les première, seconde, troisième, et quatrième vitesses de transmission sont différentes et se distinguent d'une vitesse de transmission prédéterminée du système de bus en fonctionnement, la quatrième vitesse à laquelle en plus de la quatrième trame on transmet également les données du second au premier participant, étant supérieure à la première, à la seconde et à la troisième vitesse de transmission. 9 ) Dispositif comprenant un premier et un second participant et un système de bus qui les relie, avec des moyens pour établir une communication entre les participants et charger des données par le système de bus, les données étant chargées dans une mémoire du premier participant et les données étant envoyées par le second participant, le système de bus ayant une vitesse de transmission prédéterminée et valable pour tous les participants, et à laquelle tous les participants communiquent en fonctionnement, la transmission des données étant faite sous la forme de trames et une telle trame contenant une caractéristique, chaque participant du bus pouvant émettre des trames de même droit et chaque participant déterminant par la caractéristique, la trame qui lui est destinée et la recevant, caractérisé en ce que d'autres moyens sont contenus dans le second participant et le premier participant reçoit des trames du second participant lorsque le second participant transmet par les autres moyens, au moins une trame à une vitesse de transmission différente de la vitesse de transmission prédéterminé par le système de bus. ) Appareil de commande comme premier participant d'un système de bus, le système de bus transmettant des données vers l'appareil de commande et celui-ci transmettant des données par le système de bus, le système de bus ayant une vitesse de transmission prédéterminée valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant pouvant émettre des trames avec les mêmes droits, et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que l'appareil de commande comporte un programme d'amorçage et des moyens qui peuvent déterminer au moins une trame à une vitesse de transmission différente de la vitesse de transmission prédéterminée et qui ensuite activent le programme d'amorçage. 11 ) Système de vérification et/ou de programmation comme second participant d'un système de bus, le système de bus transmettant des données vers un premier participant par le second participant, le système de bus ayant une vitesse de transmission prédéterminée et valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant envoyant des trames de même droit et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que le second participant contient des moyens qui forment et qui transmettent au premier participant au moins une trame de données à une vitesse de transmission différente de la vitesse de transmission prédéterminée, et les données sont ensuite transmises au premier participant. 12 ) Système de bus pour transmettre des données vers un premier participant à partir d'un second participant, le système de bus ayant une vitesse de transmission prédé- terminée valable pour tous les participants, à laquelle tous les participants communiquent en fonctionnement, la transmission des données se faisant sous la forme de trames et une telle trame contenant une caractéristique, chaque participant pouvant émettre des trames avec les mêmes droits et chaque participant déterminant et recevant les trames qui lui sont destinées à l'aide de la caractéristique, caractérisé en ce que des trames sont définies dans le système de bus pour être transmises par le système de bus à au moins une vitesse de transmission différente de la vitesse de transmission prédéterminée.