prof. Jacques Lepot
Le programmateur USBASP

Pour utiliser un microcontrôleur, il faut pouvoir le programmer.
Les programmes sont écrits et compilés avec un PC. Le logiciel utilisé est appelé un IDE (Integrated development environement).
Si il n'existe pas d'erreur lors de la compilation, un fichier .HEX est produit. Ce fichier qui contient le code binaire exécutable doit être chargé (flashé) dans la mémoire flash du microcontrôleur. Chaque fabricant de processeurs utilise sa propre méthode pour cette opération.
Pour réaliser cette opération, 2 choses sont nécessaires: un logiciel sur le PC, parfois inclus dans l'IDE, et un programmateur.
Au laboratoire nous utiliserons le programmateur USBASP et le logiciel AVRDUDE.

Le programmateur USBASP est très simple à réaliser et très économique. Il permet de programmer tous les microcontrôleurs AVR.
Comme son nom l'indique, il fonctionne sur un port USB.
La conception originale provient de fischl.de , qui a conçu le schéma, le firmware du microcontrôleur et le driver USB pour PC. Il s'agit d'un projet open source.
Il est principalement conçu pour fonctionner avec le programme Avrdude, programme open source également, utilisé pour le chargement des microcontrôleurs AVR.
Avrdude
est disponible pour Windows et Linux. C'est un programme en ligne de commande mais il existe une interface graphique.

Le schéma

Ce schéma est légèrement différent de l'original, il utilise un connecteur ISP 6 pins au lieu de 10. 2 zeners de 3V6 ont été rajoutées sur les lignes USB.


Description

Les signaux de données USB D+ et D- sont envoyés vers PB0 et PB1 à travers 2 résistances de protection.
Le signal D- est également envoyé vers la source dl'interruption externe INT0.
Le circuit est alimenté par le 5Volt du bus USB.
La résistance de pull-up de 1.5K permet de signaler au PC la présence d'un périphérique USB.
La cadence rapide du bus USB nécessite un vitesse de clock d'au moins 12MHz, il est donc nécessaire d'ajouter un quartz, le micro. ne pouvant pas dépasser 8Mhz sans cela.
2 Leds avec résistance de limitation du courant sont connectées sur PC0 et PC1, l'une indique que la connexion USB est établie, l'autre s'allume lorsqu'on programme un micro.
Les signaux du connecteur SPI sont dirigés vers les ports correspondants(MISO/MOSI/SCK/RST)

Le jumper J1 permet d'envoyer le 5V provenant de l'USB vers la cible (target).
Le jumper J2 est placé pour re programmer le programmateur par le port ISP, il contrôle le Reset.
Le jumper J3 est placé si le processeur cible à une clock inférieure à 1MHz.

Le schéma indique un ATMega8, mais nous utilisons un ATMega48, plus économique

Le circuit imprimé (PCB)

Ce schéma simple permet la réalisation d'un circuit imprimé compact.


Montage


passer à cette page pour une description pas à pas

Vérifier les soudures, ça doit briller. retoucher éventuellement, il ne doit pas y avoir de ponts.

Version 2007
Version 2008

Test

Sans processeur sur la carte, raccordez un câble USB entre votre programmeur et votre PC.
Attention, ne pas poser le programmeur sur une surface métallique qui ferait des courts circuits sous le circuit.

Avec un multimètre vérifier les alimentations sur le support du c.i. La masse sur les pattes 8 et 22, le positif sur 7 et 20 (voir sur le schéma). Vous devriez avoir une tension légèrement inférieure à 5V.

Si les tensions sont correctes, débranchez le câble USB et placez le processeur sur son support.

Attention
, il y a un sens, l'encoche est toujours du coté de la patte 1.
Attention, si le circuit est nouveau, il faut lui resserrer les pattes, il faut pousser fort mais ne rien plier.

Il est maintenant nécessaire de flasher le microcontrôleur, pour cela il faut un programmateur déjà fonctionnel.
Placez les jumpers JP1(auto-programmation) et JP2 (alimentation sur le câble ISP)
Connectez le câble ISP entre le programmateur existant et votre programmateur vierge.

Avec Avrdude ou AvrStudio, chargez le firmware usbasp.atmega48.2007-07-23.hex dans votre nouveau processeur ATMega48,
ou celui-ci, si votre processeur est un ATMega8.
Des versions plus récentes sont probablement disponibles sur les sites officiels, vérifiez.

Les fuses devront être configurés pour utiliser un quartz externe à fréquence élevée.

NE MODIFIEZ AUCUN AUTRE FUSE, certaines valeurs peuvent verrouiller le processeur définitivement.

Votre programmateur est maintenant normalement prêt à fonctionner. Retirez le jumper JP1

Après avoir retiré le câble ISP, vous pouvez connecter le câble USB vers votre PC.


Lors du premier branchement, Windows vous demande un driver, ne le laissez pas chercher automatiquement,
indiquez lui d'utiliser le driver contenu dans ce fichier: win-driver.zip.
une version plus récente est probablement disponible sur le site officiel, vérifiez.

La led rouge doit s'allumer et le périphérique sera reconnu par le PC comme: Usbasp.


La dernière étape du test, c'est de programmer un microcontrôleur AVR avec votre programmateur.

La suite: AVRDUDE


 

site officiel USBASP http://www.fischl.de/usbasp/