Version 3.0a, Januar 2012 Seite 1
Haute école spécialisée bernoise
Technique et informatique
Section d’Electricité et systèmes de communication
Laboratoire d’Informatique technique
Les microcontrôleurs dans
les systèmes embarqués
Ce manuscrit traite les thèmes suivants :
Systèmes embarqué
Méthodes de design
Sécurité et fiabilité des systèmes à microprocesseur
Connexions aux composants périphériques
Communication avec les autres systèmes à microprocesseur
2012 BFH-TI / FUE1
Dernière modification: Janvier 2011
Auteur: Elham Firouzi
Version: 3.1e
Microcontroller in Embedded Systems Table des matières
Version 3.0a, Januar 2012 Seite 2
Table de matières
1 Introduction ........................................................................................................................................ 5
1.1 Structure du manuscrit .............................................................................................................. 5
1.2 Domaine d’application des microcontrôleurs ............................................................................ 5
1.3 Les caractéristiques des microcontrôleurs ............................................................................... 6
1.4 Les langages de Programmation .............................................................................................. 7
1.4.1 C ........................................................................................................................................ 7
1.4.2 C++ .................................................................................................................................... 7
1.4.3 Assembler .......................................................................................................................... 7
1.4.4 Java ................................................................................................................................... 7
1.5 Environnements et outils de développement ........................................................................... 7
1.5.1 Simulateur .......................................................................................................................... 7
1.5.2 Moniteur ROM.................................................................................................................... 8
1.5.3 Interface JTAG ................................................................................................................... 8
1.5.4 Emulateur ........................................................................................................................... 8
1.5.5 Programmation et test direct de ROM / Flash ................................................................... 8
2 Généralité .......................................................................................................................................... 9
2.1 Les systèmes embarqués ......................................................................................................... 9
2.2 Les systèmes temps réels ........................................................................................................ 9
2.3 Le processus technique .......................................................................................................... 10
2.4 Les systèmes de communication industriels .......................................................................... 11
2.4.1 La structures des systèmes de production industrielle .................................................... 11
2.4.2 Les critères pour la communication ................................................................................. 12
3 Méthodes de conception ................................................................................................................. 13
3.1 Déroulement cyclique ............................................................................................................. 13
3.2 Déroulement quasi-parallèle et évènementielle ...................................................................... 13
3.3 Déroulement quasi-parallèle avec RTOS ............................................................................... 14
3.4 State-Event ............................................................................................................................. 14
3.4.1 Introduction ...................................................................................................................... 14
3.4.2 Conception ....................................................................................................................... 14
3.4.3 Implémentation de diagrammes d’états ........................................................................... 16
4 Sécurité des systèmes .................................................................................................................... 19
4.1 Introduction ............................................................................................................................. 19
4.1.1 Hardware ......................................................................................................................... 19
4.1.2 Software ........................................................................................................................... 19
4.2 Le langage de Programmation C ............................................................................................ 19
4.2.1 MISRA-C .......................................................................................................................... 20
4.2.2 Analyse de code statique ................................................................................................. 20
4.3 Murphy et le langage de Programmation C ............................................................................ 21
4.3.1 Dépassement de capacité dans les tableaux .................................................................. 21
4.3.2 Dépassement de capacité dans la pile (anglais : stack) ................................................. 21
4.3.3 Pointeur NULL ................................................................................................................. 22
4.3.4 Les interruptions .............................................................................................................. 22
4.3.5 Allocation de mémoire dynamique .................................................................................. 22
4.3.6 Les conditions de courses ............................................................................................... 23
4.3.7 Code réentrant ................................................................................................................. 23
4.3.8 Programmation défensive ................................................................................................ 24
4.3.9 assert() ............................................................................................................................. 24
Microcontroller in Embedded Systems Table des matières
Version 3.0a, Januar 2012 Seite 3
4.3.10 Optimisation du code C ................................................................................................... 24
4.4 Sécurité au niveau du système ............................................................................................... 25
4.4.1 La conception................................................................................................................... 25
4.4.2 Spécification et exécutions des testes ............................................................................. 26
4.4.3 La documentation ............................................................................................................ 27
4.4.4 Reviews ........................................................................................................................... 27
4.5 Watchdog ................................................................................................................................ 27
4.5.1 Introduction ...................................................................................................................... 27
4.5.2 Le externe ........................................................................................................................ 27
4.5.3 Le watchdog interne ........................................................................................................ 28
4.5.4 Fonctionnement du watchdog .......................................................................................... 28
4.5.5 Démarrage du watchdog ................................................................................................. 29
4.5.6 Rafraichissement du watchdog ........................................................................................ 29
5 Connexion de la périphérie ............................................................................................................. 30
5.1 Bus d’adresse / de données ................................................................................................... 30
5.2 Port d’entrée et de sortie numérique ...................................................................................... 30
5.3 RS232 ..................................................................................................................................... 31
5.4 SPI .......................................................................................................................................... 32
5.5 I2C ........................................................................................................................................... 34
5.5.1 Aperçu .............................................................................................................................. 34
5.5.2 Protocole .......................................................................................................................... 34
5.5.3 Implémentation ................................................................................................................ 36
5.6 Timer ....................................................................................................................................... 36
5.6.1 Introduction ...................................................................................................................... 36
5.6.2 Timer/Counter .................................................................................................................. 37
5.6.3 Timer avec recharge automatique ................................................................................... 37
5.6.4 Unité comparateur ........................................................................................................... 37
5.6.5 Entité de capture .............................................................................................................. 38
5.7 CAN ......................................................................................................................................... 39
A Introduction pour le LM3S9B92 .......................................................................................................... 40
A.1 La famille Cortex-M3 ................................................................................................................... 40
A.2 Le microcontrôleur LM3S9B92 .................................................................................................... 42
A.2.1 Diagramme de blocs ............................................................................................................. 42
A.2.2 Les interruptions ................................................................................................................... 44
A.2.3 GPIOs ................................................................................................................................... 47
A.2.4 Le watchdog .......................................................................................................................... 48
A.2.5 PWM ..................................................................................................................................... 50
A.2.6 CAN ...................................................................................................................................... 51
B CAN ..................................................................................................................................................... 54
B.1 Introduction .................................................................................................................................. 54
B.2 Propriétés .................................................................................................................................... 54
B.3 Couche de transmission des bits (OSI Layer 1) .......................................................................... 55
B.3.1 Topologie Bus ....................................................................................................................... 55
B.3.2 Taux de transmission des données ...................................................................................... 55
B.3.3 Niveaux du signal.................................................................................................................. 55
B.3.4 Bit-Timing .............................................................................................................................. 56
B.3.5 Bit Stuffing ............................................................................................................................. 56
B.4 Méthodes d’accèssibilité au bus (OSI Layer 2a / MAC) .............................................................. 56
B.5 Protocole CAN (OSI Layer 2b / LLC) .......................................................................................... 57
B.5.1 Data Frame ........................................................................................................................... 57
Microcontroller in Embedded Systems Table des matières
Version 3.0a, Januar 2012 Seite 4
B.5.2 Reconnaissance d’erreurs .................................................................................................... 58
B.5.3 Filtrage des messages .......................................................................................................... 59
B.6 Application (OSI Layer 7) ............................................................................................................ 59
C Référence ........................................................................................................................................... 60
Index ....................................................................................................................................................... 61
Microcontroller in Embedded Systems Chapitre 1 : Introduction
Version 3.0a, Januar 2012 Seite 5
1 Introduction
1.1 Structure du manuscrit
Le premier chapitre de ce manuscrit traite les domaines d’application des microcontrôleurs embarqués, leurs
caractéristiques typiques et les outils de développement des logiciels. Le second chapitre fournit d'importantes
notions de base, qui sont essentiels à la compréhension de ce module. Le chapitre trois traite un des aspects les
plus important du développement de logiciel embarqués : la conception (design). Le quatrième chapitre se
concentre sur la sécurité et la fiabilité des systèmes à microprocesseur. En effet, les erreurs logicielles dans les
systèmes embarqués peuvent générer de sérieux problèmes. Le cinquième chapitre traite de la communication
dans son ensemble. Il montre, d’une part, comment les composants périphériques peuvent être connectés à un
microcontrôleur embarqué et, d’autre part, comment les systèmes peuvent communiquer les uns avec les autres.
L'annexe A présente le microcontrôleur LM3S9B92 de Texas Instruments comme représentant typique de la
famille de microcontrôleur 32 bits Cortex-M3. L'annexe B contient une brève introduction au bus CAN.
Les deux thèmes suivants sont explicitement exclus de ce manuscrit : RTOS (Real systèmes d'exploitation
temps) et le serveur Web intégré (connexion Internet de l'équipement et la machinerie). Bien que ces derniers
appartiennent au monde des microcontrôleurs et des systèmes embarqués, ils sont enseignés dans des autres
modules du cursus d’enseignement de la Haute école.
1.2 Domaine d’application des microcontrôleurs
Le choix du microcontrôleur 8-bit, 16 bits ou 32 bits dépend de la complexité de l’application embarquée. La
notion de systèmes embarqués est traitée plus en détail au chapitre 2. Ces derniers sont essentiellement constitués
d’une partie matérielle (Hardware) et d’une partie logicielle (Software). Leurs domaines d’applications sont les
suivants :
Système de communication:
Les microcontrôleurs 8 bits sont souvent utilisés pour les
téléphones portables simples et la téléphonie fixe alors que
les microcontrôleurs 32 bits se retrouvent plutôt dans les
Smartphones et les PDA.
Les processeurs 8-bits ou 32 bits sont utilisés pour le
raccordement des capteurs et actionneurs aux systèmes de
bus en fonction de la complexité du bus et de l'application.
Technique médicinale:
Les instruments de mesure (par exemple mesure de la
glycémie), les organes artificiels, etc. Selon la complexité
application de microcontrôleurs 8 bits, 16 bits ou 32 bits.
Les technologies de la sécurité:
Les systèmes pour gérer la sécurité dans les moyes de
transport (par exemple : les passages à niveau), dans les
bâtiments (par exemple: alarme incendie, effractions) etc.
Les microcontrôleurs 8 bits sont utilisés en particulier dans
les appareils périphériques alors les microcontrôleurs 32 bits
assument les tâches de contrôle et de gestion.
Mécatronique et automation industrielle :
Installation pour la production de biens, pour la
logistique, etc. Les microcontrôleurs 8 bits sont utilisés
en particulier pour les capteurs et actionneurs alors que
les microcontrôleurs 32 bits assument les tâches de
1 / 60 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !