université du québec École de technologie supérieure gpa770: microélectronique appliquée Éric...
TRANSCRIPT
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
A.2-1
CONTENU DU COURS
A. MISE EN CONTEXTE
B. CONCEPTS LOGICIELS
(PROGRAMMATION EN ASSEMBLEUR ET
EN C)
C. CONCEPTS MATÉRIELS
(COMPOSANTS D’UN MICROCONTRÔLEUR)
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
A.2-2
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-3
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires2) Instructions du 68HC123) Modèle du programmeur
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
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-5
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-6
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 bitsmodules 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/sortiesmodule de temporisation (TIM) à 16 bitsconvertisseur analogique-numérique (ADC) à 8 bitsinterfaces 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-7
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émoirele nombre de canaux d’entrée/sortiela 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-8
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-9
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 synchronestemporisation: 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 serviceports: é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-10
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 CTRLc) 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 externetemporisation: 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)
A.2(1) Architecture, sous-systèmes et mémoires
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
Sous-système de mémoire du 68HCS12: modèle général: liste adressable de registresconsiste de registres, RAM et EEPROMADDR est de m = 16 bits, donc supporte ~64k d’espace adressableDATA 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.1-12
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.2-13
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-14
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 ROMvolatile 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-15
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-16
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires2) Instructions du 68HC123) Modèle du programmeur
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
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-18
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-19
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
decoderexecuter
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
A.2-20
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Architecture, sous-systèmes et mémoires2) Instructions du 68HC123) Modèle du programmeur
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
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-22
A.2(3) Modèle du programmeur
A et B − accumulateurs à 8 bits:D − combine A et B pour former un accumulateur à 16 bitsregistres à 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’instructionscontient 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 pilecontrô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-23
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-24
A.2(3) Modèle du programmeur
BIT TYPE FONCTIONS 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 H = 1: indique que le résultat d’opération arithmétique a produit une retenue à partir des 4 LSB
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