ChapsLab.com : The Chap's Laboratory
Français    English

Accueil

:Projects
ICD2-Like
Star LED Driver

:Repair
PS2Slim P.S.

Contact
A propos

ICD2-Like Programmer & Debugger

ICD2-Like - ChapsLab.com
Voici l'ICD2 (version "standard") terminé

ICD2-Like - ChapsLab.com
Voici l'ICD2 version "boitier" terminé


IMPORTANT ! Le nouvel environnement de développement de Microchip - MPLAB X - ne prend pas en charge l'ICD2. Ce clone "ICD2-Like" n'est donc également pas fonctionnel avec cette version.

Pour continuer le développement avec un outil simple et abordable, le PICkit 3 semble être une bonne solution à un tarif attractif.
Des clones sont également disponibles sur le web pour environ la moitié du prix...
C'est pourquoi il n'est pas proposé d'en construire un ici. L'article de l'ICD2-like reste toujours disponible ci-dessous et fonctionne toujours aussi bien avec MPLAB 8.x


Introduction
Pour ceux qui ne connaissent pas l'ICD2 (In Circuit Debugger 2), c'est une interface qui permet de programmer et debugger des microcontrôleurs PIC depuis un PC.
Ce projet est un ICD2 qui est un peu simplifié par rapport à la version de Microchip. Le but n'est pas de refaire exactement un clone (car il faut partir sur un PCB double couche avec vias et trouver des composants peu courants genre Cypress CY7C64613). Celui présenté ici est beaucoup plus simple, avec des composants courants (hormis peut être le FT232R mais il est tout à fait possible de faire version série avec un MAX232).

Les caractéristiques principales sont les suivantes :
  • ICD2 vu comme un original par MPLAB
  • Compatible avec les futures versions de MPLAB vu qu'il utilise ses firmwares (MàJ auto via MPLAB)
  • Alimenté par le bus USB
  • Possibilité d'alimenter la target (max 400mA)
  • Convertisseur DC/DC pour générer la tension de programmation (réglable ~11-15V)
  • Connecteur RJ 12 identique à celui de Microchip
  • Fonctionne avec les PICs alimenté en 5V (adaptation de niveau nécessaire pour tension plus basse)
Description
Deux composants sont au coeur de ce montage : un PIC 16F876(A) qui contient le bootloader (voir "réalisation") et le firmware que MPLAB installe suivant la famille de PIC que l'on debug.
L'autre composant est le tout nouveau FT232R(L) de chez FTDI Chip qui assure la conversion USB-RS232 (niveaux TTL) pour communiquer avec le PC. De ce fait, cet ICD2 n'est pas vraiment USB, mais il est vu par MPLAB par le port série, comme si on branche l'original via son port série. L'intérêt d'être quand même en USB est double : d'une part les ports séries disparaissent sur les PCs récents, d'autre part le bus USB permet d'alimenter l'ICD ainsi que des cibles de consommation raisonnable, ce qui est fort pratique.


Fichiers de construction
Deux versions de l'ICD2-like vous sont proposés. Elles ne diffèrent que par leur présentation physique, le fonctionnement est 100% identique (mis a part la led "ERROR" qui a disparu sur la version "boitier", mais son montage est facultatif sur la version "standard"). Il est donc possible de réaliser une version "standard" (simplement avec quatre pieds) ou une version à intégrer dans un boitier :

Version "standard"
Version "boitier"


Voici les fichiers nécessaires pour la version standard :

- Le schéma (Format haute résolution ici ) :


- Vue du typon :


- Typon au format PDF (attention! imprimer avec zoom à 100% afin de respecter la taille).
Note : les pistes sont sur le Bottom Layer, imprimer sans mirroring. Attention de l'appliquer du bon côté sur votre PCB.

- Le plan d'implantation général des composants (Format haute résolution ici ) :


- Le plan d'implantation des composants montés dessous, en SMD (Bottom Layer) :


- Le plan d'implantation des composants montés dessus, en through hole (Top Layer) :


- Télécharger la liste des composants, au format .txt


Voici les fichiers nécessaires pour la version boitier :

- Le schéma (Format haute résolution ici ) :


- Vue du typon :


- Typon au format PDF (attention! imprimer avec zoom à 100% afin de respecter la taille).
Note : les pistes sont sur le Bottom Layer, imprimer sans mirroring. Attention de l'appliquer du bon côté sur votre PCB.

- Le plan d'implantation général des composants (Format haute résolution ici ) :


- Le plan d'implantation des composants montés dessous, en SMD (Bottom Layer) :


- Le plan d'implantation des composants montés dessus, en through hole (Top Layer) :


- Télécharger la liste des composants, au format .txt

Boitier Teko

Et bien sur le boitier ! Il s'agit d'un model de chez Teko (www.teko.it), type "soap", modèle 10011.9, taille 56*90mm à l'extérieur et voici la documentation. Il est possible de le commander chez Distrelec, numéro d'article 30 01 64.



Réalisation
Il faut commencer par programmer le PIC avec un bootloader. Celui ci permet, une fois l'ICD connecté à MPLAB, de reprogrammer le PIC (écriture de la mémoire programme) afin de charger le Firmware correspondant à la famille de PICs choisie (12F, 16F, 18F, ... ). Il est donc nécessaire de disposer d'un programmeur de PICs pour programmer le bootloader.
Il est bien sur possible de souder le PIC en premier sur le PCB, relier les 5 fils nécessaire à sa programmation (Vpp, PGC, PGD ainsi que VCC et GND) et donc de le programmer en in-situ.
Il existe deux différents bootloaders : l'original pour la version 16F876 et un modifié pour la révision A, donc 16F876A (la programmation interne diffère légèrement entre les deux versions, d'ou les differents firmwares) :
Télécharger le Bootloader version "standard"
Télécharger le Bootloader version "A"

Pour le montage des composants, il faut commencer par souder IC1 et IC2 qui sont montés dessous, en SMD. Un petit "1" est gravé sur le PCB afin de positionner correctement les ICs. Il est préférable de contrôler IC1 à la loupe afin de vérifier les soudures (ponts).

Après, souder les 2 ponts (en rouge sur le plan d'implantation) puis par la suite, des éléments les plus minces aux plus épais : résistances, diodes, condensateurs film, IC3, transistors, etc.
Note : la self présentée ici est une version SMD, mais montée dessus. Il suffit pour ca de lui souder 2 pattes récupérées d'une résistance et le tour est joué (la gamme des selfs SMD est nettement plus vaste que les selfs through-hole). Voici un aperçu de l'assemblage :


Première utilisation
Les versions récentes de Windows contiennent les drivers FTDI. En cas de problèmes, voir la section FAQ ci-dessous pour télécharger des drivers validés par ChapsLab.com avec l'ICD2-Like.

Une fois les drivers installés, deux nouveaux périphériques seront présent dans le gestionnaire : un sous l'USB et un sous Ports Com (vous pouvez voir quel numéro de port a été attribué à votre ICD2 à cet endroit).

A présent, il est temps de lancer MPLAB. Dans le menu "Debugger" > "Select Tool", choisir "MPLAB ICD2". Puis dans ce même menu, choisir "MPLAB ICD2 Setup Wizard...". Sélectionner le port COM où votre ICD est connecté (préférer les ports COM1 ou COM2 si possible) et choisir la vitesse de 19200bps pour cette première connexion. Choisir les diverses options selon vos préférences. Dans l'output, il doit s'afficher les messages suivants :


Une fois ceci fait, il faut downloader un premier firmware dans l'ICD2 (il n'a qu'un bootloader pour l'instant - cette opération est nécessaire uniquement la première fois, après MPLAB demande s'il peut mettre à jour lors de changement de famille ou de version de MPLAB) grâce au menu "Debugger" > "Download ICD Operating System" :


Choisir le fichier proposé par MPLAB (*.hex) puis clicker sur ouvrir. La LED "busy" de l'ICD2 doit s'allumer et l'opération peut prendre quelques dizaines de secondes. Une fois celle-ci terminée, votre ICD2 est fonctionnel et vous devriez avoir un output dans ce genre :


Vous pouvez à présent reconfigurer la vitesse en 57600bps, le gain de vitesse est particulièrement appréciable en débuggage. Dernier détail, ajuster la tension de programmation VPP à l'aide du trimmer P1. Menu "Debugger" > "Settings", onglet "Power" :



Ajuster à la valeur requise pour votre microcontrôler (généralement 12-13V) en tournant P1 et en cliquant sur "Update". L'idéal est de vérifier avec un voltmètre, car dans ce montage le 5V pris pour référence est celui de l'USB... qui est parfois relativement loin de 5V suivant les ordinateurs !

Voilà, votre ICD2 est terminé. S'il ne fonctionne pas comme prévu consultez la FAQ; si ca ne résout pas votre problème ou si vous avez des questions vous pouvez toujours me contacter.
Enjoy!


Vue du dessous de la version "standard"


Vue de l'intérieur de la version "boitier"


FAQ - Aide - Dépannage


Mauvaise sélection du port COM
Il est conseillé d'utiliser le COM 1 ou 2, si on utilise un autre MPLAB s'emmêle (volontairement? pour éviter ce genre de montages?) les pinceaux.

Ils ont été informés du problème (http://www.microchip.com/forums/m145639.aspx) mais il n'est toujours pas résolu. En fait, on sélectionne un port COM et un autre est réellement pris en compte par MPLAB, on le voit bien en faisant le ICD2 Wizard, la dernière fenêtre récapitulative affiche un autre que celui sélectionné initialement.

Pour résoudre ce problème, il faut éditer le fichier ICD2.ini. Ce dernier se trouve dans :
C:\Documents and Settings\<Utilisateur>\Application Data\Microchip\ICD2.ini (Win 2000/XP)
C:\Users\<Utilisateur>\AppData\Roaming\Microchip\ICD2.ini (Win Vista/7)

Dans ce fichier, modifier la ligne "ComPort=x" avec votre numéro de port COM. Une fois ceci fait, ne plus exécuter l'ICD2 Wizard ou changer les settings, sinon MPLAB réécrira sa valeur, il faudra donc rééditer le fichier.
Voici l'erreur typique lorsque le mauvais port est sélectionné :


Cet erreur peut aussi survenir lorsque le PC sort de veille avec MPLAB ouvert et l'ICD2 branché. Dans ce cas, fermer MPLAB, débrancher l'ICD2 quelques secondes, le reconnecter, relancer MPLAB.


Mauvaise vitesse du port COM
Lors de la première connexion, il est nécessaire que la vitesse du port COM soit réglée sur 19200 bauds dans MPLAB. Si ce n'est pas respecté, le message suivant s'affiche


Par la suite il est possible (et même conseillé) de régler la vitesse à 57600 bauds afin que les opérations se déroulent le plus rapidement possible.


Programmation du bootloader
Pour programmer le bootloader, utiliser par exemple IC-prog ou WinPIC800. Ces deux logiciels détectent normalement la configuration (oscillateur, fuses, etc.) inlcuse dans le fichier bootloader. Voici néanmoins les paramètres pour être certain :


Après une programmation réussie, effectuer une vérification pour être certain que tout est ok, cela peut éviter un long dépannage pour un bootloader mal programmé.




Drivers FTDI
Certains anciens drivers, avant la version 2.0, posaient parfois problème et rendaient l'utilisation de l'ICD2 impossible. Si vous avez des problèmes de communication, essayer une des versions ci-dessous, validées avec l'ICD2-Like :
Télécharger les Drivers FT232 CDM - Version 2.00.00 - Win 2000 - XP
Télécharger les Drivers FT232 CDM - Version 2.08.02 - Win 2000 à 2008 R2

D'autres versions sur le site de FTDI


© ChapsLab.com - 03.2006


Updates :
07.01.13 : Note de début de page sur l'abandon du support ICD2 pour MPLAB X
08.01.11 : Ajout de la rubrique FAQ, divers correction et améliorations
12.08.06 : Explications avec le nouveau driver CDM de FTDI
17.10.06 : Ajout de la version boitier (+ divers petites corrections)
chapslab.com © E.Chappatte 2005-2015

best viewed in 1024x768 & more

Valid HTML 4.01!