A P P L I C A T I O N Automobile - Microcontrôleurs Une triple stratégie pour réduire la consommation de l’électronique dans les voitures Face à l’augmentation des niveaux de confort, de sécurité et d’efficacité dans les véhicules, les constructeurs et leurs fournisseurs de composants doivent répondre à des exigences contradictoires pour optimiser la consommation d’énergie. Trois stratégies sont mises en œuvre pour y parvenir : la réduction du nombre de calculateurs intégrés, la minimisation de la consommation d’énergie des microcontrôleurs et l’activation de la mise sous tension sélective des fonctionnalités des ECU et des microcontrôleurs. L es systèmes électroniques embarqués dans les automobiles assurent un niveau de sécurité et de confort accru au conducteur et à ses passagers, tout en réduisant l’impact environnemental des véhicules. Le contenu logiciel intégré dans ces voitures modernes connaît parallèlement une véritable explosion : en 2011, le cabinet Frost & Sullivan estimait par exemple que les automobiles utiliseraient à court terme de 200 à 300 millions de lignes de code. Un véhicule haut de gamme peut actuellement comporter une centaine d’unités de contrôle électronique (ECU - Electronics Control Units) pour gérer toutes les fonctions électroniques, du toit ouvrant électrique au réglage automatique de la AUTEUR Andy Birnie, responsable ingénierie des microsystèmes automobiles, Freescale hauteur des phares, en passant par les capteurs de pluie et la gestion du moteur (figure 1). Or, cette prolifération des calculateurs embarqués a des répercussions sur la consommation d’énergie des véhicules, laquelle a évidemment un coût qui peut être directement associé à la consommation de carburant. On estime ainsi qu’une consommation électrique de 100 W équivaut à une consommation de carburant supplémentaire de 0,1 litre par 100 km parcourus. De même, on montre qu’en matière de poids, une surcharge de 50 kg amène une consommation additionnelle de 0,1 litre par 100 km parcourus. Ces deux facteurs suffisent à démontrer que, pour réduire la consommation de carburant d’un véhicule, il est 1 NOMBRE MOYEN D’ECU PAR CATÉGORIE DE VÉHICULE Le nombre de calculateurs (ECU) est en augmentation constante dans les voitures, quelle que soit leur catégorie, et peut dépasser les 100 sur les modèles haut de gamme. 60.0 Average ECU per Car 50.0 40.0 30.0 20.0 Réduire le nombre de calculateurs embarqués dans un véhicule 10.0 0.0 essentiel de minimiser non seulement la consommation d’énergie électrique, mais aussi le poids des calculateurs embarqués et l’infrastructure électrique associée (en particulier les torons de câbles). Au-delà, compte tenu d’autres facteurs tels que la législation et la volonté d’accroître l’autonomie des véhicules électriques, la consommation d’énergie est sans conteste un critère déterminant dans la conception des automobiles modernes. Aujourd’hui, les unités de contrôle électronique (ECU) sont distribuées dans tout le véhicule, regroupées par domaines et reliées par un ou plusieurs bus système – CAN, LIN ou FlexRay. Dans les prochaines automobiles, les architectures réseau seront constituées de contrôleurs de domaine hautement intégrés, qui seront interconnectés par l’intermédiaire de systèmes à haut débit de type Ethernet (figure 2). Ces réseaux du futur seront divisés en domaines d’application distincts avec des contrôleurs de domaine associés. Et ces contrôleurs auront besoin d’une puissance de traitement considérable, doublée de performances en temps réel, et de périphériques de communication. 2007 Mini 2008 Small 2009 2010 2011 Medium 2012 Large 2013 2014 Executive 2015 2016 2017 Luxury 2018 Coupe Source : Strategy Analytics Trois méthodes de base permettent d’abaisser la consommation d’énergie des véhicules automobiles. La première consiste tout simplement à diminuer le nombre de calculateurs L’EMBARQUÉ / N°5 / 2014 / 29 A P P L I C A T I O N Automobile - Microcontrôleurs 2 RÉSEAUX ÉLECTRONIQUES D’UNE VOITURE CLASSÉS PAR DOMAINES D’APPLICATION Aujourd’hui, les unités de contrôle électronique (ECU) sont distribuées dans tout le véhicule, regroupées par domaines et reliées par un ou plusieurs bus système, CAN, LIN ou FlexRay. Diagnostics Port Ethernet Backbone Powertrain Gateway Body and Comfort Gateway Chassis Gateway Infotainment Gateway CAN/FlexRay CAN/LIN CAN/LIN/ FlexRay Ethernet/ MOST/CAN Transmission Management Window Lift Steer by Wire Head Unit Engine Management HVAC and Comfort Brake by Wire Head Up Display Battery Monitoring Interior and Exterior Lighting Power Steering Navigation Alternator Regulator Door and Seat Modules Tire Pressure Monitoring Instrument Cluster tion des fonctionnalités par du logiciel sur une plate-forme matérielle commune. Cette prise en charge de plusieurs applications au sein d’une architecture unique correspond aux conceptions multicœurs et à l’ensemble des fonctionnalités associées, ce que réalise par exemple le microcontrôleur MPC5748G de Freescale. Un haut niveau de séparation et embarqués dans un véhicule. Pour cela, il est nécessaire de briser le rapport 1 sur 1 qui relie les fonctions aux contrôleurs, les calculateurs centraux hébergeant alors plusieurs applications. Cette approche permet également d’optimiser le coût et la gestion des options automobiles dans un environnement de production complexe en assurant l’exécu- d’isolation entre les différents cœurs et les ressources associées permet alors d’isoler les applications. Ceci signifie qu’il est possible d’affecter certaines ressources du microcontrôleur – par exemple un cœur, un sous-ensemble des périphériques et de la mémoire – à une application donnée, tandis qu’un autre cœur et son propre sous-ensemble de périphériques et de mémoire sera affecté à une application tout à fait distincte. Autre avantage, cette isolation des applications assure un haut niveau de protection aux intégrateurs qui assemblent les logiciels de différents développeurs tierces parties en sachant qu’ils fonctionneront de manière indépendante et autonome (figure 3). En partant de l’architecture du microcontrôleur MPC5748G, il est possible d’imaginer un scénario d’utilisation dans lequel le circuit pilote deux domaines indépendants (figure 4). On trouve ainsi un domaine Autosar (AUTomotive Open System Architecture) qui gère les fonctions passerelle et carrosserie de l’architecture Autosar, qui dispose d’une unité centrale (CPU) dédiée et des ressources périphériques et mémoire associées, et qui fonctionne presque indépendamment du domaine du routeur IP, mais qui est capable d’échanger des données en 3 MÉCANISMES D’ISOLATION ET DE PROTECTION Un haut niveau de séparation et d’isolation entre les différents cœurs et les ressources associées permet d’isoler les applications entre elles, comme on le voit ici sur le microcontrôleur MPC5748G de Freescale. Independent Watchddog per Core Independent OS Timer per Core Process ID/ Core Cores e200z4 e200z4 e200z4 Privileges Levels/ Core Individual Flash Block Locking 30 / L’EMBARQUÉ / N°5 / 2014 STM SWT STM Comms HSM USB OTG USB SPH DMA ENET MLB SDHC FlexRay SWT STM Crossbars System Memoy Protection Unit Individual Isolated RAM Arrays Dedicated Flash Line Buffers System SWT Memories SRAM0 SRAM1 SRAM2 NVM Port and Buffers 0 NVM Port and Buffers 1 NVM Port and Buffers 2 NVM Array Peripherals Bus Bus Bridge 0 Bridge 1 Register Protect 1 x INTC 2 x ADD 10 x SPI 4 x PC 18 x LIN 3 x eMIOS 3 x PC 8 x CAN 3 x Comparator Master ID Protection Lockable Memory Protection Regions Address Range Privileges Peripheral Master ID Protection Register Protection A P P L I C A T I O N Automobile - Microcontrôleurs d’énergie. Notamment les modes RUN , mode opératoire traditionnel, généralement gourmand en énergie ; HALT où tous les éléments du microcontrôleur sont alimentés tandis que le signal d’horloge des différents éléments est coupé (clock gated) ; STOP dans lequel tous les éléments du microcontrôleur sont alimentés et un seul sous-ensemble est opérationnel ; et VEILLE au sein duquel un seul petit sous-système est alimenté, alors que les principaux domaines de l’appareil sont hors alimentation (power gated). Pour illustrer ce propos, les microcontrôleurs Freescale de dernière génération destinés au marché de l’électronique de carrosserie sont par exemple dotés d’un mode VEILLE, ce qui implique un état d’esprit nouveau de la part des développeurs pour aborder cette notion de réduction de la consommation dans son ensemble. Cette approche exige par exemple qu’ils créent des routines spéciales à base de mémoire Ram pour abaisser au maximum la consommation d’énergie. La contribution de Freescale à cette approche s’est matérialisée par l’introduction d’un concept de gestion de l’alimentation plus avancé. Avec 4 FONCTIONNEMENT EN MODE MULTI-DOMAINE On trouve ici sur le microcontrôleur MPC5748G un domaine Autosar (AUTomotive Open System Architecture) qui gère les fonctions passerelle et carrosserie de l’architecture Autosar, et un domaine de routage IP, qui se connecte à Internet. AUTOSAR Domain Analog Audio for «E-Call» Function IP Router Domain Automotive Gateway HSM Automotive Body Control Timer PWM USB LIN ADC I2S CAN CTU SDHC Ethernet SPI ULPI Ext. USB PHY 3G Modem Digital Audio Telephony for Normal Telephony Wi-Fi Ext. Mem FlexRay e200z4 Core @ 160 MHz e200z2 Core @ 80 MHz toute sécurité via la mémoire partagée et des messages d’interruption. On trouve parallèlement un second domaine, le domaine du routeur IP, qui se connecte à Internet et qui est conçu pour prendre en charge des applications telles que la distribution de téléchargements flash « sur le terrain » au sein du réseau du véhicule. Ce second domaine, qui utilise un cœur dédié, une mémoire Ram système dédiée et une partie de la zone de mémoire flash, possède son propre système d’exploitation avec ses propres temporisateurs, chien de garde et ressources système. Pour répondre à ce type d’architecture, les microcontrôleurs multicœurs et multi-applications doivent être développés dans des technologies avancées pour répondre aux exigences de performances demandées. Revers de la médaille, les concepteurs système sont confrontés à un phénomène d’augmentation constante de la demande en énergie pour répondre à la complexité des applications, ce qui va à l’encontre du but recherché. Réduire la consommation des microcontrôleurs Une seconde approche pour diminuer la consommation consiste à travailler sur les différents modes opératoires des microcontrôleurs (MCU). Les architectures des généra- e200z4 Core @ 160 MHz tions précédentes de MCU ne disposaient que de deux états de base : ON ou OFF. Dans les technologies avancées, plusieurs modes opératoires doivent prendre en compte les problématiques de consommation 5 MODES BASSE CONSOMMATION Ce mode de fonctionnement intégré dans le microcontrôleur MPC5748G permet de mettre hors tension d’importantes sections du microcontrôleur tout en permettant à un cœur de fonctionner pleinement. SW Request SAFE Recoverable Fault RUN0 HALT0 RESET 65 µs DRUN < 1 µs RUN1 50 µs RUN2 65 µs (RAM) 110 µs (Flash) STOP0 < 2 µs LPU_RUN LPU_STOP 45 µs STANDBY L’EMBARQUÉ / N°5 / 2014 / 31 A P P L I C A T I O N des innovations qui couvrent deux domaines. Le premier a trait à l’introduction d’une unité dite basse consommation LPU – Low Power Unit (figure 5). Il s’agit d’un réel facteur différenciateur de produits lorsque des performances opératoires en mode RUN ne sont pas toujours nécessaires. Ce mode de fonctionnement « agressif » permet de mettre hors tension d’importantes sections du microcontrôleur tout en permettant à un cœur de processeur de fonctionner pleinement. Ainsi cette unité basse consommation, initialement introduite dans la famille de microcontrôleurs MPC5748G, permet au développeur d’applications de choisir entre plusieurs modes de fonctionnement, nouveaux ou traditionnels. Le mode RUN assure une prise en charge totale du mode de performances maximales avec l’ensemble des modules sous tension. Le mode STOP, quant à lui, permet de conserver les états de tous les périphériques. Dans ce mode, les cœurs (e200z2 et e200z4) sont sous tension, leur état est maintenu, mais le signal d’horloge est coupé (tech- 32 / L’EMBARQUÉ / N°5 / 2014 nique du clock gated). Le mode LPU_RUN, LPU_STOP assure un mode d’exécution à fréquence réduite avec seulement un sous-ensemble des fonctionnalités : CAN, LIN, SPI, convertisseur A/N, horloge, etc. D’importantes parties du SoC sont inactives et mises hors tension (power gated off) comme, par exemple, les cœurs principaux, la mémoire flash ou les boucles PLL. Enfin, le mode VEILLE, qui requiert de 8 à 256 Ko de mémoire Ram, prend en charge la logique de réveil, les interruptions périodiques autonomes (API), les horloges temps réel (RTC), les oscillateurs et gère le sous-système comparateur analogique. La seconde innovation à mettre à l’actif de ces architectures de microcontrôleur est liée à l’association d’un comparateur analogique et d’un temporisateur périodique. En effet, dans le domaine de l’électronique de carrosserie, plusieurs scénarios d’application exigent simplement un échantillonnage périodique des broches d’entrée. Dans le cas d’une approche traditionnelle, cette solu- Automobile - Microcontrôleurs tion n’est possible qu’en passant en mode RUN. Cependant, en interconnectant intelligemment plusieurs comparateurs analogiques et un temporisateur intégré, cette fonctionnalité peut être entièrement obtenue en mode VEILLE. Ce qui permet d’atteindre une consommation d’énergie peu élevée. Réduire la consommation au niveau réseau Enfin, traditionnellement, le réseau électronique d’une voiture est alimenté et entièrement opérationnel dès que le contact est mis. Or, cette mise sous tension n’est pas strictement nécessaire dans de nombreux cas de figure. Par exemple, lorsque le véhicule roule, certaines fonctions, telles que le mouvement des sièges ou les capteurs de recul, peuvent être désactivées. C’est ici que la troisième stratégie de réduction de la consommation intervient. Il s’agit de mettre en œuvre les techniques de réseau partiel, de réseau « soi-disant présent » (pretended) et/ ou d’installer le mode dégradé au sein d’une ECU basse consommation. Le réseau partiel permet l’arrêt complet d’une unité de contrôle électronique indépendamment des autres ECU du réseau. L’émetteur-récepteur de l’ECU se réveillera alors à la réception d’une commande spécifique envoyée sur le bus. Dans le cas du réseau soi-disant présent, ce sont les éléments du réseau qui déterminent si le niveau d’activité a diminué de façon significative. Une fois cette décision prise, les ECU passent alors en mode basse consommation, avec le microcontrôleur en mode veille, bien que l’émetteur-récepteur intelligent « prétende » qu’il est encore présent sur le réseau. Dès que l’ECU est sollicitée, le microcontrôleur est ensuite rapidement ramené à son état pleinement opérationnel. Enfin, il est aussi possible d’aborder la question en utilisant l’ECU en mode dégradé. Dans ce mode, la flexibilité du microcontrôleur est pleinement mise en œuvre, les performances correspondant aux demandes, de sorte que des cœurs et des périphériques peuvent être désactivés et la consommation globale réduite en utilisant des techniques telles que l’échelonnage de la tension ou de la fréquence. n