PROCEDE D'OPTIMISATION DE LA TRANSMISSION DE DONNEES PAR UN BUS DE COMMUNICATION La présente invention concerne un procédé d'optimisation de la transmission de données par un bus de communication, ainsi qu'un ensemble de calculateurs reliés par un bus de communication, et un véhicule électrique ou hybride mettant en oeuvre un tel procédé. Certains types de réseaux de communication relient entre eux en parallèle différents calculateurs qui effectuent chacun des traitements, pour obtenir des données qui sont envoyées ensuite sous forme de trame sur un bus commun de communication informatique de ce réseau, afin notamment d'échanger ces données entre eux. Ces réseaux de communication peuvent être du type CAN (Controller 15 Area Network), VAN (Vehicle Area Network), ou d'autres réseaux de ce genre, qui sont utilisés dans des domaines variés comme l'automobile, l'aéronautique, l'industrie ou le ferroviaire. Un problème qui se pose avec ce type de réseaux, est que si un nombre important de calculateurs envoient simultanément des trames de 20 données sur le bus de communication, les entrées de ces calculateurs recevant les données peuvent être saturées. On a alors un risque de perte d'informations. Ce risque existe notamment dans le cas où le réseau comporte un certain nombre de calculateurs identiques, effectuant de manière périodique 25 avec une période qui est commune, les mêmes types d'opérations. A partir d'un signal de réveil donné simultanément par le réseau à tous les calculateurs, on obtiendra en retour à la fin de chaque période des trames de données qui arriveront en même temps et qui peuvent saturer les entrées de ces calculateurs, alors que le reste du temps le réseau est libre. 30 En effet les calculateurs comportent généralement un nombre limité de buffers de réception, qui permettent chacun de recevoir et de stocker une trame de données représentant une information entrante, en fonction de leurs arrivées. Si des trames de données arrivent de manière très rapprochées, tous les buffers peuvent être occupés, les dernières informations arrivées ne trouvant pas de buffer libre ne sont pas stockées, et risques d'être perdues. De plus dans un réseau du type CAN, il n'y a pas de maître du bus de communication indiquant à chaque calculateur l'instant où il peut envoyer une trame de données. Pour résoudre ce problème, un procédé connu, présenté notamment par le document US-B2-7983250, comporte un protocole de communication entre plusieurs calculateurs d'un véhicule automobile, qui impose une synchronisation des échanges de données entre ces calculateurs. Toutefois, ce procédé est complexe à mettre en oeuvre. La présente invention a notamment pour but d'éviter ces inconvénients de la technique antérieure, en proposant un procédé simple permettant d'éviter des charges ponctuelles importantes sur des réseaux de communication. Elle propose à cet effet un procédé d'optimisation de la transmission de données par un bus de communication, reliant des calculateurs similaires comportant chacun un numéro d'ordre, qui effectuent de manière périodique avec une période identique pour tous, à partir d'un signal de réveil commun, un même type de tâche de calcul pour envoyer des résultats sur le bus de communication, caractérisé en ce que pour chaque calculateur il décale dans le temps avec un certain délai dépendant de son numéro d'ordre, le démarrage de la tâche de calcul. Un avantage du procédé d'optimisation de la transmission de données selon l'invention, est qu'il permet par une simple programmation individuelle de chaque calculateur dépendant de son numéro d'ordre, pour un réseau ne comportant pas de maître du bus de communication, de répartir régulièrement pendant chaque période les envois de trames de données, ce qui évite des surcharges ponctuelles de ce réseau. The present invention relates to a method of optimizing the transmission of data by a communication bus, as well as a set of computers connected by a communication bus, and a method of optimizing the transmission of data by a communication bus. electric or hybrid vehicle implementing such a method. Certain types of communication networks connect in parallel different computers that perform each processing, to obtain data which are then sent in the form of a frame on a common computer communication bus of this network, in particular to exchange these data between them. These communication networks may be of the CAN (Controller Area Area Network), VAN (Vehicle Area Network) type, or other such networks, which are used in various fields such as the automobile, aeronautics, aviation and industry or rail. A problem with this type of network is that if a large number of computers simultaneously send frames of data on the communication bus, the inputs of these computers receiving the data may be saturated. There is a risk of loss of information. This risk exists especially in the case where the network comprises a number of identical computers, performing periodically with a period which is common, the same types of operations. From a wake-up signal given simultaneously by the network to all the computers, at the end of each period there will be returned frames of data which will arrive at the same time and which can saturate the inputs of these computers, while the the rest of the time the network is free. The computers generally comprise a limited number of reception buffers, each of which makes it possible to receive and store a data frame representing incoming information, according to their arrivals. If data frames arrive very close together, all the buffers can be busy, the latest information arriving that does not find a free buffer is not stored, and risks being lost. Moreover, in a network of the CAN type, there is no master of the communication bus indicating to each computer the instant when it can send a data frame. To solve this problem, a known method, presented in particular by US-B2-7983250, comprises a communication protocol between several computers of a motor vehicle, which requires a synchronization of data exchanges between these computers. However, this process is complex to implement. The present invention is intended in particular to avoid these disadvantages of the prior art, by proposing a simple method to avoid significant point loads on communication networks. It proposes for this purpose a method of optimizing the transmission of data by a communication bus, connecting similar computers each having a serial number, which perform periodically with a period identical for all, from a common alarm signal, the same type of calculation task for sending results on the communication bus, characterized in that for each computer it shifts in time with a certain delay depending on its serial number, the start of the calculation task. An advantage of the data transmission optimization method according to the invention is that it allows, by a simple individual programming of each computer depending on its serial number, for a network that does not include a master of the communication bus. , to regularly distribute during each period the data frame sends, which avoids occasional overloads of this network.
Le procédé d'optimisation de la transmission de données selon l'invention peut en outre comporter une ou plusieurs des caractéristiques suivantes, qui peuvent être combinées entre elles. Avantageusement, le décalage dans le temps des démarrages des 5 tâches, comporte un écart constant entre deux calculateurs comprenant des numéros d'ordre successifs. Avantageusement, l'écart de temps entre deux calculateurs comprenant des numéros d'ordre successifs, est égal à la durée de la période divisée par le nombre de calculateurs. 10 Avantageusement, pour des numéros d'ordre donnés de manière continue en partant de 1, le décalage dans le temps de chaque calculateur est égal à son numéro d'ordre multiplié par l'écart de temps. En particulier, le décalage dans le temps des démarrages des tâches, peut être appliqué pour tous les calculateurs à partir de l'arrivée du signal de 15 réveil commun. Avantageusement, à l'arrivée du signal de réveil commun, chaque calculateur commence par lire son numéro d'ordre pour calculer son retard, et applique un temps mort égal à ce retard, avant d'initialiser le système d'horloge qui périodiquement ordonne à la tâche de s'exécuter. 20 L'invention a aussi pour objet un ensemble de calculateurs similaires reliés par un bus de communication, comportant chacun un numéro d'ordre, qui effectuent de manière périodique avec une période identique pour tous, à partir d'un signal de réveil commun, un même type de tâche de calcul pour envoyer des résultats sur le bus de communication, cet ensemble mettant en 25 oeuvre un procédé d'optimisation de la transmission comportant l'une quelconque des caractéristiques précédentes. Les calculateurs peuvent comporter des logiciels identiques qui effectuent les mêmes tâches de calcul. En particulier, l'ensemble de calculateurs peut être prévu pour surveiller 30 des modules de batteries électriques. The method of optimizing the data transmission according to the invention may further include one or more of the following features, which may be combined with each other. Advantageously, the time shift of the starts of the tasks comprises a constant distance between two computers comprising successive order numbers. Advantageously, the time difference between two computers comprising successive order numbers is equal to the duration of the period divided by the number of computers. Advantageously, for order numbers given continuously from 1, the offset in time of each computer is equal to its serial number multiplied by the time difference. In particular, the time shift of task starts can be applied to all computers from the arrival of the common alarm signal. Advantageously, on arrival of the common wakeup signal, each calculator starts by reading its serial number to calculate its delay, and applies a dead time equal to this delay, before initializing the clock system which periodically orders the task of running. The invention also relates to a set of similar computers connected by a communication bus, each having a serial number, which perform periodically with an identical period for all, from a common alarm signal, the same type of computation task for sending results on the communication bus, this set implementing a method of optimizing the transmission comprising any one of the preceding characteristics. The calculators may include identical software that performs the same calculation tasks. In particular, the computer unit can be provided for monitoring electric battery modules.
L'invention a de plus pour objet un véhicule électrique ou hybride comportant des modules de batteries pour alimenter des moteurs de traction, ce véhicule mettant en oeuvre un procédé de surveillance de chaque module par un calculateur, comportant l'une quelconque des caractéristiques précédentes. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de la description ci-après, donnée à titre d'exemple et de manière non limitative en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma présentant un exemple de réseau de calculateurs comprenant un bus de communication ; - la figure 2 est un graphique présentant en fonction du temps, la charge de ce réseau qui peut être constatée à partir d'un signal de réveil, sans procédé d'optimisation de la transmission de données ; et - la figure 3 est un graphique présentant la charge de ce réseau dans les mêmes conditions, avec un procédé d'optimisation de la transmission de données selon l'invention. La figure 1 présente un réseau de calculateurs 1, comportant n calculateurs identiques 2 disposant chacun d'un numéro d'ordre i donné de manière continue en partant de 1, et comprenant les mêmes logiciels, qui sont reliés en parallèle entre eux par un bus de communication 4 du type CAN ou VAN. Chaque calculateur 2 reçoit de systèmes extérieurs non représentés, des informations qu'il traite par des tâches périodiques avec ses logiciels, afin de surveiller ces systèmes en obtenant des résultats de traitement qui sont envoyés sous forme de trame de données, aux autres calculateurs par le bus de communication 4. La durée des périodes de traitement des informations sont les mêmes pour les différents calculateurs 2. Pour démarrer le traitement des informations par les logiciels des calculateurs 2, par exemple au début de l'activité des systèmes suivis par ces calculateurs, un signal de réveil 6 est envoyé à tous les calculateurs pour leur donner l'ordre de commencer le traitement des informations reçues de ces systèmes. Les systèmes suivis par les calculateurs 2, peuvent par exemple comporter des modules de batteries d'un véhicule hybride ou électrique, qui alimentent des moteurs électriques de traction, chaque module devant être surveillé par un calculateur qui enregistre des informations venant de capteurs liés à ces modules, afin de suivre le fonctionnement des batteries. On peut notamment suivre des paramètres comme la tension, l'intensité du courant délivré ou la température de chaque module de batterie, afin d'assurer leur durée de vie ainsi que la sécurité de fonctionnement. La figure 2 présente en fonction du temps t, un signal de réveil 10 qui est envoyé aux différents calculateurs 2 à l'instant 0. Ce signal de réveil 10 est lié au démarrage de l'activité des systèmes à surveiller. En réponse à ce signal de réveil reçu 10, chaque calculateur 2 traite les informations venant de son système avec le logiciel qu'il contient. On obtient alors au temps t1, représentant le temps nécessaire pour le traitement par les logiciels de chaque calculateur 2, les résultats des traitements R qui arrivent en même temps, pour être transmis aux autres calculateurs par le bus de communication 4 sous forme de trame de données. The invention furthermore relates to an electric or hybrid vehicle comprising battery modules for supplying traction motors, this vehicle implementing a method of monitoring each module by a computer, comprising any one of the preceding features. The invention will be better understood and other features and advantages will emerge more clearly on reading the following description, given by way of example and in a nonlimiting manner with reference to the appended drawings, in which: FIG. a diagram showing an example of a computer network comprising a communication bus; FIG. 2 is a graph showing, as a function of time, the load of this network which can be observed from a wake-up signal, without a method of optimizing the transmission of data; and FIG. 3 is a graph showing the load of this network under the same conditions, with a method of optimizing the data transmission according to the invention. FIG. 1 shows a network of computers 1, comprising n identical computers 2 each having a serial number i given continuously starting from 1, and comprising the same software programs, which are connected in parallel with each other by a bus communication 4 CAN or VAN type. Each computer 2 receives from external systems not shown, information that it processes by periodic tasks with its software, to monitor these systems by obtaining processing results that are sent in the form of a data frame, to other computers by the communication bus 4. The duration of the information processing periods are the same for the different computers 2. To start the processing of information by the computer software 2, for example at the beginning of the activity of the systems monitored by these computers, a wake-up signal 6 is sent to all the computers to give them the order to start the processing of the information received from these systems. The systems monitored by the computers 2 may, for example, comprise battery modules of a hybrid or electric vehicle, which power electric traction motors, each module to be monitored by a computer that records information from sensors related to these devices. modules, to monitor battery operation. In particular, parameters such as the voltage, the intensity of the delivered current or the temperature of each battery module can be monitored, in order to ensure their lifetime and operational safety. FIG. 2 shows, as a function of time t, an alarm signal 10 which is sent to the different computers 2 at time 0. This alarm signal 10 is linked to the start of the activity of the systems to be monitored. In response to this received wake-up signal 10, each computer 2 processes the information coming from its system with the software it contains. At time t1, representing the time required for the processing by the software of each computer 2, the results of the processing operations R arriving at the same time are then obtained, to be transmitted to the other computers by the communication bus 4 in the form of a frame. data.
On notera que les calculateurs identiques 2 comportant les mêmes logiciels, les temps de traitement des informations à partir du signal de réveil 10 sont sensiblement identiques, ce qui donne une série de résultats R qui arrivent groupés sur le bus de communication 4. Au temps t2, correspondant à un écart de temps t2 - t1 équivalent à la périodicité T de traitement des informations par les calculateurs 2, on a alors le même problème, la série de résultats R arrive de nouveau groupée sur le bus de communication 4. Ce groupement de résultats R se produisant de manière régulière, occasionne une charge importante du bus de communication 4. Les calculateurs 2 peuvent alors ne pas pouvoir traiter toutes les informations reçues, il y a un risque de perte de données. It will be noted that the identical computers 2 comprising the same software, the processing times of the information from the wake-up signal 10 are substantially identical, which gives a series of results R arriving together on the communication bus 4. At time t2 , corresponding to a time difference t2 - t1 equivalent to the periodicity T of information processing by the computers 2, there is then the same problem, the series of results R arrives again grouped on the communication bus 4. This group of R results occurring regularly, causes a significant load of the communication bus 4. The computers 2 may then not be able to process all the information received, there is a risk of data loss.
La figure 3 présente le fonctionnement du procédé d'optimisation de la transmission de données. Pour un ensemble de n calculateurs 2 comportant chacun un numéro d'ordre i, on inscrit dans les logiciels des calculateurs un moyen de calcul individuel du temps de retard pour le démarrage du traitement des informations, à partir du signal de réveil 6, de manière à échelonner régulièrement ces démarrages au cours de la première période T. L'écart de temps E pour le démarrage du traitement, entre deux calculateurs 2 successifs, est alors égal à la durée de la période T, divisée par le nombre de calculateurs n. Pour chaque calculateur 2, un moyen de calcul simple de ce retard, consiste à multiplier son numéro d'ordre i par l'écart de temps E. Pratiquement, au démarrage chaque calculateur 2 commence par lire son numéro d'ordre i pour calculer son retard, et applique un temps mort égal à ce retard, avant d'initialiser le système d'horloge qui périodiquement ordonne à la tâche de s'exécuter. Les durées des tâches étant identiques pour les différents calculateurs 2, on obtient alors bien une répartition régulière de l'obtention des résultats Ri pour chaque calculateur, avec i allant de 1 à n, qui sont envoyés avec un 20 écart de temps E. Par la suite pendant la durée d'utilisation des systèmes extérieurs, il peut y avoir une petite dérive des temps de traitement des informations par les logiciels des différents calculateurs. On peut obtenir des écarts E irréguliers entre les envois d'informations sur le bus de communication 4, 25 mais statistiquement ces envois resteront suffisamment répartis dans le temps, sans créer d'accumulation au même moment. La saturation du bus de communication 4 est alors peu probable. On obtient ainsi sans coût additionnel une meilleure fiabilité des systèmes de communication, qu'on peut appliquer dans de nombreux 30 domaines. En particulier on peut avantageusement appliquer le procédé suivant l'invention, au contrôle de batteries d'un véhicule électrique ou hybride, ce contrôle nécessitant une bonne fiabilité pour garantir la durée de vie de ces batteries ainsi que la sécurité. Figure 3 shows the operation of the method of optimizing the data transmission. For a set of n computers 2 each having an order number i, the calculator software includes an individual means for calculating the delay time for the start of the information processing, starting from the wake-up signal 6, in such a way that stagger these starts regularly during the first period T. The time difference E for the start of processing between two successive computers 2 is then equal to the duration of the period T, divided by the number of computers n. For each calculator 2, a means of simple calculation of this delay, consists in multiplying its order number i by the time difference E. Practically, at startup each computer 2 begins by reading its order number i to calculate its delay, and applies a dead time equal to this delay, before initializing the clock system that periodically commands the task to execute. The duration of the tasks being identical for the different computers 2, we then obtain a regular distribution of obtaining the results Ri for each computer, with i ranging from 1 to n, which are sent with a time difference E. By following the use of external systems, there may be a small drift of information processing times by the software of different computers. Irregular gaps E can be obtained between the sending of information on the communication bus 4, 25 but statistically these items will remain sufficiently distributed over time, without creating accumulation at the same time. The saturation of the communication bus 4 is then unlikely. At no additional cost is thus obtained a better reliability of the communication systems, which can be applied in many fields. In particular, the method according to the invention can advantageously be applied to the control of batteries of an electric or hybrid vehicle, this control requiring good reliability to guarantee the service life of these batteries as well as safety.