université du québec École de technologie supérieure gpa770: microélectronique appliquée Éric...

76
Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.4-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 )

Upload: yolande-puech

Post on 04-Apr-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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 68HC12vecteur 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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-3

Sommaire de la section C.4

C.4 Convertisseur analogique-numérique:

1)Concepts fondamentaux:a) interface du transducteur b) processus de conversion N-A et A-Nc) techniques standard de conversion

2)Module ATD du 68HC12:a) description d’opération du système b) registres et configurationsc) programmation du ATD

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-4

C.4(1) Concepts fondamentaux

Rôle du convertisseur: traduire un signal analogique en un {codes binaires}, avec:1. l’échantillonnage: le signal analogique est

échantillonné à intervalle périodique ou apériodique.

2. l’encodage: un code binaire, signé ou non, est attribué à chacune des valeurs échantillonnées

Exemple: signal analogique provenant d’un senseur IR

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-6

C.4(1) Concepts fondamentauxa. 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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-7

C.4(1) Concepts fondamentaux

a. Interfaces de transducteurs

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-8

C.4(1) Concepts fondamentauxa. Interfaces de transducteurs

Conditionnement: Vsortie = Ventrée · K + Bavec les bornes:

V2max(out) = V2max(in) · K + B (1)

V1min(out) = V1min(in) · K + B (2)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-9

C.4(1) Concepts fondamentauxb. Processus de conversion A-N

conversion ≡ traduire un signal analogique en un {codes binaires}, par un processus en 2 phases:1. l’échantillonnage: un voltage dans la plage de conversion

du convertisseur A-N est mesuré à certaines intervalles2. 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 conversiontaux de traitement de données: le nombre d’échantillons par seconde

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-10

C.4(1) Concepts fondamentauxb. Processus de conversion A-N

1. Échantillonnage: mesurer un voltage à un intervalle régulier ou non Ts afin de représenter le signal analogique

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-12

C.4(1) Concepts fondamentaux

b. Processus de conversion A-N

2. Encodage: attribué un code binaire non signé à chaque voltage analogique échantillonné

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-15

C.4(1) Concepts fondamentauxb. Processus de conversion A-N

le processus de conversion consiste à: 1. échantillonner le signal analogique périodiquement ou

non2. encoder chaque échantillon en code binaire

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-16

C.4(1) Concepts fondamentauxc. Techniques de conversion

Circuit ‘sample-and-hold’: échantillonnagefonction: 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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-17

C.4(1) Concepts fondamentaux

c. Techniques de conversion N-A

Méthodes standards de conversion N-A1. méthode par PWM

2. méthode basée sur un sommateur

3. méthode sérielle (SPI) basée sur un sommateur

4. méthode basée sur l’échelon (R-2R)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-18

C.4(1) Concepts fondamentaux

c. Techniques de conversion N-Améthode par PWM

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-19

C.4(1) Concepts fondamentaux

bit 3R

4R

2R

R

8Rbit 0

bit 2

bit 1

+ ref

c. Techniques de conversion N-Améthode basée sur le sommateur

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-20

C.4(1) Concepts fondamentaux

Sortie A

Sortie B

c. Techniques de conversion N-Améthode sérielle avec sommateur

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-21

C.4(1) Concepts fondamentaux

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-22

C.4(1) Concepts fondamentaux

c. Techniques de conversion N-Améthode basée sur l’échelon R-2R

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-23

C.4(1) Concepts fondamentaux

c. Techniques de conversion A-N

Méthodes standards de conversion A-N1. méthode basée sur l’intégration

2. méthode de type compteur (rampe)

3. méthode par approximation successive

4. méthode parallèle

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-24

C.4(1) Concepts fondamentaux

c. Techniques de conversion A-NMéthode par intégration:

Vin

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-25

C.4(1) Concepts fondamentaux

c. Techniques de conversion A-Nméthode de type compteur (rampe)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-26

C.4(1) Concepts fondamentauxc. Techniques de conversion

Méthode par approximation successive:1. Initialiser la plage des voltages FS(b) = VRH – VRL

2. Pour i = bit b → bit 1 du SAR:

a) approximer le voltage Vappr(i) = FS(i) / 2, au mi-point dans la plage des voltages FS(i) 1. si VIN ≤ Vappr(i) → FS(i-1) = moitié inférieure de FS(i)

2. si VIN > Vappr(i) → FS(i-1) = moitié supérieure de FS(i)

1. comparer VIN et Vappr(i) pour assigner un bit au SARsi VIN ≤ Vappr(i) → SAR(i-1) = ‘0’

si VIN > Vappr(i) → SAR(i-1) = ‘1’

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-27

C.4(1) Concepts fondamentaux

c. Techniques de conversion

Méthode par approximation successive: (suite)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-28

C.4(1) Concepts fondamentaux

c. Techniques de conversion

Méthode par approximation successive: (suite)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-29

C.4(1) Concepts fondamentauxc. Techniques de conversion

Exemple: choisir un voltage entre 0V et 4V, puis représenter avec un code binaire à 4 bits

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-30

C.4(1) Concepts fondamentauxc. Techniques de conversion

Exemple: choisir un voltage entre 0V et 5V, puis représenter avec un code binaire à 4 bits

1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 00000V

5V

2.5V

3.75V

3.125V3.4375V Vin = 3.5V

step 1 step 2 step 3 step 4

voltage

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-32

Sommaire de la section C.4

C.4 Convertisseur analogique-numérique:

1)Concepts fondamentaux:a) interface du transducteur b) processus de conversion A-Nc) techniques standard de conversion

2)Module ATD du 68HCS12:a) description d’opération du système b) registres et configurationsc) programmation du ATD

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-33

C.4(2) Convertisseur du 68HC12Rôle des types de sous-systèmes dans le 68HC12: a) CPU12: unité de traitement central

gestion d’exceptions: interrompre l’exécution normal d’un 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 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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-34

C.4(2) Convertisseur du 68HC12

MC9S12C32

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-35

C.4(2) Convertisseur du 68HC12

A/N

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-36

C.4(2) Convertisseur du 68HC12

Sous-système de conversion A-N du 68HC12:

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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 canauxvue 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.

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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ôlefin: les drapeaux appropriés sont fixés au registre d’état et les résultats sont disponibles dans un registre des résultats

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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 LSbVRH

VRL$00 $FF

1/2FS

1/4FS

1/8FS

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-40

C.4(2) Convertisseur du 68HC12

Registres pertinents:

[$0082 - $0085] ATDCTL2-5: registres de contrôleconfigurent 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 ATDun port associé aux entrées ATD

[$0090 - $009F] ATDDR0H-ATDDR7H: 8 registres de résultats de16 bits

contiennent les résultats binaires après la conversion

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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 échantillonnagedans le calcul de la fréquence d’échantillonnage fech

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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é

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-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)

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-53

C.4(2) Convertisseur du 68HC12

[$0090-9F] ATDDR0H-7H – registres de résultat:

stocke les résultats des conversions justifiées à gauche

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-54

C.4(2) Convertisseur du 68HC12

[$0090-9F] ATDDR0H-7H – registres de résultat:

stocke les résultats des conversions justifiées à droite

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-55

C.4(2) Convertisseur du 68HC12

Procédure générale pour exploiter le convertisseur A-N:

1. effectuer les connexions physiques:

a) voltages de référence aux broches externes VRH et VRL

b) signaux analogiques aux broches d’entrée du convertisseur PAD0 – PAD7

2. fixer ADPU = ‘1’ au registre ATDCTL2 pour activer le système

3. attendre 100+ µsec avant d’utiliser le système de conversion

4. initialiser le fonctionnement du système selon l’application avec les registres ATDCTL2-4

5. entamer et configurer un processus de conversion en écrivant au registre ATDCTL5

6. surveiller la fin du processus avec drapeaux du registre ATDSTAT07. accéder les résultats de conversion aux registres ATDDRnH8. désactiver (ADPU = ‘0’) pour réduire la consommation de puissance

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-56

C.4(2) Convertisseur du 68HC12

Diagramme de flots de données:

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquéeÉric Granger

C.4-57

C.4(2) Convertisseur du 68HC12

Structure typique de programme:

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-58

C.4(3) Programmation du convertisseur

Exemple1: Mesurer un signal analogique inconnu connecté à la broche PAD6 du 68HCS12, 4 fois

1. utilise VRL = 0V et VRH = 5V, et connecter le signal au PAD6

2. écrire ADPU = ‘1’ pour activer

3. générer un délai de 100 µsec en logiciel

4. 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.

5. entamer et configurer: mode d’échantillonnage à canal simple, mode non continu, une séquence de 4 conversions, signal sur PAD6, etc.

6. surveillance: balayage pour vérifier le bit SCF du registre ATDSTAT0

7. résultats de conversion: écrits aux registres ATDDR0H-3H

8. on laisse le système activé

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-59

C.4(3) Programmation du convertisseur

;********************; Programme principal

ATDCTL2-5 EQU $0082-85 ; déclaration des adresses déjà fait dansATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.incATDDR0H-3H EQU $0090-98

ORG $0800 ECHAN DS.B $4

ORG $4000 LDS #$1000 ; initialise la pile

BSR INIT ; sr d’initialisation BSR CONVERT ; sr processus de

conversion Fin: BRA Fin

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-60

C.4(3) Programmation du convertisseur

;************************************************; INIT: sous-routine pour initialiser le convertisseur A-N

INIT LDAA #$80 ; activer, RAZ drapeau normal, pas d’interrupt.

STAA ATDCTL2

BSR DELAY ; brancher vers la sous-routine DELAYLDAA #$20 ; 4 conversions

STAA ATDCTL3

LDAA #$81 ; 2 ATDclk/échan., réduction d’échelle = 4

STAA ATDCTL4RTS

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-61

C.4(3) Programmation du convertisseur

;***********************************************

; DELAY: sous-routine pour délai de 100 µsec

DELAY LDAA #$C8 ; 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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-62

C.4(3) Programmation du convertisseur

;***********************************************************

; CONVERT: un processus de conversion et stock le résultat

CONVERTLDAA #$86 ; 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+1 ; les échantillons

MOVB ATDDR2L, ECHAN+2

MOVB ATDDR3L, ECHAN+3

RTS

END

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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

1. utilise VRH = 5V et VRL = 0V, et connecter le signal au PAD2

2. écrire ADPU = ‘1’ pour activer

3. générer un délai de 100 µsec en logiciel

4. 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.

5. entamer et configurer: mode d’échantillonnage à canal simple, mode non continue, signal sur PAD2, etc.

6. surveillance: balayage pour vérifier le bit CCF0 de ATDSTAT17. résultat de conversion: est écrit au registre ATDDR0H8. on désactive le système en mode WAIT pour conserver de la puissance

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-64

C.4(3) Programmation du convertisseur

;********************; Programme principal

ATDCTL2-5 EQU $0082-85 ; déclaration des adresses déjà fait dansATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.incATDDR0H-3H EQU $0090-98

ORG $4000 LDX #$0800 ; adresse des résultatsLDS #$1000

JSR INIT ; sr initialisation JSR CONVERT ; sr séquence de

conversion Fin: BRA Fin

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-65

C.4(3) Programmation du convertisseur

;* INIT: sous-routine pour initialiser le convertisseur A-NINIT MOVB #$C0 , ATDCTL2 ;activer, RAZ rapide drapeaux, pas d’interr.

LDAA #200 ;créer un délai de 100 µsecLOOP DECA

BNE LOOP MOVB #$08, ATDCTL3 ; un canal par scanMOVB #$81, ATDCTL4 ;2 ATDclk/echan., réduction d’échelle=4

RTS

;* CONVERT: conversion d’une séquence et stock le résultatCONVERT MOVB #$82, ATDCTL5 ; SCAN=0, MULT=0, PAD2WTCNV BRCLR ATDSTAT1, $01, WTCNV ; attendre que CCF0 = 1

celui ; qui va recevoir le résultat

; non pas CCF2MOVB ATDDR0L,0,X ; stoker le résultat

RTS

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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

1. utilise VRH = 5V et VRL = 0V, et connecter les signaux aux PAD0-7

2. écrire ADPU = ‘1’ pour activer

3. générer un délais de 100 µsec en logiciel

4. 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.

5. 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.

6. surveillance: balayage pour vérifier le bit SCF de ATDSTAT0

7. les résultats de conversion: registres ATDDR0H-7H

8. on désactive le système en mode WAIT pour conserver de la puissance

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-67

C.4(3) Programmation du convertisseur

;********************; Programme principal

ATDCTL2-5 EQU $0082-85 ; déclaration des adresses déjà fait dansATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.incATDDR0H-3H EQU $0090-98

ORG $4000 LDX #$0800 ; adresse des résultatsLDS #$1000

JSR INIT ; sr initialisation JSR CONVERT ; sr séquence de

conversionFin: BRA Fin

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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 #200 ;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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-69

C.4(3) Programmation du convertisseur

;***************************************************************

; CONVERT: conversion d’une séquence et stock le résultat

CONVERT MOVB #$90, ATDCTL5 ;DJM=1, DSGN=0,SCAN=0 ;MULT=1, CC:CA=000

WTCNV BRCLR ATDSTAT0, $80, WTCNV ; attendre que SCF = 1MOVB ATDDR0L,1,X+ ; collecter et stoker les MOVB ATDDR1L,1,X+ ; résultats, et ensuite MOVB ATDDR2L,1,X+ ; post-incr. XMOVB ATDDR3L,1,X+ MOVB ATDDR4L,1,X+ MOVB ATDDR5L,1,X+ MOVB ATDDR6L,1,X+ MOVB ATDDR7L,1,X+RTS

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-71

C.4(3) Programmation du convertisseur

;********************; Programme principal

ATDCTL2-5 EQU $0082-85 ; déclaration des adresses déjà fait dansATDSTAT EQU $0086 ; le fichier d’inclusion mc9s12c32.incATDDR0H-3H EQU $0090-98

ORG $4000 LDX #$0800 ; pointe vers l’adresse désiréeLDS #$1000

JSR INIT ; sr initialisation du convertisseur

LDY #5 ; compteur de séquences DONE JSR CONVERT ; sr séquence de conversion

DBNE Y, DONE ; décrémenter et testerFIN BRA FIN

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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 #200 ;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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-73

C.4(3) Programmation du convertisseur

;***************************************************************

; CONVERT: 5 séquence de 4 conversion et stock les résultats

CONVERTMOVB #$87, ATDCTL5 ; 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

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

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.4-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 IRpour une plage de valeurs analogiques des senseurs de 0V à 3.2Vsurveiller continuellement la sortie des 3 senseurs pour détecter des obstacles:

le voltage augmente plus la distance diminue

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

Université du Québec

École de technologie supérieure

Labo 2d

GPA770: Microélectronique appliquée C.4-75

:***************************************************************************************:***************************************************************************************:***************************************************************************************; Laboratoire 2d session H2011, GPA770;; Auteur: Maurice Tremblay;; MÀJ: 16 mars 2014;; Convertisseur analogique à numérique 68HCS12 de Motorola; Ref.: MC9S12C128V1.pdf p.233-241

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 capteursCapteurC : ds.b $01 ; droit, centre et gaucheCapteurG : 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,ATDCTL2 ; mise en marche du convertisseur et du AFFC movb #$18,ATDCTL3 ; 3 conversions à la fois movb #$81,ATDCTL4 ; 8 bits, 2 clocks S/H, 2MHz

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

Université du Québec

École de technologie supérieure

Labo 2d (suite)

GPA770: Microélectronique appliquée C.4-76

…………(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,ATDCTL5 ; 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