Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-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 )
58
Embed
Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-1 CONTENU DU COURS.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-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érieure GPA770: Microélectronique appliquéeÉric Granger
C.2-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 des exceptions:réponses aux remises-à-zéro et aux interruptions avec le 68HCS12vecteur 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érieure GPA770: Microélectronique appliquéeÉric Granger
C.2-3
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et
interruptions2)Sous-systèmes du 68HC12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-4
C.2(1) Exceptions
Déf.: un événement qui vient suspendre l’exécution normal d’un programme
Catégories d’exceptions:1. remise-à-zéro (RAZ): en réponse à cet événement,
le CPU exécute une routine d’initialisation, et repart dans un état connu (stable)
2. interruption (INT): en réponse à cet événement, le CPU exécute une routine de service, et repart à l’adresse à laquelle le programme a été suspendu
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-5
C.2(1) Exceptions
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-6
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et interruptions2)Sous-systèmes du 68HCS12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-7
C.2(2) Sous-systèmes du 68HC12Rôle des types de sous-systèmes dans le 68HC12: a) CPU12: unité de traitement central
Gestion des exceptions: interrompre l’exécution normal d’un programme
b) Module LIM: combine les buses DATA, ADDR et CTRLc) Mémoire: stocker des configurations (bloc), des variables (RAM) et
des programmes (ROM)d) Périphériques d’entrée/sortie:
ports d’entrée/sortie: échanger des données avec le monde externetemporisation: capter des entrées, générer des sorties, accumuler des impulsions, PWM conversion de données: convertir un signal analogique en codes binaires non-signés communication sérielle: échanger de données par communications asynchrones (SCI) et synchrones (SPI)
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-8
C.2(2) Sous-systèmes du 68HC12
MC9S12C32
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-9
C.2(2) Sous-systèmes du 68HC12
RESETIRQXIRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-10
C.2(2) Sous-systèmes du 68HC12
Taxonomie des exceptions du 68HC12:
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-11
C.2(2) Sous-systèmes du 68HC12
Remise-à-zero (‘reset’ ou RAZ) du système
Étape de traitement – lorsqu’une RAZ est enclenchée, le CPU:
1. place le vecteur de la RAZ dans le PC (i.e., une adresse mémoire qui correspond au type de RAZ);
2. effectue un branchement vers cette adresse;
3. réexécute l’initialisation du système pour reprendre dans un état stable et bien défini.
remarque: on ne revient pas à l’endroit d’exécution atteint avant que la RAZ ait eu lieu.
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-12
C.2(2) Sous-systèmes du 68HC12
Événements qui enclenchent une RAZ du système:
1. RAZ d’alimentation (‘power on’): quand l’alimentation est appliqué au 68HC12
2. RAZ externe: le 68HC12 est équipé avec une broche de RAZ qui est active sur une valeur basse: .
sur la carte de développement du laboratoire, cette broche est connectée à un des boutons poussoirs
3. RAZ de surveillance d’horloge − CM (‘Clock Monitor’): quand la fréquence de l’horloge du système tombe sous un certain seuil, ou quand l’horloge s’arrête
RESET
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-13
C.2(2) Sous-systèmes du 68HC12
4. RAZ de surveillance d’ordinateur − COP (‘Computer Operating Properly’): quand il y a un gel ou un défaut dans l’exécution du programme
sous-système COP: normalement désactivé lors du développement, mais
représente une mesure préventive importante lors d’opération
consiste d’une minuterie configurable qui décompte: le programme doit écrire $55, suivi de $AA, dans un
registre spécifique avant l’expiration de la minuterie sinon, on suppose un gel du programme, et une RAZ COP est enclenchée
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-14
C.2(2) Sous-systèmes du 68HC12
Registres du bloc associés au CM et au COP:
[$003C] COPCTL − registre de contrôle du COP (‘COP Control Register’):
permet d’activer et configurer les RAZ de type CM et COPpermet de spécifier le délai d’expiration de la minuterie
[$003F] ARMCOP − registre de minuterie COP (COP Reset Register’):
la séquence de $55 et de $AA doit être écrite dans ce registre avant l’expiration de la minuterie
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-15
C.2(2) Sous-systèmes du 68HC12
Registre COPCTL:
BIT FONCTIONWCOP Si = 1, mode Window (dernier 25%) du temps d’expiration
RSBCK Reste acif en BDM
CR2:CR0 spécifient le délai d’expiration de la minuterie, et permet l’activation du système COP
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-16
C.2(2) Sous-systèmes du 68HC12
CR[2:0] − intervalle d’expiration de minuterie:
16MHz/2^14 = 976Hz. = 1 ms.
16MHz/2^24 = 1Hz. = 1 sec.
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-17
C.2(2) Sous-systèmes du 68HC12
Exemple: Programme qui écrit la séquence $55 et $AA dans ARMCOP. Le délai d’expiration de minuterie est de 1sec
COPCTL EQU $003C ; adresse de COPCTLARMCOP EQU $003F ; adresse de COPRST
TIMEOUT EQU $07 ; activer avec expiration de 1sec
ORG $4000LDAA #TIMEOUTSTAA COPCTL ; active le COP et fixe
l’expiration
▪▪▪▪
Debut: MOVB #$55, ARMCOP ; écrit $55 au COPRST
▪▪▪▪
MOVB #$AA, ARMCOP ; écrit $AA au COPRSTBRA Debut
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-18
C.2(2) Sous-systèmes du 68HC12
Classification des exceptions du 68HC12:
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-19
C.2(2) Sous-systèmes du 68HC12
Interruption (INT) – événement prioritaire qui est planifié mais imprévu dans le temps, pour:
la coordination des activités avec périphériques d’e/s, sans devoir constamment vérifier leur étatla gestion élégante des erreursrappeler au CPU d’effectuer une tâche routinière
Suite à la détection de cet événement, le CPU:1. permet une suspension ordonnée du programme principal
2. exécute une routine de service
3. reprend à l’adresse à laquelle le programme a été suspendu
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-20
C.2(2) Sous-systèmes du 68HC12
Deux techniques logiciels pour la coordination d’activités avec périphériques d’e/s:
1. approche par balayage de ports (‘polling’): le CPU vérifie périodiquement l’activation d’un drapeau qui indique un événement► le programme est occupé à attendre un drapeau
2. approche par interruption: une INT indique au CPU lorsqu’un événement a eu lieu► le programme peut exécuter d’autres tâches
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-21
C.2(2) Sous-systèmes du 68HC12
Catégories d’INT ─ selon le masquage:
activation d’un masque ≡ le CPU ne peut percevoir une INT
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-22
C.2(2) Sous-systèmes du 68HC12Catégories d’INT ─ selon le masquage:
INT non-masquable ≡ le masque ne peut être activé par instructions
pour le TRAP et SWI: on ne peut jamais les masquerpour le XIRQ: le masque est normalement activé (X=1) suite à une RAZ ou un XIRQ, et désactivé (X=0) une seule fois quand le système est stable à l’aide d’un instruction
INT masquable ≡ le masque peut être activé et désactivé par instructions
le masque est normalement activé (I=1) par instructions, ou avec une RAZ, et désactivé (I=0) par instructionsle masque s’active temporairement lors d’un INT non-masquable
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-23
C.2(2) Sous-systèmes du 68HC12
Registre à code de contrôle (CCR) à 8 bits:
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-24
C.2(2) Sous-systèmes du 68HC12
Étapes d’activation d’une INT masquable:
1. Activation du système global: il faut désactiver le bit de contrôle I du CCR (fixer I= 0)
le bit ‘I’ est contrôlé par les instructions spécialisées:
CLI: ‘Clear Interrupt Mask’ – active le système d’INT NM global (I=0)
SEI: ‘Set Interrupt Mask’ – désactive le système d’INT NM global (I=1)
2. Activation du système local: il faut activer le matériel d’interruption spécifique
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-25
C.2(2) Sous-systèmes du 68HC12
Événements qui peuvent enclencher une INT non-masquable:
1. instructions non existantes: si le CPU tente d’exécuter une instruction inconnue ou non spécifiée
Exemple: instructions à 2 octets: p. 396 CPU12$18 $30 à $18 $39 et $18 $40 à $18
$FF
2. l’instruction d’INT logiciel: si le CPU exécute l’instruction SWI
3. requête d’interruption non-masquable externe: si la tension sur la broche est basse
XIRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-26
C.2(2) Sous-systèmes du 68HC12
Événements qui peuvent enclencher une INT masquable:
1. requête d’interruption masquable externe: selon la valeur sur la broche (actif bas)
2. interruptions en temps réel (RTI): généré selon une intervalle périodique qui est pré-définit par l’usager
pour rappeler l’exécution d’une tâche routinière
3. les canaux du système de temporisation (TIM): généré lorsqu’un événement (pré-définit par l’usager) à lieu sur un de ses 8 canaux
IRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-27
C.2(2) Sous-systèmes du 68HC12
4. le débordement du compteur au TIM: généré quand le drapeau TOF (‘Timer Overflow Flag’ − bit 7 du registre TFLG2) devient actif quand le compteur à 16 bits compte jusqu’à 65,536 et
déborde utile pour réaliser un délai ou pour chronométrer des
événements
5. le débordement de l’accumulateur d’impulsions au TIM: généré quand le compteur interne de l’accumulateur d’impulsions déborde
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-28
C.2(2) Sous-systèmes du 68HC12
6. la transition d’entrée de l’accumulateur d’impulsions au TIM: généré chaque fois qu’un événement a lieu à l’accumulateur d’impulsions
utile pour compter des événements externes au 68HC12
7. l’interfaces de communications sérielles: généré pour indiquer l’état d’une transmission avec modules SCI et SPI
8. le système de conversion N-A (ATD): généré pour indiquer lorsque la conversion N-A est complète
9. le système de réveil: généré pour réveiller le 68HC12 en mode WAIT ou STOP
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-29
C.2(2) Sous-systèmes du 68HC12
Exemple: activation de l’INT
Étapes d’activation d’une INT masquable:1. activation global: fixer le bit I du CCR à 0 avec l’instruction
CLI
2. activation local: fixer le bit 6 (IRQEN = 1) du registre INTCR
(‘Interrupt Condition Register’ – adresse $001E)
Remarque − le bit 7 (IRQE) du registre INTCR permet de sélectionner la sensibilité aux transitions: IRQE = 0: la broche est configurée pour reconnaître le
niveau actif bas IRQE = 1: la broche est configurée pour reconnaître la
transition descendante
IRQ
IRQ
IRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-30
C.2(2) Sous-systèmes du 68HC12
Exemple: activation de l’INT
INTCR EQU $001E ; adresse du registre INTCR
INTCR_INI EQU $C0 ; initialise la valeur de INTCR
ORG $4000
CLI ; désactive le bit I du CCR
LDAA #INITCR_INI
STAA INTCR ; activer INTCR
▪▪▪▪
IRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-31
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et interruptions2)Sous-systèmes du 68HC12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-32
C.2(3) Vecteurs d’exception
Déf.: mécanisme qui redirige le CPU vers l’action correspondante à un exception
chaque exception demande un traitement ou une routine qui est spécifique:
chaque RAZ → réinitialisation chaque INT → routine de service d’INT (RSI)
qui est stockée en mémoire
Vecteur d’interruption ≡ adresses mémoires (de 16 bits) qui indiquent au CPU les adresses de départ des routines de service.
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-33
C.2(3) Vecteur d’exception
Le vecteur d’exceptions:contient toutes les adresses des routines
l’emplacement du vecteur: adresses mémoire $FF80 à $FFFF les 128 derniers octets du modèle de mémoire
chacune de ces adresses est associée avec un type spécifique d’exception
remarque: l’usager doit créer le lien aux vecteurs
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-34
C.2(3) Vecteur d’exceptionVecteur d’exception pour le 68HC12:
prioritéplus élevée
prioritéplus basse
non-masquable
masquable
RAZs
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-35
C.2(3) Vecteur d’exception
Priorité des exceptions:
les exceptions sont exécutées dans l’ordre descendante de priorité, dictée par la table de vecteurs:
une exception ne peut interrompre l’exécution d’une routine même si elle détient une priorité plus élevée.
Ordre:1. RAZ: priorité fixe, et ne peut être changée2. interruptions non-masquables: priorité fixe, et ne peut être changée3. interruptions masquables: priorité fixe qui peut être modifiée en
écrivant une séquence de bits spécifique au registre HPRIO (‘High Priority Interrupt’ – adresse $001F)
la dernière colonne de la table donne la valeur qui doit être écrite au HPRIO pour lui allouer la plus haute priorité
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-36
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et interruptions2)Sous-systèmes du 68HC12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-37
C.2(4) Réponses aux interruptions
Étapes d’exécution d’une instruction:
1. lecture − charger le op-code et opérants de la mémoire au registre d’instructions
2. décodage − interpréter l’instruction et traduire en actions du CPU
3. exécution − effectuer les opérations liées à l’instruction.
lecture décodage
exécution
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-38
C.2(4) Réponses aux interruptions
Réponse générale aux INT du 68HCS12:
lecture décodage
exécution
RSI
Sauf l’instruction REV de la logique floue
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-39
C.2(4) Réponses aux interruptions
Réponse spécifique aux INT:
Entrée en INT: le CPU permet une suspension ordonnée du programme principal
1. termine l’exécution normal de l’instruction en cours
2. stocke tous les registres CPU sur la pile (CCR inclus) on suppose que tous ces registres sont pertinents
au moment de la suspension
3. transfert le contrôle d’exécution à une RSI qui est spécifique à l’interruption
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-40
C.2(4) Réponses aux interruptions
Réponse spécifique aux INT: (suite)
Sortie d’une INT: à le fin de la RSI, exécute l’instruction RTI
1. restaure l’état original du processeur (la valeur de tous les registres CPU) avec la pile (CCR inclus)
2. transfert le contrôle d’exécution au programme principal, là ou il était avant l’INT
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-41
C.2(4) Réponses aux interruptions
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-42
C.2(4) Réponses aux interruptions
Utilisation de la pile:lors d’une INT, le CPU
place les registres CPU sur la pile dans l’ordre suivant:
1. PC2. Y3. X4. D (B:A)5. CCR
quand l’instruction RTI est
exécutée, le CPU retire les
registres clés dans l’ordre inverse
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-43
C.2(4) Réponses aux interruptions
Instruction RTI (‘Return from Interrupt’):
RTI connaît le format de l’état stocké sur la pile, et restore correctement cet état dans les registres
il configure aussi le CPU pour gérer les INT futurs
après le retour, le programme principale n’a aucun idée qu’une interruption a eu lieu.
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-44
C.2(4) Réponses aux interruptions
Instruction WAI (‘Wait for Interrupt’):
1. stocke la valeur de tous les registres clés sur la pile2. ne procède pas à la prochaine instruction3. place le 68HCS12 en mode basse puissance en
attente pour une interruption4. arrête l’horloge du CPU
Avantages:accélérer l’entrée à la RSI (car le CPU a déjà stocké les registres clés sur la pile)réduire sa consommation de puissance (car il ne doit pas exécuter une boucle infinie en attente pour l’interruption)
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-45
C.2(4) Réponses aux interruptions
Instruction STOP (‘Stop Processing’):
1. stocke la valeur de tous les registres clés sur la pile2. ne procède pas à la prochaine instruction3. place le 68HCS12 en mode basse puissance en
attente pour une interruption4. arrête toutes les horloges du HCS12.
Avantages:accélérer l’entrée à la RSI (car le CPU a déjà stocké les registres clés sur la pile)réduire sa consommation de puissance (car il ne doit pas exécuter une boucle infinie en attente pour l’interruption)
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-46
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et interruptions2)Sous-systèmes du 68HC12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-47
C.2(5) Routines de service d’interruption
Étapes préliminaires pour gérer une INT:
1. initialiser le pointeur de pile
2. initialiser la table de vecteur (approche par directives)
3. écrire une RSI pour permettre au CPU de répondre à l’INT spécifique
4. déterminer comment activer l’INTactivation local: fixer un bit d’activation spécifique
5. activer les interruptions globales
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-48
C.2(5) Routines de service d’interruption
Exemple: écrire une RSI pour répondre à une INT qui a lieu sur la broche
quand la broche tombe à ‘0’, le programme principale est interrompu pour exécuter une RSI stockée à partir de l’adresse ‘Broche’
on suppose que ‘Broche’ est brûlé en ROM, à l’adresse du vecteur d’exception pour ($FFF2:$FFF3)
fonction de la RSI: le message ‘Bonjour du IRQ’ est imprimé à l’écran
IRQ
IRQ
IRQ
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
CLI ; activation global d’interruptions masquables
LDAA #irqini ; le $C0
STAA intcr ; activation local d’interruption du IRQ
Here: BRA Here ; attendre une IRQ
include DEBUG12M.ASM
END
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-52
Sommaire de la section C.2
C.2 Gestion des exceptions: 1)Exceptions − remises-à-zéro et interruptions2)Sous-systèmes du 68HC12 pour gérer les
exceptions3)Vecteurs d’exception4)Réponses aux interruptions5)Routines de service d’interruption6)Système d’interruption en temps-réel
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-53
C.2(6) Système d’interruption en temps-réel
Le système d’interruption en temps-réel: permet d’interrompre le 68HCS12 à des intervalles régulières
Ce système consiste en 3 registres:CRGINT (‘Clock and Reset Générator INTerrupt’): permet d’activer le RTI (RTIE = 1)RTICTL (‘Real Time Interrupt Control’) fixer le taux d’interruptions (selon RTR[6:0])CRGFLG (‘Clock and Reset Générator INTerrupt’): drapeau RTIF
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-54
C.2(6) Système d’interruption en temps-réel
Exemple: programme qui utilise le système pour rappeler au 68HSC12 de vérifier le niveau de puissance d’une pile électrique à chaque 15 minutes, c. à d. à chaque 900 secondes.
36900 X 25ms = 900 sec.
36621X24,576ms = 899,997696 sec
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger
C.2-55
C.2(6) Système d’interruption en temps-réel
Exemple: vérifier le niveau de voltage d’une pile ;*************************************************;* Définitions *
STKTOP EQU $1000 ; sommet de pile RTICTL EQU $0007 ; adresse de RTICTLCRGFLG EQU $0003 ; adresse de CRGFLGCRGINT EQU $0004 ; adresse de CRGINT
CPTDEP EQU 36621 ; valeur de compteur 36621X24,576ms.RTIF EQU $80 ; masque du RTIFLGCTLMSK EQU $75 ; masque du RTICTL 24,576 ms.RTIADD EQU $FFF0 ; vecteur d’interruption
;*************************************************;* Début des variables en RAM*
ORG $800Compteur: ds.w 1 ; 36621X24,576 ms.
Université du Québec
École de technologie supérieure GPA770: Microélectronique appliquée C.2-56
C.2(6) Système d’interruption en temps-réel
;*************************************************;* RAZ reset *
ORG $FFFE ; Adresse du vecteur du RAZDC.W Debut ; Adresse du début du