¿Cómo probar un resonador de cristal a bordo?

Tengo 2 resonadores de cristal de cuarzo en mi placa de circuito impreso: 32,768 kHz y 20 MHz. Están conectados a un transceptor IC Freescale MC12311, que tiene un microcontrolador HCS08 integrado. Quiero probar si estos cristales funcionan correctamente o no.

Herramientas disponibles : osciloscopio, frecuencímetro (contador digital), multímetro digital.

¿Cómo debo usar estas herramientas para probar los cristales en el tablero ?

  • Nota : probablemente se deba considerar el efecto de carga capacitiva de las sondas . De lo contrario, la medición no sería precisa o, lo que es peor, los cristales no funcionarían en absoluto.

Edit1 : utilicé tanto el osciloscopio como el frecuencímetro (con sondas x10), pero desafortunadamente no había nada monitoreado.

¿Qué tipo de sondas estás usando? Se necesita ancho de banda de sondas e instrumentos. Puede consultar la nota de la aplicación Atmel AVR4100 para obtener algunos consejos sobre el cristal de 32 kHz.
Gracias David por tu comentario. (1) En realidad, no tengo ninguna información sobre el BW de las sondas; son sondas de utilidad estándar que vienen con los osciloscopios y multímetros, de forma predeterminada. (2) Estudié la nota de aplicación mencionada. Recomienda programar el micro, para que podamos monitorear la actividad del cristal en un pin de E/S. Sin embargo, el problema es que no puedo programar el micro en absoluto. ¡¡Es por eso que quiero probar el cristal!!
Probablemente no romperá nada si coloca la sonda del osciloscopio en la salida del resonador. ¿Cuál es la marca y el modelo del visor?
Es un osciloscopio analógico de Tektronix . Por cierto, la carga capacitiva de la sonda del osciloscopio afectaría la medición. De todos modos, ¿no es el frecuencímetro una mejor opción?
Estoy bastante seguro de que debería poder programar la MCU sin relojes externos, por lo que es un problema separado de si los cristales están bien o no. Después del reinicio del hardware, la MCU se inicia en su oscilador interno.
Gracias Dave por tu útil comentario. En realidad, publiqué el problema principal aquí , que es un error de ciclo de encendido al intentar programar/depurar/borrar. Le agradecería que dejara algunos comentarios/respuestas sobre ese tema también. Gracias por adelantado.
Solo usaría el osciloscopio. Si hubiera algún efecto de las sondas, simplemente causaría que la frecuencia difiriera ligeramente. Pero todavía verías una señal de reloj. ¡Asegúrese de hacer referencia a la conexión a tierra de su pcb, no solo al otro lado del cristal!

Respuestas (4)

Por lo que veo, no se aceptó ninguna respuesta. Permítanme ofrecer otra respuesta.

La mayoría de los circuitos integrados modernos utilizan el llamado oscilador Pierce para generar relojes estables utilizando cristales. Aquí está la configuración del circuito principal:

ingrese la descripción de la imagen aquí

Como se puede ver, el circuito no es simétrico: el lado derecho es la salida de algún controlador (generalmente designado como XO), y el lado izquierdo es la entrada de un amplificador inversor (generalmente designado como XI). Por lo tanto, es relativamente seguro sondear el extremo XO (salida), siempre que la sonda tenga una impedancia relativamente alta. Una sonda pasiva habitual de 1:10 con una impedancia de entrada de 1 M debería hacer el trabajo. En la práctica, el controlador de salida en el amplificador de circuito se debilita intencionalmente, por lo general, no más de 1 mA de capacidad de carga, para evitar que Xtal se sobrecargue, pero 1 mA debería ser lo suficientemente bueno para controlar una sonda de alcance de 1 M.

La capacitancia de la punta de la sonda puede cambiar la frecuencia de oscilación entre 20 y 50 ppm, ya que cambiará el ajuste del circuito (carga Xtal, C1 en serie con C2). Sin embargo, la carga de la sonda en XO no debe interrumpir las oscilaciones, a menos que todo el circuito sea demasiado marginal y no cumpla con los criterios de estabilidad (la impedancia negativa del amplificador debe ser de 3 a 5 veces mayor que Xtal ESR). Si la sonda hace esto, considere la prueba Xtal como fallida.

Uno nunca debe intentar sondear la entrada XI, tal vez solo con una sonda de 100 MOhm, y solo por curiosidad. La razón no está en la capacitancia de la punta (2-8-12pF o lo que sea), sino en infligir un cambio de CC en el pin XI debido a la impedancia finita de la sonda. El oscilador Pierce es un circuito no lineal muy delicado y tiene un componente de retroalimentación de CC muy importante R1, que ajusta de manera efectiva el nivel de CC de entrada al punto de máxima amplificación, generalmente a mitad de camino de tierra a Vcc. El componente R1 suele ser de 1 MOhm y superior, y las oscilaciones se centran en el punto de CC autoseleccionado. Conectar incluso una sonda de 10 MOhm desplaza este punto hacia abajo, la amplificación cae y las oscilaciones mueren.

Y, por supuesto, la mejor manera de probar las oscilaciones es no tocarlo con sondas, sino tener un búfer interno con salida a algún otro pin de prueba GPIO.

Tuve un problema de depuración similar una vez con mis controladores Atmel ATMEGA328P, los resonadores cerámicos de 8Mhz aparentemente no funcionaban. Tenía un osciloscopio barato Rigol de doble canal, y había examinado una placa de trabajo que hice anteriormente y la buena señal de 8Mhz se veía fácilmente, sin problemas debido a la carga de las sondas. No debe preocuparse por el efecto de la sonda en el cristal.

El principal problema que encontré fue que mi controlador, que estaba destinado a controlar el cristal, no tenía los fusibles configurados correctamente para usar el cristal externo. Una vez que quemé los fusibles para seleccionar el cristal externo, ¡los resonadores dieron señales de vida!

Por lo tanto, en realidad es un buen punto asegurarse de que su microcontrolador que está conectado al cristal se haya configurado para usar el cristal, de lo contrario, no hay nada para impulsar la energía para que oscile. Una vez que se haya asegurado de que ese sea el caso, puede comenzar a ver si se trata de PCB u otros problemas de seguimiento, problemas de conexión a tierra, pines incorrectos, etc.

Gracias Kyran por tu respuesta. Estoy usando Codewarrior 10.4 como IDE. ¿Sabe cómo configurar los bits de fusible en este IDE?
Lo siento @ Omid1989, no estoy familiarizado con ese IDE. Realmente solo he usado AVRdude y Arduino, y Atmel Studio para pequeños microcontroladores, y Code Composer Studio para un ARM A8. Puede tener una utilidad separada para leer y luego escribir los fusibles en pestañas/áreas similares a los chips de destino de programación/parpadeo. Mire a su alrededor en esas opciones para la configuración de fusibles. Las hojas de datos también pueden indicar cuáles son las opciones de fusible/registro para seleccionar entradas de cristal externas.
Secundo esto. Utilicé una sonda barata 10x, en una salida de cristal barata de 13.598 mhz, con un circuito tipo oscilador de perforación IC barato y todo funcionó bien. Acabo de probar el cristal y estaba oscilando a 13,5 MHz, que es tan rápido como mi osciloscopio calcula la frecuencia.

Los componentes externos hacen que el oscilador parezca simétrico, pero hay un amplificador en el chip que es todo lo contrario. El pin del oscilador que está en el lado de salida tendrá una impedancia más baja y colocar la sonda del osciloscopio allí no lo afectará tanto como sondear el pin de entrada.

Si está oscilando, la salida tendrá una amplitud mayor que la entrada; también puede no ser una onda sinusoidal muy buena. El lado de entrada será más bajo y debería ser una onda sinusoidal (habiendo sido filtrada por el cristal).

Si no está oscilando, la entrada será más ruidosa y debería ser algo así como la mitad del voltaje de suministro. El pin de salida se verá más limpio y puede estar en VDD o tierra. Algo de esto variará con el diseño del chip (y la configuración).

Por cierto, no dijiste si querías medir la frecuencia con precisión o simplemente ver si está oscilando.
¡Quiero ver si está oscilando o no! Por cierto, ¿qué quieres decir con entrada y salida aquí?
algunos cristales tienen un pin Xin y Xout, con un capacitor de carga en cada uno a tierra. La señal será ligeramente diferente, pero a efectos prácticos no realmente. El controlador dentro de un microcontrolador u otro dispositivo que utiliza un cristal o resonador es básicamente un circuito oscilador (con amplificadores operacionales, etc.). Es por eso que realmente debe activar la entrada de cristal externa para que el micro encienda estos periféricos.
Creo que KyranF quiso decir "algunos osciladores de cristal", ya que el cristal en sí es simétrico. Estos pines están en el microprocesador. Incluso si los pines no están etiquetados como Xin y Xout (u OscIn y OscOut), es muy probable que actúen como si lo estuvieran.
Entonces, si mido una frecuencia ligeramente más alta en la terminal XO, ¿debería confiar en esa medición sobre la frecuencia más "correcta" en la terminal XI?
En realidad no importa. El XO estaba más cerca de lo que debería ser, y el almacenamiento en búfer del reloj de un GPIO se midió aún más cerca del nominal.

Si tiene un receptor de comunicaciones sensible, como los que se usan en la radioafición, conectando un cable entre la entrada de la antena del receptor y el otro extremo a una pulgada del circuito del oscilador, sin siquiera tocar el circuito, sintonizando el receptor alrededor de la frecuencia del cristal, deberías escuchar un latido. Y, punto en la frecuencia exacta.