Cours22 CAN
Cours22 CAN
Cours22 CAN
Recherche Scientifique
Chapitre 5
Module de Conversion Analogique / Numérique
PIC18F4550
Principe de la Conversion Analogique / Numérique
La conversion Analogique / Numérique
Un convertisseur analogique - numérique transforme une grandeur physique
(tension, courant) en une valeur numérique.
Généralement, il possède:
Une entrée "début de conversion" qui permet de démarrer la conversion.
Une sortie "fin de conversion" qui indique que la conversion est terminée.
Une entrée analogique (courant ou tension).
Plusieurs sorties numériques, dont le nombre est fonction de la résolution.
Principe de la Conversion Analogique / Numérique
La conversion Analogique / Numérique
Exemple
Principe de la Conversion Analogique / Numérique
Le CAN au niveau du PIC18F4550
Conversion
Analogique /
Numérique
Sur 13 canaux
(AN0AN12)
RB0 RB4 RB1 RB3 RB2 RE2 RE1 RE0 RA5 RA3 RA2 RA1 RA0
PCGF AN12 AN11 AN10 AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0
(3…0)
0000 A A A A A A A A A A A A A
0001 A A A A A A A A A A A A A
0010 A A A A A A A A A A A A A
0011 D A A A A A A A A A A A A
0100 D D A A A A A A A A A A A
0101 D D D A A A A A A A A A A
0110 D D D D A A A A A A A A A
0111 D D D D D A A A A A A A A
1000 D D D D D D A A A A A A A
1001 D D D D D D D A A A A A A
1010 D D D D D D D D A A A A A
1011 D D D D D D D D D A A A A
1100 D D D D D D D D D D A A A
1101 D D D D D D D D D D D A A
1110 D D D D D D D D D D D D A
1111 D D D D D D D D D D D D D
ADCON1 : A/D CONTROL REGISTER 1
Les choix doivent être ajustés pour que TAD dépasse 0,8 μs.
Le convertisseur nécessite 11 TAD pour la conversion de 10
bits.
ADCON2 : A/D CONTROL REGISTER 2
Le temps d’acquisition
TAD :
La période de l’horloge de
conversion d’1 bit
ADCON2 : A/D CONTROL REGISTER 2
Le temps d’acquisition
A la fin de la conversion, S se
ferme, nouvelle acquisition.
ADCON2 : A/D CONTROL REGISTER 2
Le temps d’acquisition
U1
2 15
RA0/AN0 RC0/T1OSO/T1CKI
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
14 26
RV1 RA6/OSC2/CLKO RC7/RX/DT/SDO
13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
37 27
RB4/AN11/KBI0/CSSPP RD4/SPP4 VDD
1k 38 28
RV2 RB5/KBI1/PGM RD5/SPP5/P1B
MODFILE=POT_LIN 39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
50%
RE0/AN5/CK1SPP
9
RE1/AN6/CK2SPP
10 R1
RE2/AN7/OESPP
18 1
VUSB RE3/MCLR/VPP
1k 10k
PIC18F4550
D1
LED-RED
30
Etape 1 : Configuration
a. Les lignes d'entrées analogiques doivent voir le bit TRIS associé positionné à 1
(entrée).
• BSF TRISA,0 ; mettre RA0 en entrée
• Clrf TRISB
b. On configure les entrées comme entrée de type analogique avec le registre spécial
ADCON1 Exemple : PCFG3:PCFG0 = 1110
• Choix des tensions de référence(ADCON1)
– VCFG1:VCFG0= 00 (Vref-=Vss et Vref+=Vdd)
• Donc : movlw b’0000 1110’ ;
• movwf ADCON1
c. CHS3:CHS0 : choix de l'entrée analogique
0000 = channel 0, (RA0)
• Donc : clrf ADCON0
e. Choisir l'horloge de conversion (ADCON2) : Tad=2*Tosc (or Fosc/2)
ADCS2:ADCS0=000. Puisque nous utilisons l'horloge interne par défaut de 1 Mhz, Tosc =
1/1,000,000 = 1us. Cela signifie que si Tadmin=0,8us, 2Tosc = 2us> 0,8 us
d. Choisir le temps d'acquisition (ADCON2) :
• ACQT0 à ACQT2= 001 (Tacq=2*Tad) 31
Etape 1 : Configuration
• Mettre la justification à gauche: ADFM=0
• Donc : movlw b’00001000’
• movwf ADCON2
f. Activer le module CAN (ADON à 1 dans ADCON0)
• bsf ADCON0,0
33