7 votos

ICD3 + PIC + MPLAB: Dispositivo de Destino 0x0 ID no coincide espera ID de Dispositivo

Hemos diseñado una tabla con un Microchip PIC24HJ256GP610A . Hemos utilizado con éxito un ICD3 para programar y depurar el PIC en el Explorador de 16 junta de desarrollo. Creo que hemos seguido las pautas de diseño se encuentra en el Depurador de la Guía del Usuario:

enter image description here


Editar: Utilizamos un 4.6 k resistencia pull-up entre MCLR y VDD.

Nuestro PCEG/PGED de la interfaz son los pines 26/27 en la foto. Estas líneas están vinculados exclusivamente para el chip y no se utiliza para nada más.


Tenemos el poder de nuestra junta directiva externamente y el PIC está conectado a este circuito de fuente de alimentación (3,3 Voltios, suficiente potencia de esta fuente).

Editar: Utilizamos algunos condensadores de desacoplamiento en nuestras guías de suministro (C2, C8, C9 y C16, C18):

enter image description hereenter image description here

Sin embargo, cuando tratamos de conectar y cargar nuestro programa para el PIC, se obtiene el siguiente mensaje en el MPLAB X's de la ventana de salida:

Target detected
Target Device ID (0x0) does not match expected Device ID (0x77b0000).

Este es un extracto de nuestra junta directiva del diseño:

enter image description here

Alguien puede ver el error o explicar lo que podría ir mal?

3voto

jason saldo Puntos 5036

Editado por la actualización de la información proporcionada.

0x0 generalmente significa que no hay comunicación. Ya sea un mal dispositivo, malas conexiones en el ICSP o problemas de alimentación. Voy a confiar en que su 3V3 rail 'obras' por ahora.

Su _MCLR de la resistencia y el uso de puerto ICSP 1 no deberían suponer ningún problema con el depurador.

¿Tiene suficiente disociación, por el PIC24 hoja de datos? Condensadores de desacoplamiento debe ser instalado como físicamente cerca de los PIC24 como el diseño y configuración de pines del permiso:

enter image description here

Se puede ver que para cada \ $V_{DD}\$ \ $V_{SS}\$ par, usted necesita un 100nF cerámica tapa, y un 10 microfaradios tapa de \$V_{CAP}\$. Lo que se muestra en sus diagramas para el 3V3 ferrocarril no parece ser suficiente, y lo que es más importante, no tiene nada en \$V_{CAP}\$ (que es muy malo). Por la página 20 de la hoja de datos:

Una baja ESR (< 5 Ohmios) condensador es necesario en el VCAP pin, el cual se utiliza para estabilizar el voltaje regulador de voltaje de salida. El VCAP pin no debe estar conectado a VDD, y debe tener un condensador entre 4.7 µF y 10 µF, 16V conectado a tierra. El tipo puede ser de cerámica o de tántalo. Consulte la Sección 24.0 "Características Eléctricas" para obtener información.

Arreglar su desvinculación y háganos saber lo que sucede.

3voto

itsadok Puntos 12971

Estoy de acuerdo con todo @Madmanguruman dijo. Aquí hay algunas cosas que me gustaría comprobar.

1) ¿qué tan seguro está usted de que el PIC24 es soldado correctamente? Esto incluye todos los pines de decisiones respecto, ninguno en cortocircuito, a la derecha de la orientación, y así sucesivamente. Verifique también que la programación de encabezado no invertida (6-1, en lugar de 1-6).

2) Puede que la sonda PCEG/PGED con un alcance para ver si ellos alternar durante la programación? Si es así, puede eliminar su programador, como una fuente de error. Si no cambian, también podría todavía ser una mala conexión en el tablero tirando de ellos hacia abajo.

1voto

AndroidUser Puntos 26

Poner un \$10\mu F\$ tapa en el \ $V_{reg}\$ (pin 85). El PIC24 núcleo corre a 1.8 V, y es regulado internamente. Que requiere tapa para la parte a de la función. Lea la hoja de datos.

0voto

Ed Carr Puntos 1

Yo tenía el mismo tipo de mensaje de error que resultó ser de software y no de hardware como el mensaje de error implica. Me había compilado el código que no dio errores y carga en el destino correctamente. Cuando he cambiado la velocidad en baudios en un #define cálculo para un poco-bang de la interfaz de serie de 4800bps a 1200bprs sin error del compilador y el intento de cargar el código en el objetivo a través de un ICD3, un mensaje de error fue: "Destino ID de Dispositivo (0x2060) no coincide espera ID de Dispositivo (0x2080)." El diseño de software utiliza los 8 bits sin signo temporizador de registro TMR0 para el cronometraje de las comunicaciones serie de la tasa de bits. Resulta que al cambiar la velocidad en baudios, el cálculo genera un valor que excede de TMR0, dando como resultado la mensaje de error en tiempo de carga. Una vez que ajusta el prescaler para el TMR0, los cálculos de tamaño correctamente el valor para el temporizador para acomodar el rango de los 8-bit de temporizador de registro y el Dispositivo de Destino ID de mensaje de error descontinuado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X