Académique Documents
Professionnel Documents
Culture Documents
Sous le thème :
Membres de jury :
Promotion 2023
Dédicace
I
Remerciements
Je remercie en premier lieu Allah le tout puissant de m’avoir donné la
d’avoir accordé la possibilité d’effectuer ce stage durant lequel j’ai pu vivre une
chargé de conception des calculateurs moteur pour son temps passé avec moi et
Designer boite blanche , qui a porté pour m’accompagner et qui a été tout le temps
II
Je tiens également à rendre hommage à mon encadrant académique Mr
l’ENSEM et à tous les cadres, les employés et les stagiaires des différents services
HADINE CHAIMAE
III
Résumé
Le présent rapport constitue la synthèse du travail réalisé dans le cadre de mon
dans l’équipe Ecu Designer qui travaille sur la conception de la messagerie CAN et la
électrique.
de vérification des spécifications CAN des calculateurs CMM et EVCU .Cet outil sera
capable :
messagerie CAN au niveau des flux d’activations des trames et des signaux en termes
de présence des flux d’activation dans toutes les fichiers puis généré les incohérences
trouvés .
Ainsi que détecter les noms des flux d’activations modélisés d’une manière non
IV
Abstract
This report is a summary of the work carried out as part of my end-of-study internship
at Emitech Engineering Africa, working in the Ecu Designer team on CAN messaging design
and VarDivMgt and VarDivMgtSCAN model modeling for CMM and EVCU engine ECUs
Verify consistency between the VarDivMgt model, the VarDivMgtSCAN and CAN
messaging at the level of frame and signal activation flows, in terms of the presence of
activation flows in all files, and then generate any inconsistencies found.
V
Sommaire
Dédicace .......................................................................................................................................................... I
Remerciements ............................................................................................................................................... II
Résumé .......................................................................................................................................................... IV
Abstract .......................................................................................................................................................... V
Sommaire....................................................................................................................................................... VI
Introduction : ...................................................................................................................................................2
VI
3 Les outils utilisées .................................................................................................................6
Conclusion :......................................................................................................................................................9
Introduction : .................................................................................................................................................10
VII
1.4.4 Variantes de protocole CAN ................................................................................................. 19
1.4.5 CAN dans le modèle ISO/OSI ................................................................................................ 20
1.4.5.1 La couche physique : ........................................................................................................... 20
1.4.5.2 La couche liaison :................................................................................................................ 23
1.4.5.3 La couche application : ........................................................................................................ 23
1.4.6 Test de fonctionnement du Bus CAN : .................................................................................. 24
1.4.7 Les types des trames CAN :................................................................................................... 24
1.4.8 Les champs de la trame de donnée :.................................................................................... 24
Conclusion :....................................................................................................................................................27
Introduction : .................................................................................................................................................30
VIII
3.3.1.1 Commentaire pour un flux d’activation détecté d’une trame............................................... 59
3.3.1.2 Commentaire pour un flux d’activation d’un signal .............................................................. 59
3.3.2 Colonne code d’erreur ........................................................................................................ 59
3.3.2.1 Code d’erreur pour un projet traité sans classification des flux ............................................. 59
3.3.2.2 Les codes d’erreur pour un projet si le traitement fait avec classification : ........................... 61
Conclusion :....................................................................................................................................................65
CONCLUSION ET PERSEPCTIVE........................................................................................................................68
IX
LISTES DES FIGURES
Figure 1 : Fiche représentative d' Emitech Engineering Africa.......................................................... 3
Figure 2:Les marques de groupe de Stellantis .................................................................................... 4
Figure 3:Logo du Matlab ................................................................................................................... 6
Figure 4:Logo du Simulink ................................................................................................................ 6
Figure 5:L’interface d'App Designer ................................................................................................. 7
Figure 6:Diagramme Gantt ................................................................................................................ 9
Figure 7:Calculateur automobile. ......................................................................................................11
Figure 8:Calculateur moteur .............................................................................................................12
Figure 9:Exemple d'un câblage classique ..........................................................................................16
Figure 10:Exemple d'un câblage après multiplexage .........................................................................17
Figure 11:Eléments d'un réseau multiplexé .......................................................................................18
Figure 12:Utilisation du Bus CAN dans l'automobile. .......................................................................19
Figure 13:Annulation du bruit électromagnétique .............................................................................21
Figure 14:Les types de bus CAN ......................................................................................................22
Figure 15:Les composants du bus CAN . ..........................................................................................22
Figure 16:Les champs de la trame de donnée ....................................................................................24
Figure 17:Exemple de principe d'arbitrage ........................................................................................25
Figure 18:Champ de commande .......................................................................................................26
Figure 19:Champ de données............................................................................................................26
Figure 20:Champ de CRC ................................................................................................................27
Figure 21:Les types de messageries ..................................................................................................32
Figure 22:Colonnes depuis la feuille FRAMES de la messagerie CAN .............................................33
Figure 23:Colonnes depuis la feuille SIGNALS de la messagerie CAN .............................................35
Figure 24:Les entrées et les sorties du VarDivMgt ............................................................................36
Figure 25:Principe du VarDivMgt ....................................................................................................37
Figure 26:Exemple d’activation et désactivation de la fonction CAN ................................................37
Figure 27 :Modèle VarDivMgt dans un projet avec classification . ....................................................38
Figure 28 :Le modèle VarDivMgt dans un projet sans classification..................................................39
Figure 29:Architecture global de l’outil ............................................................................................40
Figure 30:Organigramme du script Classification Signal ...................................................................42
Figure 31:Organigramme de script Classification Trame ...................................................................45
X
Figure 32:Organigramme du programme extraction_flux_avec_Classification ..................................46
Figure 33:Organigramme du programme ‘Extraction_flux_sans_classification' ................................48
Figure 34:Organigramme du programme 'Comparaison'....................................................................51
Figure 35:Organigramme du script 'Traitement final ' .......................................................................52
Figure 36:Fenêtre 'Tool' de l'outil CHECK FLOW' ...........................................................................54
Figure 37:La case a coché 'Scan file' .................................................................................................55
Figure 38:Scénario d'un traitement bien fait ......................................................................................55
Figure 39:Scénario des données manquants ......................................................................................56
Figure 40:Fonctionnalité d'initialisation des entrantes .......................................................................57
Figure 41: Fenêtre 'Help' ..................................................................................................................58
Figure 42:Colonne commentaire dans le rapport des incohérences ....................................................58
Figure 43:Colonne code d'erreur depuis le rapport généré .................................................................60
Figure 44:Composition du code d'erreur pour un projet sans classification ........................................61
Figure 45:Extrait du rapport généré d’un projet avec classification....................................................61
Figure 46:Filtrage des commentaires selon la nature du code d'erreur . ..............................................62
Figure 47:Composition du code d'erreur d'un projet avec classification .............................................63
XI
LISTES DES TABLEAUX
Tableau 1 :Fiche représentative d’ Emitech Engineering Africa .................................................... 3
Tableau 2:Charte du projet ............................................................................................................ 8
Tableau 3:Les capteurs liées au calculateur moteur .....................................................................13
Tableau 4:Actionneur liée au calculateur moteur .........................................................................14
Tableau 5 :Différence entre CAN FD et CAN HS .........................................................................20
Tableau 6:Bus CAN et modèle OSI ...............................................................................................20
XII
Table des abréviations
Abréviation Désignation
VarDivMgt Variant Diversity Management
CAN Controller Area Network
CMM Control Multifunction Moteur
EVCU Electrical vehicule control unit
VarDivMgtSCAN Variant Diversity Management CAN
ISO International Organization for Standards
ECU Electronic Control Unit
ABS module de commande du moteur
MCF Module de commande de frein
MCT Module de commande de transmission
MCS Module contrôle de suspension
ECM Engine Control Module
VA N Véhicule Area Network
LIN Local Interconnect Network
MOST Media Oriented Systems Transport
OSI Open Systems Interconnection
XIII
Cahier de charges
XIV
Introduction générale
implantés sur son territoire, tels que Renault, PSA, Ford et Mitsubishi, qui produisent
marocaine.
sophistiqués et jouent un rôle crucial dans la sécurité, le confort et les performances des
véhicules. Par conséquent, la qualité de ces systèmes est essentielle pour garantir la
sécurité des utilisateurs et pour maintenir la confiance des clients dans la marque.
1
Les erreurs dans ces systèmes embarqués peuvent entraîner des conséquences
graves, telles que des accidents de la route, des pannes de véhicules ou des défaillances
mais également entraîner des coûts élevés liés aux rappels de véhicules, aux réparations
logicielle, ainsi qu'un investissement dans des outils de test et de vérification avancés.
les erreurs identifiées lors des tests afin de minimiser les risques pour les clients.
En somme, la qualité des systèmes embarqués est un enjeu crucial pour l'industrie
automobile, et les constructeurs doivent faire preuve d'une grande rigueur dans leur
clients.
En tant que stagiaire pfe au sein de l'équipe Ecu Designer chez EMITECH, mon
objectif principal était de résoudre les problèmes d'erreurs de codage causés par des
incohérences entre trois fichiers conçus par l'équipe. Ces fichiers sont un fichier Excel
2
fichier Excel appelé "VarDivMgtSCAN" . De plus, je devais m'assurer que le modèle
Pour résoudre ces deux problématiques, j'ai entrepris le développement d'un outil
automatisé qui permet de vérifier la cohérence entre ces fichiers et de valider le modèle
"VarDivMgt". Grâce à cet outil, il est possible de détecter les incohérences avant la
d’Emitech Engineering Africa, il est scindé en trois chapitres détaillés qui résument le
projet .
• Le rapport sera conclu par une conclusion générale qui synthétisera les principaux
3
Chapitre I
Contexte générale du projet
4
Chapitre I :Contexte générale du projet
Introduction :
Dans ce chapitre nous présentons l’organisme d’accueil : son rôle, son organigramme, ses services
et ses missions et nous précisons le cadre dans lequel le projet va évoluer : les objectifs, la démarche
suivie et la planification globale ainsi que l’environnement logiciel de travail.
1.3 EMC
Devenue filiale du Groupe EMITECH en 2019, les compétences de la filiale se sont élargies
et mutualisées avec l'ensemble des acteurs du Groupe .
Créé autour des Essais Moteur à Combustion, EMC est un acteur majeur dans les essais de
caractérisations et de mise au point des Groupes Motopropulseurs à combustible, hybride et électrique .
1.4 Présentation de l’organisme d’accueil « Emitech Engineering Africa »
Appartient au groupe EMITECH, crée récemment en 22 septembre 2021 c’est une filiale de
EMC France, opérant dans le secteur automobile précisément la fabrication des véhicules à moteur
ainsi que le secteur aéronautique.
2
Chapitre I :Contexte générale du projet
1.4.2 Organigramme :
3
Chapitre I :Contexte générale du projet
4
Chapitre I :Contexte générale du projet
d'équations bien définies, modélisées à l'aide des composants de la bibliothèque PSA. Ce fichier
possède également un autre fichier Excel complémentaire appelé VarDivMgtSCAN, qui contient
uniquement les flux d'activations ayant toujours la valeur logique 1.
Les différents flux d'activations issus du VarDivMgt sont les entrées de la fonction CAN. En
effet, le rôle du VarDivMgt est de déterminer l'état logique de chaque flux. Ainsi, la cohérence entre
les flux de la messagerie CAN, du modèle VarDivMgt et du modèle VarDivMgtSCAN est essentielle,
car toute incohérence générerait des erreurs. Ces erreurs ne seront détectées qu'à la phase de codage,
qui suit la conception. L'équipe de codage devra alors informer l'équipe ECU Designer des erreurs
identifiées et demander la correction des incohérences à l'origine de ces erreurs. Cette situation risque
de retarder le travail de l'équipe et de diminuer sa productivité.
En conclusion de cette analyse, il apparaît que la vérification de la cohérence des flux
d'activations présents dans le VarDivMgt et le VarDivMgtSCAN et ceux de la messagerie CAN est
nécessaire. Cependant, cette procédure est difficile à réaliser manuellement en raison de la taille des
deux fichiers, qui peuvent contenir jusqu'à 2000 flux d'activations.
D'autre part, il est nécessaire de modéliser les flux d’activations du modèle VarDivMgt sous
Simulink de manière conforme aux exigences afin d'améliorer la qualité des livrables.
Dans le cadre de l'amélioration continue adoptée par l'équipe ECU Designer chez Emitech
Engineering Africa, visant à améliorer la qualité des livrables et augmenter la productivité de l'équipe,
mon sujet de fin d'études consiste à répondre au cahier des charges suivant :
1. Développer Des scripts Matlab pour :
• L’extraction des flux d'activation des trames et signaux embarqués dans la messagerie
CAN.
• L’extraction des flux d'activation des trames signaux générés par le modèle VarDivMgt .
• L’extraction des flux d'activation des trames signaux générés par le fichier
VarDivMgtSCAN .
• Identification de l'écart entre ces trois fichiers au niveau de flux d’activation en termes de
présence .
• Génération d’un rapport Excel incluant les écart trouvé.
• Valider le modèle VarDivMgt en extractant les flux d’activations modélisé dans ce modèle
d’une manière non conformes aux exigences .
• Génération d’un autre rapport Excel qui inclus les noms de flux d’activations des modélisés
d’une manière non conformes aux exigences .
2. Réalisation de l'interface graphique utilisant App Designer Matlab incluant les scripts
développés .
3. Test et validation de l'outil .
Afin de développer cet outil , j’ai utilisé la plateforme Matlab/Simulink ainsi que l’outil App
5
Chapitre I :Contexte générale du projet
Designer .
3.2 Simulink
Simulink est une plate-forme de simulation multi-domaine et de modélisation de systèmes
dynamiques. Il fournit un environnement graphique et un ensemble de bibliothèques contenant des
blocs de modélisation qui permettent le design précis, la simulation, l’implémentation et le contrôle
de systèmes de communications et de traitement du signal. [4]
6
Chapitre I :Contexte générale du projet
4 Méthodologie du travail :
4.1 Techniques de gestion du projet
Afin de réaliser notre projet, nous avons adopté une méthodologie de travail qui nous a permis
de mener à bien nos tâches et qui se présente comme suit :
• Planification du projet : j’ai organisé des réunions avec l’encadrant industriel au début du
stage afin de mettre en place le plan à suivre et aussi pour définir en détail les principales
tâches à réaliser avec les délais à respecter. Plus de détails seront présentés dans la partie
suivante concernant la planification du projet.
• Avancement et suivi du projet : Le suivi de l’état d’avancement du projet a été assuré par
des réunions planifiées avec l’encadrant industriel ainsi que par des réunions non planifiées
en cas de besoin.
• Suivi du projet de la part de l’encadrant académique : Le suivi pédagogique et technique
de la part de l’encadrant de l’école a été assuré par des rencontres et des échanges de mail.
• Rédaction du rapport de stage : Le rapport de stage qui est le résumé de l’expérience acquise
lors du stage, permet de décrire et de mettre en valeur le travail effectué, la contribution du
stagiaire ainsi que sa valeur ajoutée. Afin de délivrer un travail de qualité malgré les
contraintes de temps, nous avons établi une stratégie qui consiste à rendre compte au fur et
à mesure de l’avancement du projet.
7
Chapitre I :Contexte générale du projet
Charte du projet
5 Planification du travail :
La planification fait partie des phases préparatoires les plus importantes, il consiste à définir et à
planifier les tâches du projet et à estimer leurs charges respectives. J'ai utilisé le diagramme de
GANTT comme outil de planification de projet. Il s'agit d'un outil qui permet de planifier un projet et
8
Chapitre I :Contexte générale du projet
Conclusion :
Ce chapitre introductif a été consacré essentiellement à la présentation de l’environnement dans
lequel mon projet de fin d’études a été effectué. Il a aussi mis l’accent sur la présentation du contexte
général de mon projet, ses objectifs ,les outils utilisés et sa planification.
9
Chapitre II
Généralités sur la conception des
calculateurs moteur
9
Chapitre II :Etat de l’art des calculateurs moteurs
Introduction :
Ce chapitre introduit les concepts clés de l'automobile. Nous abordons les unités de commande
électronique et prenons l'exemple du calculateur moteur, qui est le sujet principal de mon projet de fin
d'études. Nous expliquons son principe de fonctionnement, ses caractéristiques et ses différents types.
Ensuite, nous présentons le principe du multiplexage et ses composants, ainsi que des informations sur
le protocole de communication CAN.
10
Chapitre II :Etat de l’art des calculateurs moteurs
Les nouveaux véhicules peuvent avoir jusqu'à 80 ECU ,en fait il existe différents types de
calculateurs :
➔ Module de commande du calculateur :
MCM assure la quantité de carburant et le calage de l’allumage nécessaires pour tirer le
meilleur parti de la puissance et de l’économie du moteur.
➔ Module de commande de frein :
Utilisé dans les véhicules équipés de l’ABS ,le MCF s’assure que les roues ne dérapent pas et
détermine quand déclencher le freinage et lâcher le frein pour s’assurer que les roues ne se bloquent
pas .
➔ Module de commande de transmission :
Utilisé dans les véhicules automatique ,le MCT assure d’obtenir les changements de vitesse les
plus fluides possibles en évaluant le régime moteur et l’accélération de la voiture .
➔ Module de commande télématique :
Le MCT garantit que les services embarqués de la voiture sont opérationnels .Ils contrôlent la
navigation par satellite et la connectivité internet et téléphonique du véhicule .
➔ Module contrôle de suspension :
Présent dans les voitures équipes de systèmes de suspensions actifs , le MCS garantit la hauteur
de caisse correcte et des changements optimaux de suspension en fonction des conditions de conduite
.
1.1.2 Fonctionnement
Quel que soit le système ,le fonctionnement du calculateur est toujours le même est la gestion
d’une fonction par l’intermédiaire des actionneurs après avoir reçu des informations par les capteurs.
11
Chapitre II :Etat de l’art des calculateurs moteurs
12
Chapitre II :Etat de l’art des calculateurs moteurs
l’ECM utilise des capteurs pour réguler le rapport oxygène / carburant détecté dans
l’échappement du voiture afin de détecter une lecture riche / pauvre en moteur. Certains de ces capteurs
comprennent le(s) capteur(s) de débit d’air massique, le(s) capteur(s) d’oxygène, le(s) capteur(s) air-
carburant.
➔ Régime de ralenti :
l’ECM s’appuie sur des capteurs situés près du vilebrequin et du ou des arbres à cames qui
suivent le régime et la charge du moteur du véhicule en surveillant la vitesse de rotation du moteur.
➔ Système de calage variable des soupapes :
Contrôle le moment où les soupapes sont ouvertes dans le moteur pour augmenter la puissance
ou l’économie de carburant.
➔ Calage de l’allumage :
C’est-à-dire la position à laquelle la bougie d’allumage est allumée dans le cycle de
combustion. Un contrôle précis de cette synchronisation permet d’obtenir plus de puissance et/ou une
meilleure économie de carburant.
L’ECM contrôle également plusieurs autres systèmes en plus de ces tâches principales. On
l’appelle souvent le cerveau de la voiture, et à juste titre, car presque tout ce qui est nécessaire pour
faire fonctionner les voitures modernes passe par l’ECM, sinon directement contrôlé par celui-ci.
1.2.2 Les capteurs liées au calculateur moteur
Voici quelques capteurs et actionneurs souvent reliés aux calculateur moteur .
Tableau 3:Les capteurs liées au calculateur moteur
Capteur Rôle
Permet au moteur de varier la vitesse
Le capteur de la pédale du véhicule en fonction de la position de la
d’accélérateur. pédale
Indiquent la température des éléments
Les capteurs de température. constituants le moteur .
13
Chapitre II :Etat de l’art des calculateurs moteurs
Actionneur Rôle
Sont présentes dans la chambre de
Les bougies combustion enflamment le mélange air et
carburant pour les moteurs à essence .
14
Chapitre II :Etat de l’art des calculateurs moteurs
A partir des types de véhicules cités ci-dessus on peut dire qu’il y a deux types de calculateur
moteur ,ces types sur lesquelles je vais travailler dans mon sujet PFE .
• CMM (Calculateur Multifonction Moteur) : Un calculateur moteur pour les véhicules
conventionnelles (essence , diesel).
• EVCU (Unité de contrôle des véhicules électriques) : Un Calculateur moteur pour les
véhicules électriques.
1.2.4 Les défauts de calculateur moteur :
Le calculateur moteur est une pièce maitresse de tous les véhicules et comme tout autre composants
électroniques il se peut qu’il tombe en panne .
Parmi les symptômes de la panne d’un calculateur moteur :
• Ralentissement instable.
• Trous à l’accélération .
• Manque de puissance moteur .
• Une lenteur dans le fonctionnement du régime moteur .
• Une augmentation anormale du consommation de carburant .
• Plusieurs voyants allumés en même temps sur le tableau de bord .
Ces signes peuvent être résultat d’un calculateur voiture défectueux , comme ils peuvent être
causée par le dysfonctionnement d’autres composants électroniques. La source des défauts pourraient
être divers et varié .Pour cela ,il faut faire un diagnostic automobile afin d’identifier la panne .
1.3 Multiplexage
1.3.1 La nécessité du multiplexage
Pour satisfaire aux exigences qui sont de plus en plus sévères en matière de pollution ainsi
que les améliorations en matière de sécurité et de confort . L’industrie automobile a développé de
nombreux systèmes électroniques : systèmes anti-patinage, contrôle électronique du moteur et de l’air
climatisé, fermeture centralisée des portes, gestion moteur ,Airbag ..etc.
Ce renforcement de l’électronique se traduit par une augmentation du nombre de calculateur
ainsi que le nombre des capteurs. Sans oublier le nombre élevé de faisceaux de câbles électriques dans
les véhicules qui présente plusieurs inconvénients majeurs.
Tout d'abord, cela engendre des problèmes d'encombrement, ce qui affecte sérieusement la
fiabilité et la facilité de réparation des véhicules. De plus, cette complexité de câblage accroît les coûts
de fabrication et entraîne une augmentation du poids du véhicule.
Dans ce cadre , afin de limiter l’inflation des composants et du volume des câblages on a
besoin à une solution technique qui propice à l’échange des informations.
15
Chapitre II :Etat de l’art des calculateurs moteurs
16
Chapitre II :Etat de l’art des calculateurs moteurs
17
Chapitre II :Etat de l’art des calculateurs moteurs
18
Chapitre II :Etat de l’art des calculateurs moteurs
19
Chapitre II :Etat de l’art des calculateurs moteurs
20
Chapitre II :Etat de l’art des calculateurs moteurs
Cette couche gère la représentation du bit (codage, timing, synchronisation), et définit les
niveaux électriques, optiques,... des signaux ainsi que le support de transmission.
a. Etude de la couche physique CAN :
Un bus de communication a donc souvent pour support physique deux fils trosadés.Ces fils sont
nommées CAN high et CAN low.
Pour diminuer le risque de défaut de transmission, des dispositions ont été prises au niveau la couche
physique :
• la transmission est réalisée sur deux fils (nommés CAN high et CAN low) .
• La ligne de bus CAN est fabriquée à base d’une paire torsadés et à chaque extrémité on trouve
une résistance de 120ohms comme l'illustre la figure 13 .
• la somme des tensions est toujours constante quel que soit le niveau logique (le bit)
transmis.
En pratique, il y a trois bus CAN différents dans une voiture, à des débits différents :
• Un bus très rapide pour gérer la sécurité (freinage, ABS, détection chocs, airbags...)
• Un bus à vitesse moyenne pour gérer le moteur (commandes et capteurs)
• Un bus lent pour gérer tous les accessoires (lampes, moteurs d’asservissements, boutons...)
Il existe sous deux versions :
• CAN2.0A : trame standard identificateur de 11 bits (CAN standard)
• CAN2.0B : trame plus longue avec identificateur sur 29 bits (CAN étendu)
Il existe deux types de protocole CAN :
• CAN Low Speed : pour des vitesses de 40kbits/s à 125kbits/s.
• CAN High Speed : pour des vitesses allant jusqu’à 1Mbits/s .
21
Chapitre II :Etat de l’art des calculateurs moteurs
NB : c’est le type de transceiver utilisé qui va différencier le type de protocole CAN low
speed où high speed .
b. Les composants de bus CAN
Tous les calculateurs présents sur un réseau sont reliés par les modules émetteur/récepteur
intégrés dans les calculateurs comme l'illustre la figure 15. Chaque calculateur connecté est appelé un
nœud.
Dans la figure 15 , on trouve le schéma de principe d’un module
émetteur/récepteur :(Le module émetteur/récepteur est appelé transceiver en anglais).
22
Chapitre II :Etat de l’art des calculateurs moteurs
➔ Le contrôleur CAN :
Reçoit du micro-ordinateur intégré à l’appareil de commande les données .Il les traite et les
transmette à l’émetteur-récepteur CAN .De la même manière recevra de l’émetteur-récepteur des
données ,les traitera puis les transmettra aux micro-ordinateurs intégré à l’appareil de commande .
➔ L’émetteur récepteur CAN :
Il s’agit d’ un émetteur et un récepteur à la fois .Il convertit les données venant du contrôleur
CAN en signaux électriques ,puis les transmettent sur les lignes du réseau en bus .De la même manière
,il reçoit les données et les convertit pour le contrôleur du bus de donnée CAN .
➔ La terminaison du bus données :
Il s’agit d’une résistance .Elle empêche que les données ne soient renvoyées par les extrémités
sous forme d’écho et que les données soient ainsi falsifiées .
➔ Les lignes de bus de données :
Ils sont bidirectionnels et servent au transfert des données .Elles sont désignés par CAN-high
et CAN-low .
1.4.5.2 La couche liaison :
Elle fournit les moyens fonctionnels nécessaires à l'établissement, au maintien et à la libération
des connexions entres les entités du réseau. Cette couche (aussi appelée couche de communication de
données, Data Link Layer) devra notamment corriger les erreurs qui ont pu se produire au premier
niveau (même s'il est impossible de corriger toutes les erreurs).
Le protocole CAN décrit entièrement cette couche. La couche liaison est subdivisée en deux
sous-couches :
• La sous-couche LLC (Logical Link Control) effectue :
o le filtrage des messages,
o la notification des surcharges (overload),
o la procédure de recouvrement des erreurs.
• La sous-couche MAC (Medium Access Control), qui est le coeur du protocole
CAN, effectue :
o la mise en trame du message,
o l'arbitrage,
o l'acquittement,
o la détection des erreurs,
o la signalisation des erreurs.
1.4.5.3 La couche application :
C'est la dernière couche du modèle OSI. Elle donne aux applications le moyen d'accéder
aux couches inférieures.
23
Chapitre II :Etat de l’art des calculateurs moteurs
Cette couche n'est bien sûr pas vide pour le protocole CAN, mais sa spécification est
laissée à l'utilisateur.
1.4.6 Test de fonctionnement du Bus CAN :
➔ Par mesure des résistance de terminaisons :
Un contrôle rapide pour tester la continuité du réseau CAN peut se faire en mesurant la
résistance entre CAN H et CAN L (hors tension et toutes les calculateurs branchées ).
Le test consiste a mesuré deux résistances de 120Ohms les deux résistances en parallèles
normalement doivent données par mesure 60Ohms et toutes autres valeurs signifie qu’il y a un
problème .En comparant la valeurs mesurées avec la valeur 60Ohms on peut identifier la nature du
problème .
•
Si R inférieur à 60Ohms signifie qu’il y a un court-circuit dans la ligne ou il y a plus de
deux résistances dans la ligne .
• Si R est supérieur à 60Ohms signifie qu’il y a une coupure dans la ligne et si la valeur
est supérieure à 120Ohms donc cela signifie l’absence de l’un des résistances de
terminaisons .
➔ Autre procédure de contrôle :
Prise de mesure de la tension sur le réseau , la somme des deux CAN H et CAN L doit être
égale à 5V.
1.4.7 Les types des trames CAN :
Il existe quatre types de trames CAN :
24
Chapitre II :Etat de l’art des calculateurs moteurs
Champ initial :
Le bit SOF (début de trame de données) : marque le début d’un protocole de données. Sur la
ligne High du bus CAN, on émet un bit d’environ 5 volts (en fonction du système) et un bit d’environ
0 volt sur la ligne Low du bus CAN.
Toutes les stations doivent se synchroniser sur le front avant la transition du bit de départ.
Champ d’arbitrage :
Afin de minimiser les collisions , chaque nœuds écoute le bus CAN avant de transmettre
l’information sur le bus .Dans le cas ou deux ou plusieurs nœuds envoient les informations en même
temps , une collision est détectée et le bus qui envoie un dernier bit d’identificateur avec un état zéro
(dominant) tandis que les autres nœuds envoient un bit 1 (récessif ) le nœud conserve le contrôle de
bus et termine l’envoie de ces informations .
Identificateur :La longueur de l'identificateur est de 11 bits, les bits sont transmis dans l'ordre
de ID_10 à ID_0 (le moins significatif est ID_0). Par ailleurs les 7 bits les plus significatifs (de ID_10
à ID_4) ne doivent pas être tous récessifs.
ID = 1111111XXXX (X valeur indéterminée), c'est-à-dire un nombre maximal
d'identificateurs de : (211 - 24) = 2048 - 16 = 2032 combinaisons.
Le bit RTR :Lors d'une dataframe, le bit de remote transmission request (RTR) doit être
dominant.
Champ de commande :
Dans ce champ se trouve le nombre d’informations contenues dans le champ des données.
Chaque récepteur peut alors vérifier s’il a bien reçu toutes les informations.
25
Chapitre II :Etat de l’art des calculateurs moteurs
Il y a deux Bits de réserves R0 et R1 : Les deux premiers bits (émis dominants en trame 2.0A)
sont en réserve d'usages ultérieurs et permettent d'assurer des compatibilités futures ascendantes
(notamment celles de la trame dite étendue CAN 2.0B). Les contrôleurs CAN doivent être aptes à
traiter toutes combinaisons de tous les bits du champ de commande.
4 bits DLC : Les 4 derniers bits du champ de commande (champ DLC - Data Length Code)
indiquent le nombre d'octets qui seront contenus dans le champ de données.
Champ de données :
Le champ de données est l'endroit où se trouvent les données utiles transmises c’est-à-dire les
signaux à transmettre d’un calculateur à un autre . Il peut être composé de 0 octet minimum à 8
octets maximum transmis avec le MSB (Most Significant Bit) en tête.
Remarque : De 0 à 8 inclus, cela fait neuf valeurs donc 4 bits du DLC pour définir le nombre de
données contenues.
Le champ de CRC :
La séquence de CRC (Cyclic Redundancy Code) permet de vérifier l'intégrité des données
transmises.
26
Chapitre II :Etat de l’art des calculateurs moteurs
Il est composé de la séquence de CRC sur 15 bits suivi du CRC Delimiter (1 bit récessif).
Les bits utilisés dans le calcul du CRC sont ceux du SOF, du champs d'Arbitration, du champ de
Control et du champ Data Field.
Le champ ACK :
les récepteurs signalisent à l’émetteur qu’ils ont correctement reçu le protocole de données. Si
le défaut est détecté, ils en informent immédiatement l’émetteur. L’émetteur répétera la transmission.
Il est composé de 2 bits, l'ACK Slot et le ACK Delimiter (1 bit récessif).
• un nœud en train de transmettre envoie un bit récessif pour le ACK Slot.
• un nœud ayant reçu correctement un message en informe le transmetteur en envoyant un bit
dominant pendant le ACK Slot : il acquitte le message.
Fin de trame de donnée :
Termine le protocole de données. C’est la dernière possibilité de signaler des erreurs, qui
déclenchera une répétition du processus.
Conclusion :
Dans ce chapitre, nous avons vu un aperçu sur l’industrie automobile, ainsi que les calculateurs
CMM et l’EVCU sur lesquelles je vais travailler dans mon sujet de stage. Dans le chapitre qui suit
nous présenterons la phase de conception et réalisation de notre solution ainsi que la phase validation.
.
27
Chapitre III
Conception et Réalisation de
l’outil
29
Chapitre III :Conception et réalisation de l’outil
Introduction :
Dans ce chapitre, nous allons examiner en détail la phase de développement d'une Toolbox
desktop visant à automatiser et faciliter une tâche spécifique pour les ingénieurs de l'équipe Ecu
Designer. Nous mettrons ensuite l'accent sur les fonctionnalités clés qui la rendent efficace et utile
pour l'équipe.
Ensuite, nous passerons en revue les résultats du développement de la Toolbox et présenterons les
fonctionnalités implémentées .Enfin, nous allons aborder la méthode de validation adoptée.
1 Analyse du projet
La phase d'analyse et de spécification des besoins revêt une importance fondamentale dans le
cycle de développement d'un projet, car elle permet une compréhension approfondie du travail requis
en identifiant les besoins spécifiques des acteurs impliqués que le système doit satisfaire. Cette étape
clé aide à déterminer précisément ce que le projet doit accomplir.
30
Chapitre III :Conception et réalisation de l’outil
31
Chapitre III :Conception et réalisation de l’outil
32
Chapitre III :Conception et réalisation de l’outil
33
Chapitre III :Conception et réalisation de l’outil
34
Chapitre III :Conception et réalisation de l’outil
35
Chapitre III :Conception et réalisation de l’outil
36
Chapitre III :Conception et réalisation de l’outil
Effectivement, si le flux d'activation d'une fonction, par exemple CAN, est défini comme 1
logique, cela signifie que ce véhicule bénéficiera de cette option. En revanche, si le flux d'activation
est désactivé (0 logique), toutes les trames de la fonction CAN ne seront ni envoyées ni reçues.
La flexibilité du VarDivMgt réside dans sa capacité à gérer la diversité des options et des
fonctionnalités en ajustant simplement les états des flux d'activation, permettant ainsi de couvrir
différents scénarios et configurations de véhicules sans avoir à développer des logiciels distincts pour
chaque cas. Cela permet de réduire les coûts et les efforts de développement, tout en simplifiant la
gestion et la maintenance des logiciels pour l'entreprise.
Il est important de noter que notre outil intègre le modèle VarDivMgt. Dans les anciens projets
,ce modèle permet de présenter les flux d'activations avec une classification, en distinguant les trames
et signaux émis ou reçus, ainsi que le protocole de communication utilisé, tels que le CAN HS ou le
CAN FD. Cependant, dans les nouveaux projets, il peut également être possible que le modèle présente
les flux sans aucune classification spécifique.
37
Chapitre III :Conception et réalisation de l’outil
A titre de l’illustration , nous allons présenter deux projets distincts. Le premier est parmi les
nouveaux projets indiqués dans la figures 27 et le deuxième est un exemple des anciens projets figure
28 .
38
Chapitre III :Conception et réalisation de l’outil
39
Chapitre III :Conception et réalisation de l’outil
de configuration peuvent être mises par n’importe quelle personne en utilisant un logiciel après-vente
et en reliant le pc a un port de calculateur dont on a besoin de modifier les flux d’activation.
1.4.3 VarDivMgtSCAN :
Un fichier Excel est utilisé pour stocker les flux d'activation, qui ont tous une valeur fixe de 1.
Ces flux ne sont pas intégrés dans le modèle VarDivMgt afin de prévenir tout ralentissement lors de
l'étape de codage. En séparant ces flux d'activation dans un fichier externe, le processus de
développement reste fluide et le modèle VarDivMgt conserve sa performance optimale.
2 Architecture globale
Avant de commencer la réalisation de cet outil , il est nécessaire de concevoir une architecture
globale qui englobe les différents composants qui interagiront entre eux pour atteindre l'objectif du
projet. Cette architecture permet d'avoir une vue d'ensemble de l'outil que nous souhaitons créer en
résumant la logique du programme.
Dans la figure 29 s’illustre l’architecture globale de notre programme :
La Toolbox est basée sur un programme appelé "Extraction des incohérences des flux
d'activations", qui est chargé de générer un rapport contenant les incohérences des flux d'activations
entre la messagerie CAN et le modèle VarDivMgt, ainsi que le fichier Excel VarDivMgtSCAN.
3 Réalisation et test
3.1 Développement des scripts
La réalisation du projet a commencé par le développement du code .On a opté pour une
programmation modulaire qui consiste à subdiviser un programme informatique en sous-programmes
séparés. Cette programmation assure que le code soit court, simple et facile à comprendre ainsi que
40
Chapitre III :Conception et réalisation de l’outil
les erreurs peuvent être facilement identifiées, car elles sont localisées dans un sous-programme ou
une fonction.
Le code se décompose de plusieurs scripts Matlab, ce script destinés d’exécuter les tâches
définies dans le cahier de charges, sans oublier qu’il y’a des scripts pour réunir le tout et qui
contiennent aussi l’ interfaces graphique.
Lors de développement de notre outil, nous avons cherché à le rendre adaptable en fonction
des besoins spécifiques de chaque projet. L'objectif est de pouvoir extraire les flux d'activation à partir
du modèle VarDivMgt, indépendamment de la nature de ce modèle.
Ainsi, notre outil offre la flexibilité de présenter les flux d'activation avec une classification si
cela est nécessaire, en identifiant les trames et signaux émis ou reçus et en les classant selon le
protocole de communication utilisé, comme le CAN HS ou le CAN FD. D'autre part, si une
classification n'est pas requise, notre outil est également capable de présenter les flux d'activation sans
classification spécifique, fournissant ainsi une vue plus générale des activités.
D'autre part, l'outil sera capable d'effectuer le traitement demandé sur les projets qui possèdent
le fichier VarDivMgtSCAN, ainsi que sur ceux qui ne le possèdent pas.
L'objectif est de répondre aux besoins particuliers de chaque projet et d'offrir une utilisation
personnalisée de l'outil.
3.1.1 Organigrammes d’exécution du code
Pour bien comprendre comment fonctionne les scripts de notre application, on a conçu des
organigrammes pour chaque partie du code qui schématisent les étapes principales de ces scripts.
➔ Organigramme du script Classification Signal :
41
Chapitre III :Conception et réalisation de l’outil
Le script "Classification Signal" utilise une fonction Matlab pour lire la feuille "SIGNALS"
d'un fichier Excel contenant des données de messagerie CAN. Cette fonction convertit la feuille en
une table, ce qui facilite le traitement ultérieur.
À partir de cette table, le script extrait quatre sous-tableaux distincts :
− Une table contenant les signaux émis par notre calculateur utilisant le protocole CAN HS.
− Une table contenant les signaux émis par notre calculateur utilisant le protocole CAN FD.
− Une table contenant les signaux reçus par notre calculateur utilisant le protocole CAN FD.
− Une table contenant les signaux reçus par notre calculateur utilisant le protocole CAN HS.
42
Chapitre III :Conception et réalisation de l’outil
Cela permet de classifier les signaux en fonction de leur émetteur (notre calculateur) et du
protocole de communication utilisé (CAN HS ou CAN FD).
Ensuite ,à partir de chaque table , on extrait les colonnes relatives au radicaux des trames, les
mnémoniques des signaux ainsi que les flux d’activations des signaux . A partir de ces colonnes
extraites on crée quatre feuilles Excel nommées comme suit :TX_FD,TX_HS,RX_FD,RX_HS.
➔ Organigramme de script Classification Trame :
43
Chapitre III :Conception et réalisation de l’outil
44
Chapitre III :Conception et réalisation de l’outil
Le script "Classification Trame" utilise une fonction Matlab pour lire la feuille "FRAMES"
d'un fichier Excel (messagerie CAN). Cette fonction convertit la feuille en une table, ce qui facilite
le traitement ultérieur.
À partir de cette table, le script extrait quatre sous-tableaux distincts :
− Une table contenant les trames émis par notre calculateur utilisant le protocole CAN HS.
− Une table contenant les trames émis par notre calculateur utilisant le protocole CAN FD.
− Une table contenant les trames reçus par notre calculateur utilisant le protocole CAN FD.
− Une table contenant les trames reçus par notre calculateur utilisant le protocole CAN HS.
Cela permet de classifier les trames en fonction de leur émetteur (notre calculateur) et du
protocole de communication utilisé (CAN HS ou CAN FD).
Ensuite ,à partir de chaque table , on extrait les colonnes relatives au radicaux des trames ainsi
que les flux d’activations des trames . A partir de ces colonnes extraite on crée 4 feuilles Excel nommé
comme suit :TX_FD,TX_HS,RX_FD,RX_HS.
Organigramme Extraction_flux_avec_Classification :
45
Chapitre III :Conception et réalisation de l’outil
46
Chapitre III :Conception et réalisation de l’outil
communication, radical de la trame, l'émetteur de la trame ainsi que la colonne des flux d’activations
des trames et la colonne "Gateway frame".
Ensuite il extrait les trames dont le calculateur n’est pas Gateway de la trame ,enfin le script
fait l’appel au processus « Classification Trame ».
Le script " Extraction_flux_avec_Classification " effectue un traitement similaire pour la
feuille "SIGNALS" du fichier. La principale différence réside dans les colonnes extraites, qui sont
spécifiques aux signaux.
Ensuite, le script lit la feuille "SIGNALS" et extrait les colonnes relatives aux protocole de
communication ,l'émetteur du signal ,le radical de trame associe à chaque signal et le mnémonique
signal ,ainsi que la colonne « stubbed signal value », enfin la colonne liée aux flux d’activations des
signaux .
Enfin il extrait les signaux dont le calculateur n’est pas Gateway du signal et qui n’ont pas une
valeur figée ,enfin il fait l’appel au processus « Classification Signal ». et rejoint les feuilles qui
résultes depuis les deux processus " Extraction_flux_avec_Classification "et « Classification
Signal » , respectivement dans des fichiers Excel sous le noms ‘Trames’ et ‘Signals’.
➔ Organigramme Extraction_flux_sans_classification :
47
Chapitre III :Conception et réalisation de l’outil
48
Chapitre III :Conception et réalisation de l’outil
− L’intersection entre les signaux qui ne sont pas Gateway et les signaux qui n’ont pas une
valeur figée.
− Stockage de ces signaux dans une nouvelle table.
À partir de cette table contenant les trames sélectionnées, le script effectue les étapes
suivantes :
− Extraction de la colonne des flux d'activation.
− Extraction de la colonne qui indique le mnémonique de chaque signal .
− Extraction de la colonne qui indique radical de chaque trame.
− Création d'un fichier Excel nommé "Signals" à partir de cette table.
➔ Organigramme Comparaison :
49
Chapitre III :Conception et réalisation de l’outil
50
Chapitre III :Conception et réalisation de l’outil
Le script "Comparaison" effectue une classification des flux d'activation en deux groupes
distincts : ceux qui contiennent le mot "bAcv" sont considérés comme des flux d'activation pour des
signaux, tandis que ceux qui ne contiennent pas ce mot sont considérés comme des flux d'activation
pour des trames.
Dans la première partie du script, les flux d'activation pour des signaux sont comparés avec les
flux d'activation présents dans le fichier Excel "Signals" et ceux du fichier VarDivMgtSCAN. Cette
comparaison permet de détecter les incohérences entre les flux d'activation des signaux et ceux du
VarDivMgt et VarDivMgtSCAN. En cas d'incohérence, des codes d'erreur significatifs sont attribués
pour faciliter la correction ultérieure de ces incohérences.
Dans la deuxième partie du script, les flux d'activation pour des trames sont comparés avec les
flux d'activation présents dans le fichier Excel "trames" et ceux du fichier VarDivMgtSCAN. Cette
comparaison vise à détecter les incohérences entre les flux d'activation des trames et ceux du
VarDivMgt et VarDivMgtSCAN. De manière similaire, des codes d'erreur significatifs sont utilisés
pour identifier et faciliter la correction de ces incohérences.
51
Chapitre III :Conception et réalisation de l’outil
52
Chapitre III :Conception et réalisation de l’outil
53
Chapitre III :Conception et réalisation de l’outil
Dans la fenêtre nommée "Tool", on trouve des boutons de type "check box". Le check box
nommé ‘classification’ permet d'indiquer si le modèle VarDivMgt du projet fournit les flux
d'activation en fonction d'une classification, indiquant s'il s'agit d'un flux d'émission ou de réception,
ainsi que le protocole de communication utilisé (CAN HS ou CAN FD).
Dans la fenêtre, il y a également trois boutons qui sont toujours visibles. Ces boutons permettent
de sélectionner les chemins d'accès respectifs pour les fichiers .slx et .xlsx, ainsi que l'emplacement
où le rapport généré sera enregistré et son nom.
Le check box nommé ‘Scan’ permet d'indiquer si le projet sur lequel nous souhaitons effectuer
le traitement dispose du fichier VarDivMgtSCAN. Si tel est le cas, cette case sera cochée, comme
illustre figure 37 sinon elle restera décochée. Si la case à cocher ‘Scan’ est activée, un autre bouton
sera affiché pour permettre à l'utilisateur de sélectionner le chemin d'accès pour le fichier
VarDivMgtSCAN comme illustre la figure 37.
54
Chapitre III :Conception et réalisation de l’outil
On lance le processus en cliquant sur le bouton ‘Check’ comme illustre la figure 39 , une fois
le traitement est terminé on peut trouver le rapport généré dans le chemin choisi .
55
Chapitre III :Conception et réalisation de l’outil
Si l'un des documents requis n'est pas renseigné et que le bouton ‘Check’ est appuyé, un
message d'erreur s'affiche pour indiquer qu'il est nécessaire de fournir les documents manquants. Cela
permet de rappeler à l'utilisateur l'importance de saisir tous les documents requis pour le bon
fonctionnement de l'outil comme Figure 40.
56
Chapitre III :Conception et réalisation de l’outil
57
Chapitre III :Conception et réalisation de l’outil
58
Chapitre III :Conception et réalisation de l’outil
(1) La colonne commentaire pour indiquer le nom de flux non trouvé dans l’un des deux fichiers
que ce soit le modele VarDivMgt ou la Messagerie CAN .
3.3.1.1 Commentaire pour un flux d’activation détecté d’une trame
Dans le cas d'un flux d'activation d'une trame, le nom du flux sera associé au nom de la trame,
ainsi qu'à une description indiquant dans quel fichier l'incohérence se produit, c'est-à-dire si le flux est
absent dans le modèle VarDivMgt ou dans la Messagerie CAN. Cela permet d'identifier clairement
les incohérences et de localiser rapidement les flux manquants dans les différents fichiers.
La syntaxe du commentaire :
• Le flux d’activation ‘nom de flux’ de la trame ‘nom de la trame ‘est dans la
messagerie CAN et n’ont pas dans le VarDivMgt .
• Le flux d’activation ‘nom de flux’ est dans le modèle VarDivMgt est non pas dans
la messagerie CAN .
3.3.1.2 Commentaire pour un flux d’activation d’un signal
Dans le cas d'un flux d'activation d'un signal, le nom du flux sera associé au nom du signal et
le nom de la trame qui transmis ce signal , ainsi qu' une description indiquant dans quel fichier
l'incohérence se produit, c'est-à-dire si le flux est absent dans le modèle VarDivMgt ou dans la
messagerie CAN. Cela permet d'identifier clairement les incohérences et de localiser rapidement les
flux manquants dans les différents fichiers.
La syntaxe de commentaire :
• Le flux ‘nom de flux ‘ du signal ‘nom du signal’ de la trame ‘nom de la trame ‘ est
dans la messagerie CAN est n’ont pas dans le VarDivMgt .
• Le flux ‘nom de flux ‘ est dans le VarDivMgt est non pas dans la messagerie CAN
.
3.3.2 Colonne code d’erreur
Chaque code d'erreur est associé à un commentaire afin de permettre à l'utilisateur de filtrer les
incohérences identifiées en fonction de leur nature. Cela lui permettra de traiter chaque type
d'incohérence individuellement.
3.3.2.1 Code d’erreur pour un projet traité sans classification des flux
59
Chapitre III :Conception et réalisation de l’outil
(1)La colonne "Code erreur" est dédiée à l'attribution d'un code spécifique à chaque
commentaire, permettant ainsi à l'ingénieur de traiter chaque type d'incohérence de manière
appropriée. Cette codification offre la possibilité d'identifier et de classer les différents problèmes ou
anomalies mentionnés dans les commentaires, facilitant ainsi le processus de résolution des problèmes.
On va prendre un exemple de code d’erreur afin de comprendre la logique de la composition
des codes d’erreur .On suppose que le code est AB.
La composition du code d’erreur est faite selon la réponse à ces questions :
• Le flux d’activation pour une trame ?
• Le flux d’activation pour un signal ?
• Le flux d’activation est présent dans le VarDivMgt et absent dans la messagerie CAN ?
• Le flux d’activation est présent dans la messagerie CAN et absent dans le VarDivMgt ?
Par contre les ingénieurs vont lire le code d'erreur dans le sens inverse , en utilisant le tableau
46 pour comprendre la signification du code .
60
Chapitre III :Conception et réalisation de l’outil
On peut filtrer les commentaires selon la natures de l’incohérence trouvée comme indiquée
dans la figure 47 .
61
Chapitre III :Conception et réalisation de l’outil
62
Chapitre III :Conception et réalisation de l’outil
63
Chapitre III :Conception et réalisation de l’outil
et des signaux avec classification. De plus, parmi ces sept projets, trois d'entre eux incluent le fichier
VarDivMgtSCAN.
64
Chapitre III :Conception et réalisation de l’outil
Conclusion :
Dans ce chapitre, on a passé sur les phases de réalisation de la Toolbox ‘CHECK FLOW ’,
en donnant les détails de chaque phase de cette Toolbox qui sera très utile pour les ingénieurs de
l’équipe Ecu Designer . Enfin, nous avons présenté la procédure adoptée pour la validation de l'outil
65
CONCLUSION ET PERSEPCTIVE
Pour limiter au maximum les erreurs au niveau de codage causés par les incohérences
entre les livrables de l’équipe ECU Designer , nous avons présenté dans ce rapport notre projet
de fin d’études, (effectué au sein de la société Emitech Engineering Africa ), les étapes
nécessaires pour réaliser un outil automatisé . Il s’agit d’une interface graphique dédiés aux
ingénieurs de l’équipe Ecu Designer qui prend en entrée trois fichiers :la messagerie CAN , le
modèle VarDivMgt et le VarDivMgtSCAN par la suite il extrait les flux d’activations depuis
ces fichiers et détecte les incohérences entre eux au niveau de flux d’activation en terme de
présence et génère en sortie un rapport Excel qui incluent des commentaires incluant les flux
non trouvées dans l’un des fichiers liés à un code d’erreur significative qui facilite la tâche aux
ingénieurs dans la phase du traitement des incohérences .
Notre travail est devisé en deux parties , une pour le développement des scripts Matlab
pour l’extraction des flux d’activations depuis les différents fichiers et pour la détection des
incohérences ainsi que la génération du rapport Excel qui inclut ces incohérences .L’autre est
consacré au développement de l’interface graphique .
Ce projet nous a permis également de découvrir et d’utiliser plusieurs outils
informatiques tels que : La programmation Matlab, le développement des interfaces
graphiques ainsi que d’acquérir des connaissances dans le domaine automobile et précisément
le métier de conception des calculateurs ,
Cependant, pour que cet outil soit plus utile , on va ajouter une autre fonctionnalité
telle que : La validation du modèle VarDivMgt sous Simulink d’une manière automatique en
développant un script pour lancer des scenarios de test .
Cette expérience vécue pendant ce stage au sein d’Emitech Engineering Africa était une
opportunité incontournable, elle m’a permis, d’une part, d’améliorer mes capacités techniques
et mes capacités d’analyse afin de résoudre les différents problèmes rencontrés. D’autre part,
cette expérience était très enrichissante et passionnante aussi bien sur le plan professionnel que
sur le plan personnel.
68
Bibliographies et Webographie
[1]About Emitech Engineering Africa (Document interne d’Emitech Engineering Africa).
[2]Calculateur moteur : fonctionnement, entretien et prix | Vroomly.
[3]Le multiplexage en automobile qu'est-ce c'est? (panne-automobile.com).
[4]MathWorks - Makers of MATLAB and Simulink - MATLAB & Simulink.
[5]Guide de lecture de la messagerie CAN (Document interne d’Emitech Engineering
Africa).
69
Annexes
Annexes de composition des codes d’erreurs .
Nous présentons dans ces organigrammes la compositions des différents codes d’erreur des
incohérences trouvés au niveau de flux d’activation en termes de présence .
➔ Annexe 1 : La composition des codes d’erreurs pour des projets sans classification :
70
➔ Annexe 2 : La composition des codes d’erreurs pour des projets avec classification :
71