52
RB Microcontrôleur HC12 1 Microcontrôleur 68HC12 Motorola 68HC912BC32

RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

Embed Size (px)

Citation preview

Page 1: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 1

Microcontrôleur68HC12

Motorola

68HC912BC32

Page 2: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 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

Page 3: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 4: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 4

CPU12, modes

Page 5: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 5

CPU12, plan mémoire

Page 6: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 6

CPU12, Interruptions

Page 7: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 7

HC12, Registres I/O

Page 8: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 8

HC12, Registres I/O

Page 9: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 9

HC12, Registres I/O

Page 10: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 11: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 12: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 13: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 13

Convertisseur A/D

Page 14: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 15: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 15

Convertisseur A/D

Page 16: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 17: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 18: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 19: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 20: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 21: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 22: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 22

PWM

• Mode aligné à gauche

Page 23: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 23

PWM

• Mode centré

Page 24: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 24

PWM, Horloge

• Groupe PWM0 et PWM1

• Groupe PWM2 et PWM3

Page 25: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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>

Page 26: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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

Page 27: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 27

PWM, Registre PWEN

• PWENx Autorise PWMx sur Port P

PWMx en sortie, indépendamment de DDRP

Page 28: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 28

PWM, Registre PWPRES

• Prescaler des horloges A et B

Page 29: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 29

PWM, Registre prescaler

• PWSCAL0/1 Prédiviseur 0 et 1• PWSCNT0/1 Etat du prédiviseur 0, 1

Page 30: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 30

PWM, Registres PWCNT0..3

• Etat du compteur PWMx (0..3)

Page 31: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 31

PWM, Registres PWPERx-PWDTYx

Page 32: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 32

PWM, Duty cycle

Page 33: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

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)

Page 34: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 34

PWM, Registres PORT P

• Direction 0: entrée

1: sortie

Page 35: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 35

Horloges

Page 36: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 36

Horloges

• Diviseurs pour – SCI– RTI– COP

Page 37: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 37

Horloges

• Diviseurs pour – Timer

Page 38: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 38

Horloges

• Diviseurs pour – SPI– ATD– BDM

Page 39: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 39

Page 40: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 40

Timer, Accumulateur d’impulsions

• TCNT : Compteur libre• TIOC : Input Capture /

Output Compare

Page 41: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 41

Timer, registres

Page 42: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 42

Ports séries

• SCI : Serial Communication

Interface

• SPI : Synchronous Peripheral Interface

Page 43: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 43

Port série asynchrone, SCI

Page 44: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 44

Port série synchrone, SPI

Page 45: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 45

Bus CAN

Page 46: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 46

Bus CAN

Page 47: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 47

Bus CAN

Page 48: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 48

Bus CAN

Page 49: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 49

Bus CAN

Page 50: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 50

Bus CAN

Page 51: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 51

Bus CAN

Page 52: RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32

RB Microcontrôleur HC12 52

Bus CAN