CONTENU DU COURS 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. A.2 Architecture et programmation du 68HC12: systèmes électroniques universels architecture, sous-systèmes et mémoires instructions et modèle du programmeur GPA770: Microélectronique appliquée Éric Granger A.2-2
Sommaire de la Section A.2 A.2 Architecture et programmation du 68HC12: 1) Systèmes électroniques universels 2) Architecture, sous-systèmes et mémoires 3) Instructions et modèle du programmeur GPA770: Microélectronique appliquée Éric Granger A.2-3
A.1(5) Systèmes électroniques universels a. Système numérique déf.: un système composé de registres et de portes logiques contrôlées par un circuit séquentiel synchrone Structure: unité de contrôle + logique de traitement Avantage et inconvénients de l approche: donne généralement un système moins complexe plus facile à concevoir, changer et réparer le matériel mais, peut être plus lent qu un circuit dédié GPA770: Microélectronique appliquée Éric Granger A.1-4
A.1(5) Systèmes électroniques universels Exemple: périphérique SPI pour la communication sérielle synchrone GPA770: Microélectronique appliquée Éric Granger A.1-5
A.1(5) Systèmes électroniques universels b. Système numérique contrôlé par instructions déf.: système numérique qui traite des nombres binaires selon plusieurs différents algorithmes Structure: unité de contrôle + processeur générique Code d instruction ou instruction : indique à l UC lequel des algorithmes à effectuer chacun correspond à une séquence particulière de transitions dans la machine d état de l UC GPA770: Microélectronique appliquée Éric Granger A.1-6
A.1(5) Systèmes électroniques universels GPA770: Microélectronique appliquée Éric Granger A.1-7
A.1(5) Systèmes électroniques universels c. Processeur avec programme en mémoire déf.: système numérique contrôlé par instructions avec une mémoire pour les données et les instructions structure: processeur générique + unité de contrôle + mémoire Deux types d informations en mémoire: programme: séquence d instructions unité de contrôle données: pour effectuer les opérations processeur Architecture von Neumann vs Harvard GPA770: Microélectronique appliquée Éric Granger A.1-8
A.1(5) Systèmes électroniques universels Mémoire instructions contrôle données CPU Périphériques d e/s données Processeur générique Unité de contrôle Contrôle/état horloge GPA770: Microélectronique appliquée Éric Granger A.1-9
A.1(5) Systèmes électroniques universels Rôle des composants principaux: circuit d horloge: (crystal quartz + circuit logique) génère un signal numérique périodique stable pour synchroniser les composants de mémoire du système unité de contrôle: (circuit séquentiel synchrone) fonctionne selon un {instructions} reconnus génère les signaux de contrôle pour le reste du système selon une machine à états processeur générique: (UAL + logique + registres) effectue des opérations simples et communes GPA770: Microélectronique appliquée Éric Granger A.1-10
A.1(5) Systèmes électroniques universels Rôle des composants principaux: (suite) mémoire: (contient 2 types d informations) programme en ROM: stocke des séquences de codes d instructions accédés par l UC pour effectuer des tâches données en RAM: stocke les opérants et résultats d opérations requis par le processeur pour effectuer des instructions périphériques: (circuiterie pour interfacer) permet de transférer des données entre le processeur et modules externes (senseurs, actionneurs, etc.) via le bus de données GPA770: Microélectronique appliquée Éric Granger A.1-11
A.1(5) Systèmes électroniques universels Définitions à retenir: instruction: la plus petite unité d action qui peut être dictée au CPU (UC + processeur) dans un programme jeu d instructions du système: {instructions} valides, i.e., qu un CPU (UC + processeur) peut reconnaître et exécuter mode d adressage: façon d accéder aux données en mémoire qui sont requises pour exécuter une instruction GPA770: Microélectronique appliquée Éric Granger A.1-12
A.1(5) Systèmes électroniques universels Cycle d exécution d une instructions dans la machine universelle: 1. alimenter 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 alimenter executer decoder GPA770: Microélectronique appliquée Éric Granger A.1-13
A.1(5) Systèmes électroniques universels Catégories d instructions dans une machine universelle: arithmétique: +, -, x,, etc. logique: ET, OU, etc. charger/stocker (à partir de la mémoire) test et branchement (décisions pour modifier l ordre d exécution des instructions) entrée/sortie (communiquer avec autres composants) GPA770: Microélectronique appliquée Éric Granger A.1-14
Sommaire de la Section A.2 A.2 Architecture et programmation du 68HC12: 1) Systèmes électroniques universels 2) Architecture, sous-systèmes et mémoires 3) Instructions et modèle du programmeur GPA770: Microélectronique appliquée Éric Granger A.2-15
A.2(1) Architecture, 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) GPA770: Microélectronique appliquée Éric Granger A.2-16
A.2(1) Architecture, systèmes et mémoires Évolution du 68HC12: GPA770: Microélectronique appliquée Éric Granger A.2-17
A.2(1) Architecture, systèmes et mémoires Principaux modules dans tous les 68HC12: 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 (1Koctets) 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ée/sortie: ports d entrée/sortie module de temporisation (TIM) à 16 bits convertisseur analogique-numérique (ADC) à 8 bits interfaces de communications sérielles: SCI et SPI GPA770: Microélectronique appliquée Éric Granger A.2-18
A.2(1) Architecture, systèmes et mémoires Types de sous-systèmes dans le 68HC12: 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 GPA770: Microélectronique appliquée Éric Granger A.2-19
A.2(1) Architecture, systèmes et mémoires Plusieurs variantes du 68HC12: 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: MC9S12B32 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 à 25 MHz GPA770: Microélectronique appliquée Éric Granger A.2-20
A.2(1) Architecture, systèmes et mémoires Diagramme bloc du MC9S12C32: composants propres: la mémoire (32Kbytes de Flash EEPROM) modulateur de durée d impulsion (PWM) GPA770: Microélectronique appliquée Éric Granger A.2-21
A.2(1) Architecture, systèmes et mémoires Sous-système de mémoire du 68HC12: modèle général: liste adressable de registres lié à des registres, RAM et EEPROM physiques ADDR est de m = 16 bits, donc supporte ~64k d espace adressable DATA est de N = 16 bits GPA770: Microélectronique appliquée Éric Granger A.2-22
A.2(1) Architecture, 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 = 2 m, où m = largeur du ADDR capacité: largeur x longueur = n x M bits GPA770: Microélectronique appliquée Éric Granger A.2-23
A.2(1) Architecture, systèmes et mémoires Organisation en mémoire de données numériques: GPA770: Microélectronique appliquée Éric Granger A.2-24
A.2(1) Architecture, systèmes et mémoires Sous-système de mémoire: caractéristiques des mémoires RAM et ROM RAM volatile lire et écrire SRAM, DRAM, SDRAM, etc. temps d accès plus rapide, mais plus gros/coûteux stocker des variables temporaires ROM non-volatile lire seulement PROM, EPROM, EEPROM (effaçable par octet), FLASH EEPROM (effaçable par secteur)... temps d accès plus lent, mais très compacte stocker de programmes et constantes GPA770: Microélectronique appliquée Éric Granger A.2-25
A.2(1) Architecture, systèmes et mémoires Sous-système de mémoire: GPA770: Microélectronique appliquée Éric Granger A.2-26
A.2(1) Architecture, systèmes et mémoires Sous-système de mémoire: (MC9S12C32) GPA770: Microélectronique appliquée Éric Granger A.2-27
Sommaire de la Section A.2 A.2 Architecture et programmation du 68HC12: 1) Systèmes électroniques universels 2) Architecture, sous-systèmes et mémoires 3) Instructions et modèle du programmeur GPA770: Microélectronique appliquée Éric Granger A.2-28
A.2(2) Instructions et modèle programmeur Jeu d instructions: le 68HC12 peut comprendre et exécuter 209 différents instructions 7 catégories d instructions inclus toutes les instructions du 68HC11 inclus de nouvelles instructions mathématique sophistiquées Modes d adressage: très flexible 6 modes d adressage pour accéder aux données GPA770: Microélectronique appliquée Éric Granger A.2-29
A.2(2) Instructions et modèle programmeur Format d instructions en assembleur: étiquette op-code opérant(s) commentaires début: LDAA #FC ;charger l acc. A étiquette: identifie une ligne de code du programme permet de localiser une {instructions} à exécuter op-code: élément fonctionnel de l instruction opérant(s): information permettant d accéder aux données pour exécuter une instruction, via le mode d adressage commentaires: ; indique le début d un commentaire utile aussi pour documentation au début d une ligne GPA770: Microélectronique appliquée Éric Granger A.2-30
A.2(2) Instructions et modèle programmeur déf.: modèle compacte pour visualiser l état interne du CPU GPA770: Microélectronique appliquée Éric Granger A.2-31
A.2(2) Instructions et modèle 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 de données utilisé avec un décalage pour manipuler les éléments d une 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 au sommet de la pile contrôle l opération de la pile (structure FILO) en mémoire GPA770: Microélectronique appliquée Éric Granger A.2-32
A.2(2) Instructions et modèle programmeur Registre à code conditionnel (CCR) à 8 bits: GPA770: Microélectronique appliquée Éric Granger A.2-33
A.2(2) Instructions et modèle programmeur BIT TYPE FONCTION S X contrôle S = 1: désactive l instruction STOP (traitée comme NOP) 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 GPA770: Microélectronique appliquée Éric Granger A.2-34