SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
L'objectif de ce cours est de vous permettre de choisir, de programmer, d'utiliser un
microcontrôleur et plus généralement de vous présenter l’environnement des systèmes micro
programmés.
L'informatique industrielle est une branche de l'informatique appliquée qui couvre l'ensemble
des techniques de conception et de programmation, de systèmes informatisés à vocation
industrielle, qui ne sont pas des ordinateurs.
Domaines d'applications : Alarme, automobile, aviation, instrumentation, médicale, téléphonie
mobile, terminaux de paiement pour carte bancaire ...
Applications :
Automates, robotique,
Mesures de grandeurs physiques,
Systèmes temps-réel,
Systèmes embarqués.
1. Les différents systèmes programmables
1.1. Les circuits spécialisés ou ASIC (Application Specific Integrated
Circuit): Les circuits spécialisés sont des circuits élaborés dès leur conception pour une
application donnée.
Exemples : DSP (Digital Signal Processing), co-processeur arithmétique, processeur 3-D,
contrôleur de bus, ...
Avantages :
Très rapide
Consommation moindre
Optimisé pour une application
Inconvénients :
Faible modularité
Possibilité d'évolution limité
Coût
1.2. Les systèmes en logique programmée et/ou en logique programmable
Ils sont connus sous la désignation de PLD (programmable logic device, circuit logique
programmable)
FPGA (field-programmable gate array, réseau de portes programmables in-situ),
PAL (programmable array logic, réseau logique programmable),
1/6
SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique
qui peut être reprogrammé après sa fabrication. Il est composé de nombreuses cellules logiques
élémentaires pouvant être librement assemblé.
Avantages :
Forte modularité
Rapidité
Inconvénients :
Mise en oeuvre plus complexe
Coûts de développement élevé
1.3. Les systèmes micro-programmés :
Les microcontrôleurs sont typiquement des systèmes micro programmés. Un microcontrôleur
est un : Circuit intégré comprenant essentiellement un microprocesseur, ses mémoires, et des
éléments personnalisés selon l'application. Un microcontrôleur contient un microprocesseur.
Avantages :
Mise en œuvre simple
Coûts de développement réduits
Inconvénients :
Plus lent
Utilisation sous optimale
2. Les structures des systèmes micro-programmés
Un microcontrôleur est composé d’un microprocesseur, de mémoire ROM pour stocker le
programme et d’une mémoire RAM volatile pour conserver les résultats intermédiaires lors de
l’exécution du programme.
2.1. Deux types de processeurs
CISC : Complex Instruction Set Computer
Grand nombre d'instructions,
Type de processeur le plus répandu
RISC : Reduced Instruction Set Computer
Nombre d'instructions réduit
(sélection des instructions pour une exécution plus rapide)
Décodage des instructions plus rapide
2.2. Les différents bus d'un système micro-programmés
Un bus est un jeu de lignes partagées pour l’échange de mots numériques. Un bus permet de
faire transiter (liaison série/parallèle) des informations codées en binaire entre deux points.
2/6
SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
Typiquement les informations sont regroupées en mots : octet (8 bits), word (16 bits) ou double
word (32 bits).
Caractéristiques d'un bus :
Nombres de lignes,
Fréquence de transfert.
Il existe 3 Types de bus :
Bus de données : permet de transférer des données entre composants,
ex. : résultat d'une opération, valeur d'une variable, etc.
Bus d'adresses : permet de transférer des adresses entre composants,
Une adresse est un nombre binaire qui indique un emplacement dans une zone mémoire
ex. : adresse d'une case mémoire, etc.
Bus de contrôle : permet l'échange entre les composants d'informations de
contrôle [bus rarement représenté sur les schémas].
ex. : périphérique prêt/occupé, erreur/exécution réussie, etc.
2.3. Les types d’architecture d’un système micro-programmé
Structure de Von Neumann
3/6
SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
Structure de Harvard
La différence se situe au niveau de la séparation ou non des mémoires programmes et données.
La structure de Harvard permet de transférer données et instruction simultanément, ce qui
permet un gain de performances.
3. Les éléments de choix d’un microcontrôleur
3.1. Architecture :
ALU (8, 16, 32, 64 bits)
Structure du processeur (Harvard, Von Neumann)
Type de processeur (RISC, CISC)
Taille des mémoires programme et donnée
Nombre de ports d’entrée/sortie
3.2. Fonctionnalités :
Fonctions analogiques : CAN, CNA, Comparateur, ...
Fonctions de timing : Timer, Watchdog, ...
Fonctions de communication : UART (Communicationsérie), USB, I2C, ...
Facilité de programmation : In-Circuit Serial Programming, Self programming, ...
3.3. Caractéristiques électriques :
Fréquence d’horloge
Tensions d’alimentation
Consommation d’énergie, modes faible consommation d’énergie, ...
4/6
SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
3.4. Caractéristiques physiques :
Type de boîtier : DIL, PLCC, ...
3.5. Mise en œuvre, maintenance :
Coût de développement : outils de développement,
formation, ...
Suivi du microcontrôleur : production suivie,
disponibilité, composant obsolète, ...
4. Exemple de microcontrôleur : ATMEL ATMega328
Le microcontrôleur utilisé sur la carte Arduino UNO est un microcontrôleur ATMega328.
C'est un microcontrôleur ATMEL de la famille AVR 8bits. Les principales caractéristiques
sont :
FLASH = mémoire programme de 32Ko
SRAM = données (volatiles) 2Ko
EEPROM = données (non volatiles) 1Ko
Digital I/O (entrées-sorties Tout Ou Rien) = 3 ports PortB, PortC, PortD (soit 23
broches en tout I/O)
Timers/Counters : Timer0 et Timer2 (comptage 8 bits), Timer1 (comptage 16bits)
Chaque timer peut être utilisé pour générer deux signaux PWM. (6 broches
OCxA/OCxB)
Plusieurs broches multi-fonctions : certaines broches peuvent avoir plusieurs fonctions différentes
choisies par programmation
PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3), OC2A(PB3),
OC2B(PD3)
Analog to Digital Converter (résolution 10bits) = 6 entrées multiplexées ADC0(PC0) à
ADC5(PC5)
5/6
SECTION 1 : GENERALITES SUR LES SYSTEMES MICROPROGRAMMES
Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les broches
SDA(PC5)/SCL(PC4).
Port série (USART) = émission/réception série via les broches TXD(PD1)/RXD(PD0)
Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7) peut déclencher interruption
Watchdog Timer programmable.
6/6