Expansores de clavijas (IO)

¿Cuáles son los efectos del uso de expansores de pines? No tengo claro cómo funcionan exactamente. Tengo la vaga idea de que el chip cambia rápidamente los flujos de io, pero no sé de dónde saqué eso. Si uso expansores de clavijas, ¿veré un parpadeo en las luces LED y otras salidas? Además, ¿existen efectos secundarios negativos por el uso de expansores de clavijas?

Había una variedad de expansores de puertos extraños. El 8255 viene a la mente. También hubo expansores de puertos discretos construidos a partir de 7400 piezas. Y otros raros como el 6522 de MOS Technology, que era una especie de dispositivo "aprendizaje de varios oficios". Solo recomendaría que lea la documentación de varios tipos diferentes de sus encarnaciones modernas. Probablemente hacen las cosas de diferentes maneras y pueden ofrecer más de un tipo de servicio, por lo que no hay una respuesta única. ¿Qué tableros/dispositivos específicos has estado mirando?
Mucho de esto se determina caso por caso. Mucho de esto se determina leyendo las hojas de datos.

Respuestas (2)

Bueno, un expansor de clavijas es un martillo, j/k. Creo que te refieres al expansor de puertos. Un expansor de puertos es esencialmente un segundo IC que le permite descargar algunas tareas GPIO de su microcontrolador principal. Aumenta el número de pines que tienes disponibles. Algunos tienen características especiales como PWM. Su microcontrolador habla con el expansor de puertos a través de serial o i2c o spi u otros métodos, diciéndole cómo cambiar sus pines. Al igual que lo haría con el puerto/pines internos de su microcontrolador.

La desventaja es que agrega otra capa de comunicación o código o sobrecarga para leer y escribir en él. No deben parpadear.

El parpadeo puede deberse al uso de un registro de desplazamiento, que es un método diferente para aumentar sus salidas disponibles.

GPIO101

Las entradas de un puerto de salida no son controladas constantemente por el bus de datos interno de la CPU; ¡esto no dejaría espacio para que la CPU haga nada más! En su lugar, hay un registro interno que bloquea el valor que se va a enviar al bus de datos y lo retiene mientras la CPU se apaga y hace otras cosas. (Esto a menudo se llama PORTx o similares en las hojas de datos de microcontroladores, y sí, es un registro real en el dispositivo).

Ampliando nuestro territorio

Los expansores de E/S modernos funcionan de manera similar: simplemente tienen una interfaz de bus serial pegada a sus puertos en lugar de estar conectada directamente al bus de la CPU. (El expansor de salida más simple es el uso del TTL/CMOS '595 en buses SPI, y su interfaz en serie no es más que un registro de desplazamiento de entrada en serie y salida en paralelo, como puede ver a continuación (el diagrama lógico se tomó de Hoja de datos de TI ). Obviamente, los expansores más sofisticados tienen una interfaz más sofisticada).

Diagrama lógico SN74HC595

Entonces, no tienes que preocuparte

El expansor de E/S se aferrará al valor de salida por usted, al igual que lo harán los puertos de E/S integrados de su microcontrolador. Por lo tanto, no hay necesidad de preocuparse por los efectos estroboscópicos, los fallos técnicos o cualquier otro tipo de problema.

Agregaría un esquema de un pin de puerto de E/S, pero CircuitLab no tiene un búfer tristate :/