Tecnología de expansión de puertos MCU IO

  


Entre los muchos miembros de la familia de MCU, los MCU de la serie MCS-51 ocupan la medida y el control industrial con su rendimiento superior, tecnología avanzada, alta confiabilidad y rendimiento de alto costo. El mercado principal para aplicaciones de ingeniería de automatización, y se ha convertido en el modelo principal en el campo de las aplicaciones de microcontroladores domésticos.

El puerto paralelo del MCS-51 MCU tiene P0, P1, P2 y P3. Dado que el puerto P0 es el puerto del bus de datos /direcciones, el puerto P2 tiene una línea de dirección alta de 8 bits, el puerto P3 La segunda función, de modo que solo el puerto P1 se puede utilizar como un puerto de E /S bidireccional. Esto no es suficiente en la mayoría de las aplicaciones, por lo que la mayoría del diseño del sistema de aplicación del microcontrolador MCS-51 inevitablemente necesitará expandir el puerto P0.

Como la RAM externa y los puertos de E /S de la MCU MCS-51 se direccionan de manera uniforme, una parte de los 64K bytes externos del espacio de RAM se puede usar como E /S periférica extendida. El espacio de direcciones del puerto. De esta manera, la MCU puede acceder al chip de interfaz del puerto P0 externo como si accediera a la unidad de memoria RAM externa para realizar operaciones de lectura /escritura en el puerto P0. Hay muchos chips dedicados para la expansión del puerto P0. Como el chip de expansión de puerto P0 paralelo programable 8255, el chip de expansión de puerto P0 paralelo programable 8155. Este artículo se centra en el método específico de expansión paralela del puerto P0 utilizando el chip 74HC244 con búfer de tres estados y el chip 74HC377 con seguro de salida.

1 Extensión de la interfaz de entrada

El bus de datos del microcontrolador MCS-51 es un bus común y no se puede usar exclusivamente. Esto requiere que el chip esté conectado arriba. Con la función de "tres estados", expandir la interfaz de entrada en realidad está buscando un chip que se pueda usar para el control y tenga una salida de tres estados. Para permitir que el dispositivo de entrada sea strobed, puede conectar directamente la línea de datos del dispositivo de entrada al bus de datos del microcontrolador, y cuando el dispositivo de entrada no está strobed, puede aislar la fuente de datos y el bus de datos (es decir, el búfer de estado). El dispositivo está en un estado de alta impedancia).

1.1 La función del chip 74HC2244

Si los datos de entrada se pueden mantener por un tiempo prolongado (como el teclado), el chip típico comúnmente utilizado para la expansión de la interfaz de entrada simple es 74HC244. Un chip de datos de tres estados puede ser construido por el chip. La disposición de los pines del chip 74HC244 se muestra en la Figura 1.

Dentro del chip 74HC244 hay dos búferes de tres estados de cuatro bits, que pueden usar 1C y 2G como sus señales de funcionamiento estroboscópicas, respectivamente. Cuando tanto 1C como 2G son bajos, la salida Y y la entrada A están en el mismo estado, cuando 1G y 2G son altos, la salida está en un estado de alta impedancia.

1.2 Aplicación 74HC244 interfaz de entrada de expansión de chip

La figura 2 es el circuito principal del chip 74HC2244 para la expansión de la interfaz de entrada, la figura 3 es el tiempo de lectura del puerto P0. Como se puede ver en la Figura 3, cuando P2.7 y RD están bajos, el 74HC2244 puede enviar los datos del terminal de entrada al puerto P0 del microcontrolador. Entre ellos, P2.7 determina la dirección de la dirección 74HC244, 0000H-7FFFH (32K en total) que puede acceder a esta unidad, que es el efecto secundario causado por el método de selección de línea. Por lo general, la dirección más alta se puede seleccionar como la dirección del chip para escribir el programa, como la dirección de este chip es 7FFFH. Pero esto es solo un hábito, no una regla. Por supuesto, 0000H puede usarse como la dirección de este chip. Cuando se determina la dirección, el procedimiento de operación de entrada de su interfaz es el siguiente:

MOV DPTR, # 7FFFH

MOVX A, @ DPTR

La instrucción de clase MOVX es una instrucción para que el microcontrolador MCS-5l funcione en la RAM externa. Como la E /S externa es la misma interfaz que la RAM externa, esta instrucción generalmente se usa para operar la E /S externa. Una vez que se ejecute la instrucción de clase MOVX, el microcontrolador generará un flanco descendente en el pin RD o WR (según la instrucción de entrada o salida). La forma de onda de este flanco descendente está ORed con P2.7 y también se generará en la salida de la compuerta OR. En un flanco descendente, este flanco descendente hará que la salida del 74HC244 se conecte a la entrada, de modo que el microcontrolador MCS-51 pueda leer los datos del dispositivo de entrada desde el bus.

Debe notarse que el 74HC244 no está enganchado. Por lo tanto, si los datos proporcionados por el dispositivo de entrada son relativamente cortos, se extiende por un chip con un cierre. Como 74HC373, 74HC573 y así sucesivamente.

2 Extensión de la interfaz de salida

Como el bus de datos del microcontrolador es para cada chip, generalmente es imposible mantener un estado para una salida, por lo tanto, La función principal de la interfaz de salida es realizar la retención de datos (es decir, el enclavamiento de datos), es decir, la expansión de la interfaz de salida es en realidad un retén extendido.

2.1 Función del chip 74HC377

La expansión de la interfaz de salida generalmente se implementa con el chip 74HC377. El chip es un pestillo 8D con un terminal habilitado. Los pines del chip se muestran en la Figura 4. Las funciones de los pines relevantes son las siguientes:

◇ D0 ~ D7 son entradas de datos de 8 bits.;

◇ Q0 ~ Q7 son terminales de salida de datos de 8 bits;

◇ G es el terminal de control de habilitación;

◇ CLK es la señal del reloj, y el flanco ascendente retiene los datos.

La tabla 1 muestra la tabla de verdad para el chip.

2.2 Aplicación 74HC377 interfaz de salida de expansión de chip

La figura 5 es un diagrama de conexión de circuito para la expansión de la interfaz de salida utilizando el 74HC377. En la figura, el terminal G del 74HC377 está conectado al puerto P2.6, y su dirección es x0xxxxxxB. Si "todo" está configurado en 1, es 1011 1111 1111 1111B, de modo que 0BFFFH es la dirección del chip.

Dado que el WR del MCS-51 está conectado al terminal CLK del 74HC377, cuando la señal WR va de bajo a alto, los datos en el bus de datos son los datos de salida. Cuando P2.6 produce un nivel bajo, G es válido, por lo que los datos se enclavan. Los procedimientos relacionados son los siguientes:

MOV DPTR, # 0BFFFH

MOV A, # DATA

MOVX @ DPTR, A

Además, utilizando el chip 74HC373, El chip 74HC573 también se puede usar para expandir el puerto P0.

3 Instancias de extensión de interfaz

En un sistema de aplicación real, puede ser necesario expandir varios puertos de E /S al mismo tiempo para satisfacer las necesidades del sistema de aplicación. Los chips de E /S de expansión de entrada y salida deben ser una "dirección única" del 74LS138 para decodificar la base de datos DB (DataBus). Para evitar la influencia de la interferencia de transición en la lógica del estroboscopio de decodificación, los chips periféricos utilizados en el sistema MCU generalmente se establecen en el modo estroboscópico de dos pasos, es decir, además de la configuración del estroboscópico de decodificación, se debe configurar el estroboscopio de habilitación. El chip 74HC244 en sí mismo no tiene terminales obvios de control de selección de chip y lectura /escritura. Las señales de control de diseño y decodificación se usan generalmente para controlar el CS del 74HC244 al mismo tiempo, suprimiendo así efectivamente la interferencia transitoria de la información de entrada /salida.

Este puerto de entrada del circuito se extiende en dos 74HC244. El terminal de entrada está conectado a un teclado u otra señal digital, y la expansión del puerto de salida utiliza dos 74HC377 para controlar tubos digitales, LED, relés y similares. El esquema detallado del circuito se muestra en la Figura 6.

La parte del código es la siguiente:

El puerto de bus de datos /dirección /control de 51 MCU tiene una cierta capacidad de carga, y el puerto P0 puede controlar 8 circuitos de compuerta TTL. El puerto P1, el puerto P2 y el puerto P3 pueden controlar 4 circuitos de puerta TTL. Si la carga supera las regulaciones anteriores, se debe agregar el controlador. El conductor del bus puede usar circuitos de compuerta de búfer de tres estados tipo TTL 74HC244, 74HC245. Además, al extender la línea del puerto, también debe considerar la configuración del controlador del bus, preste atención a la configuración de equilibrio de carga del bus. La instalación correcta de resistencias de pull-up en el bus mejora la confiabilidad de la transmisión de la señal del bus.

Además, un sistema puede funcionar mal debido a diversos factores de interferencia e inestabilidad. Para resolver este problema, se pueden tomar algunas medidas del diseño del software.

4 Conclusión

En comparación con la expansión de otro puerto P0 del microcomputador de un solo chip 51, el método de expansión paralela P0 del puerto de entrada /salida introducido en este documento puede realizar fácilmente el puerto P0. Extensión paralela. El circuito de expansión de interfaz diseñado se ha utilizado con éxito en sistemas prácticos. La operación real muestra que el sistema de puerto P0 extendido por este método puede funcionar de manera confiable y estable.

Copyright © Conocimiento de Windows All Rights Reserved