He diseñado un PCB basado en el microcontrolador PIC18F45K22. Quiero usar un cristal externo (cristal de 4Mhz con dos capacitores de 22pF). Puedo programar con éxito el código pero el PIC no se ejecuta. Cuando se cambia el modo de oscilador en los ajustes de configuración para usar el reloj interno, funciona bien.
El código que estoy tratando de probar es un simple código LED parpadeante.
tenga en cuenta que cuando el microcontrolador no se ejecutó, no pude ingresar al modo de depuración.
He intentado varios valores de mayúsculas, pero eso no ayudó. Noté que la mala soldadura en realidad agregó alguna capacitancia parásita entre los pines OSC1 / OSC2 y la tierra (medida usando un medidor RLC), así que intenté reducir el valor de los capacitores a 15pF.
He probado varios cristal (reemplazé el 4MHz, luego probé un cristal de 16MHz) pero eso no ayudó. También reemplacé el microcontrolador pero nada cambió.
He intentado hacer exactamente la misma conexión en una placa de pan y funcionó normalmente usando el modo de cristal externo. Solo rellené MCLR, VSS, VDD, PGD, PGC y un LED con una resistencia en serie.
He rediseñado el diseño de la placa, pensando que es un problema de diseño con el cristal, pero eso no ayudó.
He buscado un problema similar pero no puedo encontrar ninguna respuesta útil
número de pieza del cristal: ATS040B-E hoja de datos de crystal: enlace
Acabo de lograr que esta placa funcione ... El plano de tierra que conecta los condensadores del cristal está conectado a GND en un punto según lo recomendado por muchas notas de aplicación ... pero hay un condensador de 100 nF entre este plano y + 5V para el desacoplamiento ... esto fue un error del diseñador de diseño. Quité este condensador y funcionó. Hay otro entre GND y + 5V cerca de los pines del PIC como debería ser.
todavía no puedo entender por qué resolvió esto el problema ...
Hice una prueba antes para comprobar si hay algún voltaje de CA entre este plano y el GND del PIC ... y el voltaje de CA entre este plano y + 5V en el microcontrolador. Eran como 5 mV, así que supuse que estaba bien ...
Ahora, la pregunta es ¿cómo diablos esta tapa de 100 nF desordenó el circuito del oscilador para evitar que oscile ??