|
|
Castellano
Deutsch
English
|
Estos PIC se programan usando un protocolo serial propio. No es posible conectarlos directamente a una interfase "usual". Afortunadamente, las exigencias de timing son poco estrictas. Esto da la posibilidad de usar algunos pines de un puerto paralelo o serie de la PC para generar la secuencia de programación con un software especializado.
Además del voltaje operativo, se necesitan otras tres señales: el voltaje de programación Vpp (aprox. 13V), la señal de reloj (clk = PGC = ICSPCLK) y la señal de datos (data = PGD = ICSPDAT).
Como la mayoría de los PIC tolera un voltaje de programación Vpp algo menor que el de la especificación, se pueden aprovechar los niveles de señales de ±12V del puerto serie de una PC Desktop y "quemar" el PIC sin necesidad de una fuente de alimentación adicional.
La conversión de niveles puede ser lograda con pocos componentes.
Sin embargo, este circuito simple tiene sus limitaciones y permite sólo lectura y programación del PIC. No hay garantía de que funcione con todos los controladores, ya que cumple con las especificaciones de programación sólo parcialmente.
(Circuito impreso lado pistas (invertido), lado componentes)
Ver abajo cómo conectar las señales de programación al PIC.
ICSP ofrece la posibilidad de programar un microcontrolador en un circuito de aplicación. Esto es especialmente ventajoso en ámbitos educativos o de desarrollo, donde es necesario pasar repetidamente de programar el PIC a testear el circuito, y viceversa. Además de ahorrar tiempo, ICSP evita riesgos al mover el PIC entre zócalos distintos – como torcer los pines o "atormentar" el PIC por descargas electroestáticas –.
Para poder usar ICSP, el circuito no debe distorsionar las señales de programación, ni las señales de programación deberían afectar el circuito.
Las condiciones principales para programar un PIC son:
La manera más simple de satisfacer las dos primeras condiciones es no usar los pines correspondientes para el circuito de aplicación. Si se quiere usar el depurador, esto es incluso una necesidad.
Recomendaciones:
El número bajo el nombre de la señal corresponde al pin del conector ICSP del módulo de programación.
Prestar atención: el orden de las señales del conector ICSP de este módulo de programación difiere del que tienen otros programadores de PIC. Para usarlo con placas de prueba de terceros se necesita un adaptador.
| Controlador | Vpp (1) |
GND (2) |
Vdd (3) |
Data (4) |
Clk (5) |
PGM @ "Low" |
Rango de Vdd p. programación |
|
|---|---|---|---|---|---|---|---|---|
| 8-pin | 12F629/675 | 4 | 8 | 1 | 7 | 8 | - | 4,5V - 5,5V |
| demás 12Fxxx | 4 | 8 | 1 | 7 | 8 | - | 2,0V - 5,5V | |
| 14-pin | 12F630/676 | 4 | 14 | 1 | 13 | 12 | - | 4,5V - 5,5V |
| demás 16F6xx | 4 | 14 | 1 | 13 | 12 | - | 2,0V - 5,5V | |
| 18-pin | 16F62x(A), 16F648A | 4 | 14 | 5 | 13 | 12 | 10 | 4,5V - 5,5V |
| 16F716 | 4 | 14 | 5 | 13 | 12 | - | 4,5V - 5,5V | |
| 16F818/819 | 4 | 14 | 5 | 13 | 12 | 9 | 2,0V - 5,5V | |
| 16F84(A) | 4 | 14 | 5 | 13 | 12 | - | 4,5V - 5,5V | |
| 16F87/88 | 4 | 14 | 5 | 13 | 12 | 9 | 2,0V - 5,5V | |
| 20-pin | 16F6xx, 16F785 | 4 | 20 | 1 | 19 | 18 | - | 2,0V - 5,5V |
| 28-pin | 16F7x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 4,75V - 5,25V |
| 16F7x7 | 1 | 8, 19 | 20 | 28 | 27 | - | 4,75V - 5,25V | |
| 16F87x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,5V - 5,5V | |
| 16F87xA | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 16F88x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 16F91x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 40-pin | 16F7x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 4,75V - 5,25V |
| 16F7x7 | 1 | 12, 31 | 11, 32 | 40 | 38 | - | 4,75V - 5,25V | |
| 16F87x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,5V - 5,5V | |
| 16F87xA | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
| 16F88x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
| 16F91x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
Los siguientes esquemas muestran cómo se conectan las señales de programación a los PIC 12Fxxx/16Fxxx.
![Esquemas de conexión [Esquemas de conexión]](icsp_c.png)