Je vous présente un petit projet (qui a déjà été réalise au début de cette année mais il vient d'évoluer) qui consiste à réaliser soit même un ICD2.
ICD2 ??? C'est un programmateur/debugger pour les microcontroleurs PIC de chez Microchip. La première version (ICD) était réalisable par un amateur car Microchip fournissait les plans, mais ce n'est plus le cas pour la version 2, elle est disponible uniquement a la vente (160€ env).
C'est la qu'intervient ce projet, il vous permet de réaliser chez vous pour une somme bien plus modique cet ICD2 !
Attention toutefois, ce n'est pas exactement le même, il y a deux différences :
- Ce n'est pas une connexion USB haute vitesse, c'est une connexion USB qui simule une liaison série, donc c'est un peu plus lent qu'un vrai ICD2 en USB
- Le réglage de la tension de programmation se fait à la main (trimmer) et non plus automatiquement.
Mis a part ces deux remarques, l'ICD2-Like proposé ici est 100% compatible avec l'original !!!
Cela signifie que :
- Les mises à jour du firmware se font automatiquement par MPLAB (le firmware est downloadé dans l'ICD par rapport à la famille de PIC utilisée)
- Reconnu par MPLAB comme un ICD2 original
- ICD2 alimenté par bus USB
- Possibilité d'alimenter le montage (conso raisonnable, max 400mA)
- DC/DC sur la carte pour régler la tension Vpp (~11-15V)
- Connecteur RJ12 pour connecteur les montages comme avec la version d'origine.
Voici le schéma de la bête : Voir ci-après
Deux versions sont réalisables, une standard qui est une carte avec 4 pieds et une version qui se monte dans un boitier. Voila a quoi cela ressemble : Voir ci-après
Voici la version en boitier Voir ci-après
Et voici la version standard
Typon version boitier : Voir ci-après
Typon version standard : Voir ci-après
Pour détailler un peu l'électronique, ce montage est architecturé autour des composants PIC16F876(A) qui assure la communication entre MPLAB et la cible en cours de programmation/débuggage et un convertisseur USB/Série de chez FTDI Chip : FT232R.
Certains demanderont "oui mais pourquoi pas mettre un PIC 18F USB ???"
Bonne question, mais c'est pas possible, ceci pour garder la compatibilité avec l'ICD2 original, et ainsi permettre d'utiliser les Firmware originaux de Microchip.
Ceux qui ne désirent pas une version USB peuvent très bien remplacer le FT232R par un MAX232 ou équivalent pour utiliser une liaison série. On perd l'alimentation par l'USB et de moins en moins d'ordinateurs sont équipés en RS232, mais cela reste une solution dans certains cas.
Bref, voila je pense une solution idéale pour un particulier qui ne désire par acheter l'ICD2. Ce n'est pas un ICD2-Clone comme certains prétendent (un clone a été réalise, mais il faut un circuit double couche et un microcontroleur Cypress difficile a trouver, cette réalisation sort un peu du cadre de qqch réalisable facilement particulier, même si c'est un excellent travail de Reverse Engineering) mais ce montage a tous les avantages par rapport a un ICD premier du non :
- Aussi simple a réaliser qu'un ICD 1
- Coût comparable avec l'ICD 1
- Choix de l'interface (possibilité de réaliser une version série, comme dit précédemment)
- Compatibilité MPLAB 6 et plus récents (avec coloration syntaxique très agréable, comparé aux 5.xx et précédents)
- Compatible avec toutes les nouvelles famille de PIC supportés par l'ICD2
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Bheu, y vous plait pas mon icd ? lol
Voici ces composants :
A gauche le PIC en SOIC28 et a droite le FT232R en SSOP28 (un peu plus fin a souder)
Dernière modification par monnoliv ; 03/11/2006 à 21h20.
30/10/2006 - 00h06
Jack
Date d'inscription
avril 2003
Localisation
Metz
Messages
10 790
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Bonjour,
tu l'as essayé, ça fonctionne bien?
A+
30/10/2006 - 00h37
fpiquet
Date d'inscription
octobre 2006
Âge
58
Messages
2
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
pour le logiciel, quelle version a été utilisée ? le bootloader BL010101.Hex ?
pour ma part, j'ai un souci avec le icd2 décrit par elektor , je ne vois maintenant que la version du bootloader en cause .
Comment trouver les sources ?
merci
30/10/2006 - 11h16
Mkala
Date d'inscription
février 2003
Localisation
Suisse
Âge
28
Messages
265
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Envoyé par Jack
Bonjour,
tu l'as essayé, ça fonctionne bien?
A+
Bien sur, ce sont mes réalisations qui sont en photo ! Testé et approuvé par votre serviteur
J'ai tout refait avec des infos trouvées sur le net, en commancant par un proto série sur plaque d'essai, puis la version sans boitier et recemment je l'ai integré dans le boitier.
Comparé a un original, il y a juste la vitesse du vrai USB qui manque (et la tension ajustable automatiquement, mais ca manque moins ca).
Pour le logiciel il faut effectivement utiliser un bootloader. MAIS, car il y a un MAIS : si c'est un pic en version A ou pas il faut un firmware different (la reprogrammation en interne se fait differement)
Il existe deux différents bootloaders : l'original pour la version 16F876 et un modifié pour la révision A, donc 16F876A.
Télécharger le Bootloader version "standard" : BL010101.txt renommer en .hex
Télécharger le Bootloader version "A" BL010101_revA.txt renommer en .hex
Dernière modification par monnoliv ; 03/11/2006 à 21h24.
30/10/2006 - 11h29
Jack
Date d'inscription
avril 2003
Localisation
Metz
Messages
10 790
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Ce que je recherche éventuellement, c'est une interface du type ICD-U40. J'en ai une et j'en ai besoin d'autres, mais ce n'est pas donné.
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
bonjour,
Pour ce qui est du bootloader, mon pic est un 16F877 (tout court) et j'ai utilisé le BL010101.hex . Je croyais avoir fait comme il le fallait, mais ça ne fonctionne pas:
- lors de la programmation du bootloader, avez-vous positionné les options (quartz HL, WDT, ...) ou cela est-il sans importance ?
- il y a-t-il d'autres points à respecter lors de la programmation ?
Merci
30/10/2006 - 13h41
Mkala
Date d'inscription
février 2003
Localisation
Suisse
Âge
28
Messages
265
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Envoyé par Jack
Ce que je recherche éventuellement, c'est une interface du type ICD-U40. J'en ai une et j'en ai besoin d'autres, mais ce n'est pas donné.
Tu crois que ton ICD est compatible avec l'environnement CCS?
A+
Je ne connais pas du tout cette interface. Ni CCS d'ailleurs. Mais un pote a fait un projet en C avec et je lui avait preté mon ICD2 qui fonctionne sans prob avec. Logique dans la mesure ou mon ICD2-Like est reconnu par MPLAB comme un ICD2 original.
Envoyé par fpiquet
bonjour,
Pour ce qui est du bootloader, mon pic est un 16F877 (tout court) et j'ai utilisé le BL010101.hex . Je croyais avoir fait comme il le fallait, mais ça ne fonctionne pas:
- lors de la programmation du bootloader, avez-vous positionné les options (quartz HL, WDT, ...) ou cela est-il sans importance ?
- il y a-t-il d'autres points à respecter lors de la programmation ?
Merci
Bonjour,
lors de la programation du fichier BL010101.hex avec le logiciel IC-Prog, les bits de configuration s'ajustent automatiquement ! Mais pour resummer il faut :
- quartz en HS
- code protect OFF
- tout le reste desactivé sauf WRT activé (Write Flash Memory Enable, permet la reprogramation interne de la memoire de programme, necessaire chaque fois que l'on change de famille de PIC).
Mais il n'y a pas seulement le bootloader a programmer, ce n'est que la premiere operation, l'ICD n'est pas operationnel apres cette programation, il convient encore de telecharger le firmeware dans MPLAB comme indiqué sur mon site listé plus haut. As-tu suivi les operations dans l'odre et de manière correcte ?
21/02/2007 - 13h10
veul204
Date d'inscription
mai 2006
Messages
24
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
Merci pour ce projet Mkala,
Pourrais tu me dire à combien tu chiffres le cout de réalisation et si il y a des difficultés particulières (ou du matos particulier ) ?
Merci,
veul
26/02/2007 - 18h38
taz6cle
Date d'inscription
février 2007
Âge
30
Messages
87
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
bravo et merci je pense que je vais bientot essayer de le faire apres avoir reussi a faire marche ic prog lol
Re : [TERMINE] Construire son ICD2 USB (ICD2-Like)
petite question j'ai pas vue d'emplacement pour les pic comment on fais pour les branchements ?
merci
28/02/2007 - 20h48
Jack
Date d'inscription
avril 2003
Localisation
Metz
Messages
10 790
Re : [TERMINE] Construire un ICD2-Like USB [Mkala]
mais c'est un programmateur/debugger in system. Il faut connecter ta cible sur le RJ12 avec une nappe.
A+
01/05/2007 - 10h40
K-my
Date d'inscription
mai 2006
Âge
25
Messages
1
Re : [TERMINE] Construire un ICD2-Like USB [Mkala]
À l’aide programmer des 18f avec le clone icd2 sans alimentation
J’ai un clone icd2 sans alimentation il m’est impossible de programmer un pic18f4620.
Mon pic start plus est alimenté en 9 volt part un petit transfo et je programme très bien ou avec mon JDM sur un port série pc qui lui débite une tension de -12 à +12 ce qui est normal pour un port série.
Un port USB donne du 5V du coup mon clone ICD2 ne donne aussi que du 5v je pense que c un peu faible pour pouvoir programmer mon pic.
Alors j’ai branchée une alimentation sur le montage de 10 volt la aussi rien pas possible de programmer mon pic.
Je ne c plus quoi faire pour y arrivée. J’ai besoin de ce clone ICD2 pour pouvoir débugger et programmer sur mon portable étant donnée que je n’ai pas de véritable port série sur mon pc me permettant d’employer un JDM.
01/05/2007 - 19h36
Toufinet
Date d'inscription
mars 2006
Âge
27
Messages
1 170
Re : [TERMINE] Construire un ICD2-Like USB [Mkala]
Salut Mkala et les autres.
Ce programmateur m'intéresse fortement. J'en ai un qui fonctionne parfaitement, mais passe par port com ( RS232 ), et nécessite donc une alimentation externe.
C'est pourquoi je tenais à te dire ... merci
Je vais m'en fabriquer un rapidement !
EDIT : pourquoi "ICD2-LIKE" ? Quelles sont les réelles différences avec le programmateur ICD2 vendu par microchip ?
Dernière modification par Toufinet ; 01/05/2007 à 19h40.
Re : [TERMINE] Construire un ICD2-Like USB [Mkala]
Bonjour,
je suis assez intéressé par ce montage, mon PC ne possé dant pas de liaison RS232, j'utilise un "vieux nanard" récupéré pour programmer mes PIC.
Ma seule question est la suivante : Comment programmer le PIC16F876(A) en boitier CMS sans frais sachant que je ne me mettrais pas aux cms avant un bout de temps (et ptète jamais, lol)?
Merci de votre aide,