AccueilđŸ‡«đŸ‡·Chercher

ADuC

ADuC est le nom d'une famille de microcontrÎleurs 8 bits de la firme américaine Analog Devices. Elle comporte de nombreux membres, différant par les tailles mémoire ainsi que par le nombre et le type de périphériques embarqués. Tous les membres sont basés sur l'architecture mise au point par Intel avec son célÚbre microcontrÎleur 8051.

La firme AD (Analog Devices) étant spécialisée dans les circuits analogiques, il n'est pas étonnant de constater que les microcontrÎleurs qu'elle propose conviennent parfaitement pour le traitement de signaux analogiques, grùce aux convertisseurs analogiques-numériques embarqués. Les sorties se font en numérique et/ou analogique. Un seul composant est donc parfaitement capable de réaliser des fonctions telles que l'acquisition de données, la régulation


Architecture de l'ADuC812

À titre d'exemple, considĂ©rons un des premiers membres de la famille, l'ADuC812. Celui-ci est prĂ©sentĂ© en boĂźtier Quad Flatpack avec 52 broches.

CƓur 8051

L'ADuC812 est un systĂšme d'acquisition de donnĂ©es analogiques complĂštement intĂ©grĂ©. Il est bĂąti autour d'un cƓur 8051 ; celui-ci est dĂ©crit en dĂ©tail dans l'article rĂ©fĂ©rencĂ©. Nous nous contenterons donc de discuter les additions Ă  l'architecture de base. Rappelons que le 8051 avait Ă©tĂ© trĂšs intelligemment conçu pour permettre des extensions. C'est ainsi que dans le 8051, un grand nombre des SFR (registres de fonctions spĂ©ciales, destinĂ©s Ă  contrĂŽler les pĂ©riphĂ©riques) n'ont pas Ă©tĂ© attribuĂ©s.

MĂ©moires

L'ADuC812 comporte :

  • une mĂ©moire morte Flash effaçable Ă©lectriquement de 8 Ko ; celle-ci peut donc ĂȘtre programmĂ©e par l'utilisateur, ce qui facilite grandement le dĂ©veloppement des programmes ;
  • 256 octets de RAM ;
  • mais aussi, et c'est une nouveautĂ© par rapport au 8051, une mĂ©moire Flash effacable Ă©lectriquement de 640 octets pour les donnĂ©es ;
  • lorsqu'on a besoin d'un grand espace pour les donnĂ©es ou le programme, le 812 permet d'utiliser jusqu'Ă  16 Mo d'espace pour les donnĂ©es et jusqu'Ă  64 Ko d'espace pour le programme ; mais ceci rĂ©duit les nombres de lignes de ports d'E/S disponibles, certains ports Ă©tant utilisĂ©s comme bus d'adresses et de donnĂ©es.

Convertisseur analogique/numérique

Le 812 comporte un convertisseur A/N Ă  approximations successives d'une rĂ©solution de 12 bits, prĂ©cĂ©dĂ© d'un multiplexeur analogique 8 canaux et d'un circuit suiveur/bloqueur (« track and hold ») destinĂ© Ă  maintenir un niveau constant Ă  l'entrĂ©e du CAN durant la conversion.

Convertisseurs numériques/analogiques

Le 812 comporte deux convertisseurs N/A 8 bits suivis d'un Ă©tage tampon qui peut ĂȘtre dĂ©sactivĂ©.

Référence de tension interne

Le 812 comporte une rĂ©fĂ©rence de tension de type « bandgap », fournissant une tension trĂšs stable de 2,5 V ; celle-ci peut ĂȘtre utilisĂ©e comme rĂ©fĂ©rence pour le CAN, les CNA et aussi pour un circuit extĂ©rieur.

Horloge

Le 812 peut ĂȘtre pilotĂ© par une horloge externe (400 kHz Ă  16 MHz) ou par son horloge interne ; pour spĂ©cifier la frĂ©quence de celle-ci, il suffit d'ajouter entre les broches Xtal1 et Xtal2 un quartz taillĂ© pour obtenir la frĂ©quence de rĂ©sonance dĂ©sirĂ©e, et un condensateur (valeur recommandĂ©e par le fabricant du quartz, gĂ©nĂ©ralement quelques dizaines de pF) entre chaque broche et la masse.

Ports d'E/S

Comme le 8051, le 812 comporte quatre ports d'E/S, chaque port a une structure particuliĂšre ; ils sont bidirectionnels, sauf le port 1 qui ne peut ĂȘtre utilisĂ© qu'en port d'entrĂ©e. Le port 3 permet d'absorber des courants allant jusqu'Ă  8mA, de façon Ă  pouvoir piloter des leds ou des optocoupleurs sans Ă©tage tampon externe.

Alimentation

Le 812 peut ĂȘtre alimentĂ© entre 2,7 et 5,5 V. Le dĂ©couplage des broches d'alimentation doit ĂȘtre particuliĂšrement soignĂ©, de façon Ă  Ă©viter des interfĂ©rences entre la circuiterie numĂ©rique et analogique.

Interface série RS-232

Le 812, comme le 8051, est muni d'une interface série RS-232. Celle-ci nécessite un circuit externe pour adapter les niveaux d'entrée et sortie du 812 aux niveaux prévus par la norme RS-232.

  • Pour rappel, la norme RS-232 prĂ©voit des niveaux de sortie compris entre +5 et +15 V pour un niveau logique 0, et entre -5 et −15 V pour un niveau logique 1. Les entrĂ©es doivent, elles, accepter des niveaux compris entre +3 et +25 V, et entre -3 et −25 V.

L'entrĂ©e sĂ©rie peut ĂȘtre utilisĂ©e pour tĂ©lĂ©charger des donnĂ©es Ă  destination de la Flash programme ou de la Flash donnĂ©es Ă  partir d'un terminal. Cette possibilitĂ© permet aussi la mise au point du programme (« debugging »).

Autres interfaces série

Le 812 intÚgre également la circuiterie nécessaire pour réaliser l'interface série trÚs populaire de type SPI (Serial Peripheral Interface). Celle-ci nécessite trois lignes : MISO (Master In, Slave Out), MOSI (Master Out, Slave In) et SCLOCK (Serial Clock).

Est Ă©galement prĂ©vue une interface sĂ©rie I2C, avec ses deux lignes SDATA (Serial Data) et SCLOCK (Serial Clock). Comme les lignes sont partagĂ©es avec l'interface SPI, seule l'une des deux interfaces peut ĂȘtre active.

Chien de garde

Le 812 est surveillĂ© par un chien de garde (watchdog), qui est destinĂ© Ă  gĂ©nĂ©rer une commande de reset du systĂšme lorsque celui-ci, Ă  la suite d'une erreur de programmation ou d'un Ă©vĂ©nement fortuit, entre dans une boucle sans fin erronĂ©e (le programme se plante, en langage imagĂ©!). La durĂ©e du temporisateur utilisĂ© par le chien de garde, est rĂ©glable, et celui-ci peut aussi ĂȘtre dĂ©sactivĂ© (ce qui est souvent utile pendant la phase de mise au point du programme).

Superviseur d'alimentation

Ce circuit surveille en permanence les tensions d'alimentation des circuits analogiques et numĂ©riques. Il indique lorsque l'une d'entre elles, ou les deux, tombent en dessous d'un seuil qui est rĂ©glable entre 2,63 et 4,63 V. En cas de sous-tension, le fonctionnement du cƓur est bloquĂ©, de façon Ă  ne pas exĂ©cuter un programme incorrect, mais les registres de travail peuvent ĂȘtre sauvegardĂ©s.

Compteurs

Le 812 comporte 3 compteurs 16 bits, semblables aux compteurs présents dans le MC 8052 d'Intel.

Interruptions

Le 812 comporte pas moins de neuf sources d'interruption, avec deux niveaux de priorité.

  • Superviseur de tension
  • Interruption externe 0 et 1
  • Compteur/temporisateur 0, 1 et 2
  • Convertisseur A/N
  • Interface I2C/SPI
  • Interface sĂ©rie RS-232

Autres membres de la famille

La famille ADuC comporte bien d'autres membres, et la liste s'allonge au fil des mois. À titre d'exemple, donnons quelques caractĂ©ristiques des ADuC 814 et ADuC 831.

ADuC 814

Il s'agit d'un processeur 8 bits bĂąti autour d'un cƓur 8052 et Ă©quipĂ© d'un convertisseur A/N Ă  six entrĂ©es d'une rĂ©solution de 12 bits capable de convertir 247 k Ă©chantillons/s. Il se contente d'un cristal Ă  32 kHz, qui stabilise, grĂące Ă  une boucle Ă  verrouillage de phase (PLL, Phase-Locked Loop), la frĂ©quence de l'horloge locale Ă  16,8 MHz. L'utilisation d'un quartz basse frĂ©quence permet de rĂ©duire la puissance consommĂ©e.

Il est Ă©quipĂ© d'une source de tension de rĂ©fĂ©rence interne programmable (via un convertisseur N/A) et de deux CNA d'une rĂ©solution de 12 bits chacun avec tampon de sortie.

CĂŽtĂ© mĂ©moire : 8 Ko de mĂ©moire flash/EE pour le programme, 640 octets de flash/EE pour les donnĂ©es et 256 octets de RAM.

Il possÚde trois compteurs/temporisateurs, onze lignes d'E/S et onze sources d'interruption avec deux niveaux de priorité.

Il peut ĂȘtre alimentĂ© en 3 ou V, ne consomme que mA sous V (avec une frĂ©quence d'horloge de 2,1 MHz), et la puissance consommĂ©e tombe Ă  15 ÎŒA en mode « Power Down » (horloge de 32 kHz activĂ©e).

Il est livré dans un boßtier 28 broches et comporte les périphériques embarqués suivants : circuit de reset à la mise sous tension (« power-on reset circuit »), moniteur de température, temporisateur pour un réveil à intervalles réguliers (« wake-up/RTC timer »), interface série UART, interfaces série SPI/I2C combinés, superviseur d'alimentation, chien de garde.

Programme et donnĂ©es peuvent bien sĂ»r ĂȘtre tĂ©lĂ©chargĂ©s par l'interface sĂ©rie ; celle-ci permet aussi l'Ă©mulation 1 broche (« single-pin emulation »), utile en phase de mise au point du programme.

ADuC 831 et 832

Il s'agit d'un processeur 8 bits bĂąti autour d'un cƓur 8052 et Ă©quipĂ© d'un convertisseur A/N Ă  8 entrĂ©es d'une rĂ©solution de 12 bits capable de convertir 247 k Ă©chantillons/s ; avec dispositif d'Ă©talonnage incorporĂ©. La frĂ©quence du quartz doit ĂȘtre comprise entre 1 et 16 MHz pour le 831 ; l'ADuC 832 est une version particuliĂšre du 831 prĂ©vue pour fonctionner avec un quartz de 32 kHz.

Il est équipé :

  • de deux CNA d'une rĂ©solution de 12 bits chacun avec tampon de sortie ;
  • de deux CNA 16 bits de type ÎŁ-Δ ;
  • de deux gĂ©nĂ©rateurs de signaux modulĂ©s en largeur d'impulsion (PWM, Pulse-Width Modulation)

CĂŽtĂ© mĂ©moire : 62 Ko de mĂ©moire flash/EE pour le programme, 4 Ko de flash/EE pour les donnĂ©es et 2 304 octets (sic!) de RAM ; il s'agit en fait des 256 octets classiques de la famille plus 2 Ko de RAM Ă©tendue.

Il possĂšde trois compteurs/temporisateurs, 32 lignes d'E/S (certaines ont une double fonction et pourraient ne pas ĂȘtre disponibles dans certaines applications) et douze sources d'interruption avec deux niveaux de prioritĂ©.

Il peut ĂȘtre alimentĂ© en 3 ou V. Trois modes de fonctionnement sont prĂ©vus : « normal », « Idle » et « Power-Down » ; dans ce dernier mode, la consommation tombe Ă  20 ÎŒA sous V.

Il est livré dans un boßtier 56 broches et comporte les périphériques embarqués suivants : moniteur de température, interface série UART, interfaces série SPI/I2C combinés, superviseur d'alimentation, chien de garde.

Programme et donnĂ©es peuvent bien sĂ»r ĂȘtre tĂ©lĂ©chargĂ©s par l'interface sĂ©rie ; celle-ci permet aussi l'Ă©mulation 1 broche (« single-pin emulation »), utile en phase de mise au point du programme.

Lien externe


Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.