Muy buenas a todos,
Tengo un problema con el que llevos varios días y me tiene loco.
Tengo un circuito en el que el micro principal es un dspic33fj64gp802 en formato SOIC. El esquema del circuito es el indicado en la imagen, el cual en protoboard me funciona de maravilla (utilizo ICD3 como programador), sin embargo en el PCB final, detecta el micro pero después falla la programación.
pego la salida de mplabx. Esta es la salida en la protoboard:
*****************************************************
Connecting to MPLAB ICD 3...
Firmware Suite Version.....01.28.40
Firmware type..............dsPIC33F/24F/24H
Target detected
Device ID Revision = 3003
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x5ff
configuration memory
Programming...
Programming/Verify complete
y esta es la salida en el PCB con el chip en SMD
*****************************************************
Connecting to MPLAB ICD 3...
Firmware Suite Version.....01.28.40
Firmware type..............dsPIC33F/24F/24H
Target detected
Device ID Revision = 3003
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x5ff
configuration memory
Programming...
Failed to program device
*****************************************************
Este mismo esquema para el ICSP lo he utilizado con éxito en una placa que utiliza el 18f2480, pero con esta no hay forma.
He aplicado estas posibles soluciones (todas sin éxito):
- En el datasheet del dspic33fj64gp802 en la sección 2.5 ICSP Pins, dice que si el módulo de ICSP va a esta sometido a eventos ESD (descargas electrostáticas) se añadan en as lineas PGC y PGD una resistencia en serie de no más de 100ohm. He problado 10, 22 y 47ohm todas sin éxito (en la protoboard funcionan todas)
- Soldar cables directamente los pines del chip necesarios e intentar programarlo así (ver foto). También ha fallado.
Como os digo ya no se que hacer, ya que estoy en la fase final del proyecto y no puedo volcar el firmware para comprobar que todo está bien y poder entregarlo al cliente. ¿Podría ser que el conector ICSP está muy lejos del integrado? Si fuera esto debería solucionarse con la soldadura de los cables directos a los pines, ¿no es así?
¿Alguna sugerencia?
Muchísimas gracias a todos.
Un saludo.