«

»

Programmateur pour PIC24 (Opérations ICSP)

… Retour à la Présentation du projet

Cet article décrit les signaux et les opérations élémentaires du protocole In-Circuit Serial Programming™ (ICSP™) permettant de programmer un PIC24 à partir d’un ordinateur PC ou d’un simple terminal série matériel ou émulé par un logiciel comme GTKTerm ou HyperTerminal.

 

  • 2.1 – Signaux du Protocole ICSP™

Le protocole ICSP™ est véhiculé au moyen des 3 signaux suivants représentés sur la Figure 1-1 :

  1. MCLR/ ou  RESET  : Master Clear actif à l’état bas et inactif à l’état haut utilisé également pour le Reset du circuit à programmer.
  2. PGD ou SERIAL DATA : Ligne de données séries bidirectionnelles.
  3. PGC ou SERIAL CLOCK : Ligne d’horloge pour la sérialisation et la désérialisation des données.

Notice

Le niveau électrique de l’état bas est la masse de l’alimentation (0 Volt) et celui de l’état haut est le +3.3 Volts. Sur la plupart des PIC24 comme le pic24fj64gb002, certaines paires de broches PGD et PGC sont tolérantes au +5 Volts ce qui évite d’intercaler un buffer d’adaptation.

Une donnée série doit est stable de part et d’autre du front montant de l’horloge (passage de l’état bas à l’état haut).

La fréquence de l’horloge ne doit pas excéder 10 MHz.

 

  • 2.2 – Opérations élémentaires du Protocole ICSP™

Les 8 opérations présentées dans le Tableau 1 peuvent être en fait réalisées au moyen de l’enchainement  d’une ou plusieurs des 4 opérations élémentaires suivantes :

  1. Entrée dans le mode ICSP™ qui doit être la première opération élémentaire.
  2. Opération Six Serial Execution (nommée SIX dans la spécification) qui permet d’envoyer des données de 24 bits avec le bit de poids faible en tête (little-endian) au circuit cible à programmer dans les phases d’écriture. Ces données sont en fait les codes instruction à exécuter par le circuit cible et non des données à écrire telles quelles comme c’est le cas par exemple pour la programmation des PIC16 au moyen de ce même protocole ICSP™.

    Important!

    Cette particularité nous permettra de vous proposer un article dans lequel il sera décrit une suite d’instructions exécutées par le circuit cible en retournant des valeurs intermédiaires sans que ce circuit ait été préalablement flashé. Cette méthode, qui a ses limites comme nous le verrons, peut être très utile d’un point de vue pédagogique.
  3. Opération Regout Serial Execution (nommée REGOUT dans la spécification) qui permet de recevoir des données de 16 bits avec le bit de poids faible en tête (little-endian) du circuit en cours de programmation dans les phases de lecture.

    Error!

    Deux opérations élémentaires REGOUT consécutives doivent impérativement être séparées d’une opération élémentaire SIX.
  4. Sortie du mode ICSP™ qui termine l’accès en programmation du circuit cible.

 

 … Retour à la Présentation du projet