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.3-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.3-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.3-1 CONTENU DU COURS

2 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-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 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-3 Sommaire de la section C.3 C.3 Module de temporisation: 1)Concepts fondamentaux 2)Module de temporisation standard (TIM) 3)Capter des entrées (IC) saisie des paramètres dun signal 4)Comparer des sorties (OC) génération de signaux précis 5)Accumuler des impulsions (PA)

4 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-4 C.3(1) Concepts fondamentaux Rôle des types de sous-systèmes dans le 68HC12: a)CPU12: unité de traitement central gestion dexceptions : interrompre lexécution normal dun programme b)Bus: le module LIM combine DATA, ADDR et CTRL c)Mémoire: stocker des configurations (bloc), des variables (RAM), des programmes (ROM) et des vecteurs 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)

5 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-5 C.3(1) Concepts fondamentaux Sous-système de temporisation Fonction globale: permet de gérer des interfaces avec des événements précis dans le temps Principales composants: 1.TIM – Module de temporisation standard: mesurer des entrées, générer des sorties, compter des événements externes 2.PWM – Module de modulation de longueur dimpulsions: générer des signaux dont la longueur dimpulsions varie

6 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-6 C.3(1) Concepts fondamentaux MC9S12C32

7 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-7 C.3(1) Concepts fondamentaux PWM/IOC/PTT

8 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-8 C.3(1) Concepts fondamentaux Module dhorloge: le 68HCS12 utilise des signaux dhorloges internes, chacun dérivé dune horloge primaire. Le module TIM utilise le Bus Clock dérivé de la fréquence du cristal ÷ 2 XTAL = 16MHz ÷ 2 = 8MHz = Bus Clock

9 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-9 C.3(1) Concepts fondamentaux Caractéristiques fondamentales dun signal numérique:

10 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-10 Sommaire de la section C.3 C.3 Module de temporisation: 1)Concepts fondamentaux 2)Module de temporisation standard (TIM) 3)Capter des entrées (IC) saisie des paramètres dun signal 4)Comparer des sorties (OC) génération de signaux précis 5)Accumuler des impulsions (PA)

11 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-11 C.3(2) Module TIM Fonctions principales du TIM: 1.IC (Input Capture): permet de mesurer les caractéristiques dun signal numérique en entrée exemple: il peut être programmé pour mesurer une longueur dimpulsion, la fréquence, la période et le cycle de service dun train dimpulsions 2.OC (Output Compare): permet de générer un signal numérique très précis en sortie exemple: il peut être programmé pour générer un signal avec fronts dondes périodiques, des impulsions, etc. 3.PA (Pulse Accumulate): permet de compter des événements internes ou externes exemple: il peut être programmé pour compter des impulsions provenant dun module externe

12 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-12 C.3(2) Module TIM Composants matériels du TIM: A. Compteur binaire programmable à 16 bits qui tourne continuellement incrémenté par lhorloge Bus Clock point de référence pour synchronisation B. Circuiterie pour gérer 8 canaux dentrée/sortie indépendants chaque canal exploite le compteur binaire comme référence Les canaux 0 à 7 peuvent être IC ou OC et le canal 7 peut, en plus, être utilisé pour le PA.

13 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-13 C.3(2) Module TIM

14 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-14 C.3(2) Module TIM

15 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-15 C.3(2) Module TIM A. Compteur binaire à 16 bits Cœur du TIM – un compteur programmable à 16 bits qui compte constamment selon les impulsions de Bus Clock: [$0046] TSCR1: le module TIM est activé en fixant le bit TEN = 1 (Timer Enable) dans ce registre ensuite le compteur progresse de $0000 $FFFF, retourne à $0000 et continu à compter (débordement à chaque 2 16 impulsions) remarque: Les fonctions IC, OC et PA du TIM sont synchronisées à partir du compteur binaire $46

16 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-16 C.3(2) Module TIM A. Compteur binaire à 16 bits Bus Clock

17 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-17 C.3(2) Module TIM A. Compteur binaire à 16 bits La valeur du compteur est stockée dans 1 registre à 16 bits: (Timer Counter Register High et Low) [$0044:$0045] TCNT (hi) : (lo) registre MSB:LSB On y accède avec des instructions de 2 octets: LDD, STD, etc.

18 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-18 C.3(2) Module TIM A. Compteur binaire à 16 bits Drapeau de débordement: débordement = le compteur tourne de $FFFF $0000 [$004F] TFLG2 (Timer Flag Register 2) – le 68HCS12 active le bit détat TOF pour un débordement

19 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-19 C.3(2) Module TIM A. Compteur binaire à 16 bits Fréquence du compteur binaire: la fréquence de Bus Clock peut être divisée par un facteur de réduction déchelle [$004D] TSCR2 (Timer System Control Register 2) – ce facteur est programmé par lusager, à travers des bits PR[2:0]

20 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-20 C.3(2) Module TIM A. Compteur binaire à 16 bits

21 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-21 C.3(2) Module TIM A. Compteur binaire à 16 bits Exemple codé 3-1: étapes minimums requises pour exploiter le compteur binaire 1.fixer le facteur de réduction avec le bits PR[2:0] du registre TSCR2 pour lintervalle de comptage désirée 2.fixer le bit TEN du registre TSCR1 pour activer le compteur Question: Quel est le temps écoulé au débordement si PR = 101?

22 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-22 C.3(2) Module TIM B. Canaux dentées/sorties Fonction IC/OC: 8 canaux individuels pour manipuler des signaux chaque canal peut être configuré pour IC ou OC interne: [$0240] PORT T PTT est associé aux 8 canaux externe: broches IOC[7:0] sont associées aux 8 canaux

23 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-23 C.3(2) Module TIM B. Canaux dentées/sorties Fonction PA – accumulation dimpulsions 16 bits: 1 canal peut compter des événements externes le dernier canal du TIM peut être configuré pour PA interne: partage le bit PTT7 du PORT T externe: la broche IOC7/PAI est liée à laccumulateur

24 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-24 C.3(2) Module TIM B. Canaux dentées/sorties [$0040] TIOS (Timer IC/OC Select) permet dindiquer les canaux qui sont utilisés pour: IC: si on fixe un 0 in au bit correspondant OC: si on fixe un 1 in au bit correspondant

25 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-25 C.3(2) Module TIM B. Canaux dentées/sorties

26 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-26 C.3(2) Module TIM Ensemble des registres TIM pour IC/OC: TIOS EQU $0040 ;choix (capter entrées)/(comparer sorties) CFORC EQU $0041 ;comparaison forcé OC7M EQU $0042 ;masque comparer sorties 7 OC7D EQU $0043 ;données comparer sorties 7 TCNT (hi):(lo)EQU $0044 ;valeur du compteur (haut) EQU $0045 ;valeur du compteur (bas) TSCR1 EQU $0046 ;contrôle du système 1 TCTL1- TCTL4 EQU $ B ;contrôle des fronts 1-4 TIE – TSCR2 EQU $004C-$004D ;masques pour les interruptions 1-2 TFLG1 - TFLG2 EQU $004E-$004F ;drapeaux des interruptions 1-2 TC0 - TC7 EQU $0050-$005E ; capter entrées ou comparer sorties 0-7

27 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-27 C.3(2) Module TIM Registres essentiels pour configurer le TIM: [$0046] TSCR1 (pour Timer Source Control 1) TEN doit être fixé à 1 afin dactiver le compteur binaire dans le TIM [$004D] TSCR2 (pour Timer Source Control 2) PR[2:0] spécifie le nombre détages division-par-2 (réduction déchelle) quon veut insérer entre MCLK et le compteur binaire du TIM TOI permet de générer un INT de débordement (si le TOF =1)

28 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-28 C.3(2) Module TIM Registres essentiels pour configurer le TIM: [$0044:$0045] TCNT(hi):(lo) (pour Timer Counter Register High/Low) contient la valeur du compteur binaire à 16 bits [$0060] PACTL (pour PA Control Register) PAEN doit être fixé à 1 afin dactiver le système daccumulation dimpulsions CLK[1 : 0] offrent dautres alternatives comme base de temps à TCNT [$0040] TIOS (Timer IC/OC Select) permet dindiquer quels canaux sont en IC ou en OC

29 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-29 C.3(2) Module TIM Gestion des interruptions avec le TIM

30 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-30 C.3(2) Module TIM Gestion des interruptions avec le TIM

31 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-31 Sommaire de la section C.3 C.3 Module de temporisation: 1)Concepts fondamentaux 2)Module de temporisation standard (TIM) 3)Capter des entrées (IC) saisie des paramètres dun signal 4)Comparer des sorties (OC) génération de signaux précis 5)Accumuler des impulsions (PA)

32 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-32 C.3(3) Capter des entrées (IC) Objectif: mesurer les paramètres clés dun signal numérique en entrée Concept général: le TIM permet de capter la valeur du compteur binaire lorsquun événement a lieu: événement un front montant, un front descendant, ou un front quelconque sur le signal en entrée lévénement dintérêt est définit par lusager lusager peut ensuite calculer le temps écoulé entre deux événements dintérêt

33 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-33 C.3(3) Capter des entrées (IC) Circuit IC pour un canal n = 0, 1,..., 7:

34 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-34 C.3(3) Capter des entrées (IC) Capter la valeur du compteur: le circuit capte une vue instantanée du compteur lors dun événement (un front) sur le signal en entrée lusager doit définir les événements quil veut détecter: [$004A:$004B] TCTL3:TCTL4 (pour Timer Control Registers 3 et 4) 2 bits/canal indiquent le front

35 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-35 C.3(3) Capter des entrées (IC) Sélection du front pour le signal en entrée:

36 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-36 C.3(3) Capter des entrées (IC) Lorsquun événement (un front) a lieu: 1.[$004E] TFLG1 – le drapeau CnF correspondant au canal n (n = 1...7) est activé: pour une remise à zéro du drapeau, il sagit décrire un 1 au bit CnF à désactiver (et 0 aux autres bits)

37 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C [$008C] TIE – interruption correspondant au canal n est activé (si le masque est désactivé, CnI=1 ) 3. [$0050:$0005F] TCn (hi):(lo) – une vue instantanée du compteur est stockée sur 16 bits C.3(3) Capter des entrées (IC)

38 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-38 C.3(3) Capter des entrées (IC) Processus général pour un IC: (approche polling) 1.Configurer le canal en mode IC ( TIOS ) 2.Fixer les paramètres du compteur ( TEN, PR[2:0] ) 3.Mesurer le temps start: 1.choisir un type de front avec EDGnB:EDGnA ( TCTL3-4 ) 2.surveiller le drapeau CnF du canal n ( TFLG1 ) 3.quand CnF devient actif, stocker le contenu de TCnH:L en mémoire 4.Mesurer le temps stop: 1.effectuer une remise-à-zéro du CnF, en écrivant un 1 au bit correspondant de TFLG1 2.si nécessaire, choisir un différent type de front avec EDGnB:EDGnA 3.surveiller encore le drapeau CnF, et stocker le contenu de TCnH:L en mémoire quand ce bit devient actif 5.Calculer la différence entre les deux valeurs en mémoire, et multiplier par T c (la période du compteur)

39 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-39 C.3(3) Capter des entrées (IC) Cas 1: mesurer la longueur dimpulsions (L s ) pour un signal actif bas sur le canal 3 1.configurer le canal 3 en entrée dans TIOS 2.fixer T c ( PR[2:0] dans TSCR2 ) et TEN=1 3.mesurer le temps start: 1.spécifier quon veut détecter un front descendant: EDG3B:EDG3A = 10 2.surveiller le drapeau C3F dans TFLG1 3.quand ce bit devient actif, stocker le contenu de TC3H:L en mémoire MOVW TC3, start 4.faire une remise-à-zéro de C3F en lui écrivant un 1 dans TFLG1 avec MOVB 4.mesurer le temps stop: 1.spécifier quon veut détecter un front montant: EDG3B:EDG3A = 01 2.surveiller le drapeau C3F dans TFLG1, et quand il devient actif, stocker le contenu de TC3H:L en mémoire MOVW TC3, stop 3.calculer la différence, stop – start, et la longueur dimpulsion du signal, L s = (stop - start)T c

40 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-40 C.3(3) Capter des entrées (IC) Cas 2: mesurer la période (T s ) pour un signal sur le canal 4 avec un résolution de 0.5 µsec, et avec un horloge de 8MHz 1.fixer T c = 0.5μsec (alors PR[2:0]= 010 dans TSCR2 ) et TEN=1 2.configurer le canal 4 en entrée dans TIOS 3.mesurer le temps start: 1.spécifier quon veut détecter un front descendant: EDG3B:EDG3A = 10 2.surveiller le drapeau C4F dans TFLG1 3.quand ce bit devient actif, stocker le contenu de TC4H:L en mémoire MOVW TC4, start 4.mesurer le temps stop: 1.faire une remise-à-zéro de C4F en lui écrivant un 1 dans TFLG1 (MOVB) 2.surveiller le drapeau C4F dans TFLG1, et quand il devient actif, stocker le contenu de TC4H:L en mémoire MOVW TC4, stop 5.calculer la différence, stop – start, et la période du signal: T s = (stop - start) T c

41 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-41 C.3(3) Capter des entrées (IC) Exemple: code pour mesurer la période dun signal (T s ) périodique connecté au canal 2 du module TIM T s : mesure le temps écoulé entre 2 fronts montants successifs configure le canal 2 du TIM pour capter un signal dentrée on suppose que la fréquence de MCLK est 8 MHz, et on fixe la réduction déchelle pour le diviser par 4 la fréquence dhorloge pour le compteur est alors de 2 MHz, et donc T c = 0.5 sec MAIN -initialize TIMER_INITMEAS_PER

42 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-42 C.3(3) Capter des entrées (IC) Exemple: diagramme de flots de données TSCR2 TSCR1

43 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-43 C.3(3) Capter des entrées (IC) ;************************************************* ; Définitions TSCR2_IN equ $02 ;désactiver TOI=0, reduction déchelle=4 TCTL4_IN equ $10 ;config IC2 pour détecter front montant TIOS_IN equ $00 ;choisir le canal comme IC TSCR1_IN equ $80 ;activer le compteur TEN CLR_CH2 equ $04 ;masque RAZ du drapeau canal 2 ;************************************************* ; Programme principale ORG $0800 EDGE_1: ds.w1 ;variables PERIOD: ds.w1 ORG $4000 LDS#$1000; initialiser le pointeur de pile DEBUT:BSR TIMERINIT ; SR initialise compteur BSR MEAS_PER ; SR measure la période Fin:BRAFin

44 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-44 C.3(3) Capter des entrées (IC) ;************************************************* ; TIMERINIT: sous-routine qui initialise TIM pour IC2 TIMERINITCLR TIE ; configurer le canal 2 LDAA #TSCR2_IN STAA TSCR2 LDAA #TCTL4_IN STAA TCTL4 LDAA #TIOS_IN STAA TIOS LDAA #TSCR1_IN STAA TSCR1 ; activer le compteur RTS

45 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-45 C.3(3) Capter des entrées (IC) ;************************************************* ; MEAS_PER: sous-routine mesure la période entre ; 2 fronts montants (version polling ou balayage) MEAS_PER LDAA #CLR_CH2 ;RAZ du drapeau IC2 STAA TFLG1 WTFLG1 BRCLR TFLG1, #$04, WTFLG1 ;attendre le front 1 LDD TC2 ;charger la valeur TC2 STD EDGE_1 ;stocker le temps du front 1 LDAA # CLR_CH2 ; RAZ du drapeau IC2 STAA TFLG1 WTFLG2BRCLR TFLG1, #$04, WTFLG2 ;attendre front 2 LDD TC2 ;charger la valeur de TCNT SUBD EDGE_1 ;calculer la période: D-Edge1 STD PERIOD RTS END

46 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-46 C.3(3) Capter des entrées (IC) Calcule du temps écoulé entre 2 événements: cas 1: 0 débordement t = stop - start cas 2: 1 débordement t = stop - start (ignore le bit C du CCR lors de la soustraction)

47 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-47 C.3(3) Capter des entrées (IC) Calcule du temps écoulé entre 2 événements: cas 3: n débordements t = (stop-start) + n x 2 16 t = (stop-start) + (n-1) x 2 16 t = n x 2 16

48 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-48 Sommaire de la section C.3 C.3 Module de temporisation: 1)Concepts fondamentaux 2)Module de temporisation standard (TIM) 3)Capter des entrées (IC) saisie des paramètres dun signal 4)Comparer des sorties (OC) génération de signaux précis 5)Accumuler des impulsions (PA)

49 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-49 C.3(4) Comparer des sorties (OC) Objectif: générer des signaux numériques en sortie avec une grande précision lusager peut générer un niveau de tension sur une broche selon des caractéristiques désirées: impulsion active sur transition basse ou haute, avec ou sans un délai signal répétitif selon une certaine fréquence et cycle de service signal dont la longueur dimpulsion varie comme un PWM (Pulse Width Modulation)

50 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-50 C.3(4) Comparer des sorties (OC) Circuit OC pour un canal n = 0, 1,.., 7:

51 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-51 C.3(4) Comparer des sorties (OC) Générer des signaux en sortie: le circuit compare 2 registres (16 bits) internes TCnH:TCnL au compteur binaire si TCnH:TCnL = TCNTH:TCNTL, alors un front désiré est produit sur la broche de sortie PTn du port T [$0048: $0049] TCTL1:TCTL2 (pour Timer Control Registers 1 et 2) 2 bits/canal indiquent le front montant et/ou front descendant du signal

52 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-52 C.3(4) Comparer des sorties (OC) Sélection du front pour le signal en sortie: le front spécifique sur la broche de sortie OCn peut être soit montant, soit descendant ou soit inversé.

53 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-53 C.3(4) Comparer des sorties (OC) Lorsque TCnH:TCnL = TCNTH:TCNTL 1.[$004E] TFLG1 – le drapeau CnF du canal n sactive pour une remise à zéro du drapeau, il sagit décrire un 1 au bit CnF à désactiver (et 0 aux autres bits)

54 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C [$004C] TIE – interruption correspondant au canal n est activé (si le masque est désactivé, CnI=1 ) 3. le front spécifié dans OMn:OLn a lieu sur la broche de sortie correspondante du port T C.3(4) Comparer des sorties (OC)

55 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-55 C.3(4) Comparer des sorties (OC) Processus général pour OC: 1.configurer le canal en mode OC ( TIOS ) 2.choisir le type de front désiré avec OMn:OLn ( TCTL1-2 ) 3.fixer les paramètres du compteur binaire ( TEN, PR[2:0] ) 4.calculer NI le nombre dincréments du compteur par T s (période du signal à générer): NI = f c / f s 5.avant chaque événement: stocker au registre TCn la valeur future de temps auquel on veut créer le front: a.accéder la valeur actuel de TCNT b.stocker la somme TCNT + α(%) * NI dans TCnH:L 6.après lévénement: effectuer une remise-à-zéro du CnF, en écrivant un 1 au bit correspondant de TFLG1

56 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-56 C.3(4) Comparer des sorties (OC)

57 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-57 C.3(4) Comparer des sorties (OC) Exemple: générer un signal carrée de 1 kHz avec un cycle de service de 50% sur le canal 2 du TIM le canal 2 du module TIM ( IOC2 ) est configuré pour généré un signal de sortie on suppose que la fréquence de Bus Clock est de 8 MHz, et on fixe la réduction déchelle pour le diviser par 4 la fréquence dhorloge pour le compteur à 16 bits est alors de 2 MHz (période de T c = 0.5 sec) alors: un période de 1 kHz correspond à NI = 2000 impulsions α = 50% haut (actif): 1000 impulsions ($3E8 en hex) 1-α = 50% bas (inactif): 1000 impulsions ($3E8 en hex)

58 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-58 C.3(4) Comparer des sorties (OC) Exemple: diagramme de flots de données TSCR1 TSCR2

59 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-59 C.3(4) Comparer des sorties (OC) ;************************************************* ; Définitions TSCR2_INEQU $02 ;désactiver TOI, reduction déchelle=4 TCTL2_INEQU $10 ;initialise OC2 avec toggle TIOS_INEQU $04 ;config canal 2 comme OC TSCR1_INEQU $80 ;activer les compteur, RAZ du drapeau ;************************************************* ; Programme principale ORG $4000 JSR TIMERINIT ; sr initialise le compteur DONE JSR SQ_WAVE ; sr génere un onde carrée BRA DONE ; branch. infini END

60 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-60 C.3(4) Comparer des sorties (OC) ;************************************************* ; TIMERINIT: sous-routine qui initialise TIM pour OC2 TIMERINITCLRTIE ;désactiver les interruptions MOVB#TSCR2_IN,TSCR2 ;désactiver ovf, réd.déch.=4 MOVB #TCTL2_IN,TCTL2 ;OC2 toggle chaque compare MOVB#TIOS_IN,TIOS ;config canal 2 comme OC MOVW#$03E8,TC2 ;charger TC2 avec compte initial MOVB#TSCR1_IN,TSCR1 ;activer et config le compteur RTS

61 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-61 C.3(4) Comparer des sorties (OC) ; SQWAVE: sous-routine pour générer le front dondes SQ_WAVEBRCLRTFLG1,#$04,SQ_WAVE ;balayage de C2F LDDTC2 ;charger la valeur de TC2 ADDD #$03E8 ;addit. la valeur du compteur STD TC2 ;fixer le prochain t de transition MOVB#$04,TFLG1 ; écrire un 1 à C2F RTS

62 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-62 C.3(4) Comparer des sorties (OC) Exemple: générer un signal carrée de 1 kHz avec un cycle de service active haut de 30% au canal 0 du TIM le canal 0 du module TIM ( IOC0 ) est configuré pour compare un signal de sortie on suppose que la fréquence de MCLK est de 8 MHz, et on fixe la réduction déchelle pour le diviser par 8 la fréquence dhorloge pour le compteur à 16 bits est alors de 1 MHz (période T c = 1 sec) alors: un période de 1 kHz correspond à NI = 1000 impulsions α = 30% haut (actif): 300 impulsions 1 - α = 70% bas (inactif): 700 impulsions

63 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-63 C.3(4) Comparer des sorties (OC) TSCR1 TSCR2

64 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-64 C.3(4) Comparer des sorties (OC) ORG ROMStart DEBUT: BSETTSCR2, 3 ;facteur déchelle 8 1 Mhz BSET TIOS, 1 ;choisir le canal 0 pour fonction OC MOVB #1, TCTL2 ;fixer un toggle comme action BSET PTT, 1 ;activer la broche PT0 à 1 BSET TSCR1, $80 ;activer le compteur LDD TCNT ;charger la valeur du compteur ADHI ADDD #300 ;fixer le temps pour comparer avec compteur STD TC0 ;stocker reg 0 au comparateur HIGH BRCLR TFLG1, 1, HIGH ;balayage: attend le drapeau COF MOVB #$01,TFLG1; RAZ du drapeau COF LDD TC0 ADDD #700 ;fixer le temps pour comparer avec compteur STD TC0 LOW BRCLR TFLG1, 1, LOW ;balayage: attend le drapeau COF MOVB #$01,TFLG1; RAZ du drapeau COF LDD TC0 BRA ADHI END

65 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-65 Sommaire de la section C.3 C.3 Module de temporisation: 1)Concepts fondamentaux 2)Module de temporisation standard (TIM) 3)Capter des entrées (IC) saisie des paramètres dun signal 4)Comparer des sorties (OC) génération de signaux précis 5)Accumuler des impulsions (PA)

66 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-66 C.3(5) Accumulateur dimpulsions (PA) Fonction: compter le nombre dimpulsions en exploitant le compteur binaire Modes dopération: 1.mode compteur dévénements: permet de compter les fronts dondes (spécifiés par lusager) qui ont lieu sur la broche dentrée de laccumulateur (PAI) 2.mode cumulatif: permet de compter les impulsions dune horloge dont la fréquence est fixe il compte les impulsions de lhorloge seulement lorsquil est activé par la broche PAI il conserve toujours la dernière valeur comptée

67 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-67 C.3(5) Accumulateur dimpulsions (PA) Registres TIM (seulement ceux pour laccumulation dimpulsions) PACTL EQU $0060 ; registre de contrôle PAFLG EQU $0061 ; registre drapeau PACNT EQU $0062 ; registre de compteur (2 octets)

68 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-68 C.3(5) Accumulateur dimpulsions (PA) Configuration de laccumulateur dimpulsions: lentrée de laccumulateur (PAI) partage la même broche externe que le canal 7 (IC7/OC7) du port T on doit alors désactiver les fonctions OC du canal 7 afin dutiliser cette broche pour laccumulation étapes: 1.fixer le bit IOS7 = 0 du registre TIOS, afin dactiver la fonction IC du canal 7 2.fixer les bits OM7 et OL7 (mode/level) à 00 dans le registre TCTL1, afin de déconnecter le canal OC de la broche externe 3.fixer le bit OC7M7 = 0 dans le registre OC7M (adresse $0042) pour désactiver le masque no 7 en sortie.

69 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-69 C.3(5) Accumulateur dimpulsions (PA) Registres pertinents: le registre de contrôle (PACTL) à ladresse $0060 fixer PAEN = 1 active la circuiterie connectée à la broche dentrée PAI pour la détection de fronts fixer PEDGE = 0 compte des fronts descendants, tandis que PEDGE = 1 compte des fronts montants le système commence maintenant à compter les fronts sur la broche PAI

70 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-70 C.3(5) Accumulateur dimpulsions (PA) Registres pertinents: le registre de drapeau (PAFLG) à ladresse $0061 le bit PAIF sactive chaque fois quun front est compté le registre de compteur (PACNT) aux adresses $0062 et $0063 on compte dans ce registre à 16 bits

71 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-71 C.3(5) Accumulateur dimpulsions (PA) Registres pertinents: [$0062:$0063] PACNT -- le registre de compteur: on devrait y accéder avec des instructions à 2 octets (e.g., LDD) le registre PACNT reflète le nombre de fronts actifs (mod 65,536) depuis la dernière remise à zéro du système quand PACNT déborde de $FFFF à $0000, le bit PAOVF du registre PAFLG devient actif (il faut lui écrire un 1 pour le remettre à zéro)

72 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-72 C.3(5) Accumulateur dimpulsions (PA) Mode mémorisé: le bit PAMOD du registre PACTL détermine le mode de laccumulateur dimpulsions PAMOD = 0: mode compteur dévénements PAMOD = 1: mode cumulatif dans le mode cumulatif, une fréquence fixe (BUSCLK ÷ 64) incrémente le compteur (PACNT) selon que la broche PAI est à 0 ou 1 permet de mesurer le temps de validité dune condition PACNT contient le nombre dimpulsions depuis la dernière remise-à-zéro du système si PEDGE = 0, le système permet de compter si PAI = 1 si PEDGE = 1, le système permet de compter si PAI = 0

73 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.3-73 C.3(5) Accumulateur dimpulsions (PA) Exemple: compter le nombre de fronts montants sur la broche PAI PACTL EQU $0060 ; déclaration des adresses de registres déjà déclarés dans PAFLG EQU $0061 ; le fichier dinclusion mc9s12c32.inc PACNT EQU $0062 PACTL_IN EQU $50 ; active le PA, mode compte évén., fronts montants ORG $4000 MOVW #$0000,PACNT ; Compteur à 0 MOVB #$03,PACFLG ; drapeaux à 0 MOVB #PACTL_IN, PACTL ; active le PA, mode compte événements ; sur fronts montants à la broche 7 ; À partir dici, le programme peut alors lire en tout temps le registre PACNT et ; effectuer des opérations selon le nombre dévénements qui a eu lieu... Fin: BRAFin END


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

Présentations similaires


Annonces Google