CH1&2 Cours Informatique Industriel S5(IISE)
CH1&2 Cours Informatique Industriel S5(IISE)
CH1&2 Cours Informatique Industriel S5(IISE)
❖ Définitions
❖ Bref historique
❖ Domaines d'applications
❖ Les différents systèmes programmables
❖ Evolutions et loi de Moore
❖ Les différents Bus d’un system microprogramme
❖ Introduction
❖ Microprocesseur et Microcontrôleur
❖ Généralités sur les PIC
❖ PIC 16F877A
❖ Architecture d’un programme C pour les microcontrôleurs
❖ Les types de données de Langage C
❖ Introduction
❖ Classification des mémoires
❖ Organisation de la mémoire
❖ Accès Memoire
❖ la Mémoire Cache
❖ La mémoire de Masse
Génération 0:
les circuits intégrés (1965-1980) : Noyce inventa le circuit intégré en 1958. IBM créa la première gamme
unifiée (calcul et gestion) d'ordinateur avec le System/360 qui dota toute la gamme avec le même langage
d'assemblage et instaura la multiprogrammation qui permet à plusieurs programmes de résider simultanément en
mémoire.
L'IBM System-360, introduit en 1964, est un exemple phare de cette troisième génération. En plus de leur taille
réduite, les mini-ordinateurs offraient une meilleure gestion de la mémoire, des capacités de traitement de données
plus avancées et une plus grande fiabilité. Ces machines étaient beaucoup plus accessibles et économiquement
viables pour les petites et moyennes entreprises, ouvrant ainsi la voie à une utilisation plus répandue des
ordinateurs dans divers secteurs
❑ Systèmes de supervision pouvant traiter en temps réel les informations issues d'un grand nombre de capteurs
et assurer la commande de multiples actionneurs (centrales de production d'électricité, systèmes industriels
continus, contrôle de trafic aérien ou ferroviaire),
❑ Applications embarquées pour l'automobile (ABS, ESP, Motorisation hybride) ou l'avionique, etc.
16
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Les circuits spécialisés sont des circuits spécialisé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, ...
17
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Exemples :
DSP (Digital Signal Processing),
Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel. On
les trouve dans les modems (modem RTC, modem ADSL),
18
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Exemples :
Co-processeur arithmétique
Un coprocesseur est un circuit électronique destiné à ajouter une fonction à un processeur classique. On
compte des coprocesseurs arithmétiques (pour le calcul en virgule flottante), graphiques (pour accélérer du
rendu 2D ou 3D) et des coprocesseurs spécialisés dans le chiffrement.
19
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Avantages :
- Très rapide
- Consommation moindre
- Optimisé pour une application
Inconvénients :
- Faible modularité
- Possibilité d'évolution limité
- Coût
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),
✓ PAL (programmable array logic, réseau logique programmable),
« 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 :
- Très rapide
- Forte modularité
Inconvénients :
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 :
Inconvénients :
- Plus lent
- Utilisation sous optimale
24
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
1. Circuit intégré et microprocesseur
A l’origine, le circuit intégré a été créé en 1958 par Jack Kilby. Cet ingénieur en électronique avait pu câbler à
la main plusieurs transistors permettant de réaliser des mémoires et des unités logiques et arithmétiques. Il
existe des circuits intégrés dits analogiques et numériques.
En 1969, Marcian Off et Fréderico Fanguin ont inventé le premier microprocesseur que Intel commercialise 2
ans plus tard sous le nom d’ Intel 4004
Ce microprocesseur (Intel 4004) contenait 2300 transistors et pouvait réaliser 92600 opérations par sec à
une fréquence de 740Khz. Sa performance était comparable à l‘ordinateur Eniac qui occupait 67m2 pour un
poids de 30 tonnes ! Aujourd'hui tous nos appareils électroniques disposent de tels circuits intégrés.
Pr. Amine Rghioui FS Agadir 25
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore
Depuis les années 70, les microprocesseurs ont vu le nombre de transistors augmenté.
Intel 8086 (1978) :
26
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore
27
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore
Depuis les années 70, les microprocesseurs ont vu le nombre de transistors augmenté. La loi de Moore affirmait
et affirme toujours que le nombre de transistors doublerait tous les 2ans.
28
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS BUS D’UN SYSTEME MICRO-PROGRAMME
« Un bus est un jeu de lignes partagées pour l’échange de mots numériques. »
1. Définition
On appelle bus, en informatique, un ensemble de liaisons physiques (câbles, pistes de circuits imprimés,
etc.) pouvant être exploitées en commun par plusieurs éléments matériels afin de communiquer..
Un bus permet de faire transiter (liaison série/parallèle) des informations codées en binaire entre deux points.
Typiquement les informations sont regroupées en mots : octet (8 bits), word (16 bits) ou double word (32
bits).
➢ Fréquence de transfert.
29
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS BUS D’UN SYSTEME MICRO-PROGRAMME
30
Pr. Amine Rghioui FS Agadir
Chapitre 2 :
Interfaçage de programme C avec
les microcontrôleurs
La société Américaine Microchip Technologie a mis au point dans les années 90 un microcontrôleur CMOS : le
PIC (Peripheral Interface Controller). Ce composant encore très utilisé à l' heure actuelle, est un compromis
entre simplicité d' emploi, rapidité et prix de revient.
Microprocesseurs classiques transistors reposant sur la charge Charges passantes (1) ou Bloquées, absence de
courant (0)
33
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Identification des PICs
Un PIC est généralement identifié par une référence de la forme suivante : xx(L)XXyy-zz:
34
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Tableau comparatif
35
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
36
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Les types de bus :
Bus de données : Le bus de données permet de recevoir ou de transmettre un mot de 'Y' bits, contenu dans la
position mémoire sélectionnée préalablement. La taille de ce bus va de 8 à 64 bits.
ex. : résultat d'une opération, valeur d'une variable, etc..
Bus d'adresses : Le bus d'adresses permet au microprocesseur de sélectionner une position mémoire (RAM
ROM ou circuit d'interface) . Sa taille est généralement de 16, 24 ou 32 bits.
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.
37
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Von Neumann:
L'architecture dite architecture de von Neumann est un modèle qui utilise une structure de stockage unique
pour conserver à la fois les instructions et les données demandées ou produites par le calcul.
38
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Harvard:
Certains microcontrôleurs suivent une architecture Harvard : ils possèdent des bus séparés pour la mémoire de
programme et la mémoire de données, ce qui permet aux accès d'avoir lieu en même temps (on parle d'accès
concurrent).
39
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Harvard:
40
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Fonctions de base d’une machine informatique (Microcontrôleur)
❖ Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support
magnétique.
❖ Contenir de façon temporaire des données (mémoire de travail) en RAM.
❖ Pointer l’étape du programme en cours (P.C. : compteur programme, en anglaise Program Counter).
41
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma fonctionnel d’un Microcontrôleur
Périphériques d’entrées
❖ Clavier ❖ Lecteur de bande magnétique
❖ Souris ❖ Lecteur de cartes
❖ Ecran tactile ❖ Crayon optique
Registres mémoires
Accès dit aléatoire c’est à dire, temps d’accès indépendant de l’emplacement de la donnée stockée.
❖ Lecture seule : ➢ ROM ❖ RAM (lecture & écriture) : ➢ Statique
➢ PROM ➢ Dynamique
➢ REPROM
Mémoires de masse
❖ Accès séquentiel: ➢ Bandes magnétiques ❖ Accès aléatoire: ➢ Disquettes
➢ Disques durs
Périphériques de sortie
❖ Ecran vidéo ❖ Imprimante
❖ Afficheur ❖ Synthétiseur vocal
❖ LEDs ❖ Lecteur disquette 42
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur
43
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur
45
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur
46
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur
permet au microcontrôleur de
communiquer avec d'autres
systèmes à base de
microprocesseur
47
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur
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
48
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur
Fonctionnalités :
➢ Fonctions analogiques : CAN, CNA, Comparateur, ...
➢ Fonctions de timing : Timer, Watchdog, ...
➢ Fonctions de communication : UART (Communication série), USB, I2C, ...
➢ Facilité de programmation : In-Circuit Serial Programming, Self Programming, ...
49
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur
50
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Critères de choix d’un microcontrôleur
Caractéristiques électriques :
➢ Fréquence d’horloge
➢ Tensions d’alimentation
➢ Consommation d’énergie, modes faible consommation d’énergie, ..
51
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Codage
On rappelle tout d'abord les différentes bases qui nous seront utiles :
le binaire (base 2) est constitué de 2 chiffres : 0, 1
l'octal (base 8), est constitué de 8 chiffres : 0, 1, 2, 3, 4, 5, 6, 7
le décimal (base 10), est constitué de 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
l'hexadécimal (base 16), est constitué de 16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Instructions
Une instruction est composée au minimum de deux parties:
OPCODE (Operation CODE) : partie d’une instruction qui précise quelle opération doit être réalisée
53
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Les types d’instructions en Assembleur
Les instructions propres au microcontrôleur
❖ Les instructions logiques : andlw, xorwf, …
❖ Les instructions de transfert : movlw, movf, ...
❖ Les instructions arithmétiques : decf, addwf, ...
❖ Les instructions arithmétiques : decf, addwf, ...
Les instructions pré-processeur
Elles permettent au programmeur de donner des indications au compilateur.
Elles sont destinées au PC et non pas au micro-contrôleur !
❖ Instructions de contrôle : org = début du programme, end = fin du programme, etc. ;
❖ Instructions conditionnelles : if, else, endif, etc. ;
❖ Instructions relatives aux données : res = réservation d’espace mémoire, etc.
54
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84
55
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84
Unité de calcul
Mémoire EEPROM pour
le programme
56
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84
Le Registre
57
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
IRP RP1 RP0 TO PD Z DC C
bit 7 bit 0
C: bit "Carry"
➢ Cela concerne les opérations arithmétiques (instructions : addwf, addlw, subwf et sublw) en système de numération
binaire en complément à 2.
➢ Ce bit est mis à 1 quand le résultat d'une opération génère une retenue.
➢ Ce bit est mis à 0 quand le résultat d'une opération ne génère pas de retenue.
➢ Cela concerne les opérations arithmétiques (instructions : addwf, addlw, subwf et sublw) en système de numération
DCB (binary coded decimal).
➢ Ce bit est mis à 1 quand le résultat d'une opération génère une retenue.
➢ Ce bit est mis à 0 quand le résultat d'une opération ne génère pas de retenue.
Pour info le code BCD convertit chaque digit décimal individuellement en binaire
Exemple (137)10 = (0001 0011 0111)BCD
58
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
Z: bit “Zero"
➢ Cela ne concerne que les instructions qui affectent le bit Z (addwf, andlw, movf ...)
➢ Ce bit est mis à 1 quand le résultat d'une opération est 0.
➢ Ce bit est mis à 0 quand le résultat d'une opération est différent de 0.
60
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
61
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre PORTx
➢ Pour chaque port, un registre de 8 bits (un octet) permet d’écrire ou de lire la valeur de chacune des broches (0 et 1,
c ’est-à-dire 0V ou 5V).
➢ Il s'agit d'un registre spécial situé à l'adresse H'85' (banque 1) de la mémoire des données (Data RAM).
➢ Ainsi, TRISA contrôle la configuration des broches du port A, TRISB celle du port B, etc.
➢ Cette configuration s’effectue en général au début du programme.
63
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre TRISx
64
Pr. Amine Rghioui FS Agadir