Programmer un microcontrôleur AVR

Le programmateur

J'utilise la programmateur MikroProg for AVR avec son logiciel AVRFlash.

La méthode de programmation reste la même pour tout autre programmateur AVR.

Comme c'est un programmateur ISP( programmation en circuit), j'ai créé un support d'apatation DIL8 relié au connecteur ISP en suivant le schéma ci-contre.




Le connecteur ISP est normalisé sur les programmateurs. 6 signaux sont nécessaires à la programmation :

- +5 V (VCC)
- 0 V (GND)
- MISO (Master In Slave Out)
-
MOSI (Master Out Slave In)
- SCK (Horloge)
- RESET


Schéma structurel adaptateur

Il existe 2 modèles de connecteur :

un à 6 broches, l'autre à 10 broches, mais le modèle à 10 broches n'utilise pas plus de connexions que celui à 6.

 

 

La programmation

AVRFlash détecte automatiquement le programmateur si les pilotes ont été chargés et le logiciel ouvert en mode administrateur.

On commence par charger le fichier .hex dans le menu File -> Load HEX ou avec le bouton Load. On peut afficher le code en hexadécimal avec le menu Windows -> CODE View.

Avant de cliquer sur le bouton Write pour Programmer le microcontrôleur, il faut faire queques réglages :

- Le choix du microcontrôleur Device -> ATtiny13

- Les fusibles :

SPI Enable est automatiquement selectionnée car la programmation se fait par l'interface SPI.
BOD Enabled, 4.3V (Brown Out Detector) si Vcc passe en dessous de 4,3 V permet un reset. Peut être désactivé.
Startup : 6 CK + 65 ms, 65 ms sont nécessaire au démarage. Utile si Vcc ne s'établie pas tout de suite.
Cal.internal RC Oscillateur -9.6 MHz, Choix de l'oscillateur interne à 9,6 MHZ car nous n'utilisons pas de quartz.

Les autres fusibles ne sont pas activés pour cette application.
Attention ! Une erreur de réglage peut empêcher le microcontrôleur de fonctionner ou ne plus permettre de nouvelle programmation !