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

Post on 04-Apr-2015

118 views 2 download

Transcript of RBMicrocontrôleur HC121 Microcontrôleur 68HC12 Motorola 68HC912BC32.

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