Vous êtes sur la page 1sur 52

Microcontrôleur

68HC12

Motorola

68HC912BC32

RB

Microcontrôleur HC1

2

1

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

Architecture du HC12 • Processeur CPU12 • 32 koctets Flash EEPROM • 1 koctets RAM •

RB

Microcontrôleur HC1

2

2

CPU12, modèle des registres

• Registres de données 8 bits : A et B • Ensemble: 16 bits : D
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 HC1
3

2

CPU12, modes

CPU12, modes RB Microcontrôleur HC1 2 4

RB

Microcontrôleur HC1

2

4

CPU12, plan mémoire

RB Microcontrôleur HC1 5
RB
Microcontrôleur HC1
5

2

CPU12, Interruptions

RB Microcontrôleur HC1 6
RB
Microcontrôleur HC1
6

2

HC12, Registres I/O

HC12, Registres I/O RB Microcontrôleur HC1 7 2
HC12, Registres I/O RB Microcontrôleur HC1 7 2

RB

Microcontrôleur HC1

7

2

HC12, Registres I/O

HC12, Registres I/O RB Microcontrôleur HC1 8 2
HC12, Registres I/O RB Microcontrôleur HC1 8 2

RB

Microcontrôleur HC1

8

2

HC12, Registres I/O

HC12, Registres I/O RB Microcontrôleur HC1 9 2
HC12, Registres I/O RB Microcontrôleur HC1 9 2

RB

Microcontrôleur HC1

9

2

Convertisseur A/D

Convertisseur A/D 8 canaux multiplexés 10 bits de résolution 8 registres 16 bits pour résultats :

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 HC1

2

10

Convertisseur A/D

ATDCTL0

ATDCTL5

ATDCTL0 et 1 : Réservés

:

 

6 registres de contrôle (8 bits)

 

ATDSTAT :

 

1 registre de status (16 bits)

 

PORTAD :

 

1 registre d ’entrée du port

 

ADR0

ADR7

:

ADR0H

ADR7H

:

8 registres de résultat 16 bits

8 registres de résultat 8 bits

RB

Microcontrôleur HC1

2

11

Convertisseur A/D

Convertisseur A/D • ADPU : 1: Autorise ATD module • AFFC : 1: ATD Fast Flag

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 HC1

12

2

Convertisseur A/D

RB Microcontrôleur HC1 13
RB
Microcontrôleur HC1
13

2

Convertisseur A/D

Convertisseur A/D • S10BM 1: 10 bits, 0: 8 bits • SMP1, SMP0 Délai d ’échantillonnage

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 HC1

2

14

Convertisseur A/D

Convertisseur A/D RB Microcontrôleur HC1 2 15

RB

Microcontrôleur HC1

2

15

Convertisseur A/D

Convertisseur A/D • S8CM • SCAN 0 : 4 conversions, 1: 8 conversions 0 : 1

• S8CM • SCAN

0 : 4 conversions, 1: 8 conversions 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 HC1

2

16

Convertisseur A/D • Canaux C, D, E et F pour Tests • L ’écriture dans ATDCTL5

Convertisseur A/D

Canaux C, D, E et F pour Tests

• L ’écriture dans ATDCTL5 initie une séquence de conversion

RB

Microcontrôleur HC1

17

2

Convertisseur A/D

Convertisseur A/D • SCF Séquence Complète Flag • CC<2 0> No Séquence en cours • CCF7

SCF

Séquence Complète Flag

CC<2

0>

No Séquence en cours

CCF7

CCF0

Conversion Complète Flag

RB

1 par Registre ADRx Microcontrôleur HC1

2

18

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 pour nouvelle conversion

Lecture premier résultat

CCFx

Lecture ATDSTAT, puis ADRx

Lecture registre ADRx

 

RB

Microcontrôleur HC1

19

2

Convertisseur A/D

Convertisseur A/D Un bit par entrée • Attention la lecture de ce registre peut provoquer une

Un bit par entrée • Attention la lecture de ce registre peut provoquer une perturbation sur le signal analogique

RB

Microcontrôleur HC1

2

20

Convertisseur A/D

Convertisseur A/D • Résultat de la conversion : • ADRxH x: 0 .. 7 – résultat

• 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 HC1

2

21

PWM

PWM Mode aligné à gauche RB Microcontrôleur HC1 2 22

Mode aligné à gauche

RB

Microcontrôleur HC1

2

22

PWM

PWM • Mode centré RB Microcontrôleur HC1 2 23

Mode centré

RB

Microcontrôleur HC1

2

23

PWM, Horloge

PWM, Horloge • Groupe PWM0 et PWM1 • Groupe PWM2 et PWM3 RB Microcontrôleur HC1 24

Groupe PWM0 et PWM1

Groupe PWM2 et PWM3

RB

Microcontrôleur HC1

24

2

PWM, Registre PWCLK

PWM, Registre PWCLK • CON23, CON01 • PCKA<2 .. 0> • PCKB<2 0> .. 1: PWM23

• CON23, CON01

• PCKA<2

..

0>

PCKB<2 0>

..

1: PWM23 / PWM01 2 x16 bits

0: 4 x 8 bits

Prescalers

PWM, Registre PWCLK • CON23, CON01 • PCKA<2 .. 0> • PCKB<2 0> .. 1: PWM23

RB

Microcontrôleur HC1

2

25

PWM, Registre PWPOL

PWM, Registre PWPOL • PCLKx Source de l’horloge – 0: Clock A : PWM0 et 1

• 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 HC1

2

26

PWM, Registre PWEN

PWM, Registre PWEN • PWENx Autorise PWMx sur Port P PWMx en sortie, indépendamment de DDRP

• PWENx Autorise PWMx sur Port P

PWMx en sortie, indépendamment de DDRP

RB

Microcontrôleur HC1

2

27

PWM, Registre PWPRES

PWM, Registre PWPRES • Prescaler des horloges A et B RB Microcontrôleur HC1 2 28

• Prescaler des horloges A et B

RB

Microcontrôleur HC1

2

28

PWM, Registre prescaler

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

• PWSCAL0/1

• PWSCNT0/1

Prédiviseur 0 et 1

Etat du prédiviseur 0, 1

RB

Microcontrôleur HC1

2

29

PWM, Registres PWCNT0 3 ..

PWM, Registres PWCNT0 3 .. • Etat du compteur PWMx (0 3) .. RB Microcontrôleur HC1

• Etat du compteur PWMx (0 3)

..

RB

Microcontrôleur HC1

2

30

PWM, Registres PWPERx-PWDTYx

PWM, Registres PWPERx-PWDTYx RB Microcontrôleur HC1 31 2
RB Microcontrôleur HC1 31
RB
Microcontrôleur HC1
31

2

PWM, Duty cycle

PWM, Duty cycle RB Microcontrôleur HC1 2 32

RB

Microcontrôleur HC1

2

32

PWM, Registres

PWM, Registres • PSWAI • CENTR Wait mode -> stop clk generator Mode centré (1), Aligné

• PSWAI

• CENTR

Wait mode -> stop clk generator

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 HC1

2

33

PWM, Registres PORT P

PWM, Registres PORT P • Direction RB 0: entrée 1: sortie Microcontrôleur HC1 2 34
PWM, Registres PORT P • Direction RB 0: entrée 1: sortie Microcontrôleur HC1 2 34

• Direction

RB

0: entrée

1: sortie

Microcontrôleur HC1

2

34

Horloges

RB Microcontrôleur HC1 35
RB
Microcontrôleur HC1
35

2

Horloges

Horloges RB Microcontrôleur HC1 2 Diviseurs pour – SCI – RTI – COP 36

RB

Microcontrôleur HC1

2

Diviseurs pour

SCI

RTI

– COP

36

Horloges

Horloges RB Microcontrôleur HC1 2 • Diviseurs pour – Timer 37

RB

Microcontrôleur HC1

2

Diviseurs pour

– Timer

37

Horloges

Horloges RB Microcontrôleur HC1 2 • Diviseurs pour – SPI – ATD – BDM 38

RB

Microcontrôleur HC1

2

Diviseurs pour

– SPI

– ATD

– BDM

38

RB

Microcontrôleur HC1

2

39

Timer, Accumulateur d’impulsions TCNT : Compteur libre TIOC : Input Capture / Output Compare RB Microcontrôleur

Timer,

Accumulateur

d’impulsions

TCNT : Compteur libre

TIOC :

Input Capture / Output Compare

RB

Microcontrôleur HC1

40

2

Timer, registres

RB

Microcontrôleur HC1

2

41

Ports séries

Ports séries SCI : Serial Communication Interface SPI : Synchronous Peripheral Interface RB Microcontrôleur HC1 42

SCI :

Serial Communication Interface

SPI : Synchronous Peripheral Interface

RB

Microcontrôleur HC1

42

2

Port série asynchrone, SCI

Port série asynchrone, SCI RB Microcontrôleur HC1 2 43

RB

Microcontrôleur HC1

2

43

Port série synchrone, SPI

Port série synchrone, SPI RB Microcontrôleur HC1 2 44

RB

Microcontrôleur HC1

2

44

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 45

RB

Microcontrôleur HC1

2

45

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 46

RB

Microcontrôleur HC1

2

46

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 47

RB

Microcontrôleur HC1

2

47

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 48

RB

Microcontrôleur HC1

2

48

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 49

RB

Microcontrôleur HC1

2

49

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 50

RB

Microcontrôleur HC1

2

50

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 51

RB

Microcontrôleur HC1

2

51

Bus CAN

Bus CAN RB Microcontrôleur HC1 2 52

RB

Microcontrôleur HC1

2

52