¿Cómo colocar un 74HC165 en un bus SPI?

4

Si quiero leer un (grupo de) 74HC165 chip (s) a través de un puerto SPI en un microcontrolador, esto es lo suficientemente simple. Conéctelos a través de Q7 a DS en cada uno, aplique el Q7 final a MISO, notCE a SS y CP a SCK. Esto funciona bien.

Pero ahora, ¿cómo comparto el bus SPI con otros dispositivos que quiero leer? La salida del Q7 del 165 nunca es alta-Z, por lo que no puedo compartir el pin MISO con otros dispositivos. Necesitaría alguna forma de "separarlo": un búfer de algún tipo.

Sé que hay chips de la serie 74 que tienen varios buffers que se pueden fabricar en hi-Z (como un 74HS240) pero es un chip adicional completo para poder compartir el registro de desplazamiento. Tal vez alguna forma astuta de poner un transistor entre el Q7 final y el MISO del microcontrolador, controlado por la línea SS?

Editar: de forma alternativa, ¿alguien puede sugerir algún otro registro de desplazamiento de salida en serie de salida en paralelo que tenga una línea de salida serie de tres estados y, por lo tanto, sea adecuado para usar en un bus SPI?

    
pregunta LeoNerd

4 respuestas

3
  

alguien puede sugerir algún otro registro de desplazamiento de salida en serie de entrada paralela   que tiene una línea de salida serie de tres estados, y por lo tanto adecuado   para usar en un bus SPI?

Mouser, Newark y algunos otros distribuidores y proveedores tienen un filtro de selección que ayuda cuando estoy buscando "algo" como un 74HC165, pero con salida en serie de tres estados ":

74HC589: entrada serie o paralela de 8 bits; salida serial Registro de desplazamiento con salida de 3 estados. "El HC589A interactúa directamente con el puerto de datos serie SPI en CMU MPU y MCU ".

- En Semiconductor hoja de datos ; Fairchild hoja de datos (Por lo tanto, cumple con los criterios de "debe tener una segunda fuente" que tienen algunos proyectos, como lo menciona Jason S).

    
respondido por el davidcary
1

Como se ha señalado, el 165 no es un dispositivo SPI "completo" porque no establece su salida en tres estados.

Si tiene un solo 165 en su bus SPI y la velocidad no es un gran problema, podría colocar una resistencia (10k?) entre la salida 165 y el pin MISO de uC. Otros chips SPI (que hacen un triple estado de su salida) anularán la unidad débil a través de la resistencia, pero si no hay otros chips activos, la unidad débil prevalecerá, pero es posible que deba reducir la velocidad del reloj (solo para los 165). p>

Si tiene varios 165, puede usar un chip multiplexor (151). Esto cuesta líneas de selección adicionales para el chip mux, pero puede compartir las líneas notCE del 165 (que de lo contrario hubieran sido separadas), y usar una de las entradas para los chips SPI "reales".

    
respondido por el Wouter van Ooijen
1

El 74xx125 y el '126 son búferes cuádruples con salidas de tres estados, controlados individualmente: puede usar un paquete para almacenar cuatro 165s ...

    
respondido por el Peter Bennett
0

Usted describió cómo puede colocar en cascada un grupo de chips 74HC165 en una cadena larga. Un grupo de los chips 74HC595 también se pueden conectar en cascada en una cadena similar.

Una forma de "compartir el bus SPI con otros dispositivos" es encadenar todos sus chips en un largo SPI Daisy Chain . Ha pasado un tiempo desde que lo hice, pero me parece recordar que pude poner los chips 74HC165, los chips 74HC595 y los chips similares en un ciclo largo. No importa cuántos chips haya en el bucle de la cadena de margaritas o en qué orden estaban, solo necesité 4 pines en el microcontrolador.

El pin MOSI del microprocesador controla el pin MOSI del primer chip de la cadena, cada chip se conecta en cascada, por lo que su salida serial controla la entrada serial del siguiente chip en la cadena y el pin MISO del último chip en la cadena acciona el pin MISO del microprocesador.

El microprocesador registra / elimina la cantidad de datos de un bucle completo cada vez que desea cambiar cualquier salida o leer cualquier entrada.

Así es como funciona JTAG , ¿verdad?

Un bucle de cadena margarita tan largo es más lento, pero requiere menos pines en el microcontrolador que la "Configuración de SPI esclavo independiente". Desafortunadamente, algunos chips que dicen ser compatibles con SPI no se pueden conectar en cadena.

La razón principal por la que incluso está considerando SPI es porque se está quedando sin pines en el microcontrolador y está conectado a algo que no necesita altas velocidades, ¿no?

    
respondido por el davidcary

Lea otras preguntas en las etiquetas