Página principal Castellano  Deutsch  English 

Cómo programar un PIC 12Fxxx/16Fxxx

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.

[Esquema] 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.

Cómo usar ICSP para programar un PIC en el circuito

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:

  1. El voltaje de programación Vpp aplicado a /MCLR debe cambiar entre cero y 13 voltios en pocos microsegundos.
  2. Las señales de reloj y de datos deben alcanzar los niveles extremos (Vdd o GND) en menos de un microsegundo.
  3. Algunos PIC usan un pin (RB3 o RB4) como señal PGM para el modo LVP (Low Voltage Programming). Este pin debe permanecer en Low durante la programación.
  4. Algunos PIC requieren que el voltaje de programación Vpp se aplique antes del voltaje operativo Vdd. En este caso Vdd debe ser controlado por el módulo de programación.

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.

[Esquema ICSP] Recomendaciones:

Asignación de las señales ICSP a los pines de un PIC 12Fxxx/16Fxxx

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 5 14 13 12 10 4,5V - 5,5V
16F716 4 5 14 13 12 - 4,5V - 5,5V
16F818/819 4 5 14 13 12 9 2,0V - 5,5V
16F84(A) 4 5 14 13 12 - 4,5V - 5,5V
16F87/88 4 5 14 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

Esquemas de conexión con colocación lateral del conector ICSP

Los siguientes esquemas muestran cómo se conectan las señales de programación a los PIC 12Fxxx/16Fxxx.

[Esquemas de conexión]


volver a la página principal