Upload
alard-barbe
View
120
Download
2
Embed Size (px)
Citation preview
RB Microcontrôleur HC12 1
Microcontrôleur68HC12
Motorola
68HC912BC32
RB Microcontrôleur HC12 2
Architecture du HC12
• Processeur CPU12
• 32 koctets Flash EEPROM
• 1 koctets RAM
• 768 octets EEPROM• PORTAD A/D 8 canaux 10 bits
• PORTT Timer
• PORTS Série SCI, SPI, 2 I/O
• PORTP 4 PWM, 4 I/O
• PORTCAN CANBUS, 5 I/O
• PORTA Adresses/Data
• PORTB Adresses/Data
• PORTE Contrôle
• BDI Debug
RB Microcontrôleur HC12 3
CPU12, modèle des registres
• Registres de données 8 bits : A et B
• Ensemble: 16 bits : D
• registres pointeurs 16 bits :
IX et IY• Pointeur de pile : SP• Registre PC• Fanions S X H I N Z V C
RB Microcontrôleur HC12 4
CPU12, modes
RB Microcontrôleur HC12 5
CPU12, plan mémoire
RB Microcontrôleur HC12 6
CPU12, Interruptions
RB Microcontrôleur HC12 7
HC12, Registres I/O
RB Microcontrôleur HC12 8
HC12, Registres I/O
RB Microcontrôleur HC12 9
HC12, Registres I/O
RB Microcontrôleur HC12 10
Convertisseur A/D
• 8 canaux multiplexés• 10 bits de résolution• 8 registres 16 bits pour
résultats : ATD0..ATD7• Modes:
– 1 conversion de 4 ou 8 canaux– scan en continu– scan multiples d ’un canal
RB Microcontrôleur HC12 11
Convertisseur A/D
ATDCTL0 et 1 : Réservés
ADR0H..ADR7H :8 registres de résultat 8 bits
• ATDCTL0..ATDCTL5 :6 registres de contrôle (8 bits)
• ATDSTAT :1 registre de status (16 bits)
• PORTAD :1 registre d ’entrée du port
• ADR0..ADR7 :8 registres de résultat 16 bits
RB Microcontrôleur HC12 12
Convertisseur A/D
• ADPU : 1: Autorise ATD module• AFFC : 1: ATD Fast Flag Clear, Met à « 0 » bit Conversion
Complète (CCF) par lecture du résultat de la conversion, sans lire le registre de status
• AWAI : 1: Stop si mode WAIT• ASCIE : 1 :ATD Séquence Complète Interrupt Enable• ASCIF : (lecture) Flag de conversion complète
RB Microcontrôleur HC12 13
Convertisseur A/D
RB Microcontrôleur HC12 14
Convertisseur A/D
• S10BM 1: 10 bits, 0: 8 bits• SMP1, SMP0 Délai d ’échantillonnage• PRS4..PRS0 Clock pour ATD : compris entre 500 kHz et 2 MHz
ATDClk = PCLK / ( PRSx + 1 )
PClk = fQuartz/2
RB Microcontrôleur HC12 15
Convertisseur A/D
RB Microcontrôleur HC12 16
Convertisseur A/D
• S8CM 0 : 4 conversions, 1: 8 conversions• SCAN 0 : 1 séquence de 4/8 conversions
1 : mode continu de 4/8 séquences• MULT 0 : 4/8 conversions simple canal CD..CA
1 : 4/8 conversions 4/8 canaux
RB Microcontrôleur HC12 17
Convertisseur A/D
• Canaux C, D, E et F
pour Tests
• L ’écriture dans ATDCTL5 initie une séquence de conversion
RB Microcontrôleur HC12 18
Convertisseur A/D
• SCF Séquence Complète Flag• CC<2..0> No Séquence en cours• CCF7..CCF0 Conversion Complète Flag
1 par Registre ADRx
RB Microcontrôleur HC12 19
Convertisseur A/D
• SCF, CCF7..CCF0 :• Activé lorsque la conversion représentée est
terminée• Mise à « 0 », dépend du bit AFFC de ATDCTL2 :
AFFC : 0 1
SCF Ecrire dans ATDCTL5 Lecture premier résultat
pour nouvelle conversion
CCFx Lecture ATDSTAT, puis ADRx Lecture registre ADRx
RB Microcontrôleur HC12 20
Convertisseur A/D
• Un bit par entrée• Attention la lecture de ce registre peut provoquer
une perturbation sur le signal analogique
RB Microcontrôleur HC12 21
Convertisseur A/D
• Résultat de la conversion :• ADRxH x: 0..7
– résultat en mode 8 bits
• ADRx– résultat en mode 10 bits : bits 15..6, bits 5..0 = 0
RB Microcontrôleur HC12 22
PWM
• Mode aligné à gauche
RB Microcontrôleur HC12 23
PWM
• Mode centré
RB Microcontrôleur HC12 24
PWM, Horloge
• Groupe PWM0 et PWM1
• Groupe PWM2 et PWM3
RB Microcontrôleur HC12 25
PWM, Registre PWCLK
• CON23, CON01 1: PWM23 / PWM01 2 x16 bits
0: 4 x 8 bits • PCKA<2..0> Prescalers• PCKB<2..0>
RB Microcontrôleur HC12 26
PWM, Registre PWPOL
• PCLKx Source de l’horloge– 0: Clock A : PWM0 et 1
Clock B : PWM2 et 3– 1: S0 : PWM0 et 1
S1 : PWM2 et 3
• PPOLx Polarité début du PWM
RB Microcontrôleur HC12 27
PWM, Registre PWEN
• PWENx Autorise PWMx sur Port P
PWMx en sortie, indépendamment de DDRP
RB Microcontrôleur HC12 28
PWM, Registre PWPRES
• Prescaler des horloges A et B
RB Microcontrôleur HC12 29
PWM, Registre prescaler
• PWSCAL0/1 Prédiviseur 0 et 1• PWSCNT0/1 Etat du prédiviseur 0, 1
RB Microcontrôleur HC12 30
PWM, Registres PWCNT0..3
• Etat du compteur PWMx (0..3)
RB Microcontrôleur HC12 31
PWM, Registres PWPERx-PWDTYx
RB Microcontrôleur HC12 32
PWM, Duty cycle
RB Microcontrôleur HC12 33
PWM, Registres
• PSWAI Wait mode -> stop clk generator• CENTR Mode centré (1), Aligné (0)• RDP Réduction Puissance pour P (1)• PUPP Pull-up Enable Port P (1)• PSBCK Disable PWM si BDI actif (1)
RB Microcontrôleur HC12 34
PWM, Registres PORT P
• Direction 0: entrée
1: sortie
RB Microcontrôleur HC12 35
Horloges
RB Microcontrôleur HC12 36
Horloges
• Diviseurs pour – SCI– RTI– COP
RB Microcontrôleur HC12 37
Horloges
• Diviseurs pour – Timer
RB Microcontrôleur HC12 38
Horloges
• Diviseurs pour – SPI– ATD– BDM
RB Microcontrôleur HC12 39
RB Microcontrôleur HC12 40
Timer, Accumulateur d’impulsions
• TCNT : Compteur libre• TIOC : Input Capture /
Output Compare
RB Microcontrôleur HC12 41
Timer, registres
RB Microcontrôleur HC12 42
Ports séries
• SCI : Serial Communication
Interface
• SPI : Synchronous Peripheral Interface
RB Microcontrôleur HC12 43
Port série asynchrone, SCI
RB Microcontrôleur HC12 44
Port série synchrone, SPI
RB Microcontrôleur HC12 45
Bus CAN
RB Microcontrôleur HC12 46
Bus CAN
RB Microcontrôleur HC12 47
Bus CAN
RB Microcontrôleur HC12 48
Bus CAN
RB Microcontrôleur HC12 49
Bus CAN
RB Microcontrôleur HC12 50
Bus CAN
RB Microcontrôleur HC12 51
Bus CAN
RB Microcontrôleur HC12 52
Bus CAN