FR3094105A1 - Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur - Google Patents
Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur Download PDFInfo
- Publication number
- FR3094105A1 FR3094105A1 FR1903003A FR1903003A FR3094105A1 FR 3094105 A1 FR3094105 A1 FR 3094105A1 FR 1903003 A FR1903003 A FR 1903003A FR 1903003 A FR1903003 A FR 1903003A FR 3094105 A1 FR3094105 A1 FR 3094105A1
- Authority
- FR
- France
- Prior art keywords
- computer
- data
- information
- sensor
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/173—Vehicle or other transportation
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur L’invention concerne un procédé et un dispositif de détermination de la taille d’un espace mémoire d’un premier calculateur (11) d’un système embarqué (100). Pour cela, une première requête est reçue, par exemple d’un dispositif d’un système externe (10) au véhicule. La première requête comprend avantageusement une première information représentative d’une fréquence d’acquisition de données d’un capteur (132) associé au système embarqué, un identifiant du capteur (132) et une deuxième information représentative d’un temps de transmission de données entre le premier calculateur (11) et un dispositif récepteur des données. Le dispositif récepteur des données correspond par exemple à un dispositif du système externe (10). La taille de la mémoire est déterminée en fonction de la première information et de la deuxième information. Figure pour l’abrégé : Figure 1
Description
L’invention concerne les procédés et dispositifs de détermination de la taille de mémoire d’un ou plusieurs calculateurs d’un système embarqué de véhicule, notamment de type automobile.
Arrière-plan technologique
Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion.
Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge. Certains calculateurs sont associés à différents capteurs et récupèrent des données mesurées par ces capteurs.
Les données mesurées par les capteurs peuvent être utilisées à différentes fins, par exemple pour des fins de développement de services connectés autour du véhicule. La récupération de ces données par des outils externes au système embarqués nécessitent l’envoi de requêtes à au moins un calculateur du système embarqué pour récupérer les données du ou des capteurs ciblés par la requête. Du volume de données dépend les besoins en mémoire au niveau du ou des calculateurs impliqués dans la collecte des données.
Un des problèmes rencontrés dans la collecte de ces données est que la taille des mémoires des calculateurs est fixée à la conception de ces calculateurs. Lorsque les volumes de données requis sont plus importants que la taille disponible des mémoires, les requêtes ne peuvent pas aboutir. Une autre possibilité est de surdimensionner largement la taille des mémoires des calculateurs, avec les conséquences associées sur l’augmentation du coût des calculateurs et in fine du véhicule.
Un objet de la présente invention est d’ajuster dynamiquement la taille de la mémoire allouée dans un ou plusieurs calculateurs pour répondre aux besoins en termes de données à transmettre via ce ou ces calculateurs.
Selon un premier aspect, l’invention concerne un procédé de détermination de la taille d’un premier espace mémoire d’un premier calculateur de système embarqué de véhicule, le procédé comprenant les étapes de :
- réception d’une première requête comprenant une première information représentative d’une fréquence d’acquisition de données d’un capteur associé au système embarqué, un identifiant du capteur et une deuxième information représentative d’un temps de transmission de données entre le premier calculateur et un dispositif récepteur des données ;
- détermination de la taille de la mémoire en fonction de la première information et de la deuxième information.
Selon une variante la première requête comprend en outre un identifiant d’un deuxième calculateur connecté au capteur.
Selon encore une variante, le dispositif récepteur correspond à un dispositif externe au système embarqué, le premier calculateur étant relié au dispositif récepteur via une connexion sans fil.
Selon une variante supplémentaire, le procédé comprend en outre une étape d’allocation du premier espace mémoire.
Selon une autre variante, le procédé comprend en outre une étape de vérification que la taille de l’espace mémoire disponible dans le premier calculateur est supérieure à la taille du premier espace mémoire, l’allocation étant fonction du résultat de la vérification.
Selon encore une variante, le procédé comprend en outre les étapes de :
- transmission d’une deuxième requête à un deuxième calculateur du système embarqué, la deuxième requête comprenant la première information, l’identifiant du capteur et la deuxième information, le capteur étant relié au deuxième calculateur ;
- détermination de la taille d’un deuxième espace mémoire du deuxième calculateur en fonction de la première information et d’une troisième information représentative du temps de transmission de données entre le premier calculateur et le deuxième calculateur.
Selon un deuxième aspect, l’invention concerne un calculateur comprenant une mémoire associée à au moins un processeur, le au moins un processeur étant configuré pour mettre en œuvre les étapes du procédé tel que décrit selon le premier aspect de l’invention.
Selon un troisième aspect, l’invention concerne un système embarqué dans un véhicule comprenant le premier calculateur tel que décrit ci-dessus selon le deuxième aspect de l’invention et un deuxième calculateur relié au premier calculateur via un bus de données, le capteur étant relié au deuxième calculateur, le processeur du premier calculateur étant en outre configuré pour transmettre une deuxième requête au deuxième calculateur, la deuxième requête comprenant la première information, l’identifiant du capteur et la deuxième information, le deuxième calculateur comprenant une mémoire associée à au moins un processeur configuré pour déterminer la taille d’un deuxième espace mémoire du deuxième calculateur en fonction de la première information et d’une troisième information représentative du temps de transmission de données entre le premier calculateur et le deuxième calculateur.
Selon un quatrième aspect, l’invention concerne un véhicule, par exemple de type automobile, comprenant un ou plusieurs calculateurs tels que décrit ci-dessus selon le deuxième aspect de l’invention ou le système tel que décrit ci-dessus selon le troisième aspect de l’invention.
Selon un cinquième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 3 annexées, sur lesquelles :
Un procédé de détermination de la taille d’une mémoire d’un ou plusieurs calculateurs d’un système embarqué de véhicule ainsi que le ou les de ce système embarqué vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 5.
Selon un exemple particulier et non limitatif de réalisation de l’invention, la taille d’un espace mémoire d’un premier calculateur d’un système embarqué est déterminée. Pour cela, une première requête est reçue, par exemple d’un dispositif d’un système externe au véhicule, par exemple un serveur dans le cloud ou un outil de diagnostic. La première requête comprend avantageusement une première information représentative d’une fréquence d’acquisition de données d’un capteur associé au système embarqué, un identifiant du capteur et une deuxième information représentative d’un temps de transmission de données entre le premier calculateur et un dispositif récepteur des données. Le dispositif récepteur des données correspond par exemple au dispositif du système externe. La taille de la mémoire est déterminée en fonction de la première information et de la deuxième information.
Déterminer la taille d’un espace mémoire à partir d’information(s) reçue(s) dans une requête permet d’allouer dynamiquement l’espace mémoire nécessaire pour répondre à cette requête, pour la fourniture des données requises. Une telle allocation dynamique d’espace mémoire apporte de la souplesse dans la conception des calculateurs en évitant de figer au moment de la conception la taille de la mémoire allouée pour la fourniture de données issues d’un ou plusieurs capteurs.
Le système 100 est avantageusement embarqué dans un véhicule, par exemple de type automobile. Le système 100 comprend par exemple un calculateur principal 11 connecté à un ou plusieurs calculateurs secondaires 12, 13, 14. Le calculateur principal 11 correspond par exemple à un calculateur de type UCE. Une UCE est composée d’un calculateur électronique et d’un ou plusieurs logiciels embarqués qui réalisent un ou plusieurs asservissements. Les calculateurs secondaires 12, 13 et 14 sont par exemple eux aussi de type UCE. Le calculateur principal 11 est aussi appelé calculateur orchestrateur ou calculateur de connectivité (ou ECU orchestrateur ou de connectivité) en ce qu’il fait le lien entre les différents composants du système embarqué 100 et un dispositif externe 10. Les calculateurs 11, 12, 13 et 14 forment par exemple une architecture multiplexée pour la réalisation de différents services utiles pour le bon fonctionnement du véhicule et pour assister le conducteur et/ou les passagers du véhicule dans le contrôle du véhicule.
Les calculateurs 11, 12, 13 et 14 communiquent et échangent des données entre eux par l’intermédiaire d’un ou plusieurs bus informatiques 102, 103, par exemple un bus de communication de type bus de données CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802-3).
Chaque calculateur comprend une mémoire, par exemple de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, dédiée au stockage du code informatique du ou des logiciels embarqués comprenant les paramètres et instructions à charger et exécuter par le processeur de chaque calculateur. Une partie de la mémoire peut être allouée pour stocker, au moins temporairement, des données issues de capteur(s) associés au(x) calculateur(s). Ainsi, le calculateur principal comprend une mémoire 111, le calculateur secondaire 13 comprend une mémoire 131 et le calculateur secondaire 14 comprend une mémoire 141.
Le calculateur principal 11 est relié à un dispositif externe 10 via une connexion filaire ou sans fil 101. Le dispositif externe 10 est par exemple un serveur distant du « cloud » (ou « nuage » en français) ou un outil de diagnostic. Le calculateur principal 11 reçoit par exemple une ou plusieurs requêtes du dispositif externe pour la fourniture de données issues du système embarqué 100, par exemple via l’Internet avec une connexion de type OTA (de l’anglais « over-the-air », ou en français « par voie aérienne »). La connexion de type OTA utilise par exemple un ou plusieurs protocoles de communication sans fil tels que Bluetooth®, Wi-Fi® (basé sur IEEE 802.11), LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé).
Le calculateur secondaire 12 assure par exemple la fonction de passerelle (de l’anglais « gateway ») entre le calculateur secondaire 13 et le calculateur principal 11, par exemple pour transmettre des requêtes du calculateur principal 11 vers le calculateur secondaire 13 et pour transmettre en réponse des données du calculateur secondaire 13 vers le calculateur principal 11. Les calculateurs secondaires 12 et 13 sont par exemple reliés entre eux via une connexion filaire ou un bus de données 103, par exemple de type CAN. Les calculateurs 11, 12 et 14 sont par exemple reliés entre eux via une connexion filaire ou un bus de données 102, par exemple de type CAN FD. Selon un autre exemple, tous les calculateurs 11 à 14 sont reliés entre via un bus de données du même type, par exemple CAN ou CAN FD.
Un ou plusieurs capteurs sont associés, c’est-à-dire reliés ou connectés, à un ou plusieurs des calculateurs du système embarqué 100. Par exemple, deux capteurs 132 et 133 sont associés au calculateur secondaire 13 et un capteur 142 est associé au calculateur secondaire 14. Selon une variante de réalisation (non illustrée), un ou plusieurs capteurs sont associés au calculateur principal 11. Les capteurs sont reliés au(x) calculateur(s) associé(s) via une connexion filaire, par exemple en utilisant une technologie de type bus LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).
Selon un exemple de mise en œuvre de l’invention, à titre d’illustration, une requête est émise par le dispositif externe 10. Cette requête demande par exemple la fourniture de données du capteur S1 132 connecté et contrôlé par le calculateur 13. Cette requête est transmise au calculateur principal 11 via la connexion 101. La requête comprend par exemple un identifiant ‘ECUn’ du calculateur 13 contrôlant le capteur S1 132, un identifiant ‘Sn’ du capteur S1 132, une information ‘ACQ_Sn’ représentative du temps d’acquisition du capteur (c’est-à-dire l’espace temporel entre 2 acquisitions) et une information ‘TIME’ représentative du temps total choisi d’acquisition avant envoi des données au dispositif externe 10 par le calculateur principal 11. La requête ‘GET_DATA’ prend par exemple la forme suivante :
GET_DATA (ECUn, Sn, ACQ_Sn, TIME).
‘ECUn’ identifie par exemple le calculateur ECU3 13 ; ‘Sn’ identifie par exemple le capteur S1 132 ; ‘ACQ-Sn’ vaut par exemple 10 ms ; et ‘TIME’ vaut par exemple 1s. La valeur de ‘TIME’ correspond avantageusement au temps de transmission associé à la technologie utilisée pour échanger des données entre le dispositif externe 10 et le calculateur principal ECU1 11, par exemple via une connexion 4G (ou LTE-Advanced).
La requête ‘GET_DATA’ est par exemple transmise par le dispositif externe 10 au calculateur principal ECU1 11 au moyen d’un protocole connu de l’homme de l’art tel que MQTT (de l’anglais « MQ Telemetry Transport » ou en français « Transport télémétrique MQ ») ou HTTPS (de l’anglais « HyperText Transfer Protocol Secure » ou en français « Protocole de transport hypertexte sécurisé ») par exemple.
Le calculateur principal (aussi appelé premier calculateur) 11 peut alors dimensionner l’espace mémoire à allouer pour stocker les données requises par la requête, avant de les transmettre au dispositif externe (appelé alors dispositif récepteur). Pour ce faire, le calculateur principal 11 prend en compte le paramètre ‘TIME’, tel que cela sera expliqué plus en détail en regard de la figure 3.
Le calculateur principal 11 transmet alors la requête au calculateur secondaire ECU3 13 via le calculateur passerelle ECU2 12, par exemple au moyen d’une requête de diagnostic qui comprend alors les paramètres ‘Sn’, ‘ACQ_Sn’ et ‘TIME’ selon un protocole connu de l’homme de l’art tel que UDS (de l’anglais « Unified Diagnostic Services » ou en français « Services de diagnostic unifiés »), KWP2000 (de l’anglais « Keyword Protocol 2000 » ou en français « Protocole mot-clé 2000 »). De tels protocoles présentent par exemple l’avantage de pouvoir être utilisés nativement sur des bus de données de type CAN, CAN FD, FlexRay ou Ethernet.
Le calculateur secondaire ECU3 13 (aussi appelé deuxième calculateur) peut alors dimensionner l’espace mémoire à allouer pour stocker les données requises par la requête, avant de les transmettre au calculateur principal ECU1 11(appelé alors dispositif récepteur). Le calculateur secondaire ECU3 13 utilise alors le paramètre ‘ACQ_Sn’ pour dimensionner la taille de l’espace mémoire requis pour stocker les données issues du capteur S1 132 et le paramètre ‘TIME’ pour déterminer le nombre de transmissions successives à réaliser vers le calculateur principal ECU1 11, tel que cela sera expliqué plus en détail en regard de la figure 3.
Bien entendu, le nombre de calculateurs du système 100 n’est pas limité à 4 et s’étend à tout nombre, par exemple 10, 20, 50, 100 ou plus de calculateurs. Un exemple de réalisation matérielle d’un calculateur est décrit en regard de la figure 2.
Le calculateur 2 est par exemple configuré pour la mise en œuvre des étapes du procédé décrit en regard de l’une des figures 3, 4 et/ou 5. Des exemples d’un tel calculateur 2 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE. Les éléments du calculateur 2, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le calculateur 2 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le calculateur 2 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.
Le calculateur 2 comprend un (ou plusieurs) processeur(s) 20 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le calculateur 2. Le processeur 20 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le calculateur 2 comprend en outre au moins une mémoire 21 correspondant par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la première mémoire 21.
Selon un mode de réalisation particulier et non limitatif, le calculateur 2 comprend un bloc 22 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple un serveur distant ou le « cloud », des capteurs odométriques, un capteur GPS et/ou tout autre capteur. Les éléments d’interface du bloc 22 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;
- interface LIN.
Des données sont par exemples chargées vers le calculateur 2 via l’interface du bloc 22 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 – version 10) ou 5G.
Selon un autre mode de réalisation particulier, le calculateur 2 comprend une interface de communication 23 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 230. L’interface de communication 23 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 230. L’interface de communication 23 correspond par exemple à un réseau filaire de type CAN ou CAN FD.
Selon un mode de réalisation particulier supplémentaire, le calculateur 2 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées.
Dans une première opération, le dispositif externe 10 transmet une requête sous la forme d’une commande GET_DATA (ECU3, S1, 10ms, 1s) au calculateur ECU1.
Dans une deuxième opération, le calculateur ECU1 (aussi appelé premier calculateur) détermine l’espace mémoire requis pour stocker les données mesurées par le capteur S1 132 avant transmission au dispositif externe 10. Le calculateur ECU1 détermine (ou calcule), à partir des informations ‘ACQ_S1’ = 10ms et ‘TIME’ = 1s, que 100 cases mémoires 311, 312, 3110 doivent être allouées à cette fonctionnalité : (1s = 1000ms ; 1000ms / 10ms = 100). En considérant que cette valeur est bien inférieure à la limite mémoire possible pour cette fonction dans le calculateur ECU1 (typiquement au moins plusieurs centaines de Ko (kilo-octets) disponibles dans la mémoire 111 du calculateur ECU1), le processus de collecte des données peut continuer.
Dans une troisième opération, le calculateur ECU1 transforme la requête provenant du dispositif externe 10 en une requête de diagnostic qu’il transmet sur le système embarqué du véhicule à destination du calculateur ECU3. Cette requête de diagnostic comprend les informations (S1, ACQ_S1, TIME), c’est-à-dire (S1, 10ms, 1s).
Dans une quatrième opération, le calculateur ECU3 (aussi appelé deuxième calculateur) en charge de la collecte de bas niveau des informations du capteur S1 132 détermine la taille de son espace mémoire (aussi appelé buffer mémoire ou mémoire tampon) optimum à allouer à cette collecte en prenant en compte la valeur du paramètre ‘ACQ_S1’ reçu. Un paramètre supplémentaire ‘TA_ECU3’, propre au logiciel de ECU3 et correspondant au temps nécessaire à la transmission d’une information au calculateur ECU1 via le bus de données du système embarqué reliant les calculateurs ECU1 et ECU3, est également pris en compte. Ce temps ‘TA_ECU3’ représente le temps lié à l’architecture véhicule et dépend des technologies réseaux mises en œuvre dans la liaison entre les deux calculateurs ECU3 et ECU1, ainsi que du nombre d’information à collecter avant transmission vers ECU1. En ce sens, chaque calculateur du véhicule dispose d’une valeur spécifique qui est avantageusement mesurée après conception du véhicule. Cette information est par exemple stockée avec les paramètres de calibration du logiciel de chaque calculateur en charge de la collecte des données requises. Ces paramètres de calibration sont avantageusement stockés en mémoire 131 du calculateur ECU3 qui contrôle le capteur S1 32.
Selon l’exemple de la figure 3, ‘TA_ECU3’ = 100ms. Le calculateur ECU3 détermine alors la taille de l’espace mémoire à allouer à la collecte des données mesurées par le capteur S1 132, la taille de l’espace mémoire étant par exemple exprimée avec un nombre NECU3de cases mémoires 331, 332, 3310 à allouer :
NECU3= TA_ECU3 / ACQ_S1, c’est-à-dire NECU3= 100 /10 = 10 cases mémoires.
En considérant que cette valeur est bien inférieure à la limite mémoire possible pour cette fonction dans le calculateur ECU3, le processus de collecte des données peut continuer.
Comme ‘TIME’ = 1s, 10 envois (1s / 100ms) du contenu de l’espace mémoire alloué par le calculateur ECU3 sont nécessaires pour répondre à la requête ‘GET_DATA’, correspondant en autant de trames (c’est-à-dire 10 trames) nécessaires à l’envoi de la collecte de bas niveau.
Dans une cinquième opération, le calculateur ECU3 transmet successivement les 10 trames correspondant aux différentes acquisitions de son espace mémoire. L’espace mémoire du calculateur est vidé à chaque envoi d’une trame pour libérer cet espace mémoire en vue de la collecte suivante des données en provenance du capteur S1 132. Une fois les différentes trames reçues, l’espace mémoire du calculateur ECU1 alloué à la collecte des données est rempli. Comme illustré sur la figure 3, la première case mémoire 311 du calculateur ECU 1 permet de stocker les données stockées dans les 10 cases mémoires 331, 332 à 3310 de l’espace mémoire du calculateur ECU3 après une première collecte des données du capteur S1. Une fois le contenu de ces 10 cas transmis à ECU1, cet espace mémoire est disponible pour la prochaine collecte des données de S1. Une deuxième transmission des données stockées dans ces cases mémoires 331 à 3310 est alors effectuée vers ECU1 qui stocke ces nouvelles données reçues dans une deuxième case mémoire 312, et ainsi de suite jusqu’à stocker le contenu des 10 collectes dans les 10 cases mémoires 311 à 3110 du calculateur ECU1.
Dans une sixième opération, le calculateur ECU1 transmet les données stockées dans les 10 cases mémoires 311 à 3110 allouées à la collecte des données mesurées par le capteur S1 au dispositif externe 10.
Bien entendu, les différentes valeurs données aux paramètres de la requête ‘GET_DATA’ et du système embarqué sont fournies à titre d’exemple et peuvent prendre d’autres valeurs, selon les caractéristiques du système embarqué et les instructions fournies au dispositif externe, par exemple par un opérateur ou un utilisateur.
Dans une première étape 41, une première requête est reçue, par exemple d’un système externe (ou débarqué) au véhicule. La première requête comprend avantageusement une première information représentative d’une fréquence d’acquisition de données d’un capteur associé au système embarqué, un identifiant du capteur et une deuxième information représentative d’un temps de transmission de données entre le premier calculateur et un dispositif récepteur des données. Le dispositif récepteur des données correspond par exemple à un dispositif (par exemple un serveur, un ordinateur, un téléphone intelligent (de l’anglais « smartphone »), une tablette, un outil de diagnostic) du système externe. Ce dispositif récepteur est avantageusement connecté au premier calculateur via une liaison sans fil de type OTA. La première requête est avantageusement reçue par le premier calculateur ECU1.
Selon une variante optionnelle, la première requête comprend en outre un identifiant d’un deuxième calculateur ECU 3 auquel est relié le capteur. Cette variante est optionnelle en ce que le capteur peut par exemple être relié au premier calculateur ECU1. Dans ce cas de figure, il n’est pas utile d’identifier le calculateur auquel est relié le capteur. Selon un autre exemple, le premier calculateur est le seul calculateur du système embarqué et il n’est donc pas utile d’identifier le calculateur auquel est relié le capteur dans la première requête.
Dans une deuxième étape 42, la taille du premier espace mémoire est déterminée en fonction de la première information et de la deuxième information. Par exemple, la taille du premier espace mémoire est exprimée en nombre de cases mémoires, et ce nombre de cases mémoire est obtenue en divisant la deuxième information (par exemple exprimée en millisecondes) par la première information (par exemple exprimée en millisecondes).
Dans une première étape 51, une première requête est reçue, par exemple d’un système externe (ou débarqué) au véhicule. La première requête comprend avantageusement une première information représentative d’une fréquence d’acquisition de données d’un capteur associé au (ou compris dans le) système embarqué, un identifiant du capteur et une deuxième information représentative d’un temps de transmission de données entre le premier calculateur et un dispositif récepteur des données.
Dans une deuxième étape 52, la taille du premier espace mémoire est déterminée en fonction de la première information et de la deuxième information.
Dans une troisième étape 53, la taille du premier espace mémoire déterminée à l’étape 52 est comparée à la taille de la mémoire du premier calculateur ECU1 pour vérifier que la taille du premier espace mémoire n’est pas supérieure à l’espace mémoire disponible en mémoire du premier calculateur ECU1 ou n’est pas supérieure à une limite fixée et stockée par exemple comme paramètre de calibration du premier calculateur. Si la taille déterminée à l’étape 52 est supérieure à l’espace mémoire disponible ou à la limite fixée, alors la requête n’aboutit pas et le procédé prend fin à l’étape 531. Un message est par exemple retourné au dispositif émetteur de la requête pour l’informer que cette dernière ne peut pas aboutir.
Si la taille déterminée à l’étape 52 est inférieure à l’espace mémoire disponible, alors le premier espace mémoire est allouée pour répondre à la requête au cours d’une étape 54.
Si le capteur qui fournit les données est relié à un calculateur différent du premier calculateur, le premier calculateur transforme la première requête et transmet une deuxième requête au calculateur, dit deuxième calculateur, contrôlant le capteur cible de la requête. La deuxième requête comprend avantageusement la première information représentative d’une fréquence d’acquisition de données d’un capteur associé au système embarqué, l’identifiant du capteur et la deuxième information représentative d’un temps de transmission de données entre le premier calculateur et un dispositif récepteur des données. Les étapes 51, 52, 53, et 54 ou 531 sont réitérées pour déterminer la taille d’un deuxième espace mémoire à allouer pour que le deuxième calculateur stocke temporairement les données requises issus du capteur avant de les transmettre au premier calculateur, tel que décrit en regard de la figure 3, à la différence que le deuxième espace mémoire est déterminé à partir de la première information et d’une troisième information connue du deuxième calculateur. Cette troisième information correspond avantageusement au temps de transmission de données entre le premier calculateur et le deuxième calculateur, déterminé par exemple de manière empirique.
Les données ainsi collectées par le premier calculateur et stockées temporairement dans le premier espace mémoire alloué à cet effet sont enfin transmises au dispositif récepteur qui a émis la première requête.
De tels procédés permettent la collecte d’informations via par exemple une liaison de type OTA en dimensionnant les espaces mémoires des différents calculateurs de manière optimale, au plus juste, en étant adaptés à la demande.
Un même espace mémoire d’un calculateur peut donc être utilisé pour différents acquisitions de paramètres ou données à différents instants. Il en résulte :
- un gain sur le coût de la mémoire des différents calculateurs, et/ou
- une plus grande profondeur d’acquisition d’un paramètre ou de données pour un même espace mémoire disponible.
L’invention permet aussi d’acquérir des données selon une fréquence d’acquisition plus importante que la vitesse de transmission de l’information dépendante de la technologie utilisée (par exemple OTA et/ou bus de données de type CAN FD).
L’invention permet aussi de ne pas figer dans les logiciels les configurations d’acquisitions des données mais de composer au gré du besoin cette combinaison d’acquisitions afin de pouvoir répondre à une multitude de services connectés qui ne seraient par exemple pas identifiés au moment du figeage du logiciel des différents calculateurs d’un véhicule automobile.
Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à une méthode de transmission des données mesurées par un ou plusieurs capteurs d’un système embarqués, suite à une requête reçue par exemple d’un système débarqué du véhicule, et au dispositif configuré pour la mise en œuvre d’une telle méthode.
L’invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant le dispositif 2 de la figure 2 ou le système embarqué 100 de la figure 1.
Claims (10)
- Procédé de détermination de la taille d’un premier espace mémoire d’un premier calculateur (11) de système embarqué (100) de véhicule, ledit procédé comprenant les étapes de :
- réception (41) d’une première requête comprenant une première information représentative d’une fréquence d’acquisition de données d’un capteur (132) associé audit système embarqué (100), un identifiant dudit capteur (132) et une deuxième information représentative d’un temps de transmission desdites de données entre ledit premier calculateur (11) et un dispositif récepteur desdites données ;
- détermination (42) de la taille dudit premier espace mémoire en fonction de ladite première information et de ladite deuxième information. - Procédé selon la revendication 1, pour lequel ladite requête comprend en outre un identifiant d’un deuxième calculateur (13) connecté audit capteur.
- Procédé selon la revendication 1 ou 2, pour lequel ledit dispositif récepteur correspond à un dispositif externe audit système embarqué, ledit premier calculateur (11) étant relié audit dispositif récepteur via une connexion sans fil (101).
- Procédé selon l’une quelconque des revendications 1 à 3, comprenant en outre une étape (54) d’allocation dudit premier espace mémoire.
- Procédé selon la revendication 4, comprenant en outre une étape de vérification (53) que la taille de l’espace mémoire disponible dans ledit premier calculateur est supérieure à la taille dudit premier espace mémoire, ladite allocation étant fonction du résultat de ladite vérification.
- Procédé selon l’une des revendication 1 à 5, comprenant en outre les étapes de :
- transmission d’une deuxième requête à un deuxième calculateur (13) du système embarqué, ladite deuxième requête comprenant ladite première information, ledit identifiant du capteur et ladite deuxième information, ledit capteur (132) étant relié audit deuxième calculateur (13) ;
- détermination de la taille d’un deuxième espace mémoire dudit deuxième calculateur (13) en fonction de ladite première information et d’une troisième information représentative du temps de transmission de données entre ledit premier calculateur (11) et ledit deuxième calculateur (13). - Calculateur comprenant une mémoire (21) associée à au moins un processeur (20), le au moins un processeur étant configuré pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 5.
- Système comprenant le calculateur selon la revendication 7, appelé premier calculateur (11), et un deuxième calculateur (13) relié au premier calculateur via un bus de données (102, 103), ledit capteur étant relié audit deuxième calculateur, le processeur dudit premier calculateur étant en outre configuré pour transmettre une deuxième requête audit deuxième calculateur, ladite deuxième requête comprenant ladite première information, ledit identifiant du capteur et ladite deuxième information, le deuxième calculateur comprenant une mémoire associée à au moins un processeur configuré pour déterminer la taille d’un deuxième espace mémoire du deuxième calculateur en fonction de ladite première information et d’une troisième information représentative du temps de transmission de données entre ledit premier calculateur et ledit deuxième calculateur.
- Véhicule automobile comprenant le calculateur selon la revendication 7 ou le système selon la revendication 8.
- Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 6, lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1903003A FR3094105B1 (fr) | 2019-03-22 | 2019-03-22 | Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1903003 | 2019-03-22 | ||
FR1903003A FR3094105B1 (fr) | 2019-03-22 | 2019-03-22 | Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3094105A1 true FR3094105A1 (fr) | 2020-09-25 |
FR3094105B1 FR3094105B1 (fr) | 2021-02-12 |
Family
ID=67999742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1903003A Active FR3094105B1 (fr) | 2019-03-22 | 2019-03-22 | Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3094105B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093979A1 (fr) * | 2021-11-24 | 2023-06-01 | Volkswagen Aktiengesellschaft | Procédé mis en œuvre par ordinateur pour organiser l'accès à une mémoire partagée d'un véhicule |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120015241A (ko) * | 2010-08-11 | 2012-02-21 | (주)억셉트테크놀러지 | 데이터 송출 주기에 따른 메모리 관리 방법 |
US20160133304A1 (en) * | 2014-11-06 | 2016-05-12 | Hyundai Motor Company | Calibration memory control method and apparatus of electronic control unit |
US20190080526A1 (en) * | 2017-09-12 | 2019-03-14 | Hyundai Motor Company | Vehicle data collection device and method thereof |
-
2019
- 2019-03-22 FR FR1903003A patent/FR3094105B1/fr active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120015241A (ko) * | 2010-08-11 | 2012-02-21 | (주)억셉트테크놀러지 | 데이터 송출 주기에 따른 메모리 관리 방법 |
US20160133304A1 (en) * | 2014-11-06 | 2016-05-12 | Hyundai Motor Company | Calibration memory control method and apparatus of electronic control unit |
US20190080526A1 (en) * | 2017-09-12 | 2019-03-14 | Hyundai Motor Company | Vehicle data collection device and method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093979A1 (fr) * | 2021-11-24 | 2023-06-01 | Volkswagen Aktiengesellschaft | Procédé mis en œuvre par ordinateur pour organiser l'accès à une mémoire partagée d'un véhicule |
Also Published As
Publication number | Publication date |
---|---|
FR3094105B1 (fr) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3072309B1 (fr) | Interface de communication virtuelle pour diagnostic de véhicule automobile | |
EP3203445B1 (fr) | Systeme et procede d'identification automatique d'un modele de vehicule | |
FR3094105A1 (fr) | Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur | |
FR3122059A1 (fr) | Procédé, dispositif et système de communication de données d’évènement pour véhicule | |
FR3103437A1 (fr) | Procédé et dispositif de détermination de consigne pour véhicule | |
WO2022152986A1 (fr) | Procédé et dispositif de suivi de trajectoire d'un véhicule circulant sur une voie de circulation | |
FR3041845A1 (fr) | Dispositif electronique propre a etre relie a un reseau de vehicule, et procede de transmission de messages mis en oeuvre par un tel dispositif electronique | |
FR3096860A1 (fr) | Procédé et dispositif de communication d’informations relatives à un ou plusieurs trajets | |
WO2022184986A1 (fr) | Procédé et dispositif de détermination d'une vitesse réglementaire sur une portion de route pour véhicule | |
EP4288854A1 (fr) | Procédé et dispositif de validation de synchronisation temporelle entre calculateurs embarqués de véhicule | |
WO2022229534A1 (fr) | Procédé et dispositif de contrôle d'un système d'arrêt-démarrage automatique de moteur dans un groupement de véhicules par peloton | |
FR3136289A1 (fr) | Procédé et dispositif de contrôle de calculateurs d’un véhicule | |
FR3124998A1 (fr) | Procédé, dispositif et système de contrôle de système d’aide à la conduite embarqué d’un véhicule | |
FR3152103A1 (fr) | Procédé et dispositif de contrôle d’accès à un service connecté d’un système de navigation embarqué d’un véhicule | |
WO2021255355A1 (fr) | Procédé et dispositif de communication entre deux véhicules | |
WO2023105131A1 (fr) | Procédé et dispositif de contrôle d'un système de régulation adaptative de vitesse d'un véhicule | |
WO2020174137A1 (fr) | Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule | |
FR3122514A1 (fr) | Procédé et dispositif d’association à un groupement de véhicules par peloton | |
WO2021240082A1 (fr) | Procédé et système de communication dans un réseau cellulaire sans fil | |
FR3098455A1 (fr) | Procédé et dispositif de gestion de recharge d’un véhicule électrique | |
FR3129648A1 (fr) | Procédé et dispositif de contrôle d’un système d’aide au positionnement d’un véhicule dans une file de circulation | |
FR3093218A1 (fr) | récupération de données stockées sur une clé d’un véhicule | |
WO2024126908A1 (fr) | Procédé et dispositif de contrôle d'un système de régulation de vitesse d'un véhicule dans un rond-point | |
FR3092684A1 (fr) | Procédé et dispositif de mise à jour d’une unité de commande électronique | |
FR3146640A1 (fr) | Procédé et dispositif de contrôle d’un trajet d’un véhicule autonome circulant selon un mode manuel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200925 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
CD | Change of name or company name |
Owner name: STELLANTIS AUTO SAS, FR Effective date: 20240423 |