<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Le programmateur AVR le moins cher du monde - Chicoree</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde</link><atom:link href="http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[…enfin peut être pas le moins cher, mais en tous cas un des moins chers! En effet à moins de 3€ port compris au moment où j'écris ces lignes, on trouve sur e-bay un petit programmateur USB ISP pour Atmel AVR fabriqué par la société chinoise LCSoft Studio. Son design est basé sur l'USBasp de Thomas Fischl – ce qui lui garanti d'être supporté par de nombreux outils et en particulier avrdude.
Seul « souci », la documentation du vendeur est succincte et le site du fabriquant est en chinois… Bon ça reste un clone de l'USBasp, donc il ne devrait pas être bien compliqué à mettre en œuvre, comme nous allons le voir dans les lignes qui suivent.
]]></description><item><title>1 USBasp en général</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#USBasp_en_g.C3.A9n.C3.A9ral</link><description><![CDATA[<p>Avant de passer à la pratique, un rappel sur l'USBasp. Lui et ses clones sont des programmateurs <i>logiciels</i> (<i>firmware only</i>). C'est à dire qu'ils embarquent pour seul composant <i>actif</i> un micro-contrôleur (un AVR ATmega8 ou ATmega88 dans le design de Thomas Fischl). C'est ce circuit qui est chargé – grâce au firmware adéquat – de gérer la communication entre le PC hôte (via le port USB) et la cible à programmer (via le port SPI). D'un point de vue pratique, un <i>USBasp</i> possède donc deux ports:
</p>]]></description></item><item><title>2 USBasp par LCSoft Studio</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#USBasp_par_LCSoft_Studio</link><description><![CDATA[<p>Après ces généralités, passons maintenant à l'étude du produit qui nous intéresse spécifiquement ici, à savoir l'USBasp fabriqué par <i>LCSoft Studio</i>. Ce programmateur comporte trois emplacements pour des cavaliers sérigraphiés <i>JP1</i>, <i>JP2</i> et <i>JP3</i> sur la carte. Des trois, seul <i>JP1</i> est peuplé avec des embases à picots. Si vous voulez utiliser les autres cavaliers, vous devrez souder vous-même les embases manquantes.
</p>]]></description></item><item><title>2.1 Cavaliers</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Cavaliers</link><description><![CDATA[<p>Après ces généralités, passons maintenant à l'étude du produit qui nous intéresse spécifiquement ici, à savoir l'USBasp fabriqué par <i>LCSoft Studio</i>. Ce programmateur comporte trois emplacements pour des cavaliers sérigraphiés <i>JP1</i>, <i>JP2</i> et <i>JP3</i> sur la carte. Des trois, seul <i>JP1</i> est peuplé avec des embases à picots. Si vous voulez utiliser les autres cavaliers, vous devrez souder vous-même les embases manquantes.
</p>]]></description></item><item><title>2.1.1 JP1</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#JP1</link><description><![CDATA[<p><i>JP1</i> permet de sélectionner la tension fournie par le programmateur sur la broche de sortie <i>VCC</i> de l'interface ISP.
</p>]]></description></item><item><title>2.1.2 JP2</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#JP2</link><description><![CDATA[<p>Sur le programmateur qui m'a été livré, <i>JP2</i> n'est pas muni de picot. <i>JP2</i> est un cavalier noté <i>self program</i> sur le schéma électrique du programmateur. Le nom est un peu trompeur puisque qu'il permet de mettre à jour le firmware de l'USBasp à partir d'<i>un autre</i> programmateur. 
</p>]]></description></item><item><title>2.1.3 JP3</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#JP3</link><description><![CDATA[<p>JP3 Slow clock (<i>Slow SCK</i>) permet de ralentir la vitesse de programmation. Ce cavalier se révèle utile dans le cas d'un câble de liaison trop long entre le programmateur et la cible. Ou dans le cas d'un AVR dont la fréquence d'horloge est <i>trop lente</i> – comme ça peut être le cas d'un AVR <i>neuf</i> (configuré d'usine avec l'oscillateur interne 1MHz <i>et</i> un diviseur d'horloge <i>÷8</i>). La règle est que la fréquence de programmation doit être inférieure au quart de la fréquence d'horloge de la cible <a>[1]</a>.
</p>]]></description></item><item><title>2.2 Brochage de l'interface ISP</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Brochage_de_l.27interface_ISP</link><description><![CDATA[<p>L'interface ISP est disponible sur une embase mâle 2×5 broches. Le connecteur – et le brochage – sont <i>à peu près</i> standard parmi les différents clones. C'est également celui utilisé par les kits de développement Atmel STK200/STK500. Par contre il y a une <i>différence notable</i> au niveau du brochage de l'USBasp <i>LCSoft Studio</i>. En effet, habituellement les broches 4 et 6 du connecteur sont reliées à la masse. Or, ici, elles sont reliées aux broches TXD et RXD de l'ATmega8 embarqué sur la carte. C'est sans doute pour permettre de transformer le programmateur en interface USB-UART. Mais pour cet usage, je pense qu'il faudra (?) flasher un <i>autre</i> firmware. Toujours est-il que ces broches ne sont pas directement reliées à la masse, et qu'il faudra donc éviter de les connecter. Quand à la broche 3, elle ne semble reliée à rien. Il faudra donc également la laisser <i>non connectée</i> (<i>NC</i>). C'est aussi une petite différence avec le STK200/STK500, puisque cette broche y est utilisée pour signaler que la programmation est en cours.
<br></br></p>]]></description></item><item><title>2.3 Utilisation</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Utilisation</link><description><![CDATA[<p>Muni du brochage de l'interface ISP, il devient possible de tester ce programmateur. J'ai attrapé un ATtiny13 que j'ai raccordé au programmateur USBasp de <i>LCSoft Studio</i>. À titre indicatif j'ai résumé le raccordement dans le tableau ci-contre. Mais je vous conseille fortement de vous reporter à la documentation du micro-contrôleur que vous voulez programmer pour vérifier le brochage! En plus de cela, faites bien attention, car l'usage veut que l'on ne numérote pas les broches des circuits intégrés et celles des embases dans le même ordre (voir illustration). Une fois les connexions vérifiées et le programmateur raccordé à un port USB de votre ordinateur, vous constaterez que la DEL d'alimentation <i>G</i> (comme <i>green</i> … mais la mienne est rouge) est allumée.
</p>]]></description></item><item><title>2.3.1 Raccordement à la cible et test avec avrdude</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Raccordement_.C3.A0_la_cible_et_test_avec_avrdude</link><description><![CDATA[<p>Muni du brochage de l'interface ISP, il devient possible de tester ce programmateur. J'ai attrapé un ATtiny13 que j'ai raccordé au programmateur USBasp de <i>LCSoft Studio</i>. À titre indicatif j'ai résumé le raccordement dans le tableau ci-contre. Mais je vous conseille fortement de vous reporter à la documentation du micro-contrôleur que vous voulez programmer pour vérifier le brochage! En plus de cela, faites bien attention, car l'usage veut que l'on ne numérote pas les broches des circuits intégrés et celles des embases dans le même ordre (voir illustration). Une fois les connexions vérifiées et le programmateur raccordé à un port USB de votre ordinateur, vous constaterez que la DEL d'alimentation <i>G</i> (comme <i>green</i> … mais la mienne est rouge) est allumée.
</p>]]></description></item><item><title>2.3.2 Télécharger un programme</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#T.C3.A9l.C3.A9charger_un_programme</link><description><![CDATA[<p>Si vous disposez de la toolchain AVR, vous pouvez compiler un petit programme et essayer de le télécharger – vous ne devriez rencontrer comme moi aucun problème pour peu que vous ayez convenablement raccordé votre cible au programmateur:
</p>]]></description></item><item><title>2.3.3 Accés aux fusibles (fuses)</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Acc.C3.A9s_aux_fusibles_.28fuses.29</link><description><![CDATA[<p>Les <i>fusibles</i> (<i>fuses</i>) sont des drapeaux binaires qui permettent de modifier le fonctionnement des micro-processeurs de la famille AVR d'Atmel. Rassurez-vous, malgré leur nom, il ne s'agit pas de <i>vrais</i> fusibles – et lorsque vous en aurez modifié la valeur, vous pourrez (presque) toujours revenir en arrière.
</p>]]></description></item><item><title>3 Alors?</title><link>http://www.chicoree.fr/w/Le_programmateur_AVR_le_moins_cher_du_monde#Alors.3F</link><description><![CDATA[<p>Bon, je ne vais pas m'appesantir plus longuement sur ce clone de l'USBasp par LC Studio: il s'agit en résumé d'un petit programmateur classique et sans prétention, mais qui fonctionne sans problème, et satisfera n'importe quel utilisateur occasionnel de micro-contrôleurs AVR. Et surtout pour un prix dérisoire qui met décidément le monde de l'embarqué à la portée de tous!
</p>]]></description></item></channel></rss>
