Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROGRAMADOR/DEPURADOR
MICROCHIP
CONTENIDO:
1. Principales caractersticas 2
2. Programacin 5
3. Depuracin 15
4. Herramienta UART 21
5. Herramienta lgica 22
7. Actualizaciones 26
9. FAQ 28
Soporte tcnico
soporte@microprogramadores.com www.microprogramadores.com
1
PRINCIPALES CARACTERSTICAS:
Micro
6. La Herramienta UART
proporciona una interfaz UART
(serial) para micros, dsPICs o
cualquier otro dispositivo que
necesiten entrada y/o salida datos
de una interfaz serial real.
2
8. Puede programar dispositivos DIP, superficiales y de otros
empaquetados mediante la conexin ICSP.
11. Programa:
Todos los microcontroladores de las series PIC10f, PIC12f, PIC16f, PIC18f.
Memorias 24C, 93C, 11C, 25C.
Los dsPIC30f y dsPIC33f.
Microcontroladores series PIC24 y PIC32.
KEELOQ HCS y MCP250xx CAN.
En conclusin, programa todos los dispositivos Microchip.
12. Depura:
Microcontroladores PIC16f (excepto 84a, 628a, 6xxx), todos los PIC18f,
dsPIC30f y dsPIC33f.
3
El sistema de desarrollo PIC SD7, es compatible con el PICkit2 de Microchip,
por lo tanto los manuales y tutoriales que aplican al PICkit2 original tambin
aplican al PIC SD7 con las siguientes limitaciones:
4
PROGRAMACIN.
5
NOTA: No olvide borrar el microcontrolador antes de programarlo.
2. CONEXIN ICSP:
Si su microcontrolador o dsPIC es de un pinado diferente a los que se ven en los
diagramas (PIC de 14 y 20 pines, o dsPIC de 18 o 28 pines), o es de un
empaquetado superficial (SOIC, DFN, etc) debe realizar la programacin mediante
la CONEXIN ICSP.
Tambin en caso de que su micro o dsPIC presente problemas al tratar de
programarlo en la base ZIP, pruebe esta alternativa (ejemplo: si su PIC16f887 no le
programa en la base ZIP).
6
PROGRAMACIN en base ZIP
4 Jumpers (J1,J2,J3,J4) seleccion en posicin d3014/4013 (J1,J1,J3,J3,X)
(J2,J2,J4,J4,X)
Microcontrolador de 40
pines, jumper en posicin
PIC 40 40-28 pines.
Pin1 del micro en pin1 de
D la base.
PIC S 40-28 18 pines
P pines 10f y 12f
I
C
Microcontroladores de 28
pines, jumper en posicin
PIC 28 40-28 pines.
Pin1 del micro en pin1 de
la base.
D
PIC S 40-28 18 pines
P
I pines 10f y 12f
C
Microcontroladores de 18
pines, jumper posicin
PIC 18 18pines, 10f y 12f.
Pin1 del micro en pin2 de
la base.
D
40-28 18 pines
PIC S
P pines 10f y 12f
I
C
Microcontroladores de 8
pines serie 10f, jumper
PIC10
posicin 18pines, 10f y 12f.
Pin1 del micro en pin13 de la
base.
D
PIC S 40-28 18 pines
P
I pines 10f y 12f
C
Microcontroladores de 8
pines serie 12f,jumper
PIC 12 posicin 18pines, 10f y
12f.
D
Pin1 del micro en pin17 de
PIC S
P
40-28
pines
18 pines
10f y 12f
la base.
I
C
dsPIC de 40 y 28 pines,
jumper en posicin 28,40.
dsPIC 40 Pin1 del dsPIC en pin1 de la
base.
D
PIC S 40-28 18 pines
P pines 10f y 12f
I
C
dsPIC30f3014 y dsPIC30f4013
4 Jumpers (J1,J2,J3,J4) seleccion en posicin d3014/4013 (X,J1,J1,J3,J3)
(X,J2,J2,J4,J4)
8
PROGRAMACIN MEDIANTE LA CONEXIN ICSP.
Para conectar su micro o dsPIC revise en el datasheet, cuales son los pines
correspondientes a las funciones PGC, PGD, VPP o MLCR, VDD y VSS.
Luego conctelos a la conexin ICSP del SD7.
Despus de esto verifique la correcta conexin al programador y despus puede proceder
al borrado, programacin y verificacin del cdigo programado.
Ejemplos:
NOTA: En caso de que su microcontrolador o dsPIC deba ser alimentado con 3.3
V, puede obtenerlos colocando en serie 2 diodos comunes 1N400X o 1N4148 para
que el voltaje de alimentacin se reduzca a 3.5V aproximadamente. Siempre mida
el voltaje antes de conectar su micro.
dsPIC30f2010
dsPIC30f2010
11
Para la programacin de las memorias 24LC, 24AA o 24C solo se puede usar el
software PICkit2. Seleccinelas en la pestaa Device Family, luego EEPROMS
y luego 24LC, luego en la casilla Device seleccione el modelo correspondiente a
su memoria. Adems en el cuadro Configuration desactive todas las casillas Chip
Select disponibles, de lo contrario obtendr el mensaje I2C Bus Error. Luego de la
correcta conexin puede realizar las funciones de borrado y quemado de la memoria.
Conexin a 24LC64
Para la programacin de las memorias 93LC, 93AA o 93C use el software PICkit2.
Seleccinelas en la pestaa Device Family, luego EEPROMS y luego
93LCxA,C o 93LCxB,C dependiendo del modelo de su memoria.
Luego en la casilla Device seleccione el modelo correspondiente a su memoria.
Luego de la correcta conexin puede realizar las funciones de borrado y quemado de
la memoria.
Conexin a 93LC46B
12
Nota: El 95% de los problemas que reportan los clientes de este producto, se deben a
que los usuarios no configuran correctamente los bits de configuracin del
microcontrolador o dsPIC dentro del cdigo diseado. Queman el cdigo y el
programador dice que todo esta OK (programming successful), pero al conectarlo no
hace nada. La solucin se explica a continuacin, revise y siga los pasos que se dan en
esta respuesta, en caso de que este sea su problema.
Este es un problema muy comn entre las personas que no configuran los bits de
configuracin del micro.
Si le quemo bien el micro (aviso de que la programacin fue exitosa) es porque el
programador le esta quemando bien la memoria FLASH y EEPROM.
Lo que pasa es que el programador no se fija en si el cdigo que usted le ordena quemar
esta completo o esta bien, la nica funcin del programador es programar la
memoria que usted le indique.
Este problema se debe a que su cdigo tiene alguna falla, realice las siguientes pruebas:
a - Verifique los bits de configuracin del modelo del micro pues esa puede ser la razn
de que no inicie. Adems debe garantizar que los bits estn en el archivo .hex, para eso
debe usar directivas de configuracin del micro, ejemplo:
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
(debe dejar unos espacios en blanco antes del _CONFIG)
Una forma fcil de saber que directivas requiere un micro es ir a los archivos de
ejemplo que se encuentran en la ruta:
\Microchip\MPASM Suite\Template\Object
Esto es para el MPLAB 8
all se encuentran archivos .asm para cada micro, donde se ejemplifican las directivas y
la organizacin de la memoria.
Use este modelo y no tendr pierde.
Para los dsPIC30f, revise las directivas y ejemplo que se encuentran en los archivos .inc
de la ruta:
\Microchip\MPLAB ASM30 Suite\Support\dsPIC30F\inc
13
b - El oscilador puede no estar bien configurado en el micro.
Debe usar directivas de configuracin del micro, ejemplo (PIC16f84a):
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
Si esta usando cristal externo, deberia ser:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Ejemplo para dsPIC30f4011:
config __FOSC, CSW_FSCM_ON & EC_PLL16
config __FBORPOR, PBOR_ON & BORV_27 & PWRT_ON_64 &
MCLR_DIS
c - Coloque un filtraje adecuado a su fuente, condensador de 100uF en paralelo con la
fuente. Adems coloque un condensador de 0,1uF en paralelo con los pines de
alimentacin del micro, lo mas cercano posible.
d - Mejore la fuente, no usar adaptadores sin filtraje o conductores largos.
14
DEPURACIN.
Ventajas:
1.Funcionamiento del PIC o dsPIC en el mundo real, conectado con los perifricos
con que interacta (pantallas, interruptores, leds, integrados anlogos o digitales,
memorias, etc.).
2.Opcin de funcionamiento en tiempo real, paso a paso o por rutinas (velocidad
menor que en tiempo real).
3.Podemos colocar hasta 4 breakpoints, normales para PIC (detencin) o avanzados
para dsPIC (sobre registros y contadores), dentro del dispositivo.
4.Podemos analizar lo que ocurre internamente en el PIC o dsPIC, pudiendo ver y/o
cambiar registros y variables de la memoria interna, saltando a alguna parte
especifica del programa, guardando datos y cambiando rpidamente alguna parte del
cdigo todo desde el MPLAB.
MPLAB IDE
PC
USB
Programador
Conexin ICSP
Circuito
Micro
15
LEA LAS SIGUIENTES INDICACIONES ANTES DE USAR LA FUNCION DE
DEPURACIN EN CIRCUITO:
Revise en que tipo de circuito se encuentra su PIC o dsPIC y analice que tantos problemas
se podran generar en el y que tan peligrosos son. Ejemplos:
Circuito con solo leds e interruptores, fuente nica 5V: Muy baja
peligrosidad.
Circuito con pantallas, ttl (74LS), cmos a 5V, memorias: Baja
peligrosidad.
Circuitos anlogos con fuente diferente a 5V: Media peligrosidad.
Circuitos con relays, bobinas, elevadores: Alta peligrosidad.
Circuitos conectados a transformadores, AC mains (120VAC), manejo de
bombillos 120VAC, relays de alta corriente, circuitos de alta corriente o
alto voltaje, inversores, dimmers: Muy alta peligrosidad.
Circuitos conectados directamente a la pared AC mains (120VAC) sin
transformador ni ningn aislamiento elctrico u ptico: No se pueden
conectar al programador, a no ser que se le adicionen transformadores u
optoacoladores.
16
CONEXIONES RECOMENDADAS PARA USAR LA FUNCION DE
DEPURACIN EN CIRCUITO:
Trate de que su dispositivo no use dentro del cdigo los pines de comunicacin con el
SD7 (PGD y PGC) pues esto puede generar conflictos con el software y su depuracin,
ya que en todo momento durante la depuracin se estn usando para la comunicacin
con el PC.
Circuitos de proteccin:
1 2
3 4
17
1. Para muy baja y baja peligrosidad. CIRCUITO 1
En caso de que su circuito posea una fuente de voltaje externa de 12 V o ms, lo ideal es
que realice una regulacin de la misma para obtener los 5V externamente y alimentar
todo el circuito, as la fuente de 5V del SD7 no se utilizara y se protegera = Circuito 3.
Tambin puede alimentar nicamente el PIC o dsPIC con la fuente de 5V del SD7
directamente y el resto del circuito con la fuente externa.
18
DEPURACIN:
Para utilizar esta funcin debemos conectar el micro o dsPIC mediante la Conexin
ICSP, como se muestra en la seccin de programacin y en el capitulo 3 del pdf
PICkit2 User Guide.
Para ello revise en el datasheet de su micro o dsPIC, cuales son los pines
correspondientes a las funciones PGC, PGD, VPP o MLCR, VDD y VSS.
Para el caso de dispositivos con pines de alimentacin adicional como AVdd y AVss,
estos deben conectarse a los voltajes correspondientes de 5V y 0V. Si se dejan
desconectados se generaran errores al tratar de programar el dispositivo.
Adems los dsPIC y PIC18 y algunos nuevos micros PIC16, exigen una resistencia de
pulldown en la comunicacin para poder soportar la depuracin mediante el MPLAB,
simplemente conecte una resistencia de 4,7 Kentre el pin de PGD y tierra, y otra entre
el pin de PGC y tierra (mirar diagrama).
Ejemplos de conexin:
19
Conexin a dsPIC de 28 pines,
dsPIC30f4012.
Conexin adicional pines AVdd y
AVss a Vdd y Vss (5V y 0V).
Resistencias adicionales de
pulldown de 4.7K a los pines de
dsPIC30f4012 PGC y PGD.
El depurador tiene algunas limitaciones que deben ser tenidas en cuenta, por ejemplo la
velocidad de depuracin depende de los registros que estemos viendo y de las funciones
utilizadas.
Revise el archivo PICkit2 USER GUIDE, capitulo 5 para entender mejor los
problemas y limitaciones mas comunes del SD7 en el proceso de depuracin.
20
HERRAMIENTA UART.
Esta funcin nos permite usar el PIC SD7 como una interfaz serial UART real para
comunicarnos con un PIC, dsPIC o cualquier otro dispositivo que necesite una
comunicacin serial fsica. La interfaz soporta comunicacin serial asncrona full
duplex desde 150 hasta 38400 baudios. Puede enviar archivos, guardar datos en
tiempo real, muestra lo recibido y se puede conectar directamente a un dispositivo
lgico, o a un puerto serial mediante un conversor como el max232.
Ejemplo de conexin
a un PIC16f873a:
21
HERRAMIENTA LOGICA.
Esta funcin nos permite usar los pines de la conexin ICSP para la estimulacin y
prueba de seales digitales en el circuito de funcionamiento, y tambin como un
analizador lgico digital de 3 canales.
PRECAUCION:
Tenga mucho cuidado con las seales que inyecta al SD7, pues si son de voltajes
mayores a 5.5V podra daar el SD7.
til para generar hasta 4 seales y/o monitorear el estado actual de hasta 3 seales
digitales en tiempo real.
Puede simular interruptores, leds y cualquier salida lgica sin necesidad de
cableados complejos.
22
Ejemplo: Conectamos un PiC12fxxx al PIC PD5, pasamos a revisar su
funcionamiento habilitando 2 entradas y 2 salidas.
En el software PICkit2 cambiamos el valor de las entradas pin5 y pin6 a 1 y 0.
Ahora observamos que el valor de las salidas del micro pin1 y pin4 son 0 y 1.
MODO Analyzer:
23
Ejemplo: Conectamos un LM555 al PIC PD5, pasamos a revisar el funcionamiento
de sus tres salidas. En el osciloscopio lgico observamos que el canal1 se encuentra
en 1 y el canal3 se encuentra en 0. El canal 2 tiene un tren de pulsos, ajustamos los
cursores y vemos que tiene una duracin de 80ms (12,5Hz).
Todo esto sin necesidad de osciloscopio, multmetro o frecuencmetro.
24
MODELOS PROGRAMABLES Y DEPURABLES.
25
ACTUALIZACIONES.
Para actualizar el software PICkit2 debe entrar al sitio web de Microchip y baja la
ultima versin del software PICkit2.
Para actualizar el MPLAB debe bajarlo del sitio web de Microchip, solo se
recomienda usar las versiones estables, terminadas en 0 (ejemplo: 8.10, 8.20) y no
las versiones prueba (ejemplo: 8.14, 8.05) pues pueden contener ms errores y
problemas.
26
LOCALIZACIN Y RESOLUCIN DE PROBLEMAS.
www.microprogramadores.com
soporte@microprogramadores.com
En caso de que no pueda obtener contacto por problemas con la pagina o con este
correo electrnico, escriba a dbb971@yahoo.com
27
PREGUNTAS Y RESPUESTAS FRECUENTES.
Nota: El 95% de los problemas que reportan los clientes de este producto, se deben
a que los usuarios no configuran correctamente los bits de configuracin del
microcontrolador o dsPIC dentro del cdigo diseado. Queman el cdigo y el
programador dice que todo esta OK (programming successful), pero al conectarlo no
hace nada. La solucin se explica en la respuesta 1, revise y siga los pasos que se
dan en esta respuesta, en caso de que este sea su problema.
Este es un problema muy comn entre las personas que no configuran los bits de
configuracin del micro.
Si le quemo bien el micro (aviso de que la programacin fue exitosa) es porque el
programador le esta quemando bien la memoria FLASH y EEPROM.
Lo que pasa es que el programador no se fija en si el cdigo que usted le ordena
quemar esta completo o esta bien, la nica funcin del programador es
programar la memoria que usted le indique.
Este problema se debe a que su cdigo tiene alguna falla, realice las siguientes
pruebas:
a - Verifique los bits de configuracin del modelo del micro pues esa puede ser la
razn de que no inicie. Adems debe garantizar que los bits estn en el archivo .hex,
para eso debe usar directivas de configuracin del micro, ejemplo:
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
(debe dejar unos espacios en blanco antes del _CONFIG)
Una forma fcil de saber que directivas requiere un micro es ir a los archivos de
ejemplo que se encuentran en la ruta:
\Microchip\MPASM Suite\Template\Object
Esto es para el MPLAB 8
all se encuentran archivos .asm para cada micro, donde se ejemplifican las
directivas y la organizacin de la memoria.
Use este modelo y no tendr pierde.
Para los dsPIC30f, revise las directivas y ejemplo que se encuentran en los
archivos .inc de la ruta:
\Microchip\MPLAB ASM30 Suite\Support\dsPIC30F\inc
28
b - El oscilador puede no estar bien configurado en el micro.
Debe usar directivas de configuracin del micro, ejemplo (PIC16f84a):
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
Si esta usando cristal externo, deberia ser:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Ejemplo para dsPIC30f4011:
config __FOSC, CSW_FSCM_ON & EC_PLL16
config __FBORPOR, PBOR_ON & BORV_27 & PWRT_ON_64 &
MCLR_DIS
c - Coloque un filtraje adecuado a su fuente, condensador de 100uF en paralelo con
la fuente. Adems coloque un condensador de 0,1uF en paralelo con los pines de
alimentacin del micro, lo mas cercano posible.
d - Mejore la fuente, no usar adaptadores sin filtraje o conductores largos.
Hay dos formas de asegurar que los bits de configuracin queden en el archivo .hex:
a Incluyendo las directivas de configuracin del micro, ejemplo PIC16f84a:
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
b - Haciendo la exportacin del archivo en File, export y asegurndose de seleccionar
que se exporten los bits de configuracin.
29
Si no enciende el led, verifique que sus puertos estn bien instalados y habilitados.
Si no lo reconoce el computador cuando lo conecta debe ser que tiene por seguridad
alguna funcin deshabilitada, revise el manejo de puertos USB de su PC.
Si se lo reconoce use el software PICKit2 directamente y pruebe los resultados.
El MPLAB, pues este es un software diseado por Microchip y es 100% compatible
con XP y VISTA.
El 16f84A no tiene soporte directo con el MPLAB, as que debe usar el PICKit2
para quemar este micro y siga las siguientes recomendaciones de la pregunta 1.
30
Pero al programar el micro tal como esta el cdigo con el MPLAB o PICkit2, el
micro queda sin estos bits de configuracin programados y no funciona. Por lo que el
proceso para arreglar este error es el que se indica en las respuestas 1 y 2 de este
documento.
31
9. De un momento a otro el programador se dao.
Lo conecto al puerto USB de mi computador y el led verde comienza a titilar y
al abrir el software PICkit2 el programa dice:
El dao se debe a que de alguna forma el Sistema Operativo del sistema de desarrollo
se corrompi. Esto se debi a algn problema en el momento de la conexin con el
PC.
Para solucionarlo realice el siguiente proceso:
Cuando obtenga el mensaje anterior, en el software PICkit2, vaya a la pestaa
Tools y seleccione la opcin Download PICkit 2 Operating System, luego
navegue en su computador a la direccin donde tiene instalado el PICkit2 (ejemplo:
C:\Archivos de programa\Microchip\PICkit 2 v2) y abra el archivo
PK2V0XXXXX.hex (ejemplo: PK2V023200.hex).
El sistema de desarrollo renovara el Sistema Operativo y podr usarlo de nuevo sin
problemas.
32
10. Repentinamente el programador dejo de funcionar.
b. Hace unos meses le compre un quemador de pic usb, funcionaba bien con el
programa pickit 2, pero un dia lo conecte, alumbro el bombillo rojo pero cuando
abria el pickit 2 no chequeaba comunicacion con el quemador, decia:
Pickit 2 not found. Check USB connections and use tools- check
communication to retry.
El dao se debe a que de alguna forma el Sistema Operativo del sistema de desarrollo
se corrompi al igual que en la pregunta anterior, pero en esta ocasin el error fue en
un sector de memoria crucial para el funcionamiento y conexin al PC. Esto se debi
a algn problema en el momento de la conexin con el PC.
La solucion es la siguiente:
33
1. Necesita un cable comun de protoboard.
34