Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


USART microprocesadores, Resúmenes de Microprocesadores

Documento donde se muestra el empleo y uso del USART

Tipo: Resúmenes

2022/2023

Subido el 26/06/2026

natalia-morales-61
natalia-morales-61 🇧🇴

2 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Capítulo 3
Comunicaciones en serie
3.1 Introducción
La comunicación serial permite conectar, inicialmente, dos computadoras utilizando solamente dos
lineas. Una dedicada a la transmisión de datos en forma serial y la otra a la recepción de datos en
forma serial. Intel dispone del USART-8251 (Universal Serial Asynchronous Receiver/Transmitter).
3.2 Controlador de Periféricos en serie, USART 8251
Como se ve en la figura 3.1, el USART permitirá conectar una computadora con un periférico.
Vea que la conexión de la computadora con el USART es a través del bus de datos y del bus de
control del µProcesador. Del otro lado, el periférico se conecta al USART a través de dos líneas de
comunicación serial.
DTE
µProcesador USART
D7D0
Control
DCE
Periférico
Tx serial
Rx serial
Figura 3.1: Conexión de un periférico a la computadora a través del USART
El equipamiento del lado de la computadora se denomina DTE (Data Terminal Equipment) y el
equipamiento del lado del periférico se denomina DCE (Data Communication Equipment).
El USART, de manera simultánea, puede recibir datos seriales en la línea Rx-serial para conver-
tirlos a datos en paralelo y entregarlos al µProcesador y, recibir datos en paralelo del µProcesador
para convertirlos a datos en serie y entregarlos al periférico a través de la línea TX-Serial.
Además el USART puede realizar otras tareas que permitirán lograr la comunicación serial. El
USART avisa al µProcesador cuando puede aceptar un dato para transmitirlo, también detecta
1
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga USART microprocesadores y más Resúmenes en PDF de Microprocesadores solo en Docsity!

Capítulo 3

Comunicaciones en serie

3.1 Introducción

La comunicación serial permite conectar, inicialmente, dos computadoras utilizando solamente dos lineas. Una dedicada a la transmisión de datos en forma serial y la otra a la recepción de datos en forma serial. Intel dispone del USART-8251 ( Universal Serial Asynchronous Receiver/Transmitter ).

3.2 Controlador de Periféricos en serie, USART 8251

Como se ve en la figura 3.1, el USART permitirá conectar una computadora con un periférico. Vea que la conexión de la computadora con el USART es a través del bus de datos y del bus de control del μ Procesador. Del otro lado, el periférico se conecta al USART a través de dos líneas de comunicación serial.

DTE

μ Procesador (^) USART

D 7 − D 0

Control

DCE

Periférico

Tx serial

Rx serial

Figura 3.1: Conexión de un periférico a la computadora a través del USART

El equipamiento del lado de la computadora se denomina DTE ( Data Terminal Equipment ) y el equipamiento del lado del periférico se denomina DCE ( Data Communication Equipment ).

El USART , de manera simultánea, puede recibir datos seriales en la línea Rx-serial para conver- tirlos a datos en paralelo y entregarlos al μ Procesador y, recibir datos en paralelo del μ Procesador para convertirlos a datos en serie y entregarlos al periférico a través de la línea TX-Serial.

Además el USART puede realizar otras tareas que permitirán lograr la comunicación serial. El USART avisa al μ Procesador cuando puede aceptar un dato para transmitirlo, también detecta

1

3.2. CONTROLADOR DE PERIFÉRICOS EN SERIE, USART 8251 2

si el periférico le ha enviado un dato y avisa al μ Procesador para que lo recoja. Aquí un dato no necesariamente es de 8 bits. Finalmente proporciona su estado interno, que consiste en poner en evi- dencia los posibles errores en la comunicación y algunas señales necesarias para control del USART.

μ Procesador

D 7 -D 0

A 19 -A 0 ALE

USART

RT S

CT S

DT R

DSR Control W R

RD

Reset

CLK

Syndet/BD RxC

RxD RxRDY Receptora

T xC

T xEmpty

T xD T xRDY Transmisora

Buffer de datos

C/D (^) CS

Decodificador

Figura 3.2: Las señales de USART

Si entramos un poco mas en el detalle, en la figura 3.2 se muestran las cuatro secciones que tiene el USART. Se estudiaran las señales de este integrado viéndolas desde el punto de vista de la DTE.

La sección transmisora se encarga de enviar datos, en forma serial, al periférico a través de la patita RxD. Si el USART no tiene datos para transmitir, comunica al periférico a través de la señal TxEmpty y con la señal TxRDY comunica al μ Procesador que no tiene datos para transmitir, por tanto el μ Procesador viendo que TxEmpty = 1 podrá enviar un dato al puerto de comunica- ciones ( out dx,al ). Finalmente a esta sección se puede conectar un reloj externo TxC que permite sincronizar la transmisión. La frecuencia del reloj del USART ( CLK ) debe ser por lo menos 16 veces mayor de la frecuencia de TxC.

La sección receptora recibe los datos seriales que envió el periférico a través de la patita RxD , esta sección los convierte a paralelo y los envía al μ Procesador por el bus da datos D 7 - D 0. Cuando se ha completado un dato el USART comunica al μ Procesador con RxRDY = 1 para que lo pueda leer del puerto de comunicaciones ( in al,dx ). Esta sección también permite conectar un reloj ex- terno RxC para sincronizar el receptor. La frecuencia del reloj del USART ( CLK ) debe ser por lo menos 16 veces mayor de la frecuencia de RxC. En esta sección también está señal Syndet/BD que permite realizar dos tareas. Cuando el USART funciona en modo síncrono, indica sincronismo mientras qué si trabaja en modo asíncrono indica la recepción de un carácter de ruptura. Un carác- ter de ruptura está formado por dos cuadros completos de pulsos de arranque y se utiliza a menudo para romper las comunicaciones.

El buffer de datos es bidireccional y es tri-estado, se utiliza para conectar el USART con el μ Procesador. Cuando se ejecuta, in al,dx , se introduce un dato en el μ Procesador, estos datos pasan por el buffer de datos y el bus de datos D 7 - D 0. De la misma manera, cuando se eje-

3.3. PROGRAMACIÓN DEL USART 4

Instrucción de modo síncrono D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 SCS ESD EP PEN L 2 L 1 0 0

En el mismo registro, también se escribir la instrucción de comando , con esto se puede cambiar el funcionamiento del USART, otra vez la señal C/ D = 1

Instrucción de comando D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 EH IR RTS ER SBRK RxEN DTR TxEN

Finalmente si se lee este registro se muestra la palabra de estado del USART, otra vez la señal C/ D = 1.

Palabra de estado D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 DSR Syndet FE OE PE TxEM RxRDY TxRDY

initUSART

dx ← 0301h

al ← 00h

dx ⇐= al dx ⇐= al dx ⇐= al

al ← 40h

dx ⇐= al

ret

mov dx ,0301 h ; C / D = 1 mov al ,0 ; -+ out dx , al ; | out dx , al ; | > Reset out dx , al ; | > interno mov al ,40 h ; | out dx , al ; -+

Figura 3.4: Inicialización de USART

Mas adelante veremos el detalle de la función que cumple cada bit de cada una de estas palabras. Por el momento se va ha mostrar el programa de inicialización del USART. Este tiene dos partes, como el Reset por hardware no funciona, se hace un Reset por software y luego se programa el modo; que puede ser síncrono o asíncrono.

En la figura 3.4 se ve que para inicializar el USART es necesario enviar tres veces el 00h y un 40h al puerto cuya dirección es C/D = 1. En esta figura hemos supuesto que el USART esta en las direcciones para prototipo 0300h y 0301h.

3.4. MODO ASÍNCRONO 5

3.4 Modo asíncrono

initUSART

dx ← 0301h

al ← 00h

dx ⇐= al dx ⇐= al dx ⇐= al

al ← 40h

dx ⇐= al

al ← 4Fh

dx ⇐= al

ret

mov dx ,0301 h ; C / D = 1 mov al ,0 ; -+ out dx , al ; | out dx , al ; | > Reset out dx , al ; | > interno mov al ,40 h ; | out dx , al ; -+ mov al ,4 Fh ; Asincrono 1200 baudios , 8 , N , out dx , al ; Dato de 8 bits ; sin paridad ; un bit de stop

Figura 3.5: USART configurado para trabajar en modo asíncrono

S 2 S 1 EP PEN L 2 L 1 B 2 B 1 0 1 X 0 1 1 1 1 = 4Fh

Bits de stop Tamaño de carácter velocidad de comunicación S 2 S 1 Comentario 0 0 No válido 0 1 1 bit 1 0 1 y 12 bits 1 1 2 bits

L 2 L 1 Comentario 0 0 5 bits 0 1 6 bits 1 0 7 bits 1 1 8 bits

B 2 B 1 Comentario 0 0 Modo SYNC 0 1 1x para TxC y RxC 1 0 16x para TxC y RxC 1 1 64x para TxC y RxC

Bandera de paridad Permiso de paridad EP Paridad 0 Impar 1 Par

PEN Permiso de paridad 0 No permitida 1 Permitida

En el modo asíncrono se transfiere un solo byte a la vez ( a single byte at a time ). Este método de comunicación presenta un problema que se denomina sobrecarga ( overhead ) que en ocasiones puede ser tan grande como el 50%. La sobrecarga puede ser todavía mayor, si el tamaño del carácter es de 5 o 6 bits.

En la figura 3.5 se ve que USART ha sido configurado para trabajar en modo asíncrono, fíjese que el modo de funcionamiento tendrá las características de dato de 8 bits, sin paridad y un bit de stop ;

3.5. MODO SÍNCRONO 7

3.5 Modo síncrono

El problema de overhead que hemos descrito en el modo asíncrono, se trata de resolver en el método síncrono. En el modo síncrono los bits de start y stop se reemplazan por bytes con códigos especiales, además en vez de transmitir un byte a la vez, cientos de bytes son transferidos. En este método un bloque de bytes es enmarcado entre códigos de control y luego transferidos. Los códigos de control son diferentes en función del tipo de protocolo. Los protocolos mas divulgados son: BISYNC y SDLC.

En el protocolo BISYNC , por cada bloque de datos existen uno o más bytes denominados car- acteres de sincronismo. Después de los caracteres de sincronismo está el byte denominado STX ( Start of text ), seguido por el bloque de datos que puede ser de 100 0 mas bytes de información. Al bloque de datos le sigue el byte ETX ( End of text ). El último byte del marco es el BBC ( Block check character ), que se utiliza para detección de errores.

one frame SYNC SYNC STX DATA FIELD ETX BBC PAD

Algunos métodos para detección de errores son el: checksum, CRCs y el código Hamming. Checksum y CRC solo detectan errores, pero Hamming detecta y corrige errores.

Carácter Significado ASCII Carácter Significado ASCII SOH Start of header 01h STX Start of text 02h DLE Data link escape 10h ETX End of text 03h SYN Sync 16h EOT End of transmission 04h ETB End of transmission block 17h ENQ Inquiry 05h PAD End of frame block FFh Figura 3.7: Algunos códigos utilizados en el protocolo BISYNC

El estándar SDLC es el estándar para comunicación serial síncrona que desarrollo IBM. En SDLC el byte SYN se reemplaza por el patrón 01111110. Este byte se conoce como byte flag. Después del flag viene el byte de dirección de una computadora a la que se tiene que enviar la información, se supone que la computadora esta conectada a una red. A continuación esta el byte de control , que contiene información acerca de la secuencia de datos, entre otras cosas. Luego vienen los datos. El dato en SDLC pueden ser miles de bits, en contraste a los datos en BISYNC , que pueden ser miles de bytes. El campo de datos puede estar incluso por encima de 200.000 bits por marco. Después del campo de datos viene un campo de 16 bits, denominado frame check , dedicado a la verificación de errores y, para terminar, viene el byte flag.

one frame begin flag address field Control field Information field frame check end flag 01111110 8 bits 8 bits DATA 16 bits 01111110

3.6. INSTRUCCIÓN DE COMANDO 8

initUSART

dx ← 0301h

al ← 00h

dx ⇐= al dx ⇐= al dx ⇐= al

al ← 40h

dx ⇐= al

al ← 0BCh

dx ⇐= al

ret

mov dx ,0301 h ; C / D = 1 mov al ,0 ; -+ out dx , al ; | out dx , al ; | > Reset out dx , al ; | > interno mov al ,40 h ; | out dx , al ; -+ mov al ,0 BCh ; Sincrono 8 bits , paridad par out dx , al ; 1 caracter de sincronismo , Syndet salida

Figura 3.8: USART configurado para trabajar en modo síncrono

Instrucción de modo síncrono SCS ESD EP PEN L 2 L 1 0 0 1 0 1 1 1 1 0 0 = 0BCh

Sincronismo Detección de sincronismo Paridad Habilitar paridad SCS Caracteres 0 2 1 1

ESD Syndet 0 Salida 1 Entrada

EP Paridad 0 Impar 1 Par

PEN habilitar 0 0 No 1 1 Si

L 2 L 1 Longitud de caracter 0 0 5 bits 0 1 6 bits 1 0 7 bits 1 1 8 bits

3.6 Instrucción de comando

Cuando ya ha sido configurado el USART en modo asíncrono o síncrono, se puede cambiar el funcionamiento del mismo a través de la instrucción de comando. Por ejemplo si el USART está funcionando en modo síncrono, si el bit EH = 1 pasa a buscar caracteres de sincronismo; es decir a través de la patita Syndet/BD. Otro ejemplo es el uso del bit IR = 1 , este es el bit que permite hacer reset interno, vea la figura 3.4, se envía al puerto de control tres veces 00h y un 40h. También se puede romper las comunicaciones poniendo TxE = 1.

3.8. EJEMPLOS 10

S 2 S 1 EP PEN L 2 L 1 B 2 B 1 0 1 X 0 1 1 1 1 = 4Fh

TxAsinc

al ← 00h dx ← 0301h dx ⇐= al dx ⇐= al dx ⇐= al al ← 40h dx ⇐= al

al ← 4Fh dx ⇐= al

si = msg

al ⇐= dx

al ← al ∧ 00000001b

ZF = 0

al ← [si]

al = ‘$’

ret

TxD

no

yes

yes

no

Tx1:

msg db " La verdad os hara libres$ " ;

mov dx ,0301 h ; C / D = 1 Modo mov al ,0 ; Reset interno out dx , al ; out dx , al ; out dx , al ; mov al ,40 h ; out dx , al ; Asincrono 1200 baudios , 8 ,N , mov al ,4 Fh ; Dato de 8 bits , sin paridad out dx , al ; un bit de stop lea si , msg Tx1 : mov dx ,0301 h ; C / D = 1 Estado in al , dx and al ,00000001 b ; Si TxRDY = 1 jz Tx1 ; mov al ,[ si ] cmp al , '$ ' jne TxD ret TxD : mov dx ,0300 h ; C / D = 0 DATA out dx , al inc si jmp Tx

.

Figura 3.9: Protocolo para transmitir un mensaje utilizando el USART