APPLICATION DE LA
 CONVERSION ANALOGIQUE NUMERIQUE

LE CONTROLEUR MC9S12C128
 

Hugues ANGELIS

page  01

 

 

Introduction

Le MC9S12C128  dispose d'un blocs MSCAN. (voir le schéma bloc du MC9S12)

Le 9s12XS128 dispose de 8 entrées analogiques reliées, via un multiplexeur analogique, à un convertisseur analogique-numérique (CAN) à pesées successives dont la  résolution peut aller jusqu’à 12 bits.

En interne, le CAN du 9s12 est un module ADC12B16 disposant de 24 canaux auxquels on accède par un multiplexeur analogique à 2 étages. Les 8 premiers canaux (de 0 à 7) sont reliés à l’extérieur, les 8 canaux suivants sont, en interne, relié à la tension de référence basse (la masse pour le module MicroB12 et donc le bloc X12). Enfin les 8 derniers canaux sont reliés à des fonctions spéciales internes. Il dispose aussi d’un échantillonneur-bloqueur partiellement configurable.

Le module utilise une horloge spécifique pour cadencer ses échantillonnages et ses conversions. Cette horloge, générée à partir de l’horloge interne du 9s12, doit être comprise entre 250KHz et 8,3MHz.

Le module MSCAN utilise 48 octets de registres, implantés en mémoire à partir de l’adresse 0x02C0.

Adresse

Taille
(bit)

Nom

Fonction

Accès

Base 8 ATDCTL0 Control Register 0 R/W
Base + 1 8 ATDCTL1 Control Register 1 R/W
Base + 2 8 ATDCTL2 Control Register 2 R/W
Base + 3 8 ATDCTL3 Control Register 3 R/W
Base + 4 8 ATDCTL4 Control Register 4 R/W
Base + 5 8 ATDCTL5 Control Register 5 R/W
Base + 6 8 ATDSTAT0 Status Register 0 R/W
Base + 8 16 ATDCMPE Compare Enable Register R/W
Base + 10 16 ATDSTAT2 Status Register 2 R
Base + 12 16 ATDDIEN Input Enable Register R/W
Base + 14 16 ATDCMPHT Compare Higher Than Register R/W
Base + 16 16 ATDDR0 Data Register 0 R/W
Base + 18 16 ATDDR1 Data Register 1 R/W
Base + 20 16 ATDDR2 Data Register 2 R/W
Base + 22 16 ATDDR3 Data Register 3 R/W
Base + 24 16 ATDDR4 Data Register 4 R/W
Base + 26 16 ATDDR5 Data Register 5 R/W
Base + 28 16 ATDDR6 Data Register 6 R/W
Base + 30 16 ATDDR7 Data Register 7 R/W
Base + 32 16 ATDDR8 Data Register 8 R/W
Base + 34 16 ATDDR9 Data Register 9 R/W
Base + 36 16 ATDDR10 Data Register 10 R/W
Base + 38 16 ATDDR11 Data Register 11 R/W
Base + 40 16 ATDDR12 Data Register 12 R/W
Base + 42 16 ATDDR13 Data Register 13 R/W
Base + 44 16 ATDDR14 Data Register 14 R/W
Base + 46 16 ATDDR15 Data Register 15 R/W

Les registres grisés ne sont pas étudiés dans ce document.

Seul est traité le cas du registre de donnée ATDDR0, pour les autres registres de données, ils sont identiques à ATDDR0, mais présent à d’autres adresses du plan mémoire.

Les registres Base + 7, + 9, + 11, +13 et Base + 15 sont respectivement les parties hautes des registres ATDCMPE, ATDSTAT2, ATDDIEN, ATDCMPHT et ATDDR0 (registres de 16 bits). Il en va de même pour les autres registres de données (ATDDRX).