registro de desplazamiento de 8 bits 74LS164 no funciona

1

Estoy intentando usar un registro de desplazamiento de serie a paralelo SN74LS164 de 8 bits con mi Raspberry Pi, pero tengo algunos problemas.

Me conecté:

  • VCC, A, B y CLR a + 5V
  • GND a 0V
  • CLK para Raspberry Pi GPIO

simular este circuito : esquema creado usando CircuitLab

Cuando enciendo el circuito, todos los LED están apagados. Luego envío un pulso de reloj desde la Raspberry Pi (suba durante 100 ms y luego baja). Sin embargo, en lugar de tener la primera salida (QA) solo alta, las 3 o 4 primeras salidas son altas (QA, QB, QC y QD).

¿Qué estoy haciendo mal?

Tomé algunas fotos del alcance, la primera es el reloj del GPIO (sin nada) y la segunda es el reloj conectado al registro.

- EDITAR -

Agregué condensadores y MOSFET para respetar la corriente de salida máxima. Volví a agregar el dispositivo de recuperación desplegable en la línea del reloj debido al desplazamiento natural de + 1V (este desplazamiento proviene del registro, no del pi)

    
pregunta James Magnus

4 respuestas

1

Resolví mi problema. El registro se registró varias veces porque la señal del reloj no estaba lo suficientemente limpia. Así que agregué un disparador schmitt entre la frambuesa pi y la entrada del reloj de registro, y ahora cambia exactamente el número que quiero.

Gracias por todos sus consejos y sugerencias, tenga un buen día;)

    
respondido por el James Magnus
1

Una entrada Schottky de baja potencia generalmente se mantiene a aproximadamente 1.3V cuando está en circuito abierto, y genera ~ 0.25mA cuando se baja (< 0.8V). El Pi no debería tener problemas para manejar esta carga, pero en su caso solo logró bajar la entrada del reloj a ~ 1.1V.

Lo bajó a 0 V con una resistencia desplegable, lo que sugiere que la entrada del LS164 está bien y que la línea GPIO de su Pi no está tirando hacia abajo correctamente. La limpieza del pulso con un gatillo Schmitt lo hizo funcionar, pero está ocultando el problema real: la línea GPIO de su Pi no está siendo controlada correctamente por su programa o está estallada.

    
respondido por el Bruce Abbott
-1

Es probable que tenga reflejos en la línea de su reloj, lo que hace que se trate como pulsos de reloj múltiples. La longitud de su cable de reloj podría ser un factor en esto. Si sus cables ya son cortos, considere agregar una resistencia de integridad de señal (20-50 ohmios) en serie con el pin del reloj (lo más cerca posible del controlador).

    
respondido por el kjgregory

Lea otras preguntas en las etiquetas