université du québec École de technologie supérieure gpa770: microélectronique appliquée Éric...

24
Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS A . M ISE EN CONTEXTE B. C ONCEPTS LO G IC IELS ( PR O G R A M M A TIO N EN ASSEM BLEUR ET EN C) C . C ONCEPTS M ATÉRIELS ( COM POSANTS D UN M ICROCONTRÔLEUR )

Upload: hubert-piquet

Post on 04-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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)

Page 2: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 3: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 4: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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)

Page 5: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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:

Page 6: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 7: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 8: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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:

Page 9: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 10: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 11: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 12: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 13: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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:

Page 14: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 15: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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)

Page 16: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 17: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 18: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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.

Page 19: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 20: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 21: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 22: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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

Page 23: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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:

Page 24: Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS

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