La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Génération de code ciblant un microcontrôleur MPC555 à partir d'un modèle Simulink

Téléchargements

Téléchargements par mois depuis la dernière année

Grondin, Pierre (2003). Génération de code ciblant un microcontrôleur MPC555 à partir d'un modèle Simulink. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.

[thumbnail of GRONDIN_Pierre.pdf]
Prévisualisation
PDF
Télécharger (5MB) | Prévisualisation

Résumé

Le but de ce projet est de permettre la génération d'un modèle Simulink en code C afin de l'exécuter sur une carte de développement avec un MPC555. L'hypothèse de base est que les générateurs de code actuels sont suffisamment configurables pour le ciblage de processeurs embarqués. Une des applications futures visées par ce projet est le contrôle d'un robot à cinq degrés de liberté.

Le générateur de code Real-Time Workshop (RTW) de MathWorks a été sélectionné pour ce projet. Lors du développement, on doit d'abord mettre en place un modèle de génération de code et un séquenceur. Ensuite, on développe des blocs Simulink utilisant les entrées-sorties du MPC555.

Une application de contrôle en position d'un moteur DC et une interface graphique Labview permettent de confirmer le bon fonctionnement du projet. On arrive à la conclusion que cette solution est très intéressante pour le prototypage rapide d'applications de contrôle.

Titre traduit

Simulink code generation targetting a MPC555 microcontroller

Résumé traduit

The objective of this project is to execute Simulink generated code on a development board with a MPC555. The main hypothesis is that standard code generator performance is good enough to target embedded processors. The MPC555 microcontroller is used in many control applications including combustion control in cars. One future application for this project is to control a five degrees of :freedom robot.

Development starts with the analysis of different code generation solutions. Real-Time Workshop from Math Works is selected for its availability and priee. A code generation template and scheduler are then developed. Once generated, the code is compiled and executed in the Code Warrior environment from Metrowerks. A synchronization feature was then added to the scheduler. Two Simulink blocks have been developed for interaction with the simulation through a terminal software connected to an RS-232 port. Two other blocks allow using the Quadrature Decoding and the Pulse Width Modulation output of the MPC555. AU blocks follow Simulink's S-function format.

A position controlled DC motor application and a Labview graphical interface were created to assess the overall solution. The interface allows changing model parameters and visualizing motor position on a scope indicator. Model time step is 1 ms. After performing different tests, it was established that the computation time required for each block was less than 10 us with the exception of the terminal print block where the sprintf function takes about 120 us per variable. The application requires 150 KB of
Flash and 36 KB of RAM which is reasonable for the MPC555. With all the results obtained, it was concluded that this solution is very interesting for doing rapid control prototyping.

As a recommendation, high speed data acquisition feature using the CAN or the second RS-232 port would constitute an interesting addition.

Type de document: Mémoire ou thèse (Mémoire de maîtrise électronique)
Renseignements supplémentaires: "Mémoire présenté à l'École de technologie supérieure comme exigence partielle à l'obtention de la maîtrise en génie électrique". Bibliogr.: f. [104]-106.
Mots-clés libres: C, Code, Embarque, Generateur, Microcontroleur, Modele, Motorola, MP555, Processeur, Simulink
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Saad, Maarouf
Programme: Maîtrise en ingénierie > Génie électrique
Date de dépôt: 06 mai 2011 20:46
Dernière modification: 14 oct. 2016 21:52
URI: https://espace.etsmtl.ca/id/eprint/738

Gestion Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt