330 likes | 499 Views
CONTENU DU COURS. Partie C − Concepts matériels. C.1 Con figurations matérielles : architecture du système, mémoire, et ports d’e/s C.2 Gestion d’exceptions: réponses aux remises-à-zéro et aux interruptions avec le 68HC12
E N D
CONTENU DU COURS GPA770: Microélectronique appliquée Éric Granger
Partie C − Concepts matériels C.1 Configurations matérielles: • architecture du système, mémoire, et ports d’e/s C.2 Gestion d’exceptions: • réponses aux remises-à-zéro et aux interruptions avec le 68HC12 • vecteur et priorité d’exceptions, et routines de service d’interruption C.3 Module de temporisation: • module de temporisation standard du 68HC12 • saisie des entrées et comparaison de sorties C.4 Convertisseurs analogique-numérique: • processus de conversion • système de conversion du 68HC12 C.5Interfaces de communications sérielles: • communications sérielles avec un microcontrôleur • interfaces sérielles multiples du 68HC12: SCI et SPI GPA770: Microélectronique appliquée Éric Granger
Sommaire de la section C.1 C.1 Configurations matérielles: • Architecture du système 68HC12 • Sous-système de mémoire • Ports d’entrées/sorties GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Caractéristiques du 68HC12: • introduit au marché en 1997 – évolution plus performante et versatile (instructions, modes d’adressage, etc.) du 68HC11 • 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 • architecture de système = un ensemble de modules interconnecté par un bus interne GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Principaux modules dans tous les 68HC12: • CPU12:unité de traitement central à haute performance de 16 bits • modules de gestion d’interruptions et de remise à zéro • Mémoire:unbloc de registres (1Koctets), de la RAM (2Koctets) et de la EEPROM (32Koctets) • Bus:le module LIM─combine les buses de DATA, d’ADDR et de CTRL • Périphériques d’entrées/sorties: • ports d’entrées/sorties • module de temporisation (TIM) à 16 bits • convertisseurs analogiques/numériques (ADC) à 8 bits • interfaces de communications sérielles: SCI et SPI GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Plusieurs variantes du 68HC12: • différences entre variantes selon: • la structure de la mémoire • le nombre et partage de canaux d’entrées/sorties • la configuration pour les communications sérielles • en cours: MC68HC912B32 ciblé pour mode circuit autonome • au laboratoire: MC9S12C32 (série 68HCS12 − introduit au marché en 2002), avec plus de mémoire interne et une horloge à 25 MHz GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système MC9S12C32 Si configuré en mode étendu, les bus ADDR et DATA sont multiplexés avec le port A et B. GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Modes d’opération • 3 modes normaux: protection de régions • mode normal circuit autonome • mode normal étendu: bus DATA de 16 bits • mode normal étendu étroit: bus DATA de 8 bits • 5 modes spéciaux: • pour les tests et le développement en usine • donne ± d’accès aux régions protégées • Configuration du mode d’opération selon 3 broches externes: MODC MODB MODA GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Mode normal circuit autonome: MODC = 1 MODB = 0 MODA = 0 • utilisé quand toutes les ressources (mémoire pour programmes et variables) sont contenues dans le microcontrôleur • suppose aucun bus externe ADDR ou DATA • les ports A et B peuvent servir de GPIOs • ces ports ont chacun 1 octet de large GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Mode d’opération normal étendu: MODC = 1 MODB = 1 MODA = 1 • utilisé quand la mémoire interne n’est pas suffisante pour l’application • les ports A et B forment un ADDR à 16 bits • les ports A et B forment un DATA à 16 bits • remarque: Le port E est utilisé pour les signaux de contrôle. Le CPU12 lit/écrit 2 octets (16 bits) à la fois, alignés sur les adresses paires... GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Mode d’opération normal étendu étroit : MODC = 1 MODB = 0 MODA = 1 • aussi utilisé quand la mémoire interne n’est pas suffisante pour l’application • les ports A et B forment un ADDR à 16 bits • le port A forme un DATA à 8 bits • les données de 16 bits sont transférées 1 octet à la fois. GPA770: Microélectronique appliquée Éric Granger
C.1(1) Architecture du système • Interface − broches d’entrées/sorties • boîtiers de puces pour la famille 68HCS12 sont disponibles sous plusieurs formes: • 48, 52 et 80 broches, dont la fonction est partagée selon le mode d’opération • pour un circuit ciblé autonome: buses ADDR et DATA sont multiplexés pour fonctionner en mode étendu • types de broches: • broches de tension ou de référence (Vxx) • broches pour ports (Pxx) • broches divers: signaux externes (XTAL, etc.) GPA770: Microélectronique appliquée Éric Granger
Sommaire de la section C.1 C.1 Configurations matérielles: • Architecture du système 68HC12 • Sous-système de mémoire • Ports d’entrées/sorties GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire • Modèle général:liste adressable de registres GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire • Capacité d’une mémoire: • largeur de mémoire (n): • correspond au nombre de bits par registre • N = largeur du DATA (N 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é: largeurxlongueur = nx M bits GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire • Capacité – modèle de mémoire du 68HC12: • n = 8 bits (1 octet) par registre • bus de donnée interne de N = 16 bits • bus d’adresse de m = 16 bits: • adresses de $0000 à $FFFF • donc on peut adresser M = 216 = 65, 536 ~ 64k registres • capacité potentielle de mémoire: 8 bits x 64k GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire • Composants de mémoire interne au 68HC12: • bloc de registres: configurations du contrôleur • RAM: variable temporaires • Flash EEPROM: programmes (i.e., séquences d’instructions) et constantes • Allocation des composants: • dépend du montage spécifique (configuration, carte, etc.) • chaque composant peut être lié à une autre espace mémoire sur les bornes 2k ou 4k-octets • Expansion mémoire:en ‘mode étendue’ on peut allouer un espace adressable à un composant mémoire externe GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire MC9S12C32: GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire Bloc de registres • déf.: {registres} (1Koctets) à usage spécial qui permettent de configurer le 68HCS12 • contiennent les valeurs par défaut après une remise à zéro • permettent d’activer un sous-système et de le configurer pour des tâches spécifiques • Exemples: spécifier au SCI sa vitesse de transmission et de réception de bits par seconde. MOVB #$00, SCIBDH MOVB #$34, SCIBDL ; SCI = 9600 BAUDS GPA770: Microélectronique appliquée Éric Granger
C.1(2) Sous-système de mémoire • Les registres de configuration sont liés à la mémoire: • une adresse spécifique du bloc est associée à chacun des registres de configuration, permettant ainsi: • d’interroger (lire) les registres: avec LDxx... • de manipuler (écrire) les registres: avec STxx... • [$0000:$03FF] – adresses pourl’ensemble des registres du bloc. Rappel: $0000 à $00FF mode d’adressage direct. • Note: Le fichier mc9s12c32.inc étiquettechaque registre du bloc en lui associantson adresse avec la directive EQU et plus encore. GPA770: Microélectronique appliquée Éric Granger
Sommaire de la section C.1 C.1 Configurations matérielles: • Architecture du système 68HC12 • Sous-système de mémoire • Sous-système de ports GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • déf.: périphériques permettant la communication binaire parallèle avec l’environnement externe • Chaque port a un côté externe et interne: • vue externe:chaque port est un bus de 8 bits permettant la communication de données avec un composant externe • vue interne:chaque port est un registre qui estliés à la mémoire (appartient au bloc de registres) GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports Vue externe • Concept d’entrée/sortie parallèle: • un port d’e/s est un ensemble de 8 broches qu’on peut connecter avec un bus data de 8 bits: • donc 8 bits pouvant être lus/écrits simultanément • caractéristique commune au microprocesseurs qui permet des opérations d’entrées/sorties rapides GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports Vue externe • Le 68HCS12 est un système à ports multiples: • A, B, E et J: ports d’e/s dont la fonction dépend du mode d’opération et des configurations • S, M: ports pour les modules SCI et SPI • T: port pour le module TIM • P: port pour le module PWM • AD: port pour le module ATD GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports Vue interne • le 68HCS12 est une architecture d’e/s liée à la mémoire: • on contrôle un port d’e/s à travers les registres du port, liés au bloc de registres (voir annexe B p.564 J. Pack) • les bus DATA, ADDR et CTRL servent à contrôler les ports d’e/s, comme de la mémoire • les mêmes instructions sont utilisées pour accéder la mémoire servent à contrôler les ports d’e/s GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports Vue interne • Procédure pour contrôler les ports d’entrées/sorties: • données en entrée: • transfert entre fils connectés au port d’entrée → 68HCS12 • utilise les instructions pour lire des données de la mémoire (LDAA, MOVB, etc.) • données en sortie: • utilise les instructions pour écrire des données à la mémoire (STAA, MOVB, etc.) • transfert entre 68HCS12→ fils connectés au port de sortie GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • La fonction spécifique d’un port dépend des configurations: • on configure chaque port comme entrée, sortie, ou bien bidirectionnel (mixte) • avec un port bidirectionnel certains bits sont en entrées, d’autres sont en sorties • les adresses des ports peuvent être étiquetées avec la directive EQU (déjà fait dans le fichier mc9s12c32.inc) PORTA EQU $0000 ; voir le bloc de registres DDRB EQU $0003 GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • Registres pour configurer un port: • DDR (‘Data Direction Register’): configure les bits du port comme entrée (‘0’) ou sortie (‘1’) • PER/PPS (‘Pull Up Control Register’): permet d’utiliser des résistances intégrées ‘pull-up/down’ pour une ou plus des broches d’un port (applications d’interface) • RDR (‘Reduced Drive of I/O Line Registers’): permet de réduire la capacité de conduite (courant) pour une ou plus des broches d’un port de sortie GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • Exemples: configurer les port A et B comme entrée et sortie PORTA EQU $0000 ; fichier mc9s12c32.inc PORTB EQU $0001 ; fichier mc9s12c32.inc DDRA EQU $0002 ; fichier mc9s12c32.inc DDRB EQU $0003 ; fichier mc9s12c32.inc ORG $4000 CLRA ; configurer le PORT A en entrée STAA DDRA COMA ; configurer le PORT B en sortie STAA DDRB ; écrire au port B ; lire du port A END GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • Exemples: les résistances pour pull-up ou pull-down sur le ports P en entrée. Page 94, MC9S12C128.pdf MOVB #$0F,PERP ; permettre un PULL sur ?? MOVB #$0F,PPSP ; PULL-UP ou DOWN sur ?? GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • Exemple: Feux de circulation ORG $0800 LDAA #%00111111 ; Broches du PORTA en sortie STAA DDRA MAIN LDAA #%00100001 ; RE et VN actifs au début STAA PORTA ; Active les LEDs JSR DELAI3 ; Sous-routine de délai de 3 sec LDAA #%00010001 ; RE et JN actifs STAA PORTA ; Active les LEDs JSR DELAI1 ; Sous-routine de délai de 1 sec LDAA #%00001100 ; VE et RN actifs STAA PORTA ; Active les LEDs JSR DELAI3 ; Sous-routine de délai de 3 sec LDAA #%00001010 ; JE et RN are actifs STAA PORTA ; Active les LEDs JSR DELAI1 ; Sous-routine de délai de 1 sec BRA MAIN ; Brancher au MAIN, répéter toujours END GPA770: Microélectronique appliquée Éric Granger
C.1(3) Sous-système de ports • Exemple: Feux de circulation DELAI3 LDY #120 ;120 fois en boucle externe Loop2 LDX #50000 ; 50,000 fois en boucle interne=25 msec Loop1 DEX ; décrémente X BNE Loop1 ; boucle interne DEY ; décrémente Y BNE Loop2 ; boucle externe RTS ; retour de la sous-routine DELAI1 LDY #40 ; 40 fois en boucle externe Loop4 LDX #50000 Loop3 DEX BNE Loop3 DEY BNE Loop4 RTS GPA770: Microélectronique appliquée Éric Granger