Publicado el 14 de Enero del 2017
774 visualizaciones desde el 14 de Enero del 2017
616,3 KB
57 paginas
Creado hace 10a (05/05/2014)
Plataformas de Tiempo Real:
Dispositivos y Drivers
Tema 5. Interfaces de E/S de datos
• Interfaz serie
• Programación de la interfaz serie
• Interfaz paralelo
• Programación de la interfaz paralelo
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
8
© J. Javier Gutiérrez, Michael González
5/ma/14
1
Interfaz serie
Ha sido una de las interfaces más importantes en los
computadores, en particular en los PCs:
• para la conexión de dispositivos como ploters, modems,
ratones, impresoras, terminales, y un largo etc.
UNIVERSIDAD
DE CANTABRIA
• también se usa como conexión para la comunicación entre dos
computadores:
- aunque hay conexiones mucho más rápidas, para sistemas
pequeños sigue siendo una interfaz sencilla de programar
- por ejemplo la depuración de un sistema MaRTE se hace a través
de una línea serie
Los dispositivos que tradicionalmente se conectaban por la
interfaz serie y otros más modernos, ahora lo hacen a través de
USB (Universal Serial Bus)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
2
Funcionamiento de la interfaz serie
La interfaz serie se utiliza para la comunicación punto a punto de
datos en serie y asíncrona:
• los bytes se transmiten bit a bit
• no es necesaria una señal de reloj común al transmisor y al
UNIVERSIDAD
DE CANTABRIA
receptor
• se utilizan relojes independientes con la misma frecuencia en el
transmisor y en el receptor
• se transmite un bit de comienzo (start bit), los bits de
información y al menos un bit de parada (stop bit) que indica que
se ha transmitido un dato
• también es posible transmitir información de chequeo de
errores antes del bit de finalización, el bit de paridad (parity bit)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
3
Funcionamiento de la interfaz serie
(cont.)
La paridad sólo puede garantizar la detección de errores de un
solo bit:
• para errores múltiples la probabilidad de detección es del 50%
• se puede utilizar un código CRC si se quiere mayor fiabilidad
Las paridades que se pueden utilizar son:
• sin paridad (no se envía el bit)
• par: se busca que haya un número par de unos entre los bits de
UNIVERSIDAD
DE CANTABRIA
datos y en el de paridad
• impar: se busca un número impar de unos
• mark: bit siempre a 1
• space: bit siempre a 0
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
4
UNIVERSIDAD
DE CANTABRIA
Funcionamiento de la interfaz serie
(cont.)
Un aspecto fundamental es seleccionar la velocidad a la que va a
tener lugar la comunicación, o baud rate:
• se mide en bits por segundo (bps o baudios)
Antes de comenzar una transferencia de datos el transmisor y el
receptor se deben sintonizar con los mismos formatos:
• velocidad de transmisión
• bits de datos: 5, 6, 7 u 8
• paridad: par, impar o ninguna
• bits de parada: 1 ó 2 (uno y medio si se eligen 5 bits de datos)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
5
Transmisión de datos en serie
7 bits, paridad impar, 1 bit de parada, y 2400 bps (Messmer[1])
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
6
Transmisión de datos en serie (cont.)
La UART (Universal Asynchronous Receiver-Transmitter) es la
interfaz encargada de serializar los datos, para transmisión
(Messmer[1]):
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
7
Transmisión de datos en serie (cont.)
Y para recepción (Messmer[1]):
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
8
Interfaz RS-232C
Estándar de EIA (Electronic Industries Association)
Interfaz eléctrica, mecánica y lógica entre un DTE (Data Terminal
Equipment, p.e., un computador) y un DCE (Data Carrier
Equipment, p.e., un módem):
• conexión de 25 pines, la mayoría reservados para la
UNIVERSIDAD
DE CANTABRIA
transferencia de datos síncrona
• para el uso mayoritario de esta interfaz en PCs sólo se necesitan
11 pines: tranferencia de datos asíncrona
• IBM definió un conector de sólo 9 pines
• un pin de transmisión, otro de recepción y el resto señales de
control
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
9
UNIVERSIDAD
DE CANTABRIA
1 (MARK)
Interfaz RS-232C (cont.)
Niveles de tensión y lógica de las señales:
ESTADO BINARIO
Nivel de tensión entradas +3 < N.T. < +15
+5 < N.T. < +15
Nivel de tensión salidas
Para velocidades de transmisión del orden de 20 kbps (máxima del
estándar) se recomienda que la longitud del cable no sobrepase
los 15 metros
Los circuitos de la interfaz permiten velocidades de 115200 bps
Otros estándares permiten longitudes mayores con
comunicaciones más fiables (RS-422, o RS-485)
0 (SPACE)
-15 < N.T. < -3
-15 < N.T. < -5
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
10
Distribución de pines en la Interfaz
RS-232C
UNIVERSIDAD
DE CANTABRIA
9 pines
25 pines
1
2
3
4
5
6
7
8
20
22
23
-
3
2
7
8
6
5
1
4
9
-
Señal
-
TD
RD
RTS
CTS
DSR
-
DCD
DTR
RI
DSRD
Dirección
Descripción
-
DCE<-DTE
DCE->DTE
DCE<-DTE
DCE->DTE
DCE->DTE
-
DCE->DTE
DCE<-DTE
DCE->DTE
DCE<->DTE Data signal rate detector
Protección de tierra
Transmisión
Recepción
Request to send
Clear to send
Data set ready
Tierra (común)
Data carrier detect
Data terminal ready
Ring indicator
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
11
UNIVERSIDAD
DE CANTABRIA
Distribución de pines en la Interfaz
RS-232C (cont.)
TD (transmitted data) y RD (received data)
• líneas de transmisión y recepción de datos
RTS (request to send)
• el DTE le dice al DCE que le quiere enviar un dato
CTS (clear to send)
• el DCE le dice al DTE que está preparado para aceptar un dato
• cuando el DTE recibe la señal puede comenzar a enviar el dato
DCD (data carrier detect)
• el DCE activa esta señal cuando detecta la portadora y la
mantiene activa durante toda la conexión
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
12
UNIVERSIDAD
DE CANTABRIA
Distribución de pines en la Interfaz
RS-232C (cont.)
DSR (data set ready)
• el DCE la activa para indicar que está preparado para operar
DTR (data terminal ready)
• el DTE indica que ha arrancado y está listo para operar
• normalmente se mantiene activa durante toda la conexión
RI (ring indicator)
• el DCE informa al DTE de que quiere conectarse
DSRD (data signal race detector)
• permite cambiar entre dos velocidades de transmisión
diferentes
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
13
Modos de funcionamiento de la
interfaz serie
La interfaz serie puede utilizar tres modos de funcionamiento:
• Simplex
- modo unidireccional en el que sólo el DTE o el DCE pueden
UNIVERSIDAD
DE CANTABRIA
transmitir datos
• Half-duplex
• Full-duplex
- DTE y DCE pueden transmitir datos pero no a la vez, lo hacen sobre
una única línea que usan alternativamente
- dos líneas de datos separadas sobre las DTE y DCE pueden
transmitir simultáneamente
Dispositivos como una impresora utilizan una conexión simplex,
mientras que un modem u otro DTE suelen utilizar full-duplex
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
14
Modos de funcionamiento de la
interfaz serie (cont.)
Conexión de una impresora (Messmer [1]):
UNIVERSIDAD
DE CANTABRIA
COMPUTADOR
IMPRESORA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
15
Modos de funcionamiento de la
interfaz serie (cont.)
Conexión entre dos computadores (Messmer [1]):
UNIVERSIDAD
DE CANTABRIA
Habitualmente es suficiente con cruzar las líneas de transmisión y
recepción, y posiblemente conectar una salida de un computador
(RTS) con una entrada del otro (CTS)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
16
La UART en el PC
El PC dispone de un chip para la comunicación serie:
• UART 8250
- permite una velocidad máxima de transferencia de 9600 bps
UNIVERSIDAD
DE CANTABRIA
• UART 16450
• UART 16550
- permite una velocidad máxima de transferencia de 115200 bps
-
incorpora un buffer FIFO tanto para los datos de entrada como para
los de salida, haciendo que los errores de sobreescritura sean
menos frecuentes
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
17
Distribución de pines en la UART
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
Messmer [1]
18
Distribución de pines en la UART
(cont.)
A0-A2, CS0, CS1, CS2, CSOUT, AS
• líneas de direccionamiento, selección de chip, y reconocimiento
UNIVERSIDAD
DE CANTABRIA
de dirección
• junto con el bit DLAB (divisor latch access bit) permite la
selección de los registros internos
D0-D7, DDIS, DINS, DINS, DOUTS, DOUTS
• líneas de datos, validez y dirección de los datos
OUT1, OUT2
• salidas programadas por el usuario
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez, Michael González
5/ma/14
19
Distribución de pines en la UART
(cont.)
INTR
• línea de solicitud de interrupción por parte de la UART
BAUDOUT
• señal con una frecuencia que es 16 veces la programada como
UNIVERSIDAD
DE CANTABRIA
baud rate
RCLK
• reloj de recepción (se debe suministrar una frecuencia 16 veces
la del baud rate de recepción)
• s
Comentarios de: PTR-TEMA5 (0)
No hay comentarios