0% encontró este documento útil (0 votos)
40 vistas34 páginas

Serial

Serial :))

Cargado por

Isa Rocha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas34 páginas

Serial

Serial :))

Cargado por

Isa Rocha
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Controlador de Puerto Serie

Alejandro Furfaro

Progrmacion Sistemas Operativos

19 de Mayo de 2011 - 1c2011

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 1 / 22


Temario

1 Comunicacion serie
2 Hardware
Controladores de comunicacion
Comunicacion asincronica
3 UART 16550
Hardware
Interfaz de programacion
4 Coding

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 2 / 22


Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo


COMUNICACION PARALELO
Gran velocidad.
Distancias cortas.
No se garantiza el tiempo de transito.
Muchas lneas de interconexion.
El dato esta presente en un bit por cada lnea de datos.
Volumen de software para la atencion del sincronismo.
COMUNICACION SERIE
Velocidad Inferior.
Distancias grandes.
Cantidad reducida de lneas de interconexion (mnimo tres).
El dato se transmite bit por bit.
Asincronica o Sincronica.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 3 / 22
Comunicacion serie

Comparacion serie paralelo

COMUNICACION SINCRONICA Un par de lneas para


datos y una lnea de clock

COMUNICACION ASINCRONICA No hay clock, el


transmisor y el receptor se ponen de acuerdo en
la velocidad de transmision.

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 4 / 22


Hardware Controladores de comunicacion

USARTs y UARTs

USART : Unidad Sincronica Asincronica Receptora


Transmisora. Maneja los dos tipos de
comunicacion. Cayo en desuso hace muchos
anos ya que transmitir el clock agrega
complejidad al hardware, especialmente en
distancias largas.
UART : Unidad Asincronica Receptora Transmisora.
Es la interfaz serie que utiliza la PC.
Actualmente esta siendo remplazada por USB,
pero es una interfaz sumamemnte utilizada aun
en sistemas embeeded, debido a su simpleza de
manejo y su versatilidad.
Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 5 / 22
Hardware Controladores de comunicacion

UARTs: evolucion
Chip Funcionalidad
8250 Primer UART de la serie. Contiene no scratch register. El 8250A fue una
version mejorada del 8250 que opera mas rapido del lado bus.
8250A Esta UART es que el 8250 del lado bus. Para el software se ve tal como
un 16450.
8250 Muy similar a la UART 8250.
16450 Utilizado en las AT (Mejora la velocidad de bus respecto del 8250s). Opera
a 38.4KBPS sin problemas.
16550 Primer generacion de UART buffereada. Tiene un buffer de 16 bytes, sin
embargo, no funciono adecuadamente y fue reemplazado por el 16550A.
16550A Es la UART mas comun utilizada para Modems de comunicaciones. Ls buf-
fers de 16 bytes funcionan correctamente.
16650 Contiene un FIFO de 32 bytes, X-On / X-Off caracteres programables y
soporte a manejo de energa.
16750 Producido por Texas Instruments. Contiene un FIFO de 64 bytes.

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 6 / 22


Hardware Controladores de comunicacion

Erase una vez una PC y sus puertos serie...

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 7 / 22


Hardware Comunicacion asincronica

Control de flujo por software

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 8 / 22


UART 16550 Hardware

16550. Diarama en Bloques

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 9 / 22


UART 16550 Hardware

16550: Diagrama en Bloques simplificado

RBR: Receiver Buffer Register (Read only)


THR: Transmitter Holding Register (Write only)
DLL: Divisor Latch LSB
DLM: Divisor Latch MSB
IER: Interrupt Enable Register
IIR: Interrupt Identification Register (Read only)
FCR: FIFO Control Register
LCR: Line Control Register
MCR: MODEM Control Register
LSR: Line Status Register
MSR: MODEM Status Register
SCR: Scratch Register

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 10 / 22


UART 16550 Interfaz de programacion

LCR: Line Control Register BASE+3

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 11 / 22


UART 16550 Interfaz de programacion

LCR: Line Control Register BASE+3

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 12 / 22


UART 16550 Interfaz de programacion

Velocidad de Transmision

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 13 / 22


UART 16550 Interfaz de programacion

Velocidad de Transmision

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 14 / 22


UART 16550 Interfaz de programacion

Programando del Baud Rate

v o i d OpenCom ( v o i d )
{
unsigned char b y t e ;

o u t b ( LCR , 0 x83 ) ; // s e t DLAB 8 ,N, 1


o u t b ( DLL , 0 x0C ) ; // 9600
o u t b (DLM , 0 x00 ) ;

b y t e = i n b (LCR ) ;
o u t b ( LCR , 0 x7F & b y t e ) ; // c l e a r DLAB
}

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 15 / 22


UART 16550 Interfaz de programacion

LSR Line Status Register BASE + 5

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 16 / 22


UART 16550 Interfaz de programacion

IER Interrupt Enable Register BASE + 1

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 17 / 22


UART 16550 Interfaz de programacion

IIR Interrupt Enable Register BASE + 2

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 18 / 22


UART 16550 Interfaz de programacion

Interrupciones Simultaneas

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 19 / 22


UART 16550 Interfaz de programacion

Interrupciones Diagrama General detallado

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 20 / 22


Coding

En assembler... para no perder la costumbre

SERIAL PORT equ 0 x3f8


SERIAL IER equ SERIAL PORT+1
SERIAL LCR equ SERIAL PORT+3
SERIAL FIFO equ SERIAL PORT+2
SERIAL IIR equ SERIAL PORT+2
SERIAL MCR equ SERIAL PORT+4

serial setup :
mov al ,0
mov dx , SERIAL IER
out dx , a l ; disable interrupts

mov a l , 0 x80
mov dx , SERIAL LCR ; e n a b l e DLAB
out dx , a l

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 21 / 22


Coding

En assembler... para no perder la costumbre

mov a l , 0 x01
mov dx , SERIAL PORT ; s e t b a u d r a t e a l mango : 112000
out dx , a l

mov al ,0
mov dx , SERIAL PORT+1; s e t b a u d r a t e
out dx , a l

mov a l , 0 x03
mov dx , SERIAL LCR ; 8 N 1
out dx , a l

mov al ,0
mov dx , SERIAL FIFO ; FIFO c o n t r o l r e g i s t e r , d i s a b l e FIF
out dx , a l

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 22 / 22


Coding

En assembler... para no perder la costumbre

mov a l , 0 x0b
mov dx , SERIAL MCR ; t u r n on DTR, RTS and OUT2
out dx , a l

in a l , 0 x21
and al ,11101111 b ; h a b i l i t a r IRQ de COM1
out 21h , a l

mov a l , 0 x01
mov dx , SERIAL IER ; enable data r e c e p t i o n i n t e r r u p t
out dx , a l

Alejandro Furfaro (PSO - DC) Controlador de Puerto Serie 19 de Mayo de 2011 23 / 22

También podría gustarte