Table des matières:
- Étape 1: Pourquoi ICSP ?
- Étape 2: Qu'est-ce que l'ICSP ?
- Étape 3: Comment ICSP ?
- Étape 4: Programmeurs ICSP
Vidéo: Comprendre ICSP pour les microcontrôleurs PIC : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:10
La programmation de microcontrôleurs n'est pas difficile. Construire un programmeur fait un excellent premier projet électronique. Le but de cette instructable est d'expliquer la méthode simple de « programmation série en circuit » utilisée avec les PIC de Microchip.
Étape 1: Pourquoi ICSP ?
La programmation d'une grosse puce DIP (trou traversant) est facile. Insérez-le dans un programmeur à socket, gravez-le et revenez au circuit d'application. Testez et répétez.
Les choses deviennent plus difficiles avec des puces plus petites (montage en surface). Il n'y a pas de sockets standard pour les packages QFN, SSOP, QFP ou même les gros packages SOIC.300. Il existe des clips très coûteux (100 $) qui peuvent s'attacher et programmer ces puces. Un clip différent est nécessaire pour chaque type de puce et nombre de broches que vous utilisez. Il existe une alternative. Son appelé ICSP. ICSP signifie "programmeur série en circuit (ing?)". C'est une façon de programmer un PIC alors qu'il est encore attaché au circuit d'application. C'est vrai, plus d'échange de puces. Pourquoi ICSP ? 1. Il n'y a pas de sockets de programmation pour les petites puces. Les clips sont chers. 2. C'est pénible de déplacer les puces dans et hors du programmeur pendant le développement. Impossible pour les pièces montées en surface.
Étape 2: Qu'est-ce que l'ICSP ?
Cinq connexions sont nécessaires pour programmer un PIC lorsqu'il est connecté à un circuit d'application. J'ajoute un en-tête à 5 broches à mes circuits imprimés pour rendre cette connexion rapide et facile. Les bases de la programmation PIC. Cinq connexions sont nécessaires pour programmer un PIC. Alimentation, masse, tension de programmation, horloge et données.+ (Vdd)/-(Vss) Ce sont les connexions d'alimentation et de masse (Vdd, Vss). Assez standard. Si vous utilisez un programmeur avec des niveaux de tension « réels » (PAS un JDM2 !), votre application peut fonctionner à partir de sa propre alimentation lorsqu'elle est programmée, éliminant ces connexions. Vpp Il s'agit de la tension de programmation. Les PIC entrent en mode de programmation lorsque ~ 13 volts sont placés sur la broche MCLR/Vpp (généralement la broche 1 sur les PIC modernes, plus d'informations ci-dessous). Horloge/Données ou PGC/PGD L'horloge et les lignes de données sont utilisées pour écrire et lire le PIC micrologiciel. Ce sont généralement les mêmes broches que PORTB6 et PORTB7. Exercice: Identifiez les points de connexion ICSP sur les PIC dans les images ci-dessous. Si le PIC convient, portez-le. Je reçois beaucoup de questions sur ma conception JDM2 sur instructables. Le plus fréquent est " Est-ce qu'il programmera le PIC X ?'"' - voici comment vous pouvez le savoir: 1) Regardez la fiche technique. Trouvez le « Pin Diagram » qui ressemble à l'image ci-dessous.2) Identifiez l'emplacement des broches qui doivent être connectées pour la programmation (Vpp, Vdd, Vss, Data et Clock).3) Regardez la connexion de la prise sur le programmeur. Pouvez-vous faire correspondre les broches requises avec une prise sur le programmeur ?
Étape 3: Comment ICSP ?
Selon votre conception, vous pouvez maintenant effectuer toutes les connexions requises et programmer votre PIC. Il y a quelques captures que vous devriez connaître. La conception pour ICSP est importante. Microchip fournit une belle note d'application PDF sur la conception pour ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744Voici quelques conseils et exemples de conceptions ICSP de mes précédents instructables. Astuce #1, Niveau de menace: ImportantNe connectez rien d'autre à l'HORLOGE et les broches DATA (généralement RB6 & RB7, PGC & PGD). Ne le fais pas. Il y a des situations où des types d'ingénierie très intelligents s'en tirent, mais ne le font pas. Les composants attachés aux broches fausseront l'horloge et les signaux de données, entraînant une programmation imprévisible. De plus, si vous souhaitez utiliser un débogueur série en circuit, vous ne pouvez pas. Ne le faites pas. Astuce #2 Niveau de menace: Explosif Utilisez toujours une diode entre la tension de programmation et la tension du système. Si vous utilisez MCLR (master clear) sur un PIC, vous devez fournir une tension sur la broche MCLR via une résistance 10Kish. C'est également la broche à laquelle vous appliquerez ~13 volts pour entrer en mode de programmation. J'ai mis une diode 1n4148 (équivalente) entre la résistance et la broche MCLR/Vpp (comme indiqué dans le schéma et le rendu ci-dessous). Cela maintient la tension de programmation sur la broche Vpp, empêchant la destruction d'autres composants de votre carte. Astuce n°3 Niveau de menace: (re)fatiguéLa programmation basse tension vous retient, mec. Je n'ai jamais réussi avec LVP. Je ne l'ai jamais vu fonctionner (constamment) de mes propres yeux. Juste mordez la balle et dépensez 2,50 $ pour construire un programmeur JDM2.
Étape 4: Programmeurs ICSP
ICSP ne nécessite pas de protocole de programmation différent. Un programmeur basé sur socket produit déjà la signalisation requise, mais l'envoie à la socket plutôt qu'à travers des fils. La plupart des programmeurs de socket peuvent être utilisés comme ICSP en reliant les fils du socket au circuit d'application. Par exemple, le programmeur JDM2 d'origine (ici: https://www.jdm.homepage.dk/newpic.htm) peut être utilisé pour faire la programmation ICSP en amenant les 5 signaux requis à un en-tête. Cela peut être vu dans le programmeur ici: https://www.belza.cz/digital/jdm.htm. Pour garder les choses à portée de main, j'ai refait cette conception dans Eagle Cad et je l'ai attaché à cette instructable. Surveillez l'orientation du transistor, une des empreintes est peut-être incorrecte (je l'ai fait il y a plus d'un an, je ne m'en souviens plus). De même, mon programmeur JDM2 mis à jour (ici: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) peut être utilisé pour ICSP en collant des fils dans les prises DIP et en les connectant au PIC cible. ***** Les JDM2 utilisent des tensions géniales… connectez-le au circuit SANS alimentation externe (ou même à la terre) connecté au circuit d'application. Retirez les connexions ICSP avant de mettre sous tension. Ne pas le faire n'est pas destructeur, mais entraînera un échec de la programmation ******* Une autre option est un programmeur ICD (semi-) approprié. L'ICD vous permet de contrôler l'exécution du firmware sur votre PIC en définissant des points d'arrêt dans le code ou en lisant les valeurs de mémoire et de port. Un ICD peut également animer l'exécution de code, alimenter le circuit applicatif et programmer le PIC. Il fait tout cela via la même connexion ICSP à 5 broches dont nous avons parlé. Plusieurs clones ICSP que vous pouvez faire vous-même peuvent être vus ici: https://www.icd2clone.com/wiki/Main_Page. J'ai construit le PiCS (rév B) il y a quelques mois et je l'adore.
Conseillé:
Un petit programmeur pour les microcontrôleurs ATTINY avec Arduino UNO : 7 étapes
Un petit programmeur pour les microcontrôleurs ATTINY avec Arduino UNO : Il est actuellement intéressant d'utiliser les microcontrôleurs de la série ATTINY en raison de leur polyvalence, de leur prix bas mais aussi du fait qu'ils peuvent être facilement programmés dans des environnements tels que Arduino IDE. Les programmes conçus pour les modules Arduino peuvent être transf
Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : 16 étapes
Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : je souhaite créer une « canne » intelligente qui peut aider les personnes malvoyantes bien plus que les solutions existantes. La canne pourra avertir l'utilisateur d'objets devant ou sur les côtés en faisant un bruit dans le casque de type son surround
Guide du débutant sur les microcontrôleurs : 10 étapes (avec photos)
Un guide du débutant sur les microcontrôleurs : qu'est-ce que les télécommandes, les routeurs et les robots ont tous en commun ? Microcontrôleurs ! De nos jours, les microcontrôleurs conviviaux pour les débutants sont faciles à utiliser et à programmer avec juste un ordinateur portable, un câble USB et certains logiciels open source (gratuits). Waouh !! Tous les
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2 : 4 étapes (avec photos)
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2: Dans la première partie de cette instructable, j'ai montré comment programmer un PIC12F1822 à l'aide du compilateur MPLAB IDE et XC8, pour envoyer une chaîne simple sans fil à l'aide de modules TX/RX 433MHz bon marché. Le module récepteur était connecté via un USB à UART TTL publicité par câble
Bandeaux lumineux de couronne de fleurs pour les festivals de musique d'été, les mariages, les occasions spéciales : 8 étapes (avec photos)
Bandeaux lumineux à couronne de fleurs pour les festivals de musique d'été, les mariages et les occasions spéciales : illuminez la nuit avec un magnifique bandeau à fleurs LED ! Parfait pour tous les mariages, festivals de musique, bals de finissants, costumes et occasions spéciales ! Kits avec tout ce dont vous avez besoin pour créer le vôtre bandeau lumineux sont maintenant disponibles dans le magasin Wearables Workshop