Programación "ICSP" (In Circuit Serial Programming)

Obviamente debe ser programado con las rutinas que permitan la comunicación ICSP, lo cual no es nada sencillo.
Un microcontrolador sin programar simplemente no hace nada.
De acuerdo. Es que en el enlace que pongo abajo se habla de diseñar un "módulo de interface" desde dos alternativas o versiones:

1.- Versión con un circuito simple de adaptación de niveles que solo puede leer y programar el PIC 18F, pero que en sí mismo no lleva ningún PIC.

2.- Versión con un "módulo de programación", con el PIC16F628(A), que, además de leer y programar el PIC 18F, puede depurar, sincronizar mejor las señales, conseguir una mejor tensión de 13 V, etc.

Y todo ello en unión al software PicProm, que es el que yo suponía que, además de enviar la aplicación de usuario HEX por el puerto serie para programarla en el PIC 18F, también implementaba el protocolo ICSP por software para que la versión 1 del circuito (sin PIC) también pudise grabarlo.

Si no, no entiendo muy bien por qué se habla de que la versión 1 también puede programar sin ningún PIC ni rutina ICSP previamente programada.

El enlace es este: PIC-16Fxxx-Programador 2.4

A ver si me podéis aclarar esto y por qué se habla de programadores software ICSP, tanto PicProg como IC-Prog, etc.
Gracias de nuevo.
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
Obviamente debe ser programado con las rutinas que permitan la comunicación ICSP, lo cual no es nada sencillo.
Un microcontrolador sin programar simplemente no hace nada.
No veo en la especificación del ICSP que haga falta ninguna rutina. En modo programación, el Program Counter se incrementa por hardware y parece que hay algunos comandos que se intrecambian con datos de varios "tamaños".

ICSP.png

Les dejo AN de Microchip para que vean...
 

Adjuntos

Última edición:
Si es por investigar bien pero suelen haber programadores clónicos por muy poco dinero.
Lo digo porque compré uno por una mísera para avr y Arduino que uso de vez en cuando si se corrompe el bootloafer.
Lo mismo habrá para pic
 

D@rkbytes

Moderador
No veo en la especificación del ICSP que haga falta ninguna rutina. En modo programación, el Program Counter se incrementa por hardware y parece que hay algunos comandos que se intrecambian con datos de varios "tamaños".
Sí, claro. En modo de programación obviamente no se necesita programar nada, el PIC ya tiene tiene ese modo por defecto.
Pero realizar un programador ICSP con un microcontrolador, sí que requiere programación.
1.- Versión con un circuito simple de adaptación de niveles que solo puede leer y programar el PIC18F, pero que en sí mismo no lleva ningún PIC.
Para ese caso la mejor opción es un Bootloader.
 
Sí, claro. En modo de programación obviamente no se necesita programar nada, el PIC ya tiene tiene ese modo por defecto.
Pero realizar un programador ICSP con un microcontrolador, sí que requiere programación.

Para ese caso la mejor opción es un Bootloader.
Gracias, pero no deseo programar con bootloader, sino saber si la versión 1 de la que hablo en mi comentario #21 sirve para programar íntegramente un PIC y por qué se habla de que el PicProm o el IC-Prog son programadores ICSP software cuando, según comentáis, la programación la hace el programador hardware con el PIC preporgramado.

En resumen:

1. ¿Por qué en ese enlace se dice que la versión 1 del circuito (sin PIC) puede programar un PIC?

2. ¿El software PicProm, IC-Prog y similares, además de enviar el HEX, también implementan por software el protocolo ICSP para poder prescindir de placa programadora hardware con PIC preprogramado?

Me gustaría saber exactamente eso y cualquier aclaración que consideréis oportuna. Muchas gracias.
 
Última edición:

D@rkbytes

Moderador
1. ¿Por qué en ese enlace se dice que la versión 1 del circuito (sin PIC) puede programar un PIC?
Porque la interfaz tiene la posibilidad de realizar la comunicación empleando únicamente el adaptador de niveles de tensión.
2. ¿El software PicProm, IC-Prog y similares, además de enviar el HEX, también implementan por software el protocolo ICSP para poder prescindir de placa programadora hardware con PIC preprogramado?
Sí, y el PIC puede estar sin programar o ya programado con algo, o sea, la interfaz debe tener la posibilidad de borrar la memoria Flash.
Gracias, pero no deseo programar con bootloader, sino saber si la versión 1 de la que hablo en mi comentario #21 sirve para programar íntegramente un PIC y por qué se habla de que el PicProm o el IC-Prog son programadores ICSP software cuando, según comentáis, la programación la hace el programador hardware con el PIC preporgramado.
Varios programadores no requieren un microcontrolador intermediario ya que implementan el protocolo por software.
Por ejemplo: los antiguos programadores I2C para las memorias 24XXX únicamente requerían adaptar los niveles.
O sea que, mientras se disponga de los terminales necesarios en un puerto físico, se tiene esa posibilidad.
 

Arriba