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

GPA770: Microélectronique appliquée

Présentations similaires


Présentation au sujet: "GPA770: Microélectronique appliquée"— Transcription de la présentation:

1 GPA770: Microélectronique appliquée
CONTENU DU COURS GPA770: Microélectronique appliquée Éric Granger

2 Partie C − Concepts matériels
C.1 Configurations matérielles du 68HC12: architecture du système, mémoire, et ports d’e/s C.2 Gestion d’exceptions: réponses aux remises-à-zéro et aux interruptions avec le 68HC12 vecteur et priorité d’exceptions, et routines de service d’interruption 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 GPA770: Microélectronique appliquée Éric Granger

3 Sommaire de la section C.4
C.4 Convertisseur analogique-numérique: Concepts fondamentaux: interface du transducteur processus de conversion N-A et A-N techniques standard de conversion Module ATD du 68HC12: description d’opération du système registres et configurations programmation du ATD GPA770: Microélectronique appliquée Éric Granger

4 C.4(1) Concepts fondamentaux
Rôle du convertisseur: traduire un signal analogique en un {codes binaires}, avec: l’échantillonnage: le signal analogique est échantillonné à intervalle périodique ou apériodique. l’encodage: un code binaire, signé ou non, est attribué à chacune des valeurs échantillonnées Exemple: signal analogique provenant d’un senseur IR GPA770: Microélectronique appliquée Éric Granger

5 C.4(1) Concepts fondamentaux
a. Interfaces de transducteurs Processus de conversion de variables physiques (e.g., lumière, température, vitesse, etc.) en représentation numérique valeur physique → voltage analogique → valeur numérisée (binaire) conversion A: effectuée par un transducteur (e.g., senseur) conversion B: effectuée par un convertisseur A-N, mais une autre interface de transducteur au microcontrôleur est souvent nécessaire A B GPA770: Microélectronique appliquée Éric Granger

6 C.4(1) Concepts fondamentaux
a. Interfaces de transducteurs Avant une conversion A-N, la sortie d’un transducteur doit être conditionnée telle que: la plage total de conversion du convertisseur A-N, FS = VRL → VRH , soit remplie pour que la résolution de représentation soit maximisée. Implique deux opérations analogiques: décalage (bias): permet d’ajuster VRL (voltage de référence bas) remise à l’échelle: permet d’ajuster VRH (voltage de référence haut) GPA770: Microélectronique appliquée Éric Granger

7 C.4(1) Concepts fondamentaux
a. Interfaces de transducteurs GPA770: Microélectronique appliquée Éric Granger

8 C.4(1) Concepts fondamentaux
Interfaces de transducteurs Conditionnement: Vsortie = Ventrée · K + B avec les bornes: V2max(out) = V2max(in) · K + B (1) V1min(out) = V1min(in) · K + B (2) GPA770: Microélectronique appliquée Éric Granger

9 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N conversion ≡ traduire un signal analogique en un {codes binaires}, par un processus en 2 phases: l’échantillonnage: un voltage dans la plage de conversion du convertisseur A-N est mesuré à certaines intervalles l’encodage: un code binaire est attribué à chaque voltage échantillonné Caractéristiques distinctifs de convertisseurs A-N: nombre de bits aux codes binaires: généralement 8-24 bits précision: l’erreur absolue du processus de conversion taux de traitement de données: le nombre d’échantillons par seconde GPA770: Microélectronique appliquée Éric Granger

10 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N Échantillonnage: mesurer un voltage à un intervalle régulier ou non Ts afin de représenter le signal analogique GPA770: Microélectronique appliquée Éric Granger

11 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N Taux d’échantillonnage minimum: critère de Nyquist: on doit échantillonner un signal analogique avec une fréquence fs qui est au moins 2 fois le contenu fréquentielle maximum fmax du signal: fs ˃ 2 fmax donne le temps minimum entre 2 échantillons: Ts = 1/fs problème d’alias: si fs ≤ 2 fmax la translation de composantes indésirables de hautes fréquences en basses fréquences GPA770: Microélectronique appliquée Éric Granger

12 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N Encodage: attribué un code binaire non signé à chaque voltage analogique échantillonné GPA770: Microélectronique appliquée Éric Granger

13 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N b: nombre de bits utilisés par le convertisseur A-N pour encoder les échantillons Quantification (n): nombre de niveaux discrets, entre VRH et VRL, sur lequel le signal analogique est divisé n = (2b niveaux – 1) Résolution (ΔV): la plage de voltage par niveau discret ΔV = (VRH – VRL)/n = (VRH – VRL)/ (2b – 1) volts/niveau GPA770: Microélectronique appliquée Éric Granger

14 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N Taux de traitement moyen de données (d): le nombre total de bits générés par seconde d = fsb bps (bits/sec) GPA770: Microélectronique appliquée Éric Granger

15 C.4(1) Concepts fondamentaux
b. Processus de conversion A-N le processus de conversion consiste à: échantillonner le signal analogique périodiquement ou non encoder chaque échantillon en code binaire GPA770: Microélectronique appliquée Éric Granger

16 C.4(1) Concepts fondamentaux
c. Techniques de conversion Circuit ‘sample-and-hold’: échantillonnage fonction: prendre un échantillon stable du signal analogique s(t) et le retenir pour conversion mise en oeuvre: ‘sample’: commutateur fermé – charge le condensateur selon s(t) ‘hold’: commutateur ouvert – déconnecter le condensateur de l’entrée pour conserver un échantillon VIN sur le noeud interne GPA770: Microélectronique appliquée Éric Granger

17 C.4(1) Concepts fondamentaux
c. Techniques de conversion N-A Méthodes standards de conversion N-A méthode par PWM méthode basée sur un sommateur méthode sérielle (SPI) basée sur un sommateur méthode basée sur l’échelon (R-2R) GPA770: Microélectronique appliquée

18 C.4(1) Concepts fondamentaux
c. Techniques de conversion N-A méthode par PWM GPA770: Microélectronique appliquée

19 C.4(1) Concepts fondamentaux
c. Techniques de conversion N-A méthode basée sur le sommateur GPA770: Microélectronique appliquée

20 C.4(1) Concepts fondamentaux
c. Techniques de conversion N-A méthode sérielle avec sommateur Sortie B Sortie A GPA770: Microélectronique appliquée

21 C.4(1) Concepts fondamentaux
GPA770: Microélectronique appliquée Éric Granger

22 C.4(1) Concepts fondamentaux
c. Techniques de conversion N-A méthode basée sur l’échelon R-2R GPA770: Microélectronique appliquée

23 C.4(1) Concepts fondamentaux
c. Techniques de conversion A-N Méthodes standards de conversion A-N méthode basée sur l’intégration méthode de type compteur (rampe) méthode par approximation successive méthode parallèle GPA770: Microélectronique appliquée

24 C.4(1) Concepts fondamentaux
c. Techniques de conversion A-N Méthode par intégration: Vin GPA770: Microélectronique appliquée

25 C.4(1) Concepts fondamentaux
c. Techniques de conversion A-N méthode de type compteur (rampe) GPA770: Microélectronique appliquée

26 C.4(1) Concepts fondamentaux
c. Techniques de conversion Méthode par approximation successive: Initialiser la plage des voltages FS(b) = VRH – VRL Pour i = bit b → bit 1 du SAR: approximer le voltage Vappr(i) = FS(i) / 2, au mi-point dans la plage des voltages FS(i) si VIN ≤ Vappr(i) → FS(i-1) = moitié inférieure de FS(i) si VIN > Vappr(i) → FS(i-1) = moitié supérieure de FS(i) comparer VIN et Vappr(i) pour assigner un bit au SAR si VIN ≤ Vappr(i) → SAR(i-1) = ‘0’ si VIN > Vappr(i) → SAR(i-1) = ‘1’ GPA770: Microélectronique appliquée Éric Granger

27 C.4(1) Concepts fondamentaux
c. Techniques de conversion Méthode par approximation successive: (suite) GPA770: Microélectronique appliquée Éric Granger

28 C.4(1) Concepts fondamentaux
c. Techniques de conversion Méthode par approximation successive: (suite) GPA770: Microélectronique appliquée Éric Granger

29 C.4(1) Concepts fondamentaux
c. Techniques de conversion Exemple: choisir un voltage entre 0V et 4V, puis représenter avec un code binaire à 4 bits GPA770: Microélectronique appliquée Éric Granger

30 C.4(1) Concepts fondamentaux
c. Techniques de conversion Exemple: choisir un voltage entre 0V et 5V, puis représenter avec un code binaire à 4 bits GPA770: Microélectronique appliquée Éric Granger

31 C.4(1) Concepts fondamentaux
Méthode parallèle (3 bits): compare simultanément VIN à plusieurs voltages de référence un convertisseur à b bits utilise 2b – 1 comparateurs donne une conversion très rapide, mais coûteuse c. Techniques de conversion GPA770: Microélectronique appliquée Éric Granger

32 Sommaire de la section C.4
C.4 Convertisseur analogique-numérique: Concepts fondamentaux: interface du transducteur processus de conversion A-N techniques standard de conversion Module ATD du 68HCS12: description d’opération du système registres et configurations programmation du ATD GPA770: Microélectronique appliquée Éric Granger

33 C.4(2) Convertisseur du 68HC12
Rôle des types de sous-systèmes dans le 68HC12: CPU12: unité de traitement central gestion d’exceptions: interrompre l’exécution normal d’un programme Bus: le module LIM combine DATA, ADDR et CTRL Mémoire: stocker des configurations (bloc), des variables (RAM) , des programmes (ROM) et des vecteurs Périphériques d’entrée/sortie: ports d’entré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) GPA770: Microélectronique appliquée Éric Granger

34 C.4(2) Convertisseur du 68HC12
MC9S12C32 GPA770: Microélectronique appliquée Éric Granger

35 C.4(2) Convertisseur du 68HC12
A/N GPA770: Microélectronique appliquée Éric Granger

36 C.4(2) Convertisseur du 68HC12
Sous-système de conversion A-N du 68HC12: GPA770: Microélectronique appliquée Éric Granger

37 C.4(2) Convertisseur du 68HC12
Fonctionnement du module ATD: dessert 8 canaux d’entrée/sortie individuels: vue interne: PORTAD (adresse $008F) est associé aux 8 canaux vue externe: broches PAD[7:0] sont associées aux 8 canaux les échantillons de signaux analogiques aux 8 canaux sont transmis à travers d’un MUX 8:1 on peut effectuer n conversions successives d’un seul canal, ou bien une conversion sur m canaux en succession. permet l’échantillonnage de 10 bits en 7 µsec si le ATD clk = 2MHz. GPA770: Microélectronique appliquée Éric Granger

38 C.4(2) Convertisseur du 68HC12
Fonctionnement du sous-système: (suite) le convertisseur A-N par approximations successives traite un échantillon à la fois départ: une séquence de n conversions est initiée en écrivant au registre de contrôle fin: les drapeaux appropriés sont fixés au registre d’état et les résultats sont disponibles dans un registre des résultats GPA770: Microélectronique appliquée Éric Granger

39 C.4(2) Convertisseur du 68HC12
Conversion par approximation successive: chaque échantillon du signal analogique → code binaire signé/non-signée justifié à gauche ou non et pondéré, avec 8 ou 10 bits de résolution précision de ± 1 du LSb VRH VRL $00 $FF 1/2FS 1/4FS 1/8FS GPA770: Microélectronique appliquée Éric Granger

40 C.4(2) Convertisseur du 68HC12
Registres pertinents: [$ $0085] ATDCTL2-5: registres de contrôle configurent la séquence de conversion pour des opérations spécifiques [$0086 / $008B] ATDSTAT0/ATDSTAT1: registres d’états deux registres de 8 bits qui contiennent les drapeaux du convertisseur [$008F] PORTAD: registre de port ATD un port associé aux entrées ATD [$ $009F] ATDDR0H-ATDDR7H: 8 registres de résultats de16 bits contiennent les résultats binaires après la conversion GPA770: Microélectronique appliquée Éric Granger

41 C.4(2) Convertisseur du 68HC12
[$0082] ATDCTL2 - registre de contrôle 2: pour l’activation et la configuration de base ADPU (‘ATD Power Up’): activation du convertisseur ‘1’ = activer le ATD – suite à l’activation, on doit attendre une période d’initialisation d’au moins 100µsec avant d’utiliser le convertisseur A-N ‘0’ = désactiver (toutes conversions sont abandonnées) GPA770: Microélectronique appliquée Éric Granger

42 C.4(2) Convertisseur du 68HC12
[$0082] ATDCTL2 - registre de contrôle 2: AFFC (‘ATD Fast Flag Clear All’): RAZ rapide des drapeaux SCF et CCFn dans le registre ATDSTAT0 et ATDSTAT1 ‘0’: normale – processus en 2 étapes (spécialisé pour le mode ‘polling’) ‘1’: rapide – se fait automatiquement lorsqu’on lit un résultat des registres ATDDRn (spécialisé pour le mode INT) GPA770: Microélectronique appliquée Éric Granger

43 C.4(2) Convertisseur du 68HC12
[$0082] ATDCTL2 - registre de contrôle 2: AWAI (‘ATD Stop in Wait Mode’): opération s’éteint si le 68HCS12 est en mode ‘wait’ ‘0’: ATD continue d’opérer si en mode ‘wait’ ‘1’: ATD cesse d’opérer pour consommer moins de puissance ASCIE (‘ATD Sequence Complete Interrupt Enable’): ‘0’: masquer l’interruption du convertisseur ‘1’: permet l’interruption (quand une séquence de conversion est complétée, c.-à-d., quand ASCIF = 1) ASCIF (‘ATD Sequence Complete Interrupt Flag’): un drapeau qui s’active quand une séquence de conversion est complétée (il y a aussi une INT si ASCIE = 1) GPA770: Microélectronique appliquée Éric Granger

44 C.4(2) Convertisseur du 68HC12
[$0083] ATDCTL3 - registre de contrôle 3: permet de contrôler le nombre de conversions par séquence GPA770: Microélectronique appliquée Éric Granger

45 C.4(2) Convertisseur du 68HC12
[$0084] ATDCTL4 - registre de contrôle 4: permet de contrôler l’échantillonnage, la résolution et le temps du S/H pour une séquence de conversion GPA770: Microélectronique appliquée Éric Granger

46 C.4(2) Convertisseur du 68HC12
[$0084] ATDCTL4 - registre de contrôle 4: PRS[4:0] (‘Select ATD Clock Prescaler’): indique le facteur d’échelle pour division de PCLK fATD = fBCLK / {2 · (PRS[4:0]+1)10} facteur d’échelle PRS[4:0] valeur du diviseur fréquence d’horloge ATD, fATD 00001 4 2.00 MHz 00010 6 1.33 MHz 00011 8 1.00 MHz 00100 10 800 kHz 00101(par défaut) 12 667 kHz 00111 16 500 kHz GPA770: Microélectronique appliquée Éric Granger

47 C.4(2) Convertisseur du 68HC12
[$0084] ATDCTL4 - registre de contrôle 4: SMP[1:0] (‘Select Sample Time’): indique le nombre de périodes de l’horloge ATD pour effectuer un échantillonnage dans le calcul de la fréquence d’échantillonnage fech GPA770: Microélectronique appliquée Éric Granger

48 C.4(2) Convertisseur du 68HC12
[$0084] ATDCTL4 - registre de contrôle 4: SRES8 (‘A/D Resolution Select’): 0 10-bits résolution 1 8-bits résolution GPA770: Microélectronique appliquée Éric Granger

49 C.4(2) Convertisseur du 68HC12
[$0085] ATDCTL5 - registre de contrôle 5: pour configurer le mode de conversion utilisé (gâchette) DJM: ‘Result Register Data Justification’Justification à droite ou à gauche ‘0’: Justification à gauche ‘1’: Justification à droite DSGN: ‘Result Register Data Signed or Unsigned’ ‘0’: Non signé ‘1’: Signé GPA770: Microélectronique appliquée Éric Granger

50 C.4(2) Convertisseur du 68HC12
[$0085] ATDCTL5 - registre de contrôle 5: SCAN: activer la conversion par balayage continu ‘0’: effectue une séquence de conversion ‘1’: effectue continuellement des séquences MULT: active le mode de conversion pour de multiples canaux ‘0’: échantillonnage d’un canal individuel ‘1’: échantillonnage de canaux multiples CC,CB,CA: sélection du canal de départ GPA770: Microélectronique appliquée Éric Granger

51 C.4(2) Convertisseur du 68HC12
[$0086] ATDSTAT0 – 1ier registre d’état: CC0-CC2 (‘Conversion Counter’): indique dans quel registre de résultat la conversion en cours sera stockée. SCF (‘Sequence Complete Flag’): drapeau qui indique la fin d’une séquence de conversion. Le drapeau est RAZ si: on écrit 1 à SCF écrit au ATDCTL5 (RAZ normal) on lit un des registres ATDDRn (RAZ rapide) GPA770: Microélectronique appliquée Éric Granger

52 C.4(2) Convertisseur du 68HC12
[$008B] ATDSTAT1 – 2ième registre d’état: série de drapeaux pour indiquer l’état du convertisseur CCF0-CCF7 (‘Conversion Complete Flag’): indique les canaux de la séquence qui sont complétés. (Pointe les registres de résultats) GPA770: Microélectronique appliquée Éric Granger

53 C.4(2) Convertisseur du 68HC12
[$0090-9F] ATDDR0H-7H – registres de résultat: stocke les résultats des conversions justifiées à gauche GPA770: Microélectronique appliquée Éric Granger

54 C.4(2) Convertisseur du 68HC12
[$0090-9F] ATDDR0H-7H – registres de résultat: stocke les résultats des conversions justifiées à droite GPA770: Microélectronique appliquée Éric Granger

55 C.4(2) Convertisseur du 68HC12
Procédure générale pour exploiter le convertisseur A-N: effectuer les connexions physiques: voltages de référence aux broches externes VRH et VRL signaux analogiques aux broches d’entrée du convertisseur PAD0 – PAD7 fixer ADPU = ‘1’ au registre ATDCTL2 pour activer le système attendre 100+ µsec avant d’utiliser le système de conversion initialiser le fonctionnement du système selon l’application avec les registres ATDCTL2-4 entamer et configurer un processus de conversion en écrivant au registre ATDCTL5 surveiller la fin du processus avec drapeaux du registre ATDSTAT0 accéder les résultats de conversion aux registres ATDDRnH désactiver (ADPU = ‘0’) pour réduire la consommation de puissance GPA770: Microélectronique appliquée Éric Granger

56 C.4(2) Convertisseur du 68HC12
Diagramme de flots de données: GPA770: Microélectronique appliquée Éric Granger

57 C.4(2) Convertisseur du 68HC12
Structure typique de programme: GPA770: Microélectronique appliquée Éric Granger

58 C.4(3) Programmation du convertisseur
Exemple1: Mesurer un signal analogique inconnu connecté à la broche PAD6 du 68HCS12, 4 fois utilise VRL = 0V et VRH = 5V, et connecter le signal au PAD6 écrire ADPU = ‘1’ pour activer générer un délai de 100 µsec en logiciel initialiser le système: pas d’interruptions, RAZ normal des drapeaux, 4 conversions/séquence, 2 ATDclk/échant., réduction d’échelle = 4 (conversions à 2 MHz), 8 bit non signés justifiés à droite. entamer et configurer: mode d’échantillonnage à canal simple, mode non continu, une séquence de 4 conversions, signal sur PAD6, etc. surveillance: balayage pour vérifier le bit SCF du registre ATDSTAT0 résultats de conversion: écrits aux registres ATDDR0H-3H on laisse le système activé GPA770: Microélectronique appliquée

59 C.4(3) Programmation du convertisseur
;******************** ; Programme principal ATDCTL2-5 EQU $ ; déclaration des adresses déjà fait dans ATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.inc ATDDR0H-3H EQU $ ORG $0800 ECHAN DS.B $4 ORG $4000 LDS #$ ; initialise la pile BSR INIT ; sr d’initialisation BSR CONVERT ; sr processus de conversion Fin: BRA Fin GPA770: Microélectronique appliquée

60 C.4(3) Programmation du convertisseur
;************************************************ ; INIT: sous-routine pour initialiser le convertisseur A-N INIT LDAA #$ ; activer, RAZ drapeau normal, pas d’interrupt. STAA ATDCTL2 BSR DELAY ; brancher vers la sous-routine DELAY LDAA #$ ; 4 conversions STAA ATDCTL3 LDAA #$ ; 2 ATDclk/échan., réduction d’échelle = 4 STAA ATDCTL4 RTS GPA770: Microélectronique appliquée

61 C.4(3) Programmation du convertisseur
;*********************************************** ; DELAY: sous-routine pour délai de 100 µsec DELAY LDAA #$C ; charger A avec un délai de 100 µsec LOOP DECA BNE LOOP ; branchement si A n’est pas 0 RTS génération d’un délai logiciel: $C8 = 200 passes dans la boucle de délai 4 cycles d’horloge / boucle (DECA + BNE), alors 800 cycles total si la fréquence d’horloge du CPU est 8 MHz, délai de 100 µsec GPA770: Microélectronique appliquée

62 C.4(3) Programmation du convertisseur
;*********************************************************** ; CONVERT: un processus de conversion et stock le résultat CONVERT LDAA #$ ; SCAN=0, MULT=0, PAD 6,... STAA ATDCTL5 ; gâchette WTCNV BRCLR ATDSTAT0, $80, WTCNV ; attendre SCF = 1 MOVB ATDDR0L, ECHAN ; sauvegarder MOVB ATDDR1L, ECHAN ; les échantillons MOVB ATDDR2L, ECHAN+2 MOVB ATDDR3L, ECHAN+3 RTS END GPA770: Microélectronique appliquée

63 C.4(3) Programmation du convertisseur
Exemple 2: Mesurer un signal analogique inconnue connecté à la broche PAD2 du 68HC12, une fois et stocker à l’adresse $0800 utilise VRH = 5V et VRL = 0V, et connecter le signal au PAD2 écrire ADPU = ‘1’ pour activer générer un délai de 100 µsec en logiciel initialiser le système: pas d’interruptions, RAZ rapide des drapeaux, 2 ATDclk/echan., réduction d’échelle = 4 (conversions à 2 MHz), 8 bit non signés justifiés à droite. entamer et configurer: mode d’échantillonnage à canal simple, mode non continue, signal sur PAD2, etc. surveillance: balayage pour vérifier le bit CCF0 de ATDSTAT1 résultat de conversion: est écrit au registre ATDDR0H on désactive le système en mode WAIT pour conserver de la puissance GPA770: Microélectronique appliquée

64 C.4(3) Programmation du convertisseur
;******************** ; Programme principal ATDCTL2-5 EQU $ ; déclaration des adresses déjà fait dans ATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.inc ATDDR0H-3H EQU $ ORG $4000 LDX #$ ; adresse des résultats LDS #$1000 JSR INIT ; sr initialisation JSR CONVERT ; sr séquence de conversion Fin: BRA Fin GPA770: Microélectronique appliquée

65 C.4(3) Programmation du convertisseur
;* INIT: sous-routine pour initialiser le convertisseur A-N INIT MOVB #$C0 , ATDCTL2 ;activer, RAZ rapide drapeaux, pas d’interr. LDAA # ;créer un délai de 100 µsec LOOP DECA BNE LOOP MOVB #$08, ATDCTL3 ; un canal par scan MOVB #$81, ATDCTL4 ;2 ATDclk/echan., réduction d’échelle=4 RTS ;* CONVERT: conversion d’une séquence et stock le résultat CONVERT MOVB #$82, ATDCTL5 ; SCAN=0, MULT=0, PAD2 WTCNV BRCLR ATDSTAT1, $01, WTCNV ; attendre que CCF0 = 1 celui ; qui va recevoir le résultat ; non pas CCF2 MOVB ATDDR0L,0,X ; stoker le résultat GPA770: Microélectronique appliquée

66 C.4(3) Programmation du convertisseur
Exemple 3: Mesurer 8 signaux analogiques inconnus connectés aux broches PAD0-7 du 68HC12 une fois et les stocker à partir de l’adresse $0800 utilise VRH = 5V et VRL = 0V, et connecter les signaux aux PAD0-7 écrire ADPU = ‘1’ pour activer générer un délais de 100 µsec en logiciel initialiser le système: pas d’interruptions, RAZ rapide des drapeaux, 8 conversions/séquence, 2 ATDclk/echan., réduction d’échelle = 4 (conversions à 2 MHz), etc. entamer et configurer: mode d’échantillonnage multi-canal, mode continu, une séquence de 8 conversions, signaux sur PAD0-7, 8 bit non signés justifiés à droite. surveillance: balayage pour vérifier le bit SCF de ATDSTAT0 les résultats de conversion: registres ATDDR0H-7H on désactive le système en mode WAIT pour conserver de la puissance GPA770: Microélectronique appliquée

67 C.4(3) Programmation du convertisseur
;******************** ; Programme principal ATDCTL2-5 EQU $ ; déclaration des adresses déjà fait dans ATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.inc ATDDR0H-3H EQU $ ORG $4000 LDX #$ ; adresse des résultats LDS #$1000 JSR INIT ; sr initialisation JSR CONVERT ; sr séquence de conversion Fin: BRA Fin GPA770: Microélectronique appliquée

68 C.4(3) Programmation du convertisseur
;************************************************ ;* INIT: sous-routine pour initialiser le convertisseur A-N INIT MOVB #$C0 , ATDCTL2 ;activer, RAZ rapide drapeaux, pas d’interr. LDAA # ;créer un délai de 100 µsec LOOP DECA BNE LOOP MOVB #$00, ATDCTL3 ; 8 canaux ($40 est aussi bon) MOVB #$81, ATDCTL4 ;2 ATDclk/échan., réduction d’échelle=4 RTS GPA770: Microélectronique appliquée

69 C.4(3) Programmation du convertisseur
;*************************************************************** ; CONVERT: conversion d’une séquence et stock le résultat CONVERT MOVB #$90, ATDCTL ;DJM=1, DSGN=0,SCAN= ;MULT=1, CC:CA=000 WTCNV BRCLR ATDSTAT0, $80, WTCNV ; attendre que SCF = 1 MOVB ATDDR0L,1,X+ ; collecter et stoker les MOVB ATDDR1L,1,X+ ; résultats, et ensuite MOVB ATDDR2L,1,X+ ; post-incr. X MOVB ATDDR3L,1,X+ MOVB ATDDR4L,1,X+ MOVB ATDDR5L,1,X+ MOVB ATDDR6L,1,X+ MOVB ATDDR7L,1,X+ RTS GPA770: Microélectronique appliquée

70 C.4(3) Programmation du convertisseur
Exemple 4: Mesurer un signal analogique inconnu connecté à la broche PAD7 du 68HC12, 20 fois collecter 20 résultats de conversion et les stocker aux adresses mémoire qui commencent à $0800 utiliser la même configuration qu’à l’exemple 1, sauf qu’il faut effectuer: 4 conversions par séquence, et 5 séquences en stockant les résultats progressivement GPA770: Microélectronique appliquée

71 C.4(3) Programmation du convertisseur
;******************** ; Programme principal ATDCTL2-5 EQU $ ; déclaration des adresses déjà fait dans ATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.inc ATDDR0H-3H EQU $ ORG $4000 LDX #$ ; pointe vers l’adresse désirée LDS #$1000 JSR INIT ; sr initialisation du convertisseur LDY # ; compteur de séquences DONE JSR CONVERT ; sr séquence de conversion DBNE Y, DONE ; décrémenter et tester FIN BRA FIN GPA770: Microélectronique appliquée

72 C.4(3) Programmation du convertisseur
;************************************************ ;* INIT: sous-routine pour initialiser le convertisseur A-N INIT MOVB #$C0 , ATDCTL2 ;activer, RAZ rapide drapeaux, pas d’interr. LDAA # ;créer un délai de 100 µsec LOOP DECA BNE LOOP MOVB #$20, ATDCTL3 ; nb de conversions = 4 MOVB #$81, ATDCTL4 ;2 ATDclk/echan., réduction d’échelle = 4 RTS GPA770: Microélectronique appliquée

73 C.4(3) Programmation du convertisseur
;*************************************************************** ; CONVERT: 5 séquence de 4 conversion et stock les résultats CONVERT MOVB #$87, ATDCTL ; DJM=1, DSGN=0, ; SCAN=0, ; MULT=0, CC-CA=111 WTCNV BRCLR ATDSTAT0, $80, WTCNV ; attendre que SCF=1 MOVB ATDDR0L,1,X ; collecter et stoker les MOVB ATDDR1L,1,X ; résultats, et ensuite MOVB ATDDR2L,1,X ; post-incr. X MOVB ATDDR3L,1,X+ RTS END GPA770: Microélectronique appliquée

74 C.4(3) Programmation du convertisseur
Laboratoire 2d: Détection de voltage des capteurs IR (sections 9.1, 9.6 et 9.7 du livre) Objectifs: extraire la valeur de senseurs IR avec le ATD du 68HCS12 programmer 3 canaux du système ATD pour numériser les sorties de 3 senseurs IR pour une plage de valeurs analogiques des senseurs de 0V à 3.2V surveiller continuellement la sortie des 3 senseurs pour détecter des obstacles: le voltage augmente plus la distance diminue GPA770: Microélectronique appliquée

75 GPA770: Microélectronique appliquée
Labo 2d :*************************************************************************************** ; Laboratoire 2d session H2011, GPA770 ; ; Auteur: Maurice Tremblay ; MÀJ: 16 mars 2014 ; Convertisseur analogique à numérique 68HCS12 de Motorola ; Ref.: MC9S12C128V1.pdf p org RAMStart ;*************************************************************************************** ; Déclaration et allocation de trois variables pour la sauvegarde des trois voltages des trois ; capteurs de proximité CapteurD : ds.b $01 ; les trois voltages des capteurs CapteurC : ds.b $01 ; droit, centre et gauche CapteurG : ds.b $01 org ROMStart ; Initialisation du convertisseur N/A ; Mode 8 bits non signés à droite ; Multiple numérisations. Canal 1, 2 et 3 ; Vitesse du ‘sample and hold’ à 2 coups d'horloge ; Vitesse de l'horloge de conversion à 2MHz InitAN: movb #$C0,ATDCTL ; mise en marche du convertisseur et du AFFC movb #$18,ATDCTL ; 3 conversions à la fois movb #$81,ATDCTL ; 8 bits, 2 clocks S/H, 2MHz GPA770: Microélectronique appliquée

76 GPA770: Microélectronique appliquée
Labo 2d (suite) …………(Vos autres initialisations ici pour compenser le 100 microsecondes de mise en marche du module ATD)………. ;*************************************************************************************** ; ; Conversion des trois voltages des trois capteurs IRs Final: movb #$91,ATDCTL ; début de conversion justifiée à droite, multiple, à partir du ; canal 1 ; Interrogation du bit SCF du registre de statut ATDSTAT0 Attendre: brclr ATDSTAT0,#$80,Attendre ; Attendre la fin des trois conversions (SCF) movb ATDDR2L, CapteurD ; sauvegarde des trois voltages des capteurs movb ATDDR1L, CapteurC movb ATDDR0L, CapteurG jsr AfficheLCD ; votre routine d’affichage sur LCD des trois voltages …………(Logique floue, calcul de braquage etc.)………. ; à faire dans le projet final seulement ldy #200 ; À refaire 4 à 5 fois par secondes jsr DELAI bra Final ; et pour toujours GPA770: Microélectronique appliquée


Télécharger ppt "GPA770: Microélectronique appliquée"

Présentations similaires


Annonces Google