¿Cómo pueden dos dispositivos separados enviar datos de reloj a un IC de registro de desplazamiento?

Estoy usando un microcontrolador para registrar un byte en un registro de desplazamiento 74HC595 y bloquearlo. Luego envía una señal al otro dispositivo que envía 8 pulsos de reloj cuando está listo para recibir el byte.

Entonces, mi pregunta es: ¿pueden los dos dispositivos compartir el pin del reloj de registro de un turno? ¿Deberían estar aislados entre sí?

Una forma es conectar ambas señales de reloj a través de una puerta OR.
@BrianDrummond ¿No es una puerta OR solo dos diodos que forman una unión?
Dos diodos y una resistencia desplegable es una forma de hacer una puerta OR, sí. No es la mejor manera para señales rápidas, pero está bien para un microcontrolador.
¿Sería adecuado para señales con un período de 80 μs? ¿Qué es diferente de un 4071 AND gate IC y el método que describiste anteriormente?
(a) sí, (b) cualquier texto básico sobre lógica booleana explicará la diferencia entre AND y OR.
Lo siento, quise decir un 4071 OR gate IC

Respuestas (1)

Si ambos microcontroladores admiten la configuración de los pines que está utilizando como la señal del reloj en serie en un estado/triestado de alta impedancia (si está utilizando un pin GPIO normal, la mayoría de los micros admitirían esto), entonces puede lograr lo que ha descrito sin ningún adicional. componentes o aislar los pines del reloj entre sí. Lo que hará es simplemente cablear directamente los dos pines del microrreloj y la entrada del reloj del registro de desplazamiento juntos, luego configurar el pin del reloj en serie de cada micro a alta impedancia siempre que no esté generando activamente una señal de reloj, dejando el otro micro libre para conducir el línea de reloj Hay una pregunta anterior que cubre lo que significa configurar un pin en alta impedancia/tristate un pin .

Como ha seguido preguntando acerca de 'aislar' las líneas del reloj entre sí, desea probar los pines para que no haya 'contención' cuando un micro está tratando de conducir la línea de señal del reloj en una dirección (por ejemplo, . alto) y el otro micro está tratando de conducirlo en otra dirección (por ejemplo, bajo), lo que causaría que los dos micros generaran/hundieran mucha corriente, calentaran las cosas, potencialmente dejarían escapar el humo mágico y, en general, causarían problemas. . Como resultado, debe tener cuidado de que nunca haya ningún momento en el que ambos micros estén activando (es decir, sin alta impedancia) la línea del reloj al mismo tiempo, especialmente durante el tiempo de traspaso cuando está cambiando qué micro está activando el reloj. línea de reloj

Probablemente también desee agregar una resistencia pull up en la línea de reloj compartida para evitar que la línea de reloj oscile libremente debido a cualquier ruido que capte en momentos en que ninguno de los micros está impulsando activamente la línea (es decir, ambos tienen sus relojes). configurado en alta impedancia; esto probablemente sucederá, al menos por un corto tiempo, si presta atención a la oración anterior...). Es posible que pueda salirse con la suya sin la resistencia pull-up usando los pull-ups internos en los micros, o simplemente tenga suerte y no capte ninguna señal de reloj 'falsa', pero sería más seguro agregar el pull-up externo.