contenu du cours
Post on 12-Jan-2016
45 Views
Preview:
DESCRIPTION
TRANSCRIPT
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-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érieureGPA770: Microélectronique appliquée
Éric GrangerC.1-2
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 68HC12vecteur et priorité d’exceptions, et routines de service d’interruption
C.3 Module de temporisation: module de temporisation standard du 68HC12saisie des entrées et comparaison de sorties
C.4 Convertisseurs analogique-numérique:processus de conversionsystème de conversion du 68HC12
C.5 Interfaces de communications sérielles:communications sérielles avec un microcontrôleurinterfaces sérielles multiples du 68HC12: SCI et SPI
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-3
Sommaire de la section C.1
C.1 Configurations matérielles: 1) Architecture du système 68HC12
2) Sous-système de mémoire
3) Ports d’entrées/sorties
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-4
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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-5
C.1(1) Architecture du système
Principaux modules dans tous les 68HC12: 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 (1Koctets), de la RAM (2Koctets) et de la EEPROM (32Koctets)
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 bitsconvertisseurs analogiques/numériques (ADC) à 8 bitsinterfaces de communications sérielles: SCI et SPI
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-6
C.1(1) Architecture du système
Plusieurs variantes du 68HC12:
différences entre variantes selon: la structure de la mémoirele nombre et partage de canaux d’entrées/sortiesla 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-7
C.1(1) Architecture du système
Si configuré en mode étendu, les bus ADDR et DATA sont multiplexés avec le port A et B.
MC9S12C32
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-8
C.1(1) Architecture du système
Modes d’opération3 modes normaux: protection de régions1. mode normal circuit autonome2. mode normal étendu: bus DATA de 16 bits3. mode normal étendu étroit: bus DATA de 8 bits
5 modes spéciaux:pour les tests et le développement en usinedonne ± d’accès aux régions protégées
Configuration du mode d’opération selon 3 broches externes:
MODC MODB MODA
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-9
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 GPIOsces ports ont chacun 1 octet de large
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-10
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...
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-11
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’applicationles ports A et B forment un ADDR à 16 bitsle port A forme un DATA à 8 bits
les données de 16 bits sont transférées 1 octet à la fois.
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-12
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é non 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.)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-13
Sommaire de la section C.1
C.1 Configurations matérielles: 1) Architecture du système 68HC12
2) Sous-système de mémoire
3) Ports d’entrées/sorties
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-14
C.1(2) Sous-système de mémoire
Modèle général: liste adressable de registres
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-15
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 registreN = 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é: largeur x longueur = n x M bits
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-16
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 à $FFFFdonc on peut adresser
M = 216 = 65, 536 ~ 64k registres
capacité potentielle de mémoire: 8 bits x 64k
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-17
C.1(2) Sous-système de mémoire
Composants de mémoire interne au 68HC12: 1. bloc de registres: configurations du contrôleur2. RAM: variable temporaires3. 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-18
C.1(2) Sous-système de mémoire
MC9S12C32:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-19
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éropermettent 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-20
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:1. d’interroger (lire) les registres: avec LDxx...2. de manipuler (écrire) les registres: avec STxx...
[$0000:$03FF] – adresses pour l’ensemble des registres du bloc. Rappel: $0000 à $00FF mode d’adressage direct.
Note: Le fichier mc9s12c32.inc étiquette chaque registre du bloc en lui associant son adresse avec la directive EQU et plus encore.
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-21
Sommaire de la section C.1
C.1 Configurations matérielles: 1) Architecture du système 68HC12
2) Sous-système de mémoire
3) Sous-système de ports
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-22
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 est liés à la mémoire (appartient au bloc de registres)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-23
C.1(3) Sous-système de ports
Vue externeConcept d’entrée/sortie parallèle:
un port d’e/s est un ensemble de 8 broches qu’on peut connecter avec un bus de 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-24
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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-25
C.1(3) Sous-système de ports
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-26
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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-27
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: 1. transfert entre fils connectés au port d’entrée → 68HCS12 2. utilise les instructions pour lire des données de la
mémoire (LDAA, MOVB, etc.)
données en sortie: 1. utilise les instructions pour écrire des données à la
mémoire (STAA, MOVB, etc.)2. transfert entre 68HCS12 → fils connectés au port de sortie
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-28
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 sortiesles 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-29
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 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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-30
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
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-31
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 ??
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-32
C.1(3) Sous-système de ports
Exemple: Feux de circulationORG $0800LDAA #%00111111 ; Broches du PORTA en sortieSTAA DDRA
MAIN LDAA #%00100001 ; RE et VN actifs au débutSTAA PORTA ; Active les LEDsJSR DELAI3 ; Sous-routine de délai de 3 sec
LDAA #%00010001 ; RE et JN actifsSTAA PORTA ; Active les LEDsJSR DELAI1 ; Sous-routine de délai de 1 sec
LDAA #%00001100 ; VE et RN actifsSTAA PORTA ; Active les LEDs JSR DELAI3 ; Sous-routine de délai de 3 sec
LDAA #%00001010 ; JE et RN are actifsSTAA PORTA ; Active les LEDs JSR DELAI1 ; Sous-routine de délai de 1 sec
BRA MAIN ; Brancher au MAIN, répéter toujoursEND
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerC.1-33
C.1(3) Sous-système de ports
Exemple: Feux de circulation
DELAI3 LDY #120 ;120 fois en boucle externeLoop2 LDX #50000 ; 50,000 fois en boucle interne=25 msecLoop1 DEX ; décrémente X
BNE Loop1 ; boucle interneDEY ; décrémente YBNE Loop2 ; boucle externeRTS ; retour de la sous-routine
DELAI1 LDY #40 ; 40 fois en boucle externeLoop4 LDX #50000Loop3 DEX
BNE Loop3 DEY BNE Loop4RTS
top related