UTILIZACIÓN DE LA PROGRAMACIÓN SERIAL IN-CIRCUIT (ICSP)

El Programador puede programar microcontroladores que estén en un zócalo del tipo zif preparado para tal función, o bien  instalados en un circuito de aplicación, mediante la utilización de la Programación Serial In-Circuit (ICSP).

La comunicación ICSP requiere cinco señales:

1- ICSPDAT o PGD: Datos de Programación; es una línea de datos bidireccional sincrónica serial.

2- ICSPCLK o PGC: Reloj de Programación; es una línea unidireccional sincrónica serial de reloj que va desde el programador hasta el microcontrolador.

3- VPP: Voltaje de Programación; cuando es aplicado, el microcontrolador entra en el modo Programación.

4- VDD: Suministro de voltaje positivo.

5- VSS: Negativo

En caso de programar un microcontrolador individualmente sobre un zócalo para después trasladarlo a la aplicación, el diagrama de conexionado es como el de la figura 1.

 

Figura 1

En los data sheet suministrados por el fabricante Microchip y accesibles desde su página de Internet, están detallados los pines adecuados para la conexión ICSP de cada tipo de dispositivo PIC.

En general la disposición de los pines según el microcontrolador es la siguiente:

Microcontroladores de 8 pines línea 12F

Pin 1 = Vdd   (voltaje positivo)

Pin 4 =  Vpp  (voltaje de programación)

Pin 6 = Ck     (ICSPCLK – PGC)

Pin 7 = Data  (ICSPDAT - PGD)

Pin 8 = Gnd   (negativo Vss)

Microcontroladores de 18 pines línea 16F

Pin 14 = Vdd   (voltaje positivo)

Pin 4 =  Vpp  (voltaje de programación)

Pin 12 = Ck     (ICSPCLK – PGC)

Pin 13 = Data  (ICSPDAT - PGD)

Pin 5 = Gnd   (negativo Vss)

Microcontroladores de 28 pines línea 16F / 18F

Pin 20 = Vdd   (voltaje positivo)

Pin 1 =  Vpp  (voltaje de programación)

Pin 27 = Ck     (ICSPCLK – PGC)

Pin 28 = Data  (ICSPDAT - PGD)

Pin 8 - 19 = Gnd   (negativo Vss)

Microcontroladores de 40 pines línea 16F / 18F

Pin 11 - 32 = Vdd   (voltaje positivo)

Pin 1 =  Vpp  (voltaje de programación)

Pin 39 = Ck     (ICSPCLK – PGC)

Pin 40 = Data  (ICSPDAT - PGD)

Pin 12 - 31 = Gnd   (negativo Vss)

Nota: El pin Pgm debe conectarse a Vss en los Pic que sean aptos para programación a bajo voltaje LVP o bien poner en off esta función en la configuración del dispositivo, ya que en todos los casos se utiliza el tipo de programación normal y no la característica LVP.  Consultar el data sheet  correspondiente del microcontrolador a programar para la identificación de este pin.  Un pin PGM no conectado puede interferir con la programación.

Para la programación “in-circuit”, el circuito de aplicación debe estar diseñado para permitir que todas las señales de programación se conecten al microcontrolador sin que las mismas se distorsionen. La Figura 2 muestra un circuito típico como punto de partida para diseñar un circuito de aplicación para ICSP.

Figura 2

Nota: En los microcontroladores PIC con capacidad de programación a bajo voltaje LVP, configurar esta función como LVP = off en los registros de configuración. En su defecto es necesario conectar el pin PGM hacia Vss para evitar errores en la programación.

Para una programación exitosa con ICSP debemos tener las precauciones que se detallan a continuación.

Aislar el pin VPP/MCLR

Cuando es aplicado el voltaje Vpp, el circuito de aplicación necesita tomar en consideración que el voltaje típico de Vpp es +12V.

1- Si el pin Vpp es utilizado como un pin MCLR: el circuito de aplicación es conectado típicamente a una resistencia/capacitor pull up, tal como se recomienda en las especificaciones (data sheet) del microcontrolador. Hay que tener la precaución de que el circuito asociado no baje la velocidad y exceda el tiempo de elevación de Vpp.

Si se coloca una interfaz con algún botón para el pin MCLR, se recomienda que los mismos sean aislados del voltaje Vpp mediante el empleo de un diodo o una resistencia limitante tal como se muestra en la Figura 2.

2- Si el pin Vpp es utilizado como un pin de puerto I/O: el circuito de aplicación que conecta al pin I/O quizás no esté habilitado para manejar el voltaje de +12V. Se recomienda utilizar un diodo o una resistencia limitante, para aislar el circuito.

Aislar los pines ICSPCLK o PGC, y los pines ICSPDAT o PGD

Es necesario aislar del circuito a los pins ICSPCLK o PGC y los pins ICSPDAT o PGD, para prevenir que las señales de programación sean afectadas por el propio circuito de aplicación. ICSPCLK o PGC es una línea de reloj unidireccional sincrónica serial desde el programador al microcontrolador. ICSPDAT o PGD es una línea bidireccional sincrónica serial de datos de programación.

Si el diseño lo permite, destinemos estos pines para ICSP. Sin embargo, si el circuito requiere que esos pines sean utilizados por la aplicación, diseñemos el circuito de tal manera que no altere el nivel de señal. El aislamiento del circuito variará de acuerdo a la aplicación. La Figura 2 muestra una posibilidad utilizando resistencias en serie para aislar las señales ICSP del circuito de aplicación.

VDD

Durante la programación ICSP, es necesario que el microcontrolador sea conectado de acuerdo a la especificación del mismo. Típicamente, el suministro de voltaje del microcontrolador es conectado al suministro de voltaje del circuito de aplicación. La aplicación puede ser alimentada por el programador o externamente.

Es muy importante cuando el programador  suministra el voltaje Vdd al circuito, asegurarse que el capacitor o los capacitores conectados a Vdd de la aplicación no estén alterando el tiempo de subida de Vdd, específicamente cuando el programador solo eleva Vdd durante el proceso de programación. En estos casos es recomendable utilizar el suministro de tensión externa o un suministro constante desde el programador.     

Longitud de los cables

Minimizar la distancia que deben recorrer las señales ICSP colocando el conector de ICSP tan cerca del circuito de aplicación como sea posible. Minimizar la longitud de cualquier cable entre el programador y el dispositivo del circuito de aplicación. El objetivo es mantener las señales ICSP dentro del nivel y las especificaciones de rango para que la programación sea exitosa.

 

Volver a página principal


EL SOFTWARE, FIRMWARE, DOCUMENTACION SE ENCUENTRAN PROTEGIDOS POR LEYES Y TRATADOS RELATIVOS A PROPIEDAD INTELECTUAL.

Está permitida su difusión proporcionando el correspondiente enlace a este sitio Web.