Pendant une séance de réflexion à la conception de mon Robot, il m'est venu une idée que je pourrais presque qualifier de géniale :


Le "Concept de programmateur multi-ports ICSP pour pics". Je m'explique :

Premières contatations :

- Il est convenu que l'électronique nécessaire à la programmation d'un micro-controleur est coûteuse pour l'autonomie d'un robot.
- La technique du "Boot-loader" (technique permettant de charger du code dans la mémoire au démarrage du pic) est également coûteuse en termes de réservation d'une partie des ports d'entrée-sortie du micro-controleur pour les dédier à une communication série ainsi qu'en consommation de la mémoire de programme, puisque le fragment de code "Boot-loader" doit être inscrit de manière "résidente" dans la mémoire de programme du micro-controleur. (Cela fait des octets libres en moins :( et puis il faut quand même un programmateur pour placer le "Boot-loader" en mémoire ...).
- La technique du programmateur externe nécessite d'avoir un accès physique au micro-controleur en permanence. Il faut << arracher >> le micro-controleur de son support, le placer sur le programmateur, le remettre sur le support de sa carte mère ..... Bref c'est loin d'être idéal comme concept.

Secondes constatations :

- Il semble peu pratique de devoir s'équiper d'un programmateur par type de port exploité sur un PC. En effet si l'on souhaite pouvoir faire preuve de mobilité il faut :
-A) : trouver un port pc suffisament générique pour être disponible en toutes circonstances.
-B) : s'équiper d'autant de programmateurs que de ports de programmation possibles.
-C) : se prommener partout avec une tour pc dédié à la programmation du robot.

Analyse :

Un programmateur c'est quoi ? Ce sont quelques composants dédiés à la programmation d'un micro-controleur faisant le lien entre un port (Série, Parallèlle, Usb) et les pattes dédiées à la programmation d'un micro-controleur.

L'ICSP c'est quoi ? C'est l'extériorisation des composants de programmation sur une plaquette séparée de la carte de support du micro-controleur, les deux plaquettes "dialoguant" au travers d'un connecteur.

Un Port (Série, Parallèlle, Usb) c'est quoi ? C'est une interface Machine-Machine. C'est une série de broches permettant des entrées - sorties d'un ordinateur vers un autre équipement au travers d'un protocole commun.

Conclusion :

Un programmateur multi-ports ICSP peut être conçu selon le croquis suivant :

Le "PC" est relié au programmateur via un "module" (Série, Parallèlle, Usb). Le programmateur est relié au support du micro-controleur via une liaison ICSP.

De cette façon il suffit de disposer du module adéquat pour reprogrammer le micro-controleur du robot depuis n'importe quelle plate-forme (PC, portable, Apple, Palm, .....).