Version 3.0a, Januar 2012 Seite 1 Haute école spécialisée bernoise Technique et
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 Microcontroller in Embedded Systems Chapitre 1 : Introduction Version 3.0a, Januar 2012 Seite 6 contrôle et de gestion. Moyens de transport: Autos, avions, vélo électrique etc. Electronique de consommation: Appareil hifi, TV, vidéo, beamer, télécommande etc. Application basse consommations : Les appareils à piles, tels que ceux développés par la HESB pour la station ornithologique suisse, qui permettent d’enregistre des données spatiales et télémétriques. Le choix des microcontrôleurs se limite principalement à 8 bits en raison de la faible consommation d'énergie et de la petite taille. Toutefois, ce dernier peut être remplacé par un microcontrôleur de 16 voire 32 bits lorsque la puissance de calcul n'est pas suffisante. 1.3 Les caractéristiques des microcontrôleurs La tendance actuellement est de s’éloigner de plus en plus des microcontrôleurs 8 bits afin de s’approcher de plus en plus des microcontrôleurs 32 bits. Les processeurs 8 bits sont utilisés dans les applications qui ont pour critères principaux la consommation et le coût. Les processeurs 16 bits sont relativement peu rependus. Il existe néanmoins quelques exemples comme le MSP430 de TI. Le prix des processeurs 32 bits actuels, comme le Cortex-M3, est devenu tellement intéressant, que ces derniers remplacent de plus en plus les processeurs 8 bits. Les processeurs 32 bits les moins chers coûtent environ un euros. Les microcontrôleurs 8 bits présentes les avantages suivants faces au microcontrôleur 32 bits : Faible consommation Bas coûts Dimension réduite Les microcontrôleurs 32 bits présentes les avantages suivants faces au microcontrôleur 8 bits : Puissance et vitesse de calcul supérieures Convient pour l'utilisation d'un système d'exploitation. En effet les performances de la CPU et la taille de la mémoire sont suffisantes. Espace d’adressage plus grand Taille de mémoire requise pour les microcontrôleurs dans les systèmes embarqués : La taille de la mémoire programme s’étend typiquement de quelques kilos octets à quelques centaines de kilo octets. Cette règle est valable pour les microcontrôleurs 8 uploads/Management/ micro-control-leur 1 .pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/bDPrsZSiLmRqt8c2p6LtCSg9q5yobegPeARCEpcw9WkdbRMpJ6DrlPUYwFieDGEamvq7Ytj1cgPBzvpI1l1GIATT.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/OhsMURVaNysxyoogv3m7c761WnVVy6BXVxFF9lcX0GGaObOtaleRFfSVCYWaD31FQavmrGdtH7o6zhfH6fy3UXEd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/OJtSZibGPPvH5nUt8yNZdLrfNKJzehLoG9Qbvdqs0JoOSOraxPjKTHqHoCTb5Cgs6enQz4Os7dSqRYv0IegL6xV0.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/uuQizSOHRxp9MgZbyhEx1MOJ769qfxpTohYs9uHrjMYTLCAIXckjuGnthqNq5ODh27RkqFWRB8OZiN0H4c4PU61K.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/8lpZZX87syu0LqgCycZALAGRhxQRdUueLDW19FjLa5tjHiGda40xqtxERK1n3ApQuXyUjAJeD0cti78R2HSqID1U.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/O7FqRYkOBSqosTFZT8nsgBZS3d3bWVw01zBSmTi3iohEOkV7dePIP0SuMIhwbLYRQUP2ZI2zGt1rhZjY7DRr0xEk.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/TU7V5ISD7LtFGLR7ASz2J04FcItn9By2WGtlZgI2nbxJFnlmrj74jdpdfRZ2l62DrWqqxtB41mFP3levdC1rhPH6.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3gOlWSV3dNf6n8jQwmVTNvlCcSRUlMOLJ3oEzRwVxX2gxod9LgvStk5bGBE3BRtYpQeuFWGtp2XLLDKHpEcMzBPQ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/qwgmJiGQbRdr48iSEodVZ2GvN7PqdtoDwlzLagAnwbt9eMXAYBaLlqtrHwHjKwfmHuk4S938I8FPmY6iMWdwr86l.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/2KNiYbCS5EzqXDXIWIVfxRmYzqckxTA1iJAhbAvEA7E6IJuWGzTz4n9glLzz4FnZaGaNlLAK52F9vI7amDvNDF2R.png)
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 08, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.7428MB