PRACTICA N0.6

Anuncio
Laboratorio de Microprocesadores
El UART
PRACTICA N0.6
NOMBRE DE LA PRÁCTICA
EL PUERTO SERIE 8250
OBJETIVO ESPECÍFICO:
Aprender a programar y utilizar el adaptador de interfase
serie UART
INTRODUCCIÓN:
Un puerto serial se caracteriza por:
9 Transmitir un bit detrás de otro usando una sola línea
9 Permite mayor separación entre transmisor y receptor
U Es más lento que en la transferencia en paralelo
SERIE
PARALELO
BIT7
CPU
BIT0
TRANSMISOR
RECEPTOR
MODOS DE COMUNICACIÓN
De acuerdo al sentido de la transmisión se clasifican en:
3 SIMPLEX
3 HALF DUPLEX O SEMI-DUPLEX
3 FULL DUPLEX O DUPLEX COMPLETO
De acuerdo a su temporización pueden ser:
3
3
SÍNCRONO
ASÍNCRONO
SIMPLEX
Es comunicación en un solo sentido, esto es,
que el mensaje siempre viajará de transmisor
a receptor
M.C. Carlos E. Canto Quintal
- 64 -
Dato
Transmisor
Receptor
Laboratorio de Microprocesadores
El UART
HALF DUPLEX :
La comunicación puede ser en ambos sentidos pero no simultáneamente
Receptor
Transmisor
Transmisor
Receptor
Receptor
Transmisor
Receptor
Transmisor
FULL DUPLEX :
la comunicación puede ser en ambos sentidos y simultáneamente
Receptor
Transmisor
Transmisor
Receptor
COMUNICACIÓN SINCRÓNICA
Se caracteriza porque el dato es enviado junto con la señal de reloj del transmisor
Dato
Transmisor
Receptor
sincronía
COMUNICACIÓN ASÍNCRONA
Asíncrono, significa que el transmisor y el receptor tienen sus propios generadores de
baudaje con la misma frecuencia,pero independientes.
No existe una señal de sincronía entre transmisor y receptor
Ambos dispositivos deben manejar la misma velocidad de transmisión o baudaje.
Interfase simple (velocidad de transmisión limitada típicamente a < de 64 Kbps)
Usado para conectar Impresoras,terminales, Modems, conexión casera a Internet
No hay envio de reloj
(Tx & Rx tienen sus
propios relojs)
Requiere de bits de
arranque y de parada
para proporcionar
temporización de byte
pero aumenta el
número de bits
M.C. Carlos E. Canto Quintal
- 65 -
Laboratorio de Microprocesadores
El UART
Con frecuencia se usa paridad para validar una correcta recepción.
Ejemplo deTransmisión asíncrona de una serie de caracteres
cada caracter está enmarcado por un bit de arranque y por uno o dos bit de parada
Sistema de comunicación serial
Dato al destino
Dato de la fuente
8 bits
1 bit a la vez
8 bits
Buffer de dato recibido
Buffer de dato transmitido
8 bits
8 bits
Registro de corrimiento
entrada serie/salida paralelo
Registro de corrimiento
entrada paralelo/salida serie
Reloj del
Receptor
Reloj del
Transmisor
Transmisor
Receptor
Circuitos integrados adaptadores de comunicación serial más usados
✔ UART (Universal Asynchronous Reciever Transmitter de National semiconductor).
✔ ACIA ( Asynchronous Communications Interfase Adapter de Motorola).
✔ Z80 SIO (Serial Input/Output de Zilog)
M.C. Carlos E. Canto Quintal
- 66 -
Laboratorio de Microprocesadores
El UART
✔ USART (Universal Synchronous Asynchronous Reciever Transmitter de Intel)
FUNCIONES PRINCIPALES DE UN UART
3
3
3
3
3
3
3
Convierte los datos de paralelo a serie y viceversa
Genera y checa la paridad de los datos
Genera bit de arranque
Inserta bit de parada
Controla el número de bits por carácter
Almacena temporalmente el mensaje
Controla la velocidad de transmisión-recepción
DIAGRAMA DE BLOQUES DE UN PUERTO SERIE RS232C USANDO UN UART
PUERTO SERIE RS232C
Bus de datos
NIVEL TTL
NIVEL RS232
UART
Periférico serie
de
salida
Paralelo/serie
CPU
Manejador
RS-232
Periférico serie
de
entrada
Serie/paralelo
Protocolo de comunicación asíncrona de bit de arranque/bit de parada
Bit de paridad
opcional
de 7 ú 8 bits de datos
Línea ociosa
b0
b1
b2
b3
b4
b5
b7
P
Bit(s) de parada
Bit de arranque
M.C. Carlos E. Canto Quintal
b6
- 67 -
Laboratorio de Microprocesadores
El UART
Arquitectura interna del UART 8250
Los registros del UART
Registro de Control de Línea (Line Control Register LCR)
b7
DLAB
DLAB
b6
Break
Break
Control
Control
0=off
0=off
1=on
1=on
b5
b4
000
001
011
101
111
=
=
=
=
=
b3
Paridad
ninguna
impar
par
marca
espacio
Divisor
DivisorLatches
LatchesAccess
Access
Bit:
Bit:Bit
Bitde
deAcceso
Accesoaalos
los
Latches
Divisores
Latches Divisores
M.C. Carlos E. Canto Quintal
- 68 -
b2
Número
Número
de
destops
stops
bits
bits
0=1
0=1
1=2
1=2
b1
b0
Número de bits
de Datos
10=7
11=8
Laboratorio de Microprocesadores
El UART
Registro de Status de Línea (Line Status Register LSR)
b7
b6
b5
b4
b3
Buffer
Buffer
de
Tranmisor
Detección
Detección
Tranmisor
de
Transmisor
vacío
de
de
vacío
Transmisor
Vacío
(TXE)
Break
Break
(TXE)
Vacío
(TBE)
(TBE)
Siempre
Siempre
00
b2
Error
Error
de
de
tramado
tramado
b1
Error
Error
de
de
paridad
paridad
b0
Error
Error
de
de
Overrun
Overrun
Dato
Dato
Listo
Listo
(RxRDY)
(RxRDY)
Registro de Habilitación de Interrupciones (Interrupts Enable Register IER
b7
b6
Siempre
Siempre
00
Siempre
Siempre
00
b5
Siempre
Siempre
00
b4
b3
Siempre
Siempre
00
b2
b1
b0
Error
Buffer
Buffer
Error
del
del
Dato
del
Dato
del
Receptor
Transmisor
Recibido
Receptor Transmisor Recibido
oo
Vacío
(RxRDY)
Vacío
(RxRDY)
break
(TBE)
(TBE)
break
Entrada
Entrada
RS232
RS232
Registro de Identificación de Interrupciones (Interrupts Identificación Register IIR)
b7
b6
Siempre
Siempre
00
Bit 2
Siempre
Siempre
00
b5
Siempre
Siempre
00
b4
b3
Siempre
Siempre
00
b2
b1
b0
Siempre
Siempre
00
Bit 1
Bit 0
Prioridad *
0
0
1
Ninguna
Interrupción identificada
Ninguna
1
1
0
0
Error de serialización o Break
1
0
0
1
0
1
0
2
0
0
0
3
Dato Recibido
Buffer del Transmisor vacío
Entrada RS232
* 0 Es la más alta
Tabla de Registros y el DLAB
REGISTRO DE CONTROL DE FIFO
Es un registro de solo
escritura en la misma
localidad del IIR ( el IIR
es un registro de solo
lectura). Se usa
para
habilitar y
limpiar los
FIFOs, pone el nivel de
disparo del RCVR FIFO, y
selecciona el tipo de
señalización del DMA.
Bit 0: poniéndole un 1
habilita tanto el FIFO del
XMIT como del RCVR.
Reseteando
FCRO
limpiará todos los bytes
en ambos FIFOs
M.C. Carlos E. Canto Quintal
Registro
DLAB
A2
A1
A0
Lectura /
Escritura
0
0
0
0
__
Receptor(lectura) Transmisor
(escritura)
0
0
0
1
R/W
Habilitación de interrupciones
X
0
1
0
LECTURA
Identificación de Interrupción
X
0
1
1
R/W
X
1
0
0
R/W
Registro de Control del Modem
X
1
0
1
R/W
Registro de Status de Línea
X
1
1
0
R/W
Registro de Status del Modem
X
1
1
1
R/W
Scratch Pad
1
0
0
0
R/W
Latch Divisor Menos Significativo
1
0
0
1
R/W
Latch Divisor Más Significativo
- 69 -
de Control de Línea
Laboratorio de Microprocesadores
El UART
Configuración de pines del UART National 8250
D7-D0
DISTR
DOSTR
INTRPT
MR
A0
A1
A2
SOUT
SIN
RTS
DTR
DCD
CTS
RI
XTAL1
3.072 MHZ
ADS
“0”
DOSTR
DISTR
CS2
CS1
“1”
A conector
RS-232
Manejadores
EIA RS-232
DSR
CS0
XTAL2
BAUDOUT
RCLK
Carlos Canto
DISTRIBUCIÓN DE TERMINALES DEL
UART16650
TERMINALES DEL UART16650
ADS, Address Strobe, Pin 25: Una
transición positive en la señal de strobe de
dirección (ADS) captura las señales del
selección de registro (A0,A1,A2) y la de
selección del Chip (CS0,CS1,CS2). Nota: se
requiere una señal activa en ADS cuando las
señales de selección de registro y de
selección del Chip no se mantienen estables
durante una operación de lectura o escritura.
Si ADS no se requiere se conecta a BAJO.
BAUDOUT, Baud Out, Pin 15: Es la señal
16X clocked la sección del transmisor del
UART.La frecuencia del reloj es igual a la
gfrecuencia del oscilador principal de
referencia
dividido entre el divisor
especigficado en los Latches Divisor del
Generador de Baudaje. El BAUDOUT
también puede ser usado por la sección del receptor conectando esta salida a la
entrada RCLK del chip.
CS0, CS1, CS2, Chip Select, Pins 12±14:Cuando CS0 y CS1 están altos y CS2 en
bajo, el chip es seleccionado. Esto habilita la comunicaciòn entre el UART y la CPU.
M.C. Carlos E. Canto Quintal
- 70 -
Laboratorio de Microprocesadores
El UART
DDIS, Driver Disable, Pin 23: se va a bajo siempre que la CPU esté leyendo datos en
la UART. Esta puede deshabilitar o controlar la dirección de un transceptor de bus de
datos entre la CPU y la UART.
MR, Master Reset, Pin 35: cuando esta en alto, limpia todos los registros ( excepto el
Buffer del Receptor, Retén del Transmisor y los Latches Divisors), y el control lógico
del UART . Los estados de varias señales de salida (SOUT, INTR, OUT1, OUT,
RTS,DTR) se afectan al activar la entrada MR.
RCLK, Receiver Clock, Pin 9: esta entrada es la frecuencia de reloj de 16X de la
sección del receptor del chip.
.
CONEXIÓN DEL UART USANDO INTERRUPCIONES
Bus
Bus de
de Datos
Datos
CPU
CPU
INTR
UART
UART
Bus
Bus de
de Direcciones
Direcciones
Driver
Driver
RS232
RS232
MODEM
MODEM
LÍNEAS DE CONTROL
Y DE STATUS (HANSDSHAKING)
MATERIAL Y EQUIPO UTILIZADO:
M.C. Carlos E. Canto Quintal
- 71 -
LÍNEA
LÍNEA
TELEFÒNICA
TELEFÒNICA
Laboratorio de Microprocesadores
El UART
1 UART NS 8250A ó 16550
1 CI MAX232
1 CI 74LS08
1 cristal de 3.07 MHZ o 1.8432 Mhz
Condensadores 30pf, 40 pf
1 resistencia de 1 MΩ, 1.5 KΩ
1 cable serie RS232
1 Conector DB-9
1 protoboard
1 Fuente de cd de 5 volts regulada
1 Analizador lógico ( o en su defecto osciloscopio multicanal
CORRELACIÓN CON TEMAS DEL PROGRAMA VIGENTE:
Con esta práctica se cubre algunos de los aspectos de la unidad II: Interfases
METODOLOGÍA (DESARROLLO DE LA PRÁCTICA):
I.-Implemente el circuito mostrado en el diagrama de abajo en un protoboard, tomando en
cuenta la distribución planeada para la realización del sistema completo.
II.- Use un cable serial RS232 estándar para conectar su sistema con una IBM PC
compatible.
Pins del puerto de comunicación de una PC
Conector RS-232 DB-9
III,. Desarrolle un programa para el Z80 que nos
permita transmitir a una computadora IBM PC, por
el puerto serie RS232, una cadena de caracteres
depositados en la memoria de programa EPROM .
Inicie el programa para que transmita a 9600 bps, 7
bits de datos, sin paridad, 1 bit de stop.
Use el programa Hyperterminal de Windows para
recibir los caracteres y para desplegarlos en la pantalla de la PC.
IV.- Calcule la duración de cada bit de acuerdo a la velocidad de transmisión establecida y
compruébela con el osciloscopio
M.C. Carlos E. Canto Quintal
- 72 -
Laboratorio de Microprocesadores
El UART
PRACTICA NUM. 6
IMPLEMENTACIÓN DE UN PUERTO SERIE USANDO EL UART
NS8250
VCC=5v
C5
1uF
+5v
1
40
2
INT
7414
CS0
CS1
INT
21
18
22
19
25
35
IORD
IOWR
RESET
BUS DE DATOS
BUS DE DIRECCIONES
A0
A1
A2
OUT1
OUT2
RD
WR
RD
WR
ADS
RESET
1
2
3
4
5
6
7
8
D0-D7
C1
1uF
VCC
12
13
30
1
U1
D0
D1
D2
D3
D4
D5
D6
D7
28
27
26
TXD
RTS
DTR
RXD
DCD
DSR
CTS
RI
34
31
11
32
33
C2
1uF
5
TTL-OUT
11
12
10
38
37
36
39
C1+
C1C2+
C2-
A2 1
A3 2
A4 3
A5 6
A6 4
A7 5
A
B
C
G1
G2A
G2B
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
DDIS
NC
CSOUT
74LS138
74LS08
3
6
C4
1uF
T1IN
T1OUT
R1OUT
R1IN
15
Vcc
14
RS232-OUT
13
RS232-IN
BAUDOUT
CS2
GND
ó
+5v
23
29
24
220
RCLK
1
15
9
2
7414
XIN
90H-97H
XOUT
A7 A6 A5 A4 A3 A2 A1 A0
1 0 0 1 0 X X X
16
2
1
17
3
4
7414
AL
UART
DIRECCIONES DE SELECCIÓN DEL UART 90H AL
97H
Indicador de que el UART se ha
seleccionado
REOJ
EXTERNO
SALIDA
OPCIONAL
DEL RELOJ
USANDO UN OSCILADOR EXTERNO,
QUE PODRIA SER EL OSCILADOR
USADO PARA E LCPU
Carlos
Canto
M.C. Carlos E. Canto Quintal
AL PUERTO
RS232 DE LA
PC
GND
SIN USO
1
2
XTAL2
20
fxtal=1.8432
3.072 Mhz
V-
14
AL
8255 AL
15
8254
AL
14
ADC0804
13
12
11
10
9
7
1.5k
V+
XTAL1/CLK
17
40-60pf
C3
1uF
2
MAX232
1M
10-30pf
Vcc
8250
A0
A1
A2
16
3
4
16
- 73 -
Laboratorio de Microprocesadores
El UART
SUGERENCIA DIDÁCTICA:
Resuelva el siguiente cuestionario
1.¿Cúal es el nivel lógico del pin de transmisión mientras que no se están
transmitiendo caracteres ?
2.¿ En qué consiste el bit de de arranque (START BIT) ?
3.¿ Cúal es el nivel lógico de los bits de paro (STOP BIT)?
4.Explique por qué puede haber 1.5 bits de parada.
5.Explique qué es...
a) paridad par.
b) paridad impar.
c) paridad marca.
d) paridad espacio.
REPORTE:
I.-Incluya en su reporte, el diagrama de flujo y el listado del programa
realizado para entablar la comunicación con la PC.
II.-reporte si tuvo problemas con el manejo del puerto serial durante la práctica
diga cuales fueron y como los resolvió.
III.-reporte sus comentarios y conclusiones
BIBLIOGRAFÍA:
•
•
•
•
Manual de Zilog del Z80
Manual de Maxim del MAX232
Manual de National Semiconductor del 8250
Ramesh S. Gaonkar
The Z80 Microprocessor: Architecture, Interfacing, Programming,
and Design
M.C. Carlos E. Canto Quintal
- 74 -
Descargar