Control de transmisión asíncrona
El dato serie se envía por la terminal TxD. La velocidad de transmisión es controlada por la señal de reloj que alimenta la entrada TxC. La señal de reloj TxC puede o no ser derivada del reloj del sistema de Microcomputadora. El valor real de la velocidad de transmisión en el modo asíncrono puede ser 1, 1/16 o 1/64 del reloj TxC. Las transiciones alto-bajo del reloj TxC transfieren los bits del dato. Existen tres señales de control asociadas con la lógica de transmisión las cuales son: TxRDY, TxE y RxRDY.
Durante la transmisión se generan dos señales TxRDY y TxE. La señal TxRDY pasa a nivel alto tan pronto como el contenido del buffer TA se ha desplazado al buffer TB por lo que TA puede cargarse con el nuevo dato de salida. El estado de esta señal estará disponible en la salida TxRDY۱ únicamente cuando el 8251 esté habilitado para transmitir, esto es, cuando esté en bajo y TxE en alto. Sin embargo, el bit TxRDY, figura siguiente, del Registro de Estado se pone siempre que el buffer TA esté vacío.
La salida TxE se pone en alto tan pronto como el dato en TB se ha enviado al periférico y permanece en alto mientras no se desplace un dato nuevo de TA o TB. La figura siguiente ilustra el diagrama de tiempos durante la transmisión asíncrona de datos serie.
La secuencia de los eventos se describe a continuación. Inicialmente se encuentra una señal de marca en la salida TxD.
1. El dato de salida se carga en TA con la señal.
2. Al cargarse TA con el dato, la señal TxRDY pasa a nivel bajo.
3. Como TxE está en alto, TB se encuentra vacío; por lo que el contenido de TA se transfiere a TB enviando a TxE a nivel bajo.
4. Al dato ahora se envía en forma serie al periférico desde TB.
5.Cuando TB termina de enviar el dato en forma serie al periférico, lo cual se identifica con los bits de parada, TB queda vacío y TxE pasa a nivel alto.
6. Sin embargo, tan pronto como el contenido de TA se transfirió a TB (por lo que TB comienza a transmitir), TA queda vacío. Éste ordena que TxRDY regrese a nivel alto indicando que puede recibir el siguiente dato. Esto se registra en la bandera de estado TxRDY de donde es leído por la CPU para conocer cuándo puede enviar el siguiente dato.
7. El siguiente dato se carga en TA con la señal .
8. Cuando TxE pasa a nivel alto TA se encuentra un dato esperando. Este dato se transfiere inmediatamente a TB, enviando a TxE a nivel bajo hay a TxRDY a nivel alto.
9. El dato nuevo es ahora enviando en forma serie.
El bit RxRDY en el registro de estado se pone cuando el buffer TA tiene un dato para la CPU.
La terminal de TxRDY se usa frecuentemente para generar solicitud de interrupción. Cuando la velocidad de salida de datos no es muy crítica se puede preguntar a través del Registro de Estado por el bit TxRDY para determinar cuando la salida TxRDY tiene nivel bajo y se puede enviar otro dato.
Fuente: Apuntes de Arquitectura de computadoras de la FCA de la UNAM