Hardware del puerto serie de los computadores

Documentos relacionados
INTRODUCCIÓN. Comunicación Serial.

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

2.5-1 USART Introducción.

EL BUS I2C CARACTERISTICAS. Fernando Remiro

Comunicación Serial: Conceptos Generales

SISTEMAS ELECTRÓNICOS DIGITALES

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Controlador de Puerto Serie

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

ITT-327-T Microprocesadores

CICLOS DEL PROCESADOR

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

CAPÍTULO 3 LA COMUNICACIÓN SERIAL

Figura 2. Formato de un dato serie síncrono.

3.1. Buses Y La Transferencia De La Información.

Velocidades Típicas de transferencia en Dispositivos I/O

Transmisión de Paquetes. Redes de Computadores 2001 Agustín J. González

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

Lógica de petición de interrupciones X. Chip controlador de teclado (8042/8741/8742) línea serie

Manejo de Entrada-Salida. Arquitectura de Computadoras

EVOLUCIÓN HISTÓRICA DE LOS µp

ORGANIZACIÓN DE LA MEMORIA

8.3. Introducción a las E/S del sistema

Manejo de Entrada-Salida. Arquitectura de Computadoras

Comunicación MM4 - USS - S7-200

SISTEMAS OPERATIVOS Arquitectura de computadores

GESTION DE ENTRADA Y SALIDA

Gestión de Entrada-salida

UART. Diseño de Sistemas con FPGA 1er cuatrimestre 2013 Patricia Borensztejn

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Instrucciones de Comunicaciones

Controlador Programable de Interrupciones i8259

Unidad de conexión de encoder S.S.I. CJ1W-CTS21. Introducción Hardware Conexionado Puesta en marcha Configuración Operación

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

Periféricos Interfaces y Buses

La expresión módem procede de las palabras modulador-demodulador, que son las dos funciones básicas que realiza ese dispositivo.

MEMORIA EJERCICIO 1 EJERCICIO 2

Velocidades Típicas de transferencia en Dispositivos I/O

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Tema: MAPAS DE MEMORIA: LÓGICA DE SELECCIÓN, GESTIÓN Y ORDENACIÓN DE LA MEMORIA. J. Luis Lázaro, J. Jesús García "MAPA DE MEMORIA" 0

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

TEMA 8. REGISTROS Y CONTADORES.

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X

EJERCICIO 7. Carlos Gómez Osuna Marisa López Vallejo

ESTRUCTURA FÍSICA DEL µp 8086

Arquitectura de Computadores II Clase #3

Introducción a la arquitectura de computadores

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Guía rápida para gestionar el puerto paralelo del PC

Controlador de Interrupciones (Versión programable) Manual de Usuario

MODBUS CONTENIDO. Protocolo de Comunicaciones MODBUS. Introducción Estructura de la Red MODBUS Características del Protocolo Aplicaciones Referencias

SISTEMAS DIGITALES II MICROPROCESADORES

ARQUITECTURA DE LAS COMPUTADORAS. UNIDAD 7: Unidades de Entrada-Salida

REDES TEMA 6 EL NIVEL FÍSICO

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

Sistemas de Interconexión entre Redes LAN

GUÍA RÁPIDA CJ1W-SCU41

Comunicación Serie RS 232

TEMAS 1 y 2 TECNOLOGIA DE LAS COMUNICACIONES INGENIERÍA INFORMÁTICA

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

2.2-1 Visión Interna PIC16F873/876. SBM

PUERTO SERIE. UTN FRC Trabajo Práctico COMUNICACIONES 2004

Periférico: dispositivo que intercambia datos con la UCP o la memoria Problemas:

M-Bus Master MultiPort 250D

La programación del puerto serial de E/S, la reconoce el DOS como COM1 y COM2. Esto se puede realizar de varias formas:

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Tema 8: Organización de la Entrada/salida

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas. Entrada/Salida. Polling e Interrupciones. Francisco García Eijó

COMUNICACIÓN SERIE (RS232)

LECCIÓN Nº 08 DISEÑO DE SISTEMAS SECUENCIALES CON REGISTROS

Sistema de memoria. Introducción

ESTRUCTURA BÁSICA DEL µc AT89C51

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

TUTORIAL DE ENTRADA/SALIDA

Bus I 2 C. Introducción

UART. Diseño de Sistemas con FPGA 2 o cuatrimestre 2011 Patricia Borensztejn

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

Registros de desplazamiento

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Departamento de Ingeniería Electrónica. Universidad de Sevilla Asignatura: Laboratorio de Microelectrónica Digital. Escuela Superior de Ingenieros

Timer Interface Module

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Introducción a los sistemas de entrada/salida Profesores y tutorías

Tema: Comunicación en Serie. Interfaz RS-232.

Estructura básica de un ordenador

Prácticas de Redes de Comunicación Industriales curso PRÁCTICA 5: AS-i

Arquitectura de Computadores II Clase #7

Tema: Microprocesadores

Organización del Computador I. David Alejandro González Márquez

Fundamentos de Hardware: Arquitectura de un ordenador

Documentación Técnica Uso Interno

TEMA 6.- INTERFACES PARA DISCOS DUROS. nexo de conexión que facilita la comunicación entre dos dispositivos

MÓDULOS B-MOTICS ESCLAVOS DE MODBUS. Bielsa electrónica S.L. Ref: mblogix1.0es.pdf

Práctica final. Emilia Cruz Fernández Martínez

Transcripción:

DEPARTAMENTO DE INFORMÁTICA Ingeniería Informática Laboratorio de Telemática y Sistemas de Transmisión de Datos Apéndice Prácticas 8 y 9 Hardware del puerto serie de los computadores Prof. Juan Manuel Orduña Huertas

II

1 CONTROLADORA UART 8250 1.1. Acceso a la 8250 y direccionamiento de sus registros Como se comentó en la introducción, una UART puede ser contemplada de forma abstracta como un conjunto de registros cuyo acceso y utilización permite activar las diferentes funciones de la UART. En el entorno PC donde es habitual el uso de la controladora 8250, la forma de acceder a?ta se basa en la asignación de una dirección de entrada/salida como dirección base para poder acceder a los registro que componen la 8250. P.e. la dirección base de puerto serie COM1 es 2F8H. A partir de esta dirección podemos acceder a todos los registros de la UART asociada a COM1. En concreto la 8250 ocupa las direcciones 2F8H hasta la 2FFH definiendo en total 8 registros 1. Sin embargo, la UART 8250 contiene 10 registros (ver Figura 1.1) Si se observa la descripción de las líneas de interfaz con el bus de sistema, observamos que sólo disponemos de 3 líneas de dirección A0-A2 con lo que únicamente podemos direcciónar 8 registros. Para solucionar este problema se utiliza un pequeño truco para reutilizar dos direcciones concretas y poder acceder a diversos registros en la misma dirección. Para ello se utiliza el séptimo bit del registro de formato de datos (denominado DLAB) de forma que el valor de dicho bit permite interpretar el contenido de los registros BASE+0 y BASE+1. Cuando el DLAB vale 0 se interpre- 1 En realidad los registro de transmisión y recepción son versiones lectura/estritura de la misma dirección y seleccionados mediante las lineas RD y WD 1

2 1. CONTROLADORA UART 8250 tan como los registros de transmisión/recepción y activación de interrupciones respectivamente y cuando el DLAB vale 1 se interpretan como registros que contienen la parte baja y alta del registro latch divisor. Más adelante se describen detalladamente los registros que componen la 8250. En la figura 1.1 se representa el diagrama de bloques de la 8250. Circuitería de control de modem. Se encargan de controlar las funciones RS-232. Circuitería de control de emisi?. Su función consiste en almacenar temporalmente los datos hasta que la CPU los recoja. Circuitería de control de recepción. Gestiona los bytes recibidos por la línea de comunicación. Circuitería de control de interrupciónes. Maneja el mecanismo de activación y gestión de interrupciones. 1.2. Descripción de los registros de la UART 8250 1.2.1. Registro del buffer de rececptor (BASE+0). Cuando se ha recibido de la línea SIN un caracter completo, este es transferido desde el registro de desplazamiento de recepción (conectado con la línea SIN como se observa en la figura 1.1 hasta el registro del buffer de receptor, donde queda disponible para la CPU. 1.2.2. Registro del buffer de transmisor (BASE+0). Cuando se escribe un byte en este registro, automáticamente se transfiere sobre el registro de desplazamiento de transmisión, de forma que el bloque de control de transmisión en combinación

1.2. DESCRIPCIÓN DE LOS REGISTROS DE LA UART 8250 3 buffer de bus de datos registro del buffer del receptor registro de desplazamiento del modem BUS DATOS INTERNOS registro de control de linea temporizado y control del receptor CLK latch divisor (LS) latch divisor (MS) generador de baudios DAUDOUT registro de estado de linea registro del buffer del transmisor temporizado y control del transmisor registro de desplazamiento del transmisor SOUT registro de control de modem registro de estado de modem logica de control de modem RTS CTS DTR DSR DCD RI OUT1 OUT2 registro de activaci\ {o}n interrupci\ {o}n registro de identific. interrupci\ {o} logica de control de interrupcion INTRUPT Figura 1.1: Diagrama de bloques de la UART 8250

4 1. CONTROLADORA UART 8250 con la línea BAUDOUT, se encarga de emitir dicho byte serialmente a traves de la linea SOUT. Esta transmisión se realiza en base al formato y par?etros usados en el registro de formato de datos (BASE+3). 1.2.3. Registro de activación de interrupciones (BASE+1). Los bits de este registro permiten activar los cuatro tipos de interrupción que sopota la 8250. Cada interrupción se activa cuando su bit asociado vale 1 : Bit 0 (RxRDY). Si este bit se encuentra a 1 se genera una interrupción cada bez que existe un byte disponible en el registro del buffer del receptor. Bit 1 (TBE). Si este bit se encuentra a 1 se genera una interrupción cada bez que se desplaza un byte desde el buffer de transmisión al registro de desplazamiento para transmisión. Esto significa que el bufer se encuentra vacio, con lo que la UART será capaz de recibir un nuevo carester. Bit 2 (ERROR). Si este bit se encuentra a 1 se genera una interrupción cuando se detecta un error de paridad, de trama o encuadre ( frame error ), de sobreescritura ( overrun ) o bien si se detecta una condición break en la línea durante la llegada de un byte. Para determinar cual de los eventos anteriores ha causado la interrupción se debe consultar el registro de estado de línea (BASE+5). Bit 3 (Entrada RS-232). Si este bit se encuenra a 1 se genera una interrupción cada vez que cambie el estado de alguna línea de entrada RS-232. En este caso para averiguar que línea ha cambiado se debe consultar el registro de entrada RS-232 (BASE+6). Bit 4-7. No utilizados por lo que su valor siempre es 0.

1.2. DESCRIPCIÓN DE LOS REGISTROS DE LA UART 8250 5 1.2.4. Registro de identificación de interrupciones (BASE+2). la UART 8250 tiene una nica línea de interrupción que puede activarse por diversos motivos como se ha comentado en el registro anterior. Para que la rutina de tratamiento de interrupción pueda determinar el origen de la interrupción se debe leer este registro e interpretar los diferentes bits que lo componen: Bit 0. Este bit normalmente a 1, para a 0 cuando existe una interrupción pendiente de ser procesada. El valor de bit pasa nuevamente a 1 cuando es leido el registro. Bit 1-2. Estos bits identifican el tipo de interrupción que se ha producido segn la siguiente tabla: Prioridad Bit 2 Bit 1 Tipo interrupción 0 1 1 Error de serialización o break 1 1 0 Dato recibido 2 0 1 Buffer de transmisión vacio 3 0 0 Entrada RS-232 Estas interrupciones tienen establecido un orden de prioridad interna (no programable) tal como se describe en la anterior tabla y que va desde la mayor prioridad en caso de una interrupción por un condición de error hasta la menor en caso de interrupción por entrada RS-232. Cuando uns interrupción estápendiente no se informa de otras de menor o igual prioridad, sino que quedan bloqueadas hasta que se trate la más prioritaria. Sin embargo, cuando se trate la más prioritaria, entonces aparecen las anteriores, es decir no se pieden. 1.2.5. Registro de formato de datos (BASE+3). Control de linea. Este registro también denominado de control de línea, contiene los par?etros de la transmisión como son el nmero de bits de datos, el tipo de paridad,...

6 1. CONTROLADORA UART 8250 Bits 0-1. Estos bits seleccionan el nmero de bits de datos a transmitir segn la tabla siguiente: Bit 1 Bit 0 bits de datos 0 0 5 0 1 6 1 0 7 1 1 8 Bit 2. Indica el nmero de bits de stop. Bit 3. Refleja si la paridad esta activada ( 1 ) o desactivada ( 0 ). Bit 4. Se trata del selector de paridad, par ( 1 ) o impar ( 0 ). Bit 5. Sirve para poner o quitar paridad. Estos tres ltimos bits se combinan entre s?para dar lugar a las siguientes posibilidades: Bit 5 Bit 4 Bit 3 Tipo de paridad 0 0 0 Sin paridad 0 0 1 Paridad impar 0 1 1 Paridad par 1 0 1 Paridad siempre a 1 1 1 1 Paridad siempre a 0 Las combinaciones con el bit 5 a 1 obligan a que el bit de paridad tome siempre el mismo valor dado, independientemente del dato transmitido. No está permitidas otras combinaciones. Bit 6 (BREAK). Cuando se pone a 1 este bit obliga al controlador a poner su salida SOUT a 0. Este estado permanece hasta que cambie el valor de este bit nuevamente a 0. Bit 7 (DLAB). Se trata del bit de acceso al latch divisor que contiene el divisor de frecuencia en dos bytes almacenados en las posiciones BASE+0 y BASE+1.

1.2. DESCRIPCIÓN DE LOS REGISTROS DE LA UART 8250 7 1.2.6. Registro de control de salida RS-232 (BASE+4). Control de modem. también denominado control de modem, ete registro controla el estado de las dos líneas de salida RS-232, DTR y RTS junto con dos líneas de salida de proposito general (GPO2 y GPO1). El registro contiene también un bit de autotest (loopback). Bit 0 (DTR). El valor 1 en este bit activa la línea de salida DTR. Bit 1 (RTS). El valor 1 en este bit activa la línea de salida RTS. Bit 2 (GPO1). Permite la activación de la primera línea de salida de prop?ito general. Esta línea es utilizada en el manejo de las interrupciónes de la 8250 que luego comentaremos. Bit 3 (GPO2). Se trata del bit que controla la segunda línea de salida programada. Bit 4 (TEST). Este bit permite realizar un test mediante la conexi? temporal de las líneas de salida y entradas complementarias. Esto facilita un másodo sencillo para la comprobación de las funciones de la UART. Los datos escritos en el transmisor aparecen en el receptor y las entradas RS-232 son las que escribimos en las salidas. Para ello realiza las siguientes acciones: La salida SOUT se pasa a 1. La línea SIN se desconecta. La salida del registro de desplazamiento de transmisión se conecta con la entrada del registro de receptor. Las cuatro entradas de control RS-232 conectan internamente de la siguiente forma: CTS-RTS, DRS-DTR, DCD-GPO2, RI-GPO1. 1.2.7. Registro de estado de línea (BASE+5). Este registro contiene información sobre los eventos ocurridos en el proceso de recpción.

8 1. CONTROLADORA UART 8250 Bir 0 (RxRDY). Indica que se ha transferido un byte al buffer de recepción. Este bit se pondr?a 1 cuando se ha le?o un caracter de entrada de forma satisfactoria. Pasa a 0 cuando se accede a dicho buffer y se lee. Bit 1 (OVERRUN). Se trata de un error de sobreescritura que indica cuando pasa a 1 que un carester de buffer del receptor ha sido borrado por un nuevo carester leido sin que el anterior haya sido recogido por la CPU. Pasa a 0 cuando se lee este bit. Bit 2 (PARITY ERROR). Pasa a 1 cuando el bit de paridad del carester reibido no coincide con el esperado. Pasa a 0 cuando se lee este bit. Bit 3 (FRAME ERROR). Pasa a 1 cuando el bit de STOP del carester recibido vale 0 (error de trama o encuadre). Pasa a 0 cuando se lee este bit. Bit 4 (BREAK). Pasa a 1 cuando se detecta una condición break, es dcir aparecen ceros en la línea durante un perido superior a la longitud de un carester. Pasa a 0 cuando se lee este bit. Bit 5 (TBE). Indica una situación de buffer de transmisión vacio ( transmisor buffer empty ) cuando se pone a 1. Se activa para informar que ya se puede aceptar en parte de la CPU un nuevo carester para transmisión. Si no se verifica este bit antes de env?r un nuevo caracter al 8250, puede producirse una sobreescritura en la transmisión (escribir sobre un dato que an no ha sido transmitido), condición que no es detectada por el controlador. Bit 6 (TXE). Se activa cuando no existen caracteres para enviar, ni en el buffer de transmisión ni en el registro de desplazamiento. Bit 7. Siempre a 0. 1.2.8. Registro de estado de entrada RS-232 (BASE+6). Estado de modem. Se encarga de informar sobre los estados de las líneas de entrada RS-232.

1.2. DESCRIPCIÓN DE LOS REGISTROS DE LA UART 8250 9 Bits 0-3. Informan que ha existido algn cambio en la señal correspondiente desde la ltima vez que fueron l?dos. Al leerlos pasan a 0. bit 0: Delta CTS. bit 1: Delta DSR. bit 2: Delta RI. bit 3: Delta DCD. Bits 4-7. Indican el valor de cada una de la líneas de entrada RS-232. En modo test ( loopback ) reflejan el valor de las salidas. bit 4: CTS. bit 5: DSR. bit 6: RI. bit 7: DCD. 1.2.9. Registro de scratch pad (BASE+7). Se trata de un registro sin función conocida que no existe en las primeras versiones del 8250 y que puede ser utilizado libremente por el usuario. 1.2.10. Registro de latch divisor (BASE+0) (BASE+1) con DLAB=1. Como hemos explicado en la descripción del bloque de líneas de reloj, el reloj de referencia del 8250 se divide por un entero de 16 bits (divisor) para betner el reloj maestro que a su vez se divide por 16 para obtener el reloj en baudios que controlar?la transmisión. En caso quebaudout se encuentre conectada a la señal RCLK, también gobernar?la recepción. El divisor para cualquier frecuencia puede obtenerse mediante la f?mula:

10 1. CONTROLADORA UART 8250 Divisor = Frecuencia reloj referencia 16 Velocidad deseada Para seleccionar la velocidad deseada se escribe en el 8250 el divisor correspondiente mediante la siguiente secuencia de pasos: Poner el bit DLAB a 1. Almacenar en (BASE+0) el octeto menos significativo. Almacenar en (BASE+1) el octeto más significativo. Poner el bit DLAB a 0 para proseguir con la operación normal. 1.2.11. Manejo de interrupciones Las UART de la familia 8250 y derivadas están pensadas para funcionar por interrupciones pero también pueden aplicarse t?nicas basadas en muestreo. En el modo por interrupciones se dispone de una nica línea INTR que se activa cada vez que existe una interrupción pendiente. Por tanto no suministra información sobre la localización del correspondiente manejador de interrupciones que debe ser obtenida por la propia CPU. Una vez determinada la dirección de la rutina de tratamiento de interrupciones, se debe averiguar el origen de la interrupción consultando el registro de identificación de interrupciones (BASE+2). De esta forma podrá aplicarse el tratamiento adecuado a la interrupción ocurrida. El tratamiento de dichas interrupciones se realiza en orden de prioridad de forma que las de prioridad inferior o igual quedan bloqueadas hasta que sea tratada la de mayor prioridad. En función del tipo de interrupción se realizará las siguientes operaciones para su eliminación: BREAK: lectura del registro de estado de serialización.

1.2. DESCRIPCIÓN DE LOS REGISTROS DE LA UART 8250 11 RxRDY: lectura del dato del buffer receptor. TBE: escritura en el buffer transmisor o lectura del registro de identificación de interrupciones. Entrada RS-232: lectura del registro de estado RS-232. A pesar que el 8250 fue pensado originalmente para funcionar mediante interrupciones la introducción de mayor nmero de buffers de transmisión-recepción en las UART más recientes, posibilita operaciones de muestreo. Para ello se utiliza un esquema de bloqueo de interrupciones mediante la línea GPO2 que permite inhibir la línea INTR.