GPA770: Micro - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

GPA770: Micro

Description:

C.1 Configurations mat rielles: architecture du syst me, m moire, et ... au nombre de registres qu'on peut adresser. M = 2m, o m = largeur du ADDR. capacit : ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 35
Provided by: RichardL174
Category:
Tags: adresser | gpa770 | micro

less

Transcript and Presenter's Notes

Title: GPA770: Micro


1
CONTENU DU COURS
2
Partie C - Concepts matériels
  • C.1 Configurations matérielles
  • architecture du système, mémoire, et ports de/s
  • C.2 Gestion dexceptions
  • réponses aux remises-à-zéro et aux interruptions
    avec le 68HC12
  • vecteur et priorité dexceptions, et routines de
    service dinterruption
  • 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.5 Interfaces de communications sérielles
  • communications sérielles avec un microcontrôleur
  • interfaces sérielles multiples du 68HC12 SCI et
    SPI

3
Sommaire de la section C.1
  • C.1 Configurations matérielles
  • Architecture du système 68HC12
  • Sous-système de mémoire
  • Ports dentrée/sortie

4
C.1(1) Architecture du système
  • Caractéristiques du 68HC12
  • introduit au marché en 1997 évolution plus
    performante et versatile (instructions, modes
    dadressage, 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

5
C.1(1) Architecture du système
  • Principaux modules dans tous les 68HC12
  • CPU12 unité de traitement central à haute
    performance de 16 bits
  • INT module de gestion dinterruption et de RAZ
  • Mémoire un bloc de registres (512 octets), de la
    RAM (1Koctets) et de la EEPROM (variable)
  • Bus le module LIM - combine les buses de DATA,
    dADDR et de CTRL
  • Périphériques dentrée/sortie
  • ports dentrée/sortie
  • module de temporisation (TIM) à 16 bits
  • convertisseur analogique-numérique (ADC) à 8
    bits
  • interfaces de communications sérielles SCI et
    SPI

6
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 dentrée/sortie
  • 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

7
C.1(1) Architecture du système
  • MC68HC912B32
  • avec composants propres
  • mémoire (32 Koctets de Flash EEPROM)
  • modulateur de durée dimpulsion (PWM)
  • En mode étendu, les bus ADDR et DATA sont
    multiplexés (ports A et B)
  • pas de ports C et D

8
C.1(1) Architecture du système
MC9S12C32
9
C.1(1) Architecture du système
  • Modes dopération
  • 3 modes normaux avec 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 daccès aux régions protégées
  • Configuration du mode dopération selon 3 broches
    externes
  • BKGD MODB MODA

10
C.1(1) Architecture du système
  • Mode normal circuit autonome
  • BKGD 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, B, C et D peuvent servir de GPIOs
  • ces ports parallèles font 1 octet chaque

11
C.1(1) Architecture du système
  • Mode dopération normal étendu
  • BKGD 1 MODB 0 MODA 1
  • utilisé quand la mémoire interne nest pas
    suffisante pour lapplication
  • les ports A et B forment un ADDR à 16 bits
  • les ports C et D forment un DATA à 16 bits
  • remarque C et D sont utilisés pour DATA car le
    CPU12 lit/écrit 2 octets (16 bits) à la fois,
    alignée sur les adresses paires...

12
C.1(1) Architecture du système
  • Mode dopération normal étendu étroit
  • BKGD 1 MODB 1 MODA 1
  • aussi utilisé quand la mémoire interne nest pas
    suffisante pour lapplication
  • les ports A et B forment un ADDR à 16 bits
  • le port C forme un DATA à 8 bits
  • les données de 16 bits sont transférées 1 octet à
    la fois le MSB premier, et ensuite le LSB
  • ladresse est auto incrémentée pour le LSB
  • le port D peut servir de GPIOs

13
C.1(1) Architecture du système
  • Interface - broches dentrées/sorties
  • boîtiers de puces pour la famille 68HC12 sont
    disponibles sous plusieurs formes
  • entre 80 et 112 broches, dont la fonction est
    partagée selon le mode dopération
  • pour un circuit ciblé autonome buses ADDR et
    DATA sont multiplexés pour fonctionner en mode
    étendu
  • types de broches
  • alimentation tension ou de référence Vxx
  • ports Pxx
  • contrôle externe XTAL, etc.

14
Sommaire de la section C.1
  • C.1 Configurations matérielles
  • Architecture du système 68HC12
  • Sous-système de mémoire
  • Ports dentrée/sortie

15
C.1(2) Sous-système de mémoire
  • Modèle général liste adressable de registres

16
C.1(2) Sous-système de mémoire
  • Capacité dune 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 quon peut
    adresser
  • M 2m, où m largeur du ADDR
  • capacité largeur x longueur n x M bits

17
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 DATA (interne) de N 2n 16 bits
  • bus ADDR de m 16 bits
  • adresses de 0000 à FFFF
  • donc on peut adresser
  • M 216 65, 536 64k registres
  • capacité potentielle de mémoire
  • C n x M 8 x 64 kbits

18
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
    dinstructions) 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

19
C.1(2) Sous-système de mémoire
MC9S12C32
20
C.1(2) Sous-système de mémoire
  • Bloc de registres
  • déf. registres (512 octets) à usage spécial
    qui permettent de configurer le 68HC12
  • contiennent les valeurs défaut après une remise à
    zéro
  • permettent dactiver un sous-système et de le
    configurer pour des tâches spécifiques
  • Exemples activer le ATD avec le registre ATDCTL2
  • ATDCTL2 EQU 0062 déclaration du registre
  • ......
  • LDAA 10000000 masque pour alimenter
    le ATD
  • STAA ATDCTL2

21
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
  • dinterroger (lire) les registres avec LDxx...
  • de manipuler (écrire) les registres avec STxx...
  • 000001FF adresses pour lensemble des
    registres du bloc
  • Note lusager devrait étiqueter chaque registre
    du bloc, et lui associer son adresse avec la
    directive EQU
  • car ce ne sont pas des mots réservés pour
    lassembleur

22
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

23
C.1(3) Sous-système de ports
  • définition périphériques permettant la
    communication binaire parallèle avec
    lenvironnement 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)

24
C.1(3) Sous-système de ports
  • Vue externe
  • Concept dentrée/sortie parallèle
  • un port de/s est un ensemble de 8 broches quon
    peut connecter avec un bus de 8 bits
  • donc 8 bits peuvent être lues/écrites
    simultanément
  • caractéristique commune au microprocesseurs qui
    permet des opérations dentrée/sortie rapides

25
C.1(3) Sous-système de ports
  • Vue externe
  • Le 68HC12 est un système à ports multiples
  • A H, J ports de/s dont la fonction dépend du
    mode dopération et des configurations
  • M, S 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

26
C.1(3) Sous-système de ports
27
C.1(3) Sous-système de ports
  • Vue interne
  • Architecture dentrée/sortie liées à la mémoire
  • on contrôle un port de/s à travers les registres
    internes du port, liés au bloc de registres
  • les bus DATA, ADDR et CTRL internes servent à
    contrôler les ports de/s, comme de la mémoire
  • les instructions LDxx et STxx permettant
    daccéder à la mémoire servent aussi à contrôler
    les ports de/s

28
C.1(3) Sous-système de ports
  • Vue interne
  • Procédure pour contrôler les ports
    dentrée/sortie
  • données en entrée
  • transfert entre fils connectés au port dentrée ?
    reg 68HC12
  • 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 reg 68HC12 ? fils connectés au
    port de sortie

29
C.1(3) Sous-système de ports
  • La fonction spécifique dun port dépend des
    configurations
  • on configure chaque port comme entrée, sortie, ou
    bien bi-directionnel (mixte)
  • avec un port bi-directionnel (e.g., A, B, P et
    T), certains bits sont en entrée, dautres sont
    en sortie
  • les adresses de ports devraient aussi être
    étiquetées avec la directive EQU
  • PORTA EQU 0000 voir le bloc de registres
  • DDRB EQU 0003

30
C.1(3) Sous-système de ports
  • Registres pour configurer un port
  • DDRx (Data Direction Register) configure les
    bits du port comme entrée (0) ou sortie (1)
  • PUCR (Pull Up Control Register) permet
    dutiliser des résistances intégrées pull-up
    pour toutes les broches dun port (applications
    dinterface)
  • RDRIV (Reduced Drive of I/O Line Registers)
    permet de réduire la capacité de conduite
    (courant) de toutes broches dun port de sortie

31
C.1(3) Sous-système de ports
  • Exemples configurer les port A et B comme entrée
    et sortie
  • PORTA EQU 0000 voir le bloc de registres
  • PORTB EQU 0001
  • DDRA EQU 0002
  • DDRB EQU 0003
  • 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

32
C.1(3) Sous-système de ports
  • Exemples élimine les résistances pull-ups sur
    ports B et C, et réduire le courant sur ports B
    et D
  • PUCR EQU ______ voir le bloc de registres
  • RDRIV EQU ______
  • ............
  • LDAA élimine pull-up sur
    A et B
  • STAA PUCR
  • LDAA _____ réduire de conduite sur B
  • STAA RDRIV

33
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

34
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
    interne25 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
Write a Comment
User Comments (0)
About PowerShow.com