ChapsLab.com : The Chap's Laboratory
   ::Menu::

Accueil

Temp Monitor
ICD2-Like

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é


Introduction
Pour ceux qui ne conssaisent pas l'ICD2 (In Circuit Debugger 2), c'est une interface qui permet de programmer et debugger des microcontrolleurs 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
Description
Deux composants principaux 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 série 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 serie. 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égréer 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 cote 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 cote 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 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 (programmé avec le bootloader !) qui sont montés dessous, en SMD. Faire correspondre le repère de la patte 1 avec le petit "1" qui est gravé sur le PCB. 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 :


Utilisation
Pour commencer, il faut télécharger les drivers ci-dessous, les décompresser dans un répertoire et lorsque vous connectez votre ICD2, il faut lui indiquer ce répertoire.
Les drivers ci-dessous ont été testés et fonctionnent sans problèmes sur mon système :

Télécharger les Drivers FT232 CDM - Version 2.00.00 - Win 2000 - XP

Drivers pour autres OS sur le site de FTDI

Attention ! Certaines anciennes version des drivers fonctionnaient, d'autres pas ! Donc il est déconseillé de les utiliser.
Au sujet des nouveaux drivers 2.00, FTDI a unifié ses drivers : le VCP (Virtual Com Port driver) et le DXX (Direct driver) se retrouvent maintenant en un seul package CDM (Combined Driver Model). Pour les chips récents (comme le FT232R que nous utilisons ici) c'est un bit dans l'EEPROM du chip qui détermine si le driver VCP est installé ou pas; dans mon cas il s'est installé, si vous avez des problèmes contactez-moi. 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é puis les diverses options selon vos choix. Une fois ceci fait, il faut downloader un premier firmware dans la cible (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 minutes. Une fois celle-ci terminée, votre ICD2 est fonctionnel et vous devriez avoir un output dans ce genre :


Dernier détail, ajuster la tension de programmation VPP à l'aide du trimmer P1. Menu "Debugger" > "Settings", onglet "Power" :



Ajuster à la valeure requise pour votre microcontroller (générallement 12-13V) en tournant P1 et en cliquant sur "Update".

Voilà, votre ICD2 est terminé. Si vous avez des questions ou s'il ne fonctionne pas comme prévu vous pouvez toujours me contacter.


Vue du dessous de la version "standard"


Vue de l'interieur de la version "boitier"

© ChapsLab.com - 03.2006


Updates :
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.Chapatte 2005-2008

best viewed in 1024x768 & more

Valid HTML 4.01!