COURS GPA

publicité
CONTENU DU COURS
B. CONCEPTS
A. MISE EN
CONTEXTE
LOGICIELS
(PROGRAMMATION
EN ASSEMBLEUR ET
EN
Université du Québec
École de technologie supérieure
C)
C. CONCEPTS
MATÉRIELS
(COMPOSANTS D’UN
MICROCONTRÔLEUR)
GPA770: Microélectronique appliquée
Éric Granger
A.2-1
Partie A − Mise en contexte
A.1 Survol de l’électronique numérique
systèmes de numérotation
opérations arithmétiques binaires
représentation de nombres signés
circuits électroniques de base: portes, registres, etc.
systèmes électroniques universels
A.2 Architecture et programmation du 68HC12:
architecture, sous-systèmes et mémoires
modèle du programmeur et exécution d’instructions
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-2
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires
2) Instructions du 68HC12
3) Modèle du programmeur
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-3
A.2(1) Architecture, sous-systèmes et mémoires
Introduction du 68HC12 au marché en 1997:
évolution direct du 68HC11 qui est plus performante
et versatile (instructions, modes d’adressage, etc.)
Microcontrôleur avec CPU à 16 bits: le chemin de
données interne est de 16 bits
horloge de système à 8 MHz: générée par un crystal à
16MHz divisé par 2
conçu en technologie CMOS: la consommation de
puissance est basse
système = {modules} connectés à un bus inter module
(LIM)
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-4
A.2(1) Architecture, sous-systèmes et mémoires
Évolution du 68HC12:
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-5
A.2(1) Architecture, sous-systèmes et mémoires
Principaux modules dans tous les 68HCS12:
1. CPU12: unité de traitement central à haute performance
de 16 bits
modules de gestion d’interruptions et de remise à zéro
2. Mémoire: un bloc de registres (512 octets), de la RAM
(2Koctets) et de la EEPROM (variable)
3. Bus: le module LIM ─ combine les buses de DATA,
d’ADDR et de CTRL
4. Périphériques d’entrées/sorties:
ports d’entrées/sorties
module de temporisation (TIM) à 16 bits
convertisseur analogique-numérique (ADC) à 8 bits
interfaces de communications sérielles: SCI et SPI
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-6
A.2(1) Architecture, sous-systèmes et mémoires
Plusieurs variantes du 68HCS12:
différences entre variantes surtout selon:
la structure de la mémoire
le nombre de canaux d’entrée/sortie
la configuration pour les communications sérielles
en cours: MC9S12D ciblé pour mode circuit autonome
au laboratoire: MC9S12C32 ciblé pour mode circuit
autonome (série 68HCS12 − introduit au marché en
2002)
plus de mémoire interne et une horloge à 16 MHz
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-7
A.2(1) Architecture, sous-systèmes et mémoires
Diagramme bloc du
MC9S12C32:
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-8
A.2(1) Architecture, sous-systèmes et mémoires
Types de sous-systèmes dans le 68HCS12:
communication sérielle: interfaces pour
communications asynchrones et synchrones
temporisation: capter des entrées, générer des sorties,
accumuler des impulsions
conversion de données: convertir un signal analogique
en nombre binaire non-signé
mémoire: stocker les variables, le code, etc.
interruption et remise à zéro: permet d’interrompre un
programme pour exécuter un routine de service
ports: échange des signaux de données et contrôle avec
le monde externe
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-9
A.2(1) Architecture, sous-systèmes et mémoires
Rôle des types de sous-systèmes dans le 68HCS12:
a) CPU12: unité de traitement central
gestion d’exceptions: interrompre l’exécution normal d’un
programme
b) Module LIM: combine les buses de DATA, d’ADDR et de CTRL
c) Mémoire: stocker des configurations (bloc), des variables (RAM) et
des programmes (ROM)
d) Périphériques d’entrée/sortie:
ports d’entrée/sortie: échanger des données avec le monde
externe
temporisation: capter des entrées, générer des sorties, accumuler
des impulsions, PWM
conversion de données: convertir un signal analogique en codes
binaires non-signés
communication sérielle: échanger de données par
communications asynchrones (SCI) et synchrones (SPI)
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-10
A.2(1) Architecture, sous-systèmes et mémoires
Sous-système de mémoire du 68HCS12:
modèle général: liste adressable de registres
consiste de registres, RAM et EEPROM
ADDR est de m = 16 bits, donc supporte ~64k d’espace
adressable
DATA est de N = 16 bits sur deux adresses
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-11
A.2(1) Architecture, sous-systèmes et mémoires
Capacité d’une mémoire:
largeur de mémoire (n):
correspond au nombre de bits par registre
interne (i.e., mot de mémoire ou ‘word size’)
N = largeur du DATA (pas toujours n)
longueur de mémoire (M):
correspond au nombre de registres qu’on peut
adresser
M = 2m, où m = largeur du ADDR
capacité: largeur x longueur = n x M bits
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.1-12
A.2(1) Architecture, sous-systèmes et mémoires
Stockage en mémoire de données numériques:
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-13
A.2(1) Architecture, sous-systèmes et mémoires
Sous-système de mémoire:
caractéristiques des mémoires RAM et ROM
RAM
ROM
volatile
non-volatile
lire et écrire
lire seulement
SRAM, DRAM, SDRAM, etc.
PROM, EPROM, EEPROM
(effaçable par octets), FLASH
EEPROM (effaçable par secteurs)...
temps d’accès plus rapide, mais
plus gros/coûteux
temps d’accès plus lent, mais très
compacte
stocker des variables temporaires
stocker de programmes et constants
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-14
A.2(1) Architecture, sous-systèmes et mémoires
Sous-système de mémoire: (MC9S12C32)
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-15
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires
2) Instructions du 68HC12
3) Modèle du programmeur
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-16
A.2(2) Instructions du 68HC12
Jeu d’instructions:
le 68HCS12 peut comprendre et exécuter 209
différents instructions
inclus toutes les instructions du 68HC11
inclus de nouvelles instructions mathématique
sophistiquées
7 catégories d’instructions
Modes d’adressage:
très flexible − plusieurs modes d’adressage pour accéder
aux données
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-17
A.2(2) Instructions du 68HC12
Format d’instructions en assembleur:
étiquette
op-code
opérant(s)
commentaires
debut:
LDAA
#$FC
;charger l’acc. A
étiquette: identifie une ligne de code du programme
permet de localiser une {instructions} à exécuter
op-code/directive/macro: élément fonctionnel de
l’instruction/dirige le compilateur/collage d’un texte.
opérant(s): information permettant d’accéder aux données
pour exécuter une instruction/directive/macro.
Commentaires: “;” indique le début d’un commentaire
utile aussi pour documentation au début d’une ligne.
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-18
A.2(2) Instructions du 68HC12
Cycle d’exécution d’une instruction:
1. chercher − charger le op-code et opérants de la mémoire
aux registres d’instructions (IR)
2. décoder
– interpréter l’instruction et traduire en actions du CPU
– acheminer les signaux de contrôle
3. exécuter − effectuer les opérations liées à l’instruction.
chercher
executer
Université du Québec
École de technologie supérieure
decoder
GPA770: Microélectronique appliquée
Éric Granger
A.2-19
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires
2) Instructions du 68HC12
3) Modèle du programmeur
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-20
A.2(3) Modèle du programmeur
déf.: modèle compacte pour visualiser l’état
interne du CPU
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-21
A.2(3) Modèle du programmeur
A et B − accumulateurs à 8 bits:
D − combine A et B pour former un accumulateur à 16 bits
registres à usage général, avec lesquels toutes les opérations
arithmétiques et logiques sont effectuées
X, Y − indexes (pointeurs) à 16-bit:
contient l’adresse mémoire d’un liste de données
utilisé avec un décalage pour manipuler le élément de liste
PC − compteur de programme à 16 bits:
mécanisme qui gouverne l’exécution ordonnée d’instructions
contient l’adresse mémoire de la prochaine instruction à exécuter
SP − pointeur de pile à 16-bit:
contient l’adresse mémoire de la dernière valeur de pile
contrôle l’opération de la pile (FILO) en mémoire
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-22
A.2(3) Modèle du programmeur
Registre à code conditionnel (CCR) à 8 bits:
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-23
A.2(3) Modèle du programmeur
BIT TYPE FONCTION
S
contrôle S = 1: désactive l’instruction STOP (traitée comme NOP)
X
contrôle X = 1: permet des interruptions externes non-masquables
H
état
I
contrôle I = 0: permet des interruptions masquables
N
état
N = 1: indique que le résultat d’opération est négative
(dans la représentation en complément à 2)
Z
état
Z = 1: indique que le résultat d’opération est 0
V
état
V = 1: indique un résultat qui déborde en complément à 2
C
état
C = 1: indique que le résultat d’opération arithmétique a
produit une retenue ou emprunt pour le MSB
H = 1: indique que le résultat d’opération arithmétique a
produit une retenue à partir des 4 LSB
Université du Québec
École de technologie supérieure
GPA770: Microélectronique appliquée
Éric Granger
A.2-24
Téléchargement