La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-1 CONTENU DU COURS.

Présentations similaires


Présentation au sujet: "Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-1 CONTENU DU COURS."— Transcription de la présentation:

1 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-1 CONTENU DU COURS

2 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 de/s C.2 Gestion des exceptions: réponses aux remises-à-zéro et aux interruptions avec le 68HCS12 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 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 interruptions 2)Sous-systèmes du 68HC12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

4 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 lexécution normal dun programme Catégories dexceptions: 1.remise-à-zéro (RAZ): en réponse à cet événement, le CPU exécute une routine dinitialisation, 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 à ladresse à laquelle le programme a été suspendu

5 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-5 C.2(1) Exceptions

6 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 interruptions 2)Sous-systèmes du 68HCS12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

7 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 68HC12 Rôle des types de sous-systèmes dans le 68HC12: a)CPU12: unité de traitement central Gestion des exceptions : interrompre lexécution normal dun programme b)Module LIM: combine les buses DATA, ADDR et CTRL c)Mémoire: stocker des configurations (bloc), des variables (RAM) et des programmes (ROM) d)Périphériques dentrée/sortie: ports dentrée/sortie: échanger des données avec le monde externe temporisation: 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)

8 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

9 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 RESET IRQ XIRQ

10 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:

11 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 – lorsquune 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 linitialisation du système pour reprendre dans un état stable et bien défini. remarque: on ne revient pas à lendroit dexécution atteint avant que la RAZ ait eu lieu.

12 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 dalimentation (power on): quand lalimentation 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 dhorloge CM (Clock Monitor): quand la fréquence de lhorloge du système tombe sous un certain seuil, ou quand lhorloge sarrête

13 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 dordinateur COP (Computer Operating Properly): quand il y a un gel ou un défaut dans lexécution du programme sous-système COP: normalement désactivé lors du développement, mais représente une mesure préventive importante lors dopération consiste dune minuterie configurable qui décompte: le programme doit écrire $55, suivi de $AA, dans un registre spécifique avant lexpiration de la minuterie sinon, on suppose un gel du programme, et une RAZ COP est enclenchée

14 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 dactiver et configurer les RAZ de type CM et COP permet de spécifier le délai dexpiration 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 lexpiration de la minuterie

15 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 : BITFONCTION WCOP Si = 1, mode Window (dernier 25%) du temps dexpiration RSBCK Reste acif en BDM CR2:CR0 spécifient le délai dexpiration de la minuterie, et permet lactivation du système COP

16 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 dexpiration de minuterie: 16MHz/2^14 = 976Hz. = 1 ms. 16MHz/2^24 = 1Hz. = 1 sec.

17 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 dexpiration de minuterie est de 1sec COPCTL EQU $003C ; adresse de COPCTL ARMCOP EQU $003F ; adresse de COPRST TIMEOUT EQU $07 ; activer avec expiration de 1sec ORG $4000 LDAA #TIMEOUT STAA COPCTL ; active le COP et fixe lexpiration Debut:MOVB #$55, ARMCOP ; écrit $55 au COPRST MOVB #$AA, ARMCOP ; écrit $AA au COPRST BRADebut

18 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:

19 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 de/s, sans devoir constamment vérifier leur état la gestion élégante des erreurs rappeler au CPU deffectuer 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 à ladresse à laquelle le programme a été suspendu

20 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 dactivités avec périphériques de/s: 1.approche par balayage de ports (polling): le CPU vérifie périodiquement lactivation dun drapeau qui indique un événement le programme est occupé à attendre un drapeau 2.approche par interruption: une INT indique au CPU lorsquun événement a eu lieu le programme peut exécuter dautres tâches

21 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 dINT selon le masquage: activation dun masque le CPU ne peut percevoir une INT

22 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 68HC12 Catégories dINT selon le masquage: INT non-masquable le masque ne peut être activé par instructions pour le TRAP et SWI: on ne peut jamais les masquer pour 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 à laide dun 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 instructions le masque sactive temporairement lors dun INT non- masquable

23 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:

24 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 dactivation dune 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 dINT NM global ( I =0) SEI : Set Interrupt Mask – désactive le système dINT NM global ( I =1) 2.Activation du système local: il faut activer le matériel dinterruption spécifique

25 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 dexé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.linstruction dINT logiciel: si le CPU exécute linstruction SWI 3.requête dinterruption non-masquable externe: si la tension sur la broche est basse

26 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 dinterruption 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 lusager pour rappeler lexécution dune tâche routinière 3.les canaux du système de temporisation (TIM): généré lorsquun événement (pré-définit par lusager) à lieu sur un de ses 8 canaux

27 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 laccumulateur dimpulsions au TIM: généré quand le compteur interne de laccumulateur dimpulsions déborde

28 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 dentrée de laccumulateur dimpulsions au TIM: généré chaque fois quun événement a lieu à laccumulateur dimpulsions utile pour compter des événements externes au 68HC12 7.linterfaces de communications sérielles: généré pour indiquer létat dune 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

29 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 lINT Étapes dactivation dune INT masquable : 1.activation global: fixer le bit I du CCR à 0 avec linstruction 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

30 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 lINT 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

31 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 interruptions 2)Sous-systèmes du 68HC12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

32 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-32 C.2(3) Vecteurs dexception Déf.: mécanisme qui redirige le CPU vers laction correspondante à un exception chaque exception demande un traitement ou une routine qui est spécifique: chaque RAZ réinitialisation chaque INT routine de service dINT (RSI) qui est stockée en mémoire Vecteur dinterruption adresses mémoires (de 16 bits) qui indiquent au CPU les adresses de départ des routines de service.

33 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-33 C.2(3) Vecteur dexception Le vecteur dexceptions: contient toutes les adresses des routines lemplacement 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 dexception remarque: lusager doit créer le lien aux vecteurs

34 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-34 C.2(3) Vecteur dexception Vecteur dexception pour le 68HC12: priorité plus élevée priorité plus basse non-masquable masquable RAZs

35 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-35 C.2(3) Vecteur dexception Priorité des exceptions: les exceptions sont exécutées dans lordre descendante de priorité, dictée par la table de vecteurs: une exception ne peut interrompre lexécution dune routine même si elle détient une priorité plus élevée. Ordre: 1.RAZ: priorité fixe, et ne peut être changée 2.interruptions non-masquables: priorité fixe, et ne peut être changée 3.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é

36 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 interruptions 2)Sous-systèmes du 68HC12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

37 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 dexécution dune instruction: 1.lecture charger le op-code et opérants de la mémoire au registre dinstructions 2.décodage interpréter linstruction et traduire en actions du CPU 3.exécution effectuer les opérations liées à linstruction. lecture décodage exécution

38 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 linstruction REV de la logique floue

39 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 lexécution normal de linstruction 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 dexécution à une RSI qui est spécifique à linterruption

40 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 dune INT: à le fin de la RSI, exécute linstruction 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 dexécution au programme principal, là ou il était avant lINT

41 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

42 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 dune INT, le CPU place les registres CPU sur la pile dans lordre suivant: 1.PC 2.Y 3.X 4.D (B:A) 5.CCR quand linstruction RTI est exécutée, le CPU retire les registres clés dans lordre inverse

43 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 na aucun idée quune interruption a eu lieu.

44 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 pile 2.ne procède pas à la prochaine instruction 3.place le 68HCS12 en mode basse puissance en attente pour une interruption 4.arrête lhorloge du CPU Avantages: accélérer lentré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 linterruption)

45 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 pile 2.ne procède pas à la prochaine instruction 3.place le 68HCS12 en mode basse puissance en attente pour une interruption 4.arrête toutes les horloges du HCS12. Avantages: accélérer lentré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 linterruption)

46 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 interruptions 2)Sous-systèmes du 68HC12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

47 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 dinterruption É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 à lINT spécifique 4.déterminer comment activer lINT activation local: fixer un bit dactivation spécifique 5.activer les interruptions globales

48 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 dinterruption 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 ladresse Broche on suppose que Broche est brûlé en ROM, à ladresse du vecteur dexception pour ($FFF2:$FFF3) fonction de la RSI: le message Bonjour du IRQ est imprimé à lécran

49 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-49 C.2(5) Routines de service dinterruption Exemple: écrire une RSI pour ;************************************************** ;* Macro * includeDBUG12M.MAC ;* Définitions * stktop EQU $1000 ; sommet de pile intcr EQU $001E ; adresse du registre INTCR irqini EQU $C0 ; les bits IRQEN à 1et IRQE à 1 ;************************************************** ;* Vecteurs RAZ reset* ORG $FFFE FDB Start

50 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée C.2-50 C.2(5) Routines de service dinterruption Exemple: écrire une RSI pour ;************************************************** ;* Vecteur de IRQ * ORG $FFF2 FDB Broche ; ou DC.W Broche ;************************************************** ;* Les constantes, routines et programme * ORG $4000 salut: DC.B Bonjour du IRQ,$00

51 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-51 C.2(5) Routines de service dinterruption ;************************************************** ;* Routine de service dinterruption * Broche: printf #salut; imprime le message à lécran RTI; retour au main ;************************************************** ;* programme principal * Start: LDS #stktop ; initialise le SP CLI ; activation global dinterruptions masquables LDAA #irqini ; le $C0 STAA intcr ; activation local dinterruption du IRQ Here: BRAHere ; attendre une IRQ includeDEBUG12M.ASM END

52 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 interruptions 2)Sous-systèmes du 68HC12 pour gérer les exceptions 3)Vecteurs dexception 4)Réponses aux interruptions 5)Routines de service dinterruption 6)Système dinterruption en temps-réel

53 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-53 C.2(6) Système dinterruption en temps-réel Le système dinterruption en temps-réel: permet dinterrompre le 68HCS12 à des intervalles régulières Ce système consiste en 3 registres: CRGINT (Clock and Reset Générator INTerrupt): permet dactiver le RTI (RTIE = 1) RTICTL (Real Time Interrupt Control) fixer le taux dinterruptions (selon RTR[6:0]) CRGFLG (Clock and Reset Générator INTerrupt): drapeau RTIF

54 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-54 C.2(6) Système dinterruption en temps-réel Exemple: programme qui utilise le système pour rappeler au 68HSC12 de vérifier le niveau de puissance dune pile électrique à chaque 15 minutes, c. à d. à chaque 900 secondes X 25ms = 900 sec X24,576ms = 899, sec

55 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-55 C.2(6) Système dinterruption en temps-réel Exemple: vérifier le niveau de voltage dune pile ;************************************************* ;* Définitions * STKTOP EQU $1000 ; sommet de pile RTICTL EQU $0007; adresse de RTICTL CRGFLG EQU $0003; adresse de CRGFLG CRGINTEQU$0004; adresse de CRGINT CPTDEPEQU 36621; valeur de compteur 36621X24,576ms. RTIF EQU $80 ; masque du RTIFLG CTLMSK EQU $75 ; masque du RTICTL 24,576 ms. RTIADD EQU $FFF0 ; vecteur dinterruption ;************************************************* ;* Début des variables en RAM* ORG $800 Compteur:ds.w1; 36621X24,576 ms.

56 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée C.2-56 C.2(6) Système dinterruption en temps-réel ;************************************************* ;* RAZ reset * ORG$FFFE ; Adresse du vecteur du RAZ DC.WDebut ; Adresse du début du ; programme ;************************************************* ;* Vecteur dinterruption * ORGRTIADD ; Adresse du vecteur $FFF0 DC.W RTI_INT ; Adresse de la routine de service ;************************************************* ;* Début constantes, routines de service, programme en ROM* ORG $4000

57 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée C.2-57 C.2(6) Système dinterruption en temps-réel ;************************************************** ;* Routine de service dinterruption * RTI_INT:MOVB #RTIF,CRGFLG ; acquitter linterruption LDDCompteur ; 16 bits SUBD#1 STD Compteur ; fois ? BNEFinInt ; non MOVW #CPTDEP,Compteur ; réinitialiser le compteur. Vérifier la pile. FinInt:RTI ; retour

58 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée C.2-58 C.2(6) Système dinterruption en temps-réel ;************************************************** ;* Programme principal * Debut:LDS #STKTOP InitRTI: MOVB #CTLMSK,RTICTL; p. 263 MC9S12C128V1.pdf ; pour le $75 = 24,576 ms. MOVW #CPTDEP,Compteur ; initialiser le compteur à MOVB #RTIF,CRGFLG ; écrire 1 = 0 dans le drapeau BSET CRGINT,$80; activation locale int. CLI ; activation globale int. Encore:WAI ; attendre les interruptions BRAEncore ; pour léternité


Télécharger ppt "Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.2-1 CONTENU DU COURS."

Présentations similaires


Annonces Google