Diapo.du cours

Download Report

Transcript Diapo.du cours

• ADC
• Microcontrôleur
• MSC1210
Contenu du module
__
1) Notions de bases en électronique numérique
- Technologie des circuits intégrés logiques.
- Matrices à diodes, codeurs, décodeurs, transcodeurs, PAL, EPLD,
mémoires mortes ROM , PROM , EPROM, EEPROM, FLASH…
- Bascules D , registres et mémoire vive RAM
2) Microcontrôleurs
- Généralités sur les architectures
- Etude de l'architecture Von Newman.
- Instructions et modes d'adressage de la famille 8051
- Les ports d'entrées/sorties numériques
- Les entrées analogiques
- Les timers
- Les sorties PWM
- Les entrées de capture
- Les ports d'entrées sorties séries SCI et SPI
Technologie des circuits intégrés logiques.
_____
Niveaux logiques en électronique
Fonctions logiques avec des composants discrets
- Diodes et résistances
- Transistors bipolaires en commutation
- Transistor MOS
Fonctions logiques en circuits intégrés
- Notion de famille
- Les circuits intégrés TTL
- Les circuits intégrés CMOS
- ECL10k et ECL100K et autres technologies
Les circuits intégrés TTL
(Transistor to Transistor Logic)
____
1) Alimentation
-Vcc = 5 volts tolérance 5%
2) Etage d'entrée
- transistor à plusieurs émetteurs
- intensité d’entrée
3) Etages de sortie
- Sortie push-pull
- Sortie à trois états
- Sortie à collecteur ouvert
4) Niveaux logiques
- des entrées
- des sorties
5) Rapidité, temps de transfert
6) Les sous-familles L , H, S, LS, F
Circuit intégrés 7400
____
Circuit intégrés 7400
____
Les circuits intégrés CMOS
(Complementary Metal Oxide Semiconductor)
____
1)
Alimentation de 3 à 18Volts
2)
Niveaux logiques
3)
Propriétés électriques
4)
Description d’un inverseur logique
5)
Les sous-familles HC et HCT
6)
LVCMOS 3.3V, 3.0, 2.5, 1.5, 1.2 et 1.0V
Autres technologies
ECL10k et ECL100K
I2L
Décodeurs, encodeurs, transcodeurs
ROM, PAL, FPLA, FPGA
Décodeur
- Définition
- Exemple
- Réalisation avec une matrice à diodes 'ET',
- Application au décodage d'adresses (voir Td)
Encodeur
- Définition
- Exemple
- Réalisation avec une matrice à diode 'OU'
- Application encodage des touches d'un clavier (voir Td)
Transcodeurs
- Définition
- Exemple : BCD -> 7 segments ( voir Td)
- Applications:
- Mémoires mortes ROM, PROM, UVPROM,
EEPROM, FLASH
- Réseaux logiques PAL, GAL ...
- Réseaux logiques FPLA
Registres et mémoires vives.
A) Bascules (rappels)
- RS
- RSH
- D active sur niveau d'horloge
- D active sur front d'horloge
B) Registres
- à chargement et lecture parallèle
- à décalage
- Utilisations des registres :
- mémoires de travail dans les mP
- organes d'entrées sorties
- convertisseur parallèle - série et série -parallèle
C) Les mémoires vives (RAM)
- Description, organisation, capacité
- Bipolaires ou CMOS
- Statique ou dynamique
Conversion de données
Généralités
- Grandeur binaire
"
analogique
"
numérique (ou digitale)
Convertisseur analogique-numérique (CAN ou ADC)
- Définition
- Exemple simple
- Pas, quantum, résolution, précision et linéarité
Convertisseur numérique-analogique (CNA ou DAC)
- Définition
- Exemple
Fonctionnement des CNA
- Le réseau R/2R à commutation de tension
- Le réseau R/2R à commutation de courant
Fonctionnement des CAN
- Convertisseur à simple rampe
- Convertisseur à double rampe (précis mais lent)
- Par comptage (pas utilisé)
- Par approximations successives
- Convertisseur FLASH
- Sigma-delta
Convertisseur à simple rampe
Fin de conversion
Tension à convertir
Générateur de
rampe
+
Comparateur
-
Compteur
binaire
&
H
20
21
22
Raz
N
Horloge
Top départ
2n-1
Raz
Générateur de rampe
K
C
-Vref
R
Vr = a.t
avec a =Vref/RC
Convertisseur à double rampes
n
Horloge
&
Compteur
binaire
H
N
Logique
de
contrôle
Top départ
Raz
K1
C
V
1
-Vref
2
K2
R
Fin
Convertisseur par comptage
Horloge
&
Q0
H
Compteur
n bits
Départ
Raz
CNA
Réseau
R/2R
Comparateur
Fin
Qn-1
Sortie numérique
V
Tension à convertir
Convertisseur à registre à approximations successives
Q0
D
Horloge
Départ
H
Raz
RAS
n bits
CNA
Réseau
R/2R
Fin
Qn-1
Sortie numérique
V
Tension à convertir
Convertisseur "flash" (Principe)
Vcc= 10 V
U
C
U
C
B
A
D1
D0
0 < U < V1
0
0
V1 < U < V2
0
1
V2 < U < V3
1
0
V3 < U < Vcc
1
1
D0
V3
B
Transcodeur
V2
A
V1
D1
Microcontrôleurs
Architectures
- Von Neumann
- Harvard
Jeu d'instructions
- complexe CISC
- réduit RISC
Programme
- Localisation, adresse de démarrage (reset)
- Déroulement d'un programme
Langages
- langage machine, assembleur
- langage C, compilateur, éditeur de liens(linker)…
Mise au point et transfert dans la cible
- programmateur
- simulateur
- émulateur
Architecture Von Neumann
Adresses
Mémoire
Données
Unité de Traitement
Données
Périphériques
Mémoire
Programme
Architecture Harvard
Mémoire
Programme
Adresses
Instructions
Unité de Traitement
Instructions
ou
Constantes
Adresses
Données
Mémoire
Données
et
Données
Périphéri
ques
Les périphériques intégrés aux microcontrôleurs
Ports d’entrées/sorties parallèles
Ports d’entrées/sorties séries
-Synchrones (SPI)
-Asynchrone (SCI , I2C,CAN…)
Compteurs ou Timers
Générateurs PWM
Entrées de capture
Convertisseurs analogiques/numériques
Port d’entrées/sorties parallèles
Bus
De
DONNEES
Signal de Validation
0
1
1
0
1
0
0
1
Broches
SORTIES
Ou
ENTREES
Principe de fonctionnement d'un bit du port //
Sélection
SORTIE
Bus de
données
Direction
D
Validation
écriture
Q
H
Sélection
ENTREE
Bus de
données
Broche
d'entrée/sortie
Direction
D
H
Q
Broche
d'entrée/sortie
Communication série synchrone
Registre d'émission
Registre de réception
Données
1
0
0
1
1
1
0
1
Commande de décalage
Horloge
A chaque front d’horloge un bit est envoyé,
il faut 8 fronts pour transférer les 8 bits
Communication série asynchrone
Buffer d'émission
F
P
1
0
0
1
1
1
0
Buffer de réception
1
S
Données
Registre d'émission TX
Registre de réception RX
Horloge de décalage 1
Horloge de décalage 2
Registres de configuration
Registres de configuration
L’horloge 2 se synchronise grâce aux bits « s » et « f » (start et stop)
Compteur / Timer
Entrée
externe
Compteur 8 ou 16bits
Prédiviseur
Horloge
système
Débordement
Vers le bus
de données
registres de contrôle
Génération automatique d'un signal PWM
Valeur à comparer
CMP
Comparateur
R
Prédiviseur
Horloge
système
patte de
sortie
PWM
Q
Compteur/Timer
S
RAZ
Comparateur
Période
PR
Timer
PR
CMP
Sortie PWM
Ton
T
Autorisation
Le microcontrôleur MSC 1210Y5
-
Architecture dérivé du 8051 (mais 3 fois plus rapide)
-
Bus de données 8 bits
-
Bus d'adresses 16 bits commun aux données et aux instructions
-
Jeu d'instructions complexe (CISC)
- 32k mémoire flash (programme)
- 1280 octets de RAM interne (256 octets + 1024 octets)
-
Périphériques :
Entrées/sorties numériques, entrées analogiques
Timers
Ports de communication série
etc..
-
Tcycle = 4.Thorloge
Documentation (Datasheets)
-
msc1210ug.pdf documentation détaillée
-
msc1210y5.pdf description du circuit intégré
-
80C51_FAM_PROG_GUIDE_1.pdf
-
sbau073.pdf carte de développement (schéma, borniers…)
-
A51.pdf
assembleur, editeur de liens, etc…
-
C51.pdf
compilateur
Instructions du 8051
Mémoire programme
Adresse de la première instruction
0x0000
2k Boot ROM
Mémoire
programme
Externe(/PSEN=0)
(RESET) :
FFFF
F800
F7FF
8000
7FFF
FFFF
Mémoire
programme
Externe(/PSEN=0)
Mémoire
programme
Interne (FLASH)
32k octets
0000
Mode microcontrôleur
(patte /EA=1)
0000
Mode microprocesseur
(patte /EA=0)
FFFF
SRAM externe
Mémoires données (RAM)
MOVX
0400
03FF
FF
RAM
Accès indirect
MOV @R0/R1
RAM
Accès direct ou
indirect
MOV 00-FF
FF
Registres
Périphériques
Accès direct
MOV 80-FF
80
7F
R0…R7
07
R0…R7
00
80
SRAM interne (1k)
MOVX
0000
Les principaux registres
- Le registre A est un accumulateur 8bits.
- Le registre B est utilisé par MUL et DIV ou comme registre auxiliaire.
- Les registres auxiliaires R0, R1….R7 sont situés par défaut aux adresses 00…07 de
la RAM mais on peut les affecter à d'autres adresses 08..0F, 10..17 ou 18..20.
- Le compteur ordinal PC (16 bits) contient l'adresse de l'instruction à exécuter.
- Les 2 registres DPTR0 et DPTR1 sont des registres 16 bits surtout utilisés pour
l'adressage indirect externe.
- Le registre de statut PSW se positionne en fonction du résultat des opérations
CY AC F0
RS1 RS0 OV F1
P
- Le pointeur de pile SP (8bits) .
Modes d'adressage
Immédiat:
la donnée est codée à la suite de l'instruction
Ex : MOV A, #55h
Direct:
la donnée se trouve à une adresse de la RAM
Ex : MOV A,30h
Indirect:
l'adresse de la donnée est dans un registre auxiliaire R0 ou R1
Ex : MOV R0, #30h
MOV A,@R0
Externe indirect: l'adresse de la donnée est dans le registre DPTR
Ex : MOV DTPR,#02A9h
MOVX A,@DPTR
On peut utiliser R0 si l'adresse est comprise entre 0000 et 00ff
MOVX A,@R0
Code indirect : permet accéder à la mémoire programme
(utile pour des données fixes : tables , chaînes..)
Ex : MOVC A,@A+DPTR l'adresse est calculée en ajoutant
A et DPTR
Mode d'adressage « bit »
On peut positionner individuellement certains bits
- les 128 bits des adresses RAM : 20…2F bits 00..7F
- les bits des registres : 80, 88,90,98,….F8  bits 80..FF
EX : SETB 87h ; met à 1 le bit 7 du port P0
CLRB 04h ; met à 0 le bit 4 de l'adresse 20h
Le jeu d'instructions
-
Arithmétiques:
ADD, ADDC, SUBB, INC, DEC,MUL, DIV, DA
-
Logiques:
ANL, ORL,XRL,CLR,CPL, RL,RLC,RR,RRC,SWAP
-
Transfert de données:
MOV, MOVX, MOVC, PUSH, POP, XCH,XCHD
-
Bit :
SETB, CLR, CPL…
-
Branchements et sauts :
SJMP,LJMP, JZ, JNZ, JC,JNB,JC,JNC,CJNE,DJNZ…
LCALL, RET…
-
NOP
Déroulement d'un programme
- Exécution séquentielle des instructions à partir de l'adresse
0x0000
- Sauts, sauts conditionnels
- Sous-programmes
- Interruptions
Ecriture d'un programme
Edition:
Ecriture des Fichiers SOURCES
- en langage machine (.a51)
- en langage C (.c)
Assemblage: Transformation des fichiers SOURCES en BINAIRES
Edition des liens: Création du fichier EXECUTABLE (.hex)
Programmation: Transfert dans la mémoire programme du composant
Mise au point (débogage):
- Simulation
- Emulation
Outils de développement pour 8051