¿Cuál es el esquema para compartir un cristal con dos micros?

20

¿Cómo comparto un solo cristal (no un módulo oscilador completo) entre dos micros? ¿Está bien conectar todo normalmente para el primer micro y también conectar directamente su XO al XI del segundo microcontrolador? Espero colocar los micros muy juntos en el tablero.

joeforker
fuente

Respuestas:

17

Lo que hice cuando necesitaba compartir un reloj entre micros es hacer que el cristal accione el oscilador en un micro y luego use el pin de salida del oscilador (típicamente CLKOUT u OSCOUT) de ese micro para manejar el segundo micro.

Esperaría problemas al tratar de manejar dos osciladores del mismo cristal, si no fuera por otra razón que la capacitancia de las largas trazas de PCB requeridas para ir entre los dos procesadores causaría un mal funcionamiento.

esquemático

simular este circuito : esquema creado con CircuitLab

uɐɪ
fuente
1
Algunos microcontroladores tienen un pin de salida de reloj separado que no está conectado al cristal.
joeforker
2
Los procesadores MSP430 pueden enrutar cualquiera de los relojes internos (ACLK, SMCLK o MCLK) fuera de sus pines de E / S. Utilizo la salida ACLK (32768Hz) para suministrar el reloj de respaldo RTC a un dispositivo GPS para las veces que su alimentación principal está apagada.
uɐɪ
7

Eso no es exactamente lo que quieres. Cuando utiliza un cristal para formar un oscilador, está utilizando un inversor interno del microcontrolador para impulsar el cristal. Si conecta ambos micros al mismo cristal, lucharán y no funcionarán.

Por lo tanto, querrá elegir uno de los dos micros para que sirva como controlador de cristal (configure como se muestra en la sección 6.2.6 de la hoja de datos) y el otro micro para usar una entrada de reloj externa (6.2.1 de la hoja de datos). Luego cambie su conexión esquemática de esta manera:

esquemático

simular este circuito : esquema creado con CircuitLab

Alternativamente, si se desea simetría, puede usar un oscilador externo en lugar de un cristal. Entonces ambos podrían funcionar en modo de reloj externo.

Houston Fortney
fuente
Existe una clara necesidad de ajustar el condensador superior en esta configuración, si se desean los beneficios completos de la previsibilidad de un cristal.
Asmyldof
@Asmyldof Definitivamente necesito la precisión de sincronización del cristal. ¿Quizás se necesita la solución simétrica? ¿Cómo se conecta un oscilador externo?
GisMofx
1
Entonces, si C2 = 10pF (suponiendo una carga de 10pF debido a la entrada CLKI) y mantener C1 = 22pF, ¿verdad?
MarkU
1
No, simplemente aparecerá como si estuviera usando un reloj externo.
Houston Fortney
1
@GisMofx Lo marqué pidiendo que se combinara la respuesta, para que se traslade a la otra pregunta, para que pueda conservarse.
Passerby
3

El problema con ese enfoque es que la conexión a la segunda entrada del oscilador afectará la capacitancia en ese pin y alterará la frecuencia levemente, además de reducir la unidad de cristal. Sin embargo, podría no importar, y es muy poco probable que evite la oscilación. Cuando necesité hacer eso para un producto, utilicé un módulo oscilador de cristal para ambas MCU.

Leon Heller
fuente
2
Un poco de capacitancia adicional en la línea de salida del oscilador no es un gran problema. Es principalmente la capacitancia en el lado de salida del cristal, que es la línea de entrada del oscilador, la que forma la carga en el cristal y debe ser la correcta para obtener la frecuencia adecuada dentro del rango. Si necesita distribuir ampliamente el reloj, coloque una puerta de búfer CMOS cerca del micro con el cristal.
Olin Lathrop
También es una gran idea para EMI evitar enrutar señales de reloj a través de placas.
joeforker
3

Puede construir un oscilador usando el chip inversor de cheapo (0.1 $) o un generador de reloj especializado (un poco más caro), y alimentar ese reloj a ambos uC.

Simplemente la conexión de cristal a ambos no funcionaría (de manera confiable).

BarsMonster
fuente
2

Si se parece a los PIC que he usado, tiene un XTALout y XTALin con el XTAL real entre ellos y las tapas (tal vez alrededor de 22pf) a tierra. Intente conectar el XTALout de uno al XTALin del otro.

NickHalden
fuente
Se recomienda usar un condensador de serie pequeña para conducir el segundo oscilador desde la salida del primero.
stevenvh
1

Haga un oscilador con su cristal y un inversor como el sugerido por BarsMonster, y aliméntelo a la entrada de un IC de búfer de distribución de distribución . Una salida del buffer del fanout va a la entrada del reloj de cada MCU.

Realmente no puedo recomendar una parte específica sin saber qué micros está utilizando, pero querría comenzar con estos filtros:

  • Tipo: Buffer Fanout (Distribución)
  • Número de circuitos: 1
  • Ratio - Entrada: Salida: 1: 2
Joe Baker
fuente
1
Una lista de 3000 partes no es realmente útil. Seleccione uno de ellos y explique por qué es una buena opción.
stevenvh
Dudo en poner una parte específica directamente en la respuesta sin saber qué niveles lógicos, etc., está usando. Pondré información de filtro de búsqueda para ayudar a reducirla. Por lo que vale, actualmente estoy usando un oscilador con un TI CDCLVC1102 . Parece que podría usar un CDC3RL02 con un TXCO y sin inversor también.
Joe Baker