contenu du cours

33
Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.1-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: angeni

Post on 12-Jan-2016

45 views

Category:

Documents


2 download

DESCRIPTION

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 - PowerPoint PPT Presentation

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