Logo Futura-Sciences





Archives du sujet :

[TERMINE] Construire un ICD2-Like USB [Mkala]



Venez poser vos question sur le forum "Projets électroniques"


Page : [1] 2

Mkala
18/10/2006, 12h50
Salut a tous !

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

Pour plus d'informations afin de le construire : http://www.chapslab.com/articles/icd2/

Pour toutes vos questions je suis a votre disposition sur ce forum !

Bonne réalisation ;)



Mkala
29/10/2006, 19h03
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)

Jack
30/10/2006, 00h06
Bonjour,

tu l'as essayé, ça fonctionne bien?

A+



fpiquet
30/10/2006, 00h37
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

Mkala
30/10/2006, 11h16
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

Jack
30/10/2006, 11h29
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é.

http://www.ccsinfo.com/content.php?page=ICD

Tu crois que ton ICD est compatible avec l'environnement CCS?

A+

fpiquet
30/10/2006, 13h12
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

Mkala
30/10/2006, 13h41
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é.

http://www.ccsinfo.com/content.php?page=ICD

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.

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 ?

veul204
21/02/2007, 13h10
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

taz6cle
26/02/2007, 18h38
bravo et merci je pense que je vais bientot essayer de le faire apres avoir reussi a faire marche ic prog lol

bonne continuation

taz6cle
28/02/2007, 13h37
petite question j'ai pas vue d'emplacement pour les pic comment on fais pour les branchements ?

merci

Jack
28/02/2007, 20h48
mais c'est un programmateur/debugger in system. Il faut connecter ta cible sur le RJ12 avec une nappe.

A+

K-my
01/05/2007, 10h40
À 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.
http://icd2clone.free.fr/modules/ICD2C/392px-Icd2_Usb.jpg
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.

Toufinet
01/05/2007, 19h36
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 :D

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 ?

Platipu$
17/05/2007, 16h02
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,

Mikaël.

7adidoo
01/06/2007, 11h04
ok mais avez vous le branchement exacte des fils du RJ12 avec le pic (en fait les different pic supporter:conf: )

7adidoo
05/06/2007, 21h19
mais c'est un programmateur/debugger in system. Il faut connecter ta cible sur le RJ12 avec une nappe.

A+



ok mais quel type de
nappe

katmai
02/08/2007, 18h52
Salut,

J'aimerais faire ce programmateur! Mais j'ai tout de même une petite question : Comment connait on le VPP des différents PICs? J'ai cherché partout dans le datasheet et je ne l'ai pas trouvé. J'utilise un 18F66J60.

Merci A++

vince_007
17/08/2007, 17h24
À 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.
http://icd2clone.free.fr/modules/ICD2C/392px-Icd2_Usb.jpg
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.


J'ai un ICD2 de ce genre, acheté sur Ebay et il programme exactement les mêmes PIC que le vrai ICD2.
Ce programmateur génère la tension Vpp (13V) à l'aide d'un petit convertisseur DC/DC à partir du +5V. Sur la photo, le convertisseur se trouve en bas à gauche, c'est le circuit marqué HTC, avec la diode, la self vertical et les condensateurs.

Si ce programmateur ne voit pas votre PIC, c'est qu'il est mal connecté. Verifier qu'il y a bien une résistance de 4K7 entre le +5V et la pin MCLR du PIC et surtout pas de condensateur.
Verifier que les pins RB6 et RB7 du PIC ne possède pas de résistance au VCC ou à la masse, et pas de condensateurs.

Bon courage mais les programmateurs ICD2 d'Ebay marche super bien pour pas cher : )

xouiram
30/09/2007, 03h59
Quand ICD2 est connecté, on peut le lire dans la fenêtre Programmer=-->Setting...
Quand je serai au bureau lundi, je pourrais vous le donner, Je n'ai pas en main mon ICD2.


Précisez votre recherche :














Index des rubriques : Actualité - Dossier - Définition - Fond d'écran - Musée - Entreprises | Revue de presse - Guide High-Tech
En ce moment : En ce moment : Bonne année - Terre vue du ciel - Carte de Noël - Poêle à bois - Google Sky
Index des ressources : A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
Forums : Habitat, chauffage et isolation - Dépannage - Electronique - Internet - Logiciel - Santé - Orientation
Tags : A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z