Академический Документы
Профессиональный Документы
Культура Документы
Lotfi BOUSSAID
Département de Génie Électrique
Ecole Nationale d’Ingénieurs de Monastir
• Les Microcontrôleurs
• Architecture
A hit t d Mi
des Microordinateurs
di t PC
• Les Microcontrôleurs
• Introduction
• La Famille TTL
• La Famille CMOS
T
Taux d’intégration
d’i té ti actuellement
t ll t : Pl
Plus d
de 1 Milli
Million d
de portes
t
Processus de dopage
Cohabitation NMOS/PMOS
Pas de consommation statique
Longueur de canal technologie moderne 0.09um
Encoche
Î Tension
T i d’alimentation
d’ li i : C’est
C’ lla diffé
différence d
de potentiel
i l à appliquer
li au circuit
i i pour un
fonctionnement correct
1. VI < VIL (niveau logique 0) : Tension de sortie est VOH (niveau logique 1)
2. VIL < VI < VIH : Régime linéaire, inverseur fonctionne en amplificateur
3. VI > VIH : la tension de sortie est VOL
Î Immunité au bruit : Insensibilité aux parasites. C’est le degré avec lequel une porte
logique
gq p peut supporter
pp des variations en entrée sans modifications
en sortie.
Î Entrance et Sortance : Entrance est le nombre maximal d’entrées indépendantes
pp
supportées p
par la p
porte. La Sortance est le nombre maximal
d’entrées qu’une porte peut alimenter sans modification du
niveau haut ni du niveau bas.
Î Vitesse de commutation – Temps p de propagation
p p g : C’est le temps
p moyen
y q que met le
signal pour franchir l’opérateur logique (2 à 100 ns)
Les niveaux HAUT et BAS, en entrée et en sortie, VIH, VOH, VIL et VOL sont définis par :
Entre le niveau haut et le niveau bas doit exister une « plage interdite », pour qu’il n’y ait
pas ambiguïté.
p g
Pour assurer que le circuit B comprend bien les signaux issus du circuit A
A, on doit avoir :
640
470
NON NOR OR
NOR
S E0 . E1
S=
Architecture interne
Identification d’un
d un circuit TTL : (ex: SN 74 AS 169 N)
Î A l'état bas une entrée TTL a besoin d'un courant sortant Iil maxi = 1,6mA
Î A l'état
l état haut le courant dd'entrée
entrée est Iih maxi = 40µA
Î La sortie peut délivrer Ioh maxi = 400µA au 1L et absorber Iol maxi = 16mA au 0L
P
Paramètres
èt dynamiques
d i
Tp varie selon la sous-famille de 10ns (TTL " N ") à 1,5ns (TTL " AS ")
Pull-up Pull-down
R1
R2
R1 doit imposer 1L sur l'entrée quand l'interrupteur est ouvert. R1 = 10 k par exemple
R2 doit imposer 0L sur l'entrée quand l'interrupteur est ouvert. R2 = 390 par exemple
OL 1L
1L OL
Inverseur CMOS
1. Circuits spécialisés à très faible tension d’alimentation (1,5 V), très faible consommation, où la
vitesse n’intervient pas, ou peu (montres, calculettes simples, etc...).
2. Circuits qui concurrencent les familles TTL, rapides, avec une consommation statique pratiquement
nulle : 4000B, 74 C, 74HC, 74 HCT, 74 ACT, 74 FACT etc...
Les familles 74xxx sont fonctionnellement équivalentes aux familles TTL, mais le brochage des
circuits est parfois différent, la lettre ‘T’ indique la compatibilité de niveaux électriques avec les
familles TTL.
Î Les courants d'entrée sont inférieurs à 1µA et les sorties peuvent véhiculer plus de 1 mA.
P
Paramètres
èt dynamiques
d i
Tp varie en fonction du niveau de l'alimentation Vcc. La vitesse augmente quand on fait croître Vcc.
Mais
M i chaque
h entrée
t é CMOS présente
é t une capacité
ité parasite
it de
d 5pF.
5 F La
L capacité
ité vue par la
l sortie
ti iinflue
fl
fortement sur le temps de réponse.
L temps
Le t de ti Tp augmente
d propagation t quand
d l’alimentation
l’ li t ti diminue
di i
Pull-up Pull-down :
R1
R2
R1 = R2 = 10 k
TTL CMOS
F
Fonction
ti OUI (Bufferisation)
(B ff i ti )
1. Transformateur
2
2. P t de
Pont d redressement
d t
3. Filtrage
4. Régulation
5. Filtrage
- Rendement
R d t : entre
t 25 – 50 %
- Pas chère à fabriquer
- Pour une puissance de 300W il faut fournir 900w (Pertes 600W)
1. Le transformateur
U = 4,44 . Bmax . N . S . F
F : fréquence du réseau
S : section du circuit magnétique du transformateur
N : nombre
b dde spires
i d
de l'l'enroulement
l t considéré
idé é
Bmax : valeur maxi de l'induction
P t fer
Pertes f sontt très
t è faibles
f ibl (valeur
( l ttypique
i 1
1,1
1 W/k
W/kg)) U2 I2 Î U1 / U2 = I2 / I1
U1 I1 ~ U2•
U1•
Vinv = v 2
3 Filtrage
3. 10
10ms
Exemple :
Si l'on désire un ∆U maxi de 0,5 V avec un courant moyen de 110 mA, on aura :
Le " T " est utilisé pour les boîtiers TO220 , I max 1,5A
en ne dépassant
p p
pas 35 V, p
pour U régulateur
g < 18 V,
ou en ne dépassant pas 40V, pour U régulateur > 20V.
Solution :
Transformateur 220 V - 2 x 15 V
U max = 15 2 = 21,2V
-10% = - 2,1 V
-chute
chute de tension des diodes = -1,2
12V
Umax = 17,9V
∆U = [ 17,9
17 9 V – ( U rιgulateur + 2V ) ] avec U régulateur = 12V Î ∆U=3 9 V
∆U=3,9
I 1A
C= = = 2564 μF On choisira C = 3300uF / 25V en valeur normalisée
100.ΔU 100 ⋅ 3,9
Convertisseur Fly-Back
Convertisseur Fly-Back
Et bli
Etablissement
t 310V ett ttension
i d de service
i U Usp ou polarisation
l i ti B Bu
Convertisseur Fly-Back
Convertisseur Fly-Back
Mi en saturation
Mise t ti du d BU
Convertisseur Fly-Back
Blocage du BU
Convertisseur Fly-Back
Unité
U ité d’interface
d’i t f
de bus
Unité d’exécution
Data
Code Segment
Data Segment Registre compteur de programme
Stack Segment Registres de
Extra Segment Segment
- Les
L iinterruptions
t ti h
hardware
d surviennent
i t llorsque lles lilignes RST
RST, NMI ou INTR d
du 8086
sont activées.
- Les sauts conditionnels ou inconditionnels ainsi que les appels de sous-routines ne sont
pas des
d iinterruptions.
t ti
- Une interruption de haute priorité peut interrompre une interruption de priorité inférieure.
- Une interruption de basse priorité ne peut pas interrompre une interruption de priorité
égale ou supérieure. L’interruption Reset est la plus prioritaire.
Paramétrage du BIOS
Port de données
Port d’état
Port de commande
Le Port Série du PC
1 Caractère 1 Bit
à la fois à la fois
Le Port Série du PC
• Le 8250 : est apparu sur les PC-XT
• Le 16450 Il permet des vitesses de transmission de 38.4 kbits/s sans problème
• Le 16550 Contrairement au 16450 ou on ne pouvait lire ou écrire qu'un seul octet à la fois, le 16550 peut
stocker en mémoire 16 octets avec un buffer pour la réception et un buffer pour l'émission. On peut alors
atteindre des vitesses de transfert de 115.2 kbits/s. Une autre amélioration apportée par le 16550 était
l'utilisation du contrôleur DMA
DCD : Lorsque cette ligne est active haute, elle signale au PC qu'une liaison a été établie avec un correspondant.
RX : cette ligne est une entrée. C'est ici que transitent les informations du correspondant vers l'ordinateur.
TX : cette ligne est une sortie. Les données du PC vers le correspondant sont véhiculées par son intermédiaire.
DTR : Lorsque cette ligne est active haute, elle permet au PC de signaler au correspondant que le port série a été
libéré et qu'il peut être utilisé s'il le souhaite.
GND : c'est la masse. DSR . Cette ligne est une entrée active haute. Elle permet au correspondant de signaler
qu'une donnée est prête. RTS : Lorsque cette ligne est active haute, elle indique au correspondant que le PC veut
lui transmettre des données. CTS : cette ligne est une entrée active haute. Elle indique au PC que le
correspondant est prêt à recevoir des données. RI : cette ligne est une entrée active haute. Elle permet à
l'ordinateur de qu'un correspondant veut initier une communication avec lui.
Le Port Série du PC
Le Port Série du PC
- Jusqu
Jusqu’à
à 127 périphériques
- Haute Vitesse (High Speed) : 480 Mbits/s : Périphériques très haut débit ; ex :camera
:camera...
- Pleine Vitesse (Full Speed) : 12 Mbits/s : Périphériques haut débit : scanners, imprimantes....
- Basse Vitesse (Low Speed) : 1,5 Mbits/s : Périphériques d'interface utilisateur : claviers, souris,
Identification de la vitesse
8 bit
bits 8 bits 7 bits 4 bits 5 bits 8 bit
bits 8 bits 0 to 512 bits 16 bits
SYNC PID ADDRESS ENDP CRC SYNC PID PAYLOAD CRC
2 Critères
2. C itè spécifiques
é ifi au Moteur
M t
- Couple et couple au démarrage
- Rendement
- Vitesse (constante ou variable)
- Coût
- Taille et poids (encombrement)
- Charge (Constante ou variable)
Puissance électrique :
Pe = E × Im (Puissance électriquee transmise à la partie to
(P issance électriq tournante)
rnante)
Pertes constantes :
Pc Ces pertes sont la somme des pertes mécaniques et magnétiques.
Ell sontt constantes
Elles t t à une vitesse
it donnée
d é ett peuventt se déterminer
dét i à vide.
id
Puissance utile :
Pu Pu = C × Ω (Couple en N m . Vitesse en rad / seconde)
C'est la puissance mécanique fournie par le moteur pour entraîner la charge.
Un couple de 1Nm signifie que l'on peut exercer une force de 1N (100g) au bout d'une tige de 1m
Rendement : R = Pu/Pa
Lorsque les conducteurs sont parcourus par un courant, ils sont soumis à des forces F1 et F2 qui tendent
à faire tourner le rotor. Le collecteur permet d'inverser le sens du courant dans les conducteurs lorsque
ceux-ci passent le plan vertical. Ainsi le sens du couple des forces F1 et F2 et donc le sens de rotation du
moteur est conservé.
2. INDUIT (Rotor)
Le noyau d'induit est constitué de disques en tôles électromagnétiques isolées.
L'enroulement d'induit est en cuivre isolé verni. Les bobinages de cuivre sont placés dans l'isolant des
encoches
encoches.
Moteur courant
continu
i à aimant
i
Permanent Moteur à excitation série
Induit + inducteur
I Rrotor Rstator I U
Rrotor
E’ U E’
P=C. Ω
Relation de définition
Couple
p moteur Putile = Cmot . Ω ((1))
Avantages : Inconvénients :
- Régulation de vitesse plus facile - Coût relativement élevé pour des puissances importantes
- Rendement relativement élevé - Usure du système collecteur / charbons
Utilisation :
- Moteurs à excitation parallèles : Pompes hydrauliques
hydrauliques, Ventilateurs
Ventilateurs, etc
etc.
- Moteurs à excitation série : (gros couple au démarrage et faible vitesse)
démarreurs d'automobiles, traction (locomotives), métro, etc.
Choix du moteur :
Calculer la puissance absorbée par le moteur ainsi que le courant appelé lors de la montée.
P i
Puissance utile
til fournie
f i par le
l moteur
t :P=M.g.v
Réponse :
74ALS16
+V Iol max=40mA
Transistor Darlington :
Ex: TIP121
Solution 2 : Pont en H
L298
- Robotique
- Modélisme
- Applications à encombrement minimum
- Applications portables (ex: mini-perceuses)
mini perceuses)
- Informatique stockage de données
- les télécoms (portables, satellites, les câblages et relais...)
- Domaine médicale ((prothèses et greffes, endoscopie, instruments chirurgicaux...)
- Micro-outillage
Mi ill
- Un servomoteur est un système motorisé capable d'atteindre des positions prédéterminées, puis de
les maintenir.
Principe de fonctionnement
Commande
+
_ M Réducteur Potentiomètre
Pour une durée de vie optimale du moteur, le rotor est monté sur roulements à billes
- Vitesses élevées
élevées,
- Industrie Automobile
- Applications industrielles
- Modélisme
Positionnement angulaire de
Signal électrique numérique
caractère incrémental
Couple
p moteur Élevée Faible Élevée
Il dépend du : Il dépend du :
Il dépend uniquement
- Sens du courant - Sens du courant
Sens de rotation de l’ordre
l ordre d’alimentation
d alimentation
- Ordre d’alimentation des bobines - Ordre d’alimentation
des bobines des bobines
Moteur Unipolaire
2 phases 4 phases
Remarque : Pour un courant de 1A on peut utiliser 2 voies du circuit ULN2003 par bobine
Sans balais, Fonctionnement en boucle ouverte et plusieurs pas angulaires sont disponibles
- Un moteur universel peut être alimenté par une F.E.M alternative ou continue
- En général, il est utilisé pour les appareils ne demandant qu'un couple modéré
- L’alimentation du stator crée un champ qui tend à attirer celui du rotor. En alternatif, quand le
courant s’inverse, le champ magnétique résultant s’inverse aussi bien dans le stator que dans
le rotor qui sont alimentés en série
série.
A l'arrêt,
l' êt le l rotor
t estt sollicité
lli ité par d
deux champs
h t en sens inverse
tournant
t i
En lançant le rotor (à la main par exemple) il peut alors démarrer dans un sens ou dans l'autre
Second
S dbbobinage
bi dé
décalé
lé d
de 90° dans
d lles encoches
h restantes
t t
alimentée à travers un artifice de déphasage : (ex: condensateur)
Applications :
- Faible puissance,
puissance faible couple au démarrage
démarrage, décrochage possible en cas de charge
- Fonctionnement intermittent : Électroménager, commande de vanne, pompes
Constituants :
Rotor bobiné
Stator bobiné Ou à cage d
d’écureuil
écureuil
X paires de pôles
1 paire
i d de pôles
ôl Î N=3000
N 3000 ttr/mn
/
2 paires de pôles Î N=1500 tn/mn
Symboles :
U=220V~
Variateur de vitesse
M
Masse
Indice de protection
Fréquence d’alimentation
Facteur de puissance
Nombre de tours par minute
Puissance nominale
Avantages : Inconvénients :
- Couple
p de démarrageg faible
- Faible coût d'achat - Glissement Î Asservissement en vitesse difficile
- Faible coût d’entretien - Manque de "confort" mécanique ( démarrage brutal)
- Puissance importante - La vitesse dépend de la charge
- Courant de démarrage 3 à 5 fois supérieur au
courant nominal
Applications :
Machines-outils
Ascenseurs
T il
Treuils
Pompes
Caractéristiques électriques :
- Alimentation du stator en triphasé alternatif;
- Alimentation du rotor en courant continu
Symboles :
Exemples d'utilisation:
(
(avec des onduleurs à thyristor
y p
pour des p
puissances > 1000 kW))
T.G.V. Atlantique , propulsion de gros navire, malaxeur (industrie chimique), circulateur (centrale nucléaire)
• Les Microcontrôleurs
MÉMOIRE CPU
IO IO IO
•••••
MÉMOIRE MÉMOIRE
DONNÉES PROGRAMME CPU IO IO IO •••••
BUS DONNÉES
Les avantages
• Instructions plus proches dd'un
un langage de haut niveau
• Programmation plus compact
• Écriture plus rapide et plus élégante des applications
• Moins d'occupation
d occupation mémoire des programmes
• Exécution nécessite moins d'octets mémoire
Les inconvénients
i é i
• beaucoup trop de codes d'instruction différents
• taille des instructions élevée et variable (1 à 15 bytes – octets par instruction)
• structure des instructions non standardisées: exécution complexe, peu performante
• Un ou plusieurs cache (s) internes(s) ainsi que des tampons internes et un jeu
d'instruction réduit aux instructions simples
p
Le PICs de MICROCHIP
Qu’est
Qu est-ce
ce qu’un
qu un PIC ?
Les PICs sont des composants dits RISC (Reduced Instructions Set Computer)
Tous les PICs Mid-Range ont un jeu de 35 instructions, stockent chaque instruction dans
un seu
u seul mot
o de p
programme,
og a e, e
et e
exécutent
écu e cchaque
aque instruction
s uc o (sau
(sauf les
es sau
sauts)
s) e
en 1 cyc
cycle.
e
C indique que la mémoire programme est une EPROM ou plus rarement une EEPROM
Un composant qu’on ne peut reprogrammer est appelé O.T.P. pour One Time Programming
un 16F84-04 est un PIC Mid-Range (16) donc la mémoire programme est de type FLASH (F) donc
réinscriptible de type 84 et capable d’accepter une fréquence d’horloge de 4MHz.
Le PIC 16F84-04
Principales caractéristiques :
- 35 instructions
- Instructions
I t ti codées
dé sur 14 bits
bit
- Données sur 8 bits
- 1 cycle machine par instruction, sauf pour les sauts (2 cycles machine)
- Vitesse maximum 10 MHz soit une instruction en 400 ns (1 cycle machine = 4 cycles d'horloge)
- 4 sources d'i
d'interruption
t ti
- 1000 cycles d'effacement/écriture pour la mémoire flash, 10.000.000 pour la mémoire de donnée
EEPROM
Le PIC 16F84-04
Brochage et fonction des pattes
Le PIC 16F84-04
Architecture interne
Le PIC 16F84-04
Organisation de la mémoire
Architecture Harvard
Le PIC 16F84-04
Le PIC 16F84-04
Le PIC 16F84-04
Liste des instructions
Le PIC 16F84-04
Organisation
g d’un programme
p g assembleur
Les de commentaires sont précédés par le symbole « ; »
Les DIRECTIVES sont des commandes destinées à l’assembleur
• ORG 0x000
• __CONFIG _CP_ON & _WDT_ON & _PWRTE_ON & _HS_OSC
Les fichiers « include »
• #include <p16F84.inc>
Les assignations
• mavaleur EQU 0x05
Les définitions
• #DEFINE monbit PORTA,1
Les macros
LIREIN macro
comf PORTB,0
andlw 1
endm
La
L zone d des variables
i bl
CBLOCK 0x00C ; début de la zone variables
w_temp :1 ; Zone de 1 byte
status_temp : 1 ; zone de 1 byte
mavariable
i bl : 1 ; je
j dé
déclare
l ma variable
i bl
ENDC ; Fin de la
Le PIC 16F84-04
Les différents types d’adressage
d adressage :
Adressage immédiat
movlw 0x50 ; W Í 0x50
Adresage direct
• movf 0x10,w ; W Í (0x10) contenu de l’emplacement mémoire
Adressage indirect
• movlw 0x50 ; W Í 0x50
• movwf mavariable ; mavariable Í 0x50
• movlw mavariable ; W Í 0x0E
• movwf FSR ; on place l’adresse de destination dans FSR.
• ; FSR POINTE sur mavariable
• movf INDF,w ; w Í 0x50
I f f,d
Incf fd
Le PIC 16F84-04
Ports d'entrées/Sorties
Port A
- 5 pattes d'entrée/sortie bidirectionnelles, notées RAx avec
x={0,1,2,3,4}
- Le registre PORTA, d'adresse 05h dans la banque 0,
permet d'y accéder en lecture ou en écriture.
- Le registre TRISA, d'adresse 85h dans la banque 1,
permet de choisir le sens de chaque patte (entrée ou
sortie) : un bit à 1 positionne le port en entrée, un bit à 0
positionne le port en sortie.
Câblage interne d'une patte du port A :
- "Data Latch" : Mémorisation de la valeur écrite quand le port
est en sortie.
- "TRIS Latch" : Mémorisation du sens (entrée ou sortie) de la
patte.
- "TTL input buffer" : Buffer de lecture de la valeur du port. La
lecture est toujours réalisée sur la patte, pas à la sortie de la
bascule d'écriture.
- Transistor N : En écriture : Saturé ou bloqué suivant la
valeur écrite.
- En lecture : Bloqué.
- Transistor P : Permet d'alimenter la sortie. Câblage interne d’une patte d’un Port
Le PIC 16F84-04
Port B
- Le registre PORTB, d'adresse 06h dans la banque 0, permet d'y accéder en lecture ou en
écriture.
- Le registre TRISB, d'adresse 86h dans la banque 1, permet de choisir le sens de chaque patte
(entrée ou sortie) : un bit à 1 positionne le port en entrée, un bit à 0 positionne le port en sortie.
- Les quatre bits de poids fort (RB7-RB4) peuvent être utilisés pour déclencher une interruption sur
changement d'état.
Le PIC 16F84-04
Le Compteur (Timer)
La Programmation
PC
Programmateur PIC
Langage Assembleur
LIST p=16F84
include "P16F84.inc“
__CONFIG _CP_ON & _WDT_ON & _PWRTE_ON & _HS_OSC
org 0x0000
bsf STATUS,RP0 ; sélectionner bank 1
movlw b‘11111111' ; Port B en entrée
movwf TRISB
movlw b‘00000000' ; Port A en sortie
movwf TRISA
bcf STATUS,RP0 ; sélectionner bank 0
b
boucle
l
btfsc PORTB,2 ; tester RB2, sauter si vaut 0
bcf PORTA,2 ; sinon on allume la LED
btfss PORTB,2 ; tester RB2, sauter si vaut 1
bsf PORTA,2 ; RB2 vaut 0, donc LED
goto boucle
end
#include <16F84.h>
#fuses HS,NOPROTECT,NOWDT
#use delay(clock=4000000)
de ay(c oc 000000)
#define LED PIN_RA2
Void main(){
while(( 1 ){
Output_bit(LED,1);
Delay_ms(500);
Output_bit(LED,0);
Delay_ms(1000);
}
}
#include <16F876a.h>
#fuses HS,NOPROTECT,NOWDT
#use delay(clock=16000000)
Void avance(int i){
Int j;
23 22 21 20
For(j=0;j<=i;j++){
For(j 0;j i;j ){ RB3 A RB2 B RB1 C RB0 D P tB
Port
Output_b(6); //1ère position
Delay_ms(5); //pause entre 2 pas Etat1
Output_b(5); //2ème position
0 1 1 0 6
Delay_ms(5); //pause entre 2 pas Etat2
Output b(9); //3ème position
Output_b(9); 0 1 0 1 5
Delay_ms(5); //pause entre 2 pas
Etat3 1 0 0 1 9
Output_b(10); //4ème position
Delay_ms(5); //pause entre 2 pas
} Etat4 1 0 1 0 10
Return;
}
Void main(){
Avance(4); //Fait tourner le moteur de 16 pas
}
LDRE
LDRO
FDCE FDCO
Le PIC 16F877A
Le PIC 16F877A
Le PIC 16F877A
Le PIC 16F877A
Le PIC 16F877A
Le PIC 16F877A
Le PIC 16F877A
• Programmation :
– ICD2 (In-Circuit Debugger)
Debugger), RS-232
– module dédié comme le « dataman48 »