Puerto Serie

Page 1

Omar Gurrola

24 Enero 2007

www.proprojects.wordpress.com

Puerto Serie El puerto serie o también conocido como RS-232 consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar la versión de 9 pines DB-9. Ese protocolo normalmente se utiliza de forma asíncrona la cual permite la transmisión aislada de cada carácter y a cada bit le corresponde un tiempo tbit. En una transmisión asíncrona, un bit identifica el comienzo y 1 o 2 bits identifican su final, no es necesario ningún carácter de sincronismo. Los bits de datos son enviados al receptor después del bit de start. El bit de menos peso es transmitido primero. Un carácter de datos suele consistir en 5 o 8 bits. Dependiendo de la configuración de la transmisión, un bit de paridad es enviado después de cada bit de datos. Se utiliza para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados. Cuando alguna de las líneas están en reposo (no se transmiten datos) esta se mantiene en “1” uno lógico (“Marca”). El formato que se le da a cada carácter en la comunicación asíncrona es el siguiente:      

Bit de arranque: nivel 0 durante tbit Bits de carácter (5,7 u 8) Primero se transmite el bit de menor peso Bit de paridad (opcional) Paridad par o impar (puede no usarse) Bits de parada: nivel 1 durante uno o dos tbits

Cada carácter es enviado dentro de un “FRAME”, generalmente el comienzo es un bit de inicio (siempre un 0), después sigue el dato (carácter), después puede haber un bit de control de paridad y por ultimo un bit final (siempre un 1) de longitud variable (1 o 2 bits). El circuito básico de transmisión asíncrona es el siguiente:

1


Omar Gurrola 24 Enero 2007 www.proprojects.wordpress.com 1. Transforma los datos en paralelo del procesador, en una secuencia serie. 2. Incorpora los bits de arranque, paridad y parada. 3. Parte de circuitos integrados específicos. El circuito básico de recepción asíncrona es el siguiente:

El detector de arranque se activa con el paso de 1 a 0 en la línea (frecuencia de reloj parecida o múltiplo de la del transmisor para muestrear en el centro, utilizando muestreo/ recuperación en la AND. En una comunicación asíncrona se tienen los siguientes tipos de errores: 

El error de trama (framing): Ocurre cuando se produce la ausencia del bit de parada, se asocia a cada carácter recibido, posibles causas: error de sincronización, error de temporización, condición de ruptura (BREAK) de la transferencia o fallo en la transmisión.

Error de desbordamiento (overflow): Cuando se reciben nuevos caracteres cuando aún no se han leído los anteriores.

Error de paridad (parity): El bit de paridad y la paridad calculada en recepción no coinciden.

Según el estándar RS-232 los voltajes digitales son:  “0” Cero: De 5 a 15 volts para las salidas y de 3 a 15 volts para las entradas.  “1” Uno: De -5 a -15 volts para las salidas y de -3 a -15 volts para las entradas. 2


Omar Gurrola

24 Enero 2007

www.proprojects.wordpress.com

La distancia máxima a la que se puede transmitir datos es de 16 metros. La Conexión Modem Nulo Este método de conexión (DCC o Direct Cable Conection), es el más sencillo y barato de todos, está pensado principalmente para la transferencia ocasional de ficheros entre dos PCs así como algunos instrumentos que se conectan por puerto serie. Un módem nulo es cable que tiene en sus extremos dos conectores hembra para puerto serial y que intercambia algunas conexiones. La conexión MODEM null sirve para tener una comunicación mediante los conectores DB9 o DB25

3


Omar Gurrola

24 Enero 2007

www.proprojects.wordpress.com

La descripción de los pines en un conector DB-9 es la siguiente: DB25 # DB9 # Signal In/Out Description

Descripción

8

1

DCD

In

Data Carrier Detect

Detector de Acarreo de datos

3

2

RxD

In

Receive Data

Receptor de Datos

2

3

TxD

Out

Transmit Data

Transmisor de datos

20

4

DTR

Out

Data Terminal Ready Terminal de datos listo

7

5

GND

-

Ground

Tierra

6

6

DSR

In

Data Set Ready

Datos de entrada listo

4

7

RTS

Out

Request To Send

Petición para envío

5

8

CTS

In

Clear To Send

Libre para envío

22

9

RI

In

Ring Indicator

Indicador de Anillo

¿Qué es la UART? Significa Universal Asynchronous Receiver-Transmitter. Es un circuito que se utiliza para simplificar el proceso de enviar los bits uno a uno y recibirlos, teniendo en cuenta todos los tiempos necesarios para lograr una correcta comunicación y facilitándole a la CPU de esta pesada tarea. En una PC el puerto COM1 (Serial RS-232) se encuentra mapeado en la dirección: 3F8 – 3FF y utiliza los siguientes registros: MODO NOMBRE

NOMBRE

SIGNIFICADO

R

RBR

Receiver Buffer Register

Registro de buffer de recepción

R/W

DLL

Divisor Latch LSB

Divisor de velocidad, parte baja)

W

THR

Transmitter Holding Register

Registro de retención de transmisión

R/W

IER

Interrupt Enable Register

Registro de habilitación de interrupciones

R/W

DLM

Divisor latch MSB

Divisor de velocidad, parte alta

R

IIR

Interrupt Identification Register

Registro de identificación de interrupciones

W

FCR

FIFO Control Register

Registro de control FIFO 4


Omar Gurrola R/W LCR

24 Enero 2007 Line Control Register

www.proprojects.wordpress.com Registro de control de línea

R/W

MCR

Modem Control Register

Registro de control del modem

R/W

LSR

Line Status Register

Registro de estado de la línea

R/W

MSR

Modem Status Register

Registro de estado del modem

R/W

SCR

Scratch Register

Registro residual

Cada registro se encuentra mapeado en las siguientes direcciones. DLAB = 0 Puerto I/O Lectura Base RBR Base + 1 IER Base + 2 IIR Base + 3 LCR Base + 4 MCR Base + 5 LSR Base + 6 MSR Base + 7 SCR

Escritura THR IER FCR

DLAB = 1 Lectura DLL DLM IIR

- no usado

LSR MSR

Escritura

FCR

- no usado

El registro de control de línea “LCR” se utiliza para fijar los parámetros de la comunicación, por ejemplo si se desea cambiar el número de bits de datos o la paridad. Bit 0,1

valor Bit 1

2

0 0 1 1 0

Bit 0

Descripción Longitud de la palabra dato

0 1 0 1

5 bits 6 bits 7 bits 8 bits 1 bit de parada 1.5 bits de parada (palabra de 5 bits)

1 3,4,5 Bit 5

x 0 0 1

2 bits de parada (palabra de 6,7 o 8 bits) Bit 4 Bit 3

x 0 1 0

0 1 1 1

Sin paridad Paridad impar Paridad par Alta paridad 5


Omar Gurrola 6 7

1 0 1 0 1

1

24 Enero 2007 www.proprojects.wordpress.com 1 Baja paridad Freno de señal desactivado Freno de señal activado DLAB: RBR, THR y IER disponibles DLAB: DLL y DLM disponibles

Para configurar la velocidad de transmisión se utiliza el registro DLL y DLM, los cuales almacenando un valor divisor de la frecuencia del reloj conectado al 8250. Para realizar este proceso realizar lo siguiente: 1. Poner DLAB = 1 2. Almacenar en 0x3F8+0 el octeto menos significativo 3. Almacenar en 0x3F8+1 el octeto más significativo 4. Poner DLAB = 0 para seguir con la operación normal Divisor = (FREC. del reloj de referencia) / (16 * Vel. Deseada) Ej.

Se desea configurar a 400 bps Divisor = 288 = 120h = 01 20h 0x3F8 + 0 = 20h 0x3F9 + 1 = 01h

FREC = 1.8432Mhz (de la UART)

Para determinar si hay datos recibidos se debe revisar el bit DR[0] del registro LSR y el dato se puede leer del registro RBR.

6


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.