WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


at91sam7

Cet article est une ébauche à compléter, vous pouvez partager vos connaissances en le modifiant.

AT91 SAM7S

Présentation

Les microcontrôleurs AT91SAM7S d’Atmel sont basés sur le processeur standard RISC 32bits ARM7TDMI. :cms:sam7.jpg

AT91SAM7S64

  • 0.9 MIPS/MHZ avec les instructions ARM
  • 0.77 MIPS/MHZ avec les instructions THUMB
  • Fréquence de fonctionnement : plus de 55Mhz (Voir fréquence max d'utilisation)
  • USB 2.0 Full Speed (12Mbits)
  • CAN 10 bits x 8 cannaux, 385KS/s
  • SSC (Serial Synchronous Controller)(12.5Mb/s) : I2S, AC97, TDM
  • SPI (50Mb/s), TWI I²C (400kb/s)
  • 2 USARTs, IrDA (115.2kbps), ISO7816, RS485
  • 3 timers 16bits avec 6 PWM

Alimentation

L'AT91SAM7S intègre un régulateur de 1.8V pour le coeur ARM.
Pour assurer une stabilité, il est nécessaire de mettre 4 condensateurs aux bornes de ce régulateur.
3.3V - 4.7µF / / 100nF - (VDDIN)Régulateur(VDDOUT) - 1nF / / 2.2µF FIXME

VDDIN 3.3V nominal [3.0;3.6V] l'entrée du régulateur
VDDOUT 1.8V la sortie du régulateur
VDDIO 3.3V nominal [3.0;3.6V] ou 1.8V nominal [1.65;1.95V] Alimentation de l'étage de sotie I/O
VDDFLASH 3.3V nominal [3.0;3.6V] Alimentation de la mémoire flash
VDDCORE 1.8V nominal [1.65;1.95V] Alimentation de coeur ARM7, peut être connecté directement à VDDOUT
VDDPLL 1.8V nominal [1.65;1.95V] Alimentation la PLL, peut être connecté directement à VDDOUT

Port I/O

  • Interruption
  • Résistances de tirage programmables
  • Tolère 5V - Attension, si la tension d'entrée est supérieure à la tension VDDIO et si la résistance de tirage est activée (C'est le cas lors d'un reset) alors un courant passera de l'entrée vers VDDIO …
  • 4 sorties à 16mA (PA0 à PA3) les autres à 8mA - 150mA au total pour l'AT91SAM7S64 - 100 mA au total pour l'AT91SAM7S32

Oscillateur

Plusieurs sources d'horloge sont possibles. Vous pouvez utiliser un quartz (3 à 20Mhz) (MAINCK), un circuit RC (22Khz à 42Khz) ou l'oscillateur RC interne (SLCK). La fréquence du quartz ou du circuit RC externe sont injectés dans une PLL dont la fréquence de sortie peut varier entre 80 et 220Mhz (PLLCK).

Fréquence maximum d'utilisation

Atmel vous garantit 55MHz dans le pire des cas. Vous pouvez monter plus haut, mais dans ce cas la fréquence dépendra de paramètres comme la température, la tension d'alimentation etc …

Programmation

SAM-BA

SAM-BA est petit programme permetant de charger un programme par l'intermédiaire d'une liaison série. Il réside dans une mémoire ROM de l'AT91. Lors de la procédure de restauration il est automatiquement chargé dans la mémoire programme.

Procédure de restauration:

  • Coupez l'alimentation de votre carte
  • Placez les pin TST, PA0, PA1 et PA2 à l'état haut (PA0,PA1 et PA2 disposent d'une resistance interne de tirage à l'état haut; donc il suffit de connecter TST à 3.3V)
  • Alimentez votre carte
  • Patientez 10s (Le temps que SAM-BA Boot se charge en début de mémoire flash
  • Coupez l'alimentation de votre carte
  • Déconnectez la pin TST du 3.3V
  • Alimentez votre carte

Pour utiliser SAM-BA deux interfaces sont disponibles, soit l'USART (Mode DBGU) soit l'USB. Pour utiliser le mode DBGU, il est nécessaire d'utiliser un quartz de 3 à 20Mhz. Pour utiliser le mode USB, il vous faut un quartz de 18.432Mhz.

Vous trouverez l'interface graphique (SAM-BA GUI) permettant d'envoyer la fichier dans votre micro dans la section logiciel

Si vous chargez un programme à l'aide de SAM-BA celui-ci écrase SAM-BA. Apres un reset c'est donc votre programme qui sera démarré et non SAM-BA. Si vous voulez reflasher un autre programme, il faudra restaurer SAM-BA.

D'apres ce que j'ai pu comprendre, SAM-BA touche aux bits de protection de la mémoire flash (bits NVM/ Lock bits) et ces bits sont limités à 100 écritures/effacements sur la série des SAM7S. Donc évitez l'utilisation intensive de SAM-BA…

JTAG

Voir programmateur le Wiggler clone et OpenOCD

Tutoriaux disponibles sur ce wiki

Liens

Documentation

Cartes de développement

Logiciels

Environnements de développement C

  • WinARM est basé sur des logiciels GNU et gratuit fonctionnant sous Windows. Il reste dans le même esprit que WinAVR, simple et léger.
  • Yagarto est basé sur l'environnement de développement gratuit Eclipse, aussi pour windows.
  • EWARM est l'environnement de développement de IAR pour les microcontrôleurs ARM. La version gratuite (kickstart) est limitée à 32Ko de code.
at91sam7.txt · Dernière modification: 2017/12/06 16:12 (modification externe)