Un flasheur de PIC 'true in-istu'... Abstract
- Caractéristiques - Background
- Schéma - Réalisation/Utilisation Conception - Fonctionnement Flasheur de PIC True In Situ - Bat 2001-2002 Ce schéma est plus récent que les parties de schéma servant à l'explication. Certaines valeurs ont été optimisées.
Le schéma se décompose en plusieurs blocs:
Cette partie est (presque)la plus simple qui puisse
exister. L'horloge (RB6) est générée par une sortie du port parallèle. Lorsque la sortie du port parallèle est à '0' (0V), la diode conduit et on relève sur RB6 une tension proche de 0,6V. Cette tension est interprétée comme un '0' logique par le PIC. Lorsque la sortie du port parallèle est à '1' (5V), la diode est bloquée, la patte RB6 est rapellée à '1' par la résistance R5. Les données (RB7) sont envoyées de la même façon du port parallèle vers le PIC. Le transfert du PIC vers le port parallèle peut avoir lieu lorsque la sortie du port parallèle est à '1'. La diode ne conduit pas et le PIC peut 'imposer' 0V ou 5V sur sa sortie. Cette donnée est renvoyée directement vers une entrée du port parallèle. Il est à noter que physiquement, entre les pattes RB6,RB7 et les diodes, l'impédance de sortie est de 10k (New : 4.7k - meilleure insensibilité aux parasites pours des cables longs). Ces fils seront d'autant plus suceptibles aux parasites. Il est nécessaire de minimiser la longueur de la liaison flasheur ->PIC. Si il est utilisé du cable en nappe, il y'a un fort risque pour qu'il y ait une induction d'un cable voisin dans RB6 ou RB7. Pourquoi ne pas connecter directement le PIC
et le port parallèle ? ------------------
Le flasheur est 'high voltage', il va donc appliquer 13V sur la patte MCLR pour passer en mode 'programmation'. Cette patte peut donc être :
Pour uniquement programmer le PIC, on peut n'utiliser que 2 modes : reset(0V) et programmation(13,5V). Ici on veut en plus pouvoir utiliser le montage normallement, il faut donc gérer les 3 cas. Si lpt_request_vpp (sortie du port parallèle) est à
'1', la tension de programmation est appliquée sur la patte MCLR/reset
(Reset). Pourquoi 3transistors ? Pourquoi ces valeurs de résistances
? New : la commande des transistors par les résistances (R2 et R4) a été modifiée. Elle se fait via un pont de 2 résistances par transistors, ce qui permet de pallier aux port // n'ayant pas exactement 0V et d'être beaucoup plus insensible lorsque le flasheur n'est pas branché du côté du port //. Au lieu d'utiliser 2 transistors pour commander Vpp, on aurait pu utiliser ceci
Seulement, Vpp est généré par une pompe
de charge. La zener 12V et les 2 diodes permettent de limiter la tension Vpp à 12+0,7+0,7 soit 13,4V New : la zéner a été enlevée, la tension peut prendre des valeurs plus importantes et même dépasser l' ABSOLUTE MAXIMUM RATING supporté par le pic. Cependant, le courant restant extremement faible, il ne doit pas y avoir de risques. ------------------
La pompe de charge est constituée d'un oscillateur
à base de NE 555. On répète l'opération 4 fois. Pour
ceci, il faut imposer des signaux en opositions aux condensateur successifs.
C'est à dire que si on à 5V sur la borne '-' de C5, on doit
avoir 0V sur la borne '-' de C4, et 5V sur la borne '-' de C3. C2 permet
de recueuillir le résultat. On devrait obtenir 4*5V soit 20V en sortie du quadrupleur. Seulement on peut déjà retrancher 4*0,6V soit 2.4V 'consommés' par les diodes, soit 20-2.4 = 17.8 V. En pratique on obtient 17,5V à vide et 14 ou 15 V avec une charge de 100k. New : Les valeurs des résistances et des condensateurs ont été revues. De plus la commande de Q4 a été améliorée (présence d'un condensateur, permettant d'assurer des signaux plus carrés) ------------------
La seule remarque est que la liaison entre le flasheur
et la carte cible doit être réduite à un stricte minimum
pour les raisons exposées au dessus. -= Email : manu_bat_manu@yahoo.fr
- Retour à la première page =- |