You are on page 1of 54

Ingeniera Electrnica UNSA

_____________________________________________________________________________

1


UNIVERSIDAD NACIONAL DE SAN AGUSTIN

FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA




TEMA:
Lab. 7-Exp 5: Uso de Puertos para control externo
DOCENTE:
Ing. ERASMO SULLA
CURSO DE:
Lab. ARQUITECTURA DE COMPUTADORAS
INTEGRANTES:
CANGRE CHAMPI, JOEL 20020329 ...
ZIGA CALISAYA, JUAN HELBERTH 19993259 ...


AREQUIPA-PERU
Ingeniera Electrnica UNSA
_____________________________________________________________________________

2

2009
INDICE

1. Describir los pines del puerto paralelo LPT1, identificar los tipos de puertos y
sus direcciones con las que podemos usarlas.

2. Como configuramos el puerto paralelo para transmitir datos en forma
bidireccional.

3. Describir los parmetros con los cuales usamos las instrucciones de entrada y
salida de datos por los puertos de E/S de la PC.

4. Describa los pines del puerto serial COM, identificar los pines en el puerto y
usar comandos DOS para poder configurar y transferir informacin.

5. Como configuramos el integrado de comunicaciones para transmitir datos a
travs del puerto serial.

6. Determinar el uso del puerto USB del Sistema, caractersticas

7. Determinar el uso de los slots de Expansion ISA y PCI

8. Lenguajes de Programacin con las instrucciones de lectura y escritura de
puertos.(falta no la tengo )

9. Programas Aplicativos para uso de puertos







Ingeniera Electrnica UNSA
_____________________________________________________________________________

3




USO DE PUERTOS PARA CONTROL EXTERNO

1. Describir los pines del puerto paralelo LPT1, identificar los tipos de puertos y sus
direcciones con las que podemos usarlas.
El puerto paralelo de una PC es ideal para ser usado como herramienta de
control de motores, rels, LED's, etc. El mismo posee un bus de datos de 8 bits
(Pin 2 a 9) y muchas seales de control, algunas de salida y otras de entrada
que tambin pueden ser usadas fcilmente.
Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero con muy
poco dinero se le puede adicionar una tarjeta con un segundo puerto paralelo
(LPT2).
En reglas generales la direccin hexadecimal del puerto LPT1 es igual a 0x378
(888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede
verificar fcilmente en el setup de la PC o bien en el cartel que generalmente la
PC muestra en el momento del booteo. Puede darse el caso que el LPT1 asuma
la direccin 0x3BC (956 en decimal) y el LPT2 0x378, en ese caso habr que
tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea
posible. De lo contrario se puede modificar el software que veremos mas
adelante para aceptar esas direcciones.


Pin Nombre Dir
Descripcin
1 /STROBE Strobe
2 D0 Data Bit 0
3 D1 Data Bit 1
4 D2 Data Bit 2
Ingeniera Electrnica UNSA
_____________________________________________________________________________

4

5 D3 Data Bit 3
6 D4 Data Bit 4
7 D5 Data Bit 5
8 D6 Data Bit 6
9 D7 Data Bit 7
10 /ACK Acknowledge
11 BUSY Busy
12 PE Paper End
13 SELIN Select In
14 /AUTOFD Autofeed
15 /ERROR Error
16 /INIT Initialize
17 /SEL Select
18 GND -- Signal Ground
19 GND -- Signal Ground
20 GND -- Signal Ground
21 GND -- Signal Ground
22 GND -- Signal Ground
23 GND -- Signal Ground
24 GND -- Signal Ground
25 GND -- Signal Ground
Breve descripcin del puerto paralelo:
El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra
cuyo diagrama y seales utilizadas podemos ver en la siguiente figura:

Ingeniera Electrnica UNSA
_____________________________________________________________________________

5



Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo
debemos escribir el byte correspondiente en la direccin hexadecimal 0X378
(888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal)
cuando trabajamos con el LPT2. Los distintos pins (bits) de salida
correspondientes al bus de datos no pueden ser escritos en forma
independiente, por lo que siempre que se desee modificar uno se debern
escribir los ocho bits nuevamente.
Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una
lectura a la direccin hexadecimal 0x379 (889 en decimal) si trabajamos con el
LPT1 o bien leer la direccin 0x279 (633 en decimal) si trabajamos con el
LPT2. La lectura ser devuelta en un byte en donde el bit 6 corresponde al pin
10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3
corresponde al pin 15.
En la siguiente tabla se puede ver lo antedicho en una forma ms grfica:
Escritura: Salida de Datos
Escritura en direccin 0x378 (LPT1) o 0x278 (LPT2)
DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
DB25 Pin 9 Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin2
Ingeniera Electrnica UNSA
_____________________________________________________________________________

6

CN5 TTL 7 TTL 6 TTL 5 TTL 4 TTL 3 TTL 2 TTL 1 TTL 0
CN4
No
usar
HP 6 HP 5 HP 4 HP 3 HP 2 HP 1 HP 0

Lectura: Entrada de Datos
Lectura en direccin 0x379 (LPT1) o 0x279 (LPT2)
DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
DB 25
No
usar
Pin
10
Pin
12
Pin
13
Pin
15
No
usar
No
usar
No usar
CN6
No
usar
Input
3
Input
2
Input
1
Input
0
No
usar
No
usar
No usar
La interfaz nos provee 8 salidas TTL, 7 salidas de potencia (500ma) y cuatro
entradas TTL. Es importante tener en cuenta que las salidas TTL entregan una
tensin de 5v y solo se les puede exigir un mnimo de corriente, apenas
suficiente para activar un transistor o bien un par de compuertas TTL.
As mismo las entradas TTL deben ser alimentadas con una tensin mxima de
5v o de lo contrario el chip resultar daado. Esta tensin se obtiene desde
VDD a travs del regulador U1 (7805).
Las 7 salidas de potencia no son mas que la amplificacin mediante un array
de transistores Darlington (ULN2003) de las salidas TTL 0 a 6 (la salida 7 no es
usada). Este chip puede drenar una corriente mxima de 500ma, lo que es
suficiente para activar un LED, un rel y hasta un motor DC de bajo consumo
(tipo motor de grabador).
La teora de funcionamiento es muy simple, solo se usan unas compuertas del
tipo Buffer (74HC245) para poder conectarnos con seguridad al puerto
paralelo, y un array de transistores Darlington (ULN2003) para brindar una
salida de mayor potencia.
Cabe aclarar que los dos integrados 74HC245 se alimentan del regulador de
voltaje 7805, el cual se encarga de reducir la tensin de entrada (VDD) a 5v
Ingeniera Electrnica UNSA
_____________________________________________________________________________

7

(Vcc). La tensin VDD debe estar comprendida entre 9 y 12v.La tensin de
entrada VHH alimenta directamente al ULN2003 para obtener mayor voltaje
en caso de querer manejar un rel o bien un pequeo motor. La tensin VHH
debe estar comprendida entre 3 y 15v. VHH podr conectarse directamente a
VDD (y de esa forma usar solo un fuente de alimentacin) siempre que esto no
provoque problemas de ruido.
En los siguientes diagramas se pueden apreciar un ejemplo de conexionado de
un LED y un Rel a las salidas de potencia. En forma anloga podramos
conectar tambin un pequeo motor DC.




2. Como configuramos el puerto paralelo para transmitir datos en forma
bidireccional.

A pesar del avanza de nuevos puertos como el USB es aun normal incluir un
puerto paralelo en los ordenadores personales. Este puerto incluye 8 lineas de
datos paralelas, lo cual nos permite transmitir de byte en byte. El puerto paralelo
que se usa actualmente se basa en el estndar IEEE-1284. Esta norma define
distintos modos de funcionar del puerto paralelo. En ella quedaban ciertos
Ingeniera Electrnica UNSA
_____________________________________________________________________________

8

aspectos sin definir, como los conectores. En este aspecto se impusieron sobre
todo 2 tipos de conectores los db25 y los Centronics. En nuestro caso usaremos el
db25. El puerto paralelo usa niveles TTL, es por ello que la comunicacin con un
microcontrolador es muy sencilla.
El puerto paralelo ha ido soportando distintos tipos de transmisin a medida que
los perifricos que se conectaban a el evolucionaban.
Modos de funcionamiento del puerto paralelo.

Modo estndar o compatible(SPP)
El modo original. Este modo fue el primero que se cre. El puerto paralelo
se usaba en una direccin, mandado datos desde el PC hacia el perifrico
por 8 lineas paralelas. El perifrico poda devolver su estado por algunas
lineas de estado (BUSY, PAPER..,...). Tambin se definan ciertas lineas de
control desde el PC hacia el perifrico.
Modo Nibble
Configuracin especial del modo compatible para lograr un transmitir un
nibble de forma bidireccional. esto se logra conexionando 4 lineas de
control a 4 lineas de datos.
Modo Bidireccional (Byte Mode)
Una implicacin del modo estndar. En este modo es posible utilizar las 8
lineas de datos en modo bidireccional. Es el modo que usaremos.
Puerto paralelo extendido (EPP)
Utilizado para perifricos CDROM, cintas, discos duros. Inclua varios
estados: ciclo lectura de datos, de escritura de datos y lectura y escritura
de direcciones .
Puerto paralelo mejorado (ECP)
Ingeniera Electrnica UNSA
_____________________________________________________________________________

9

El mas avanzado. Este modo es el que mayor velocidad ofrece. Es
bidireccional y el handsake (secuencia de inicializacin de la comunicacin
con el perifrico) es generado por hardware (ahorro de CPU).
Usando el modo Byte.
De entre los distintos modos de funcionamiento tenamos que elegir uno. El
elegido fue el "modo byte" .
Porque?
Cual es el motivo de usar el modo byte cuando el modo ECP parece mas
avanzado? La razn estriba en que el modo ECP genera por hardware toda la
secuencia de "handsake". Esto, que a la hora de comunicarnos con perifricos que
soporten dicho modo es una gran ventaja (es ms rpido que la generacin de
handsake por software), se convierte en un problema cuando queremos
aprovechar algunas de la lineas de control del puerto para comunicacin.
Necesitamos mandar datos con cierta velocidad desde el uC al PC (usar todo un
byte), vemos que el modo SPP y el modo nibble. quedan descartados tambin.
Ya solo nos queda el modo byte, ya que es el nico que nos permite un control de
todas las lineas (tanto de datos como de control) y el uso bidireccional de las
lineas de datos (para poder recibir por ellas en vez de enviar).
Lineas de transmisin
En nuestro caso, aparte de las 8 lineas de datos que usaremos para mandar un
byte desde el microcontrolador hacia el PC, necesitaremos tambin 4 lineas de
datos desde el PC hacia el uC, as como una linea de ACK desde el uC hacia el PC.
Las lineas que usaremos sern las siguientes:
8 lineas de datos. Desde el pin 2 del conector db25 hasta el pin 9
4 lineas de comando, pines 1,14,16 y 17
Una linea de ACK desde el uC hacia el PC. Pin 12.
Para la conexin con en uC solamente usaremos unas resistencias que limiten la
corriente en las lineas de datos (entre 1k y 4k7 por ejemplo) conectando
directamente el resto de lineas.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

10

Pasando de modo ECP a modo byte
Para asegurarnos de que estamos trabajando en el modo Byte lo primero sera
pasar del modo ECP (si es que el PC en concreto lo soporta) a modo byte.
En el modo ECP se utiliza un registro de configuracin en la direccin de memoria
(direccin base del puerto paralelo) + 0x402. Si usamos el primer puerto paralelo
la direccin base sera 0x378 a la que le sumarermos 0x402 . A este registro de
control se le llama "Extended Control Register" (ECR). En este registro de
configuracin hay un terceto de bits con el cual elegiremos el modo de
funcionamiento del puerto.
El esquema del registros es el que sigue:
Direccin del registro | Funcin
-----------------------|----------------------------------------------
Base + 0 | Puerto de Datos (Aqui recibiremos los datos)
Base + 1 | Puerto de Estado (Aqui tendremos el ACK)
Base + 2 | Puerto de Control (Aqui mandaremos los comandos)
Base + 402h | Puerto de Control Extendido (ECR) (Used by all modes)
Las funciones de los bits del resgistro de control extendido son:
Bit| Funcin
---|-----------------------------------
7:5| Elegir el mode de funcionamiento
| 000 Standard Mode
| 001 Byte Mode (el que vamos a usar)
| 010 Parallel Port FIFO Mode
| 011 ECP FIFO Mode
| 100 EPP Mode
| 101 Reserved
| 110 FIFO Test Mode
| 111 Configuration Mode
---|-----------------------------------
4 | ECP Interrupt Bit
3 | DMA Enable Bit
2 | ECP Service Bit
1 | FIFO Full
Ingeniera Electrnica UNSA
_____________________________________________________________________________

11

0 | FIFO Empty
Por lo tanto deberemos escribir un 001 en los bits numero 5,6 y 7 de este registro.
El resto no tendremos que modificarlos.
El registro de control (base + 2) tiene los siguientes bits:
Bit| Funcin
---|-----------------------------------
7 | Unused
6 | Unused
5 | Enable Bi-Directional Port (Activamos el modo bidireccional)
4 | Enable IRQ Via Ack Line
3 | Select Printer (linea de control PC->uC)
2 | Initialize Printer (Reset) (linea de control PC->uC)
1 | Auto Linefeed (linea de control PC->uC)
0 | Strobe (linea de control PC->uC)
Por ultimo el mapa de bits del registro de estado (base + 1) es el siguiente:
Bit| Funcin
---|-----------------------------------
7 | Busy
6 | Ack
5 | Paper Out (Aqui pondremos la seal ACK)
4 | Select In
3 | Error
2 | IRQ (Not)
1 | Reserved
0 | Reserved
Para completar un listado de los pines del puerto en un conector db25 y las
seales que le corresponden:
<= in DB25 Cent Name of Reg
=> out pin pin Signal Bit Function Notes
------ ---- ---- -------- --- -----------------------------
=> 1 1 -Strobe C0- Set Low pulse >0.5 us to send
=> 2 2 Data 0 D0 Set to least significant data
=> 3 3 Data 1 D1 ...
Ingeniera Electrnica UNSA
_____________________________________________________________________________

12

=> 4 4 Data 2 D2 ...
=> 5 5 Data 3 D3 ...
=> 6 6 Data 4 D4 ...
=> 7 7 Data 5 D5 ...
=> 8 8 Data 6 D6 ...
=> 9 9 Data 7 D7 Set to most significant data
<= 10 10 -Ack S6+ IRQ Low Pulse ~ 5 uS, after accept
<= 11 11 +Busy S7- High for Busy/Offline/Error
<= 12 12 +PaperEnd S5+ High for out of paper
<= 13 13 +SelectIn S4+ High for printer selected
=> 14 14 -AutoFd C1- Set Low to autofeed one line
<= 15 32 -Error S3+ Low for Error/Offline/PaperEnd
=> 16 31 -Init C2+ Set Low pulse > 50uS to init
=> 17 36 -Select C3- Set Low to select printer
== 18-25 19-30, Ground
Aveces una imagen vale mas que mil palabras :

Bit de modo bidireccional
Una vez en el modo byte tenemos que indicar que las 8 lineas de datos se usaran
en el modo contrario al original, esto es, los datos llegaran a travs de ellas. Para
ello hay que poner a 1 el bit 5 del registro de configuracin del puerto paralelo
(dir. base + 0x02) que adems tambin es la direccin donde se mapean algunas
Ingeniera Electrnica UNSA
_____________________________________________________________________________

13

de las lineas de control que usaremos. Es por ello que habr que tener cuidado de
solo escribir el bit 5, dejando el resto del registro sin modificar.
Mandando datos hacia el uC
Para mandar datos desde el PC hacia el uC usaremos 4 lineas de las llamadas
lineas de control del puerto. Es por ello que para activar dichas lineas tendremos
que escribir en el byte de control del puerto paralelo. Este registro se encuentra
en la posicin direccin base + 2, siendo el mismo que hemos usado para indicar la
activacin del modo bidireccional. Hay que tener en cuenta que algunas de las
lineas son invertidas por el hardware del puerto paralelo, por lo tanto nosotros
deberemos invertir algunos bits del comando a mandar.
Recibiendo datos desde el uC
Para recibir datos desde el microcontrolador nicamente hay que leer la direccin
base del puerto paralelo del PC.
Recibiendo el ACK
El microcontrolador cuando quiera dar a saber que ha recibido un dato activara la
linea que hemos reservado para el ACK. Esta linea, que esta en el pin 12 del
conector d25, puede ser leda a travs del registro de status del puerto paralelo.
Este registro se encuentra en la posicin de memoria direccin base + 1, siendo la
linea en cuestin el quinto bit de dicho registro (el que tendria la funcion paper
out).
En el PC
Para la programacin en el PC hemos usado el software LabView para
instrumentacin virtual. Como deberemos acceder a posiciones de memoria que
tienen mapeados las distintas lneas del puerto paralelo as como los registros de
control, deberemos usar una vi especial. Este vi nos permite tener acceso directo a
una posicin de memoria.
Lo primero que deberemos hacer ser una secuencia de inicializacin del puerto
paralelo. Para ello seguiremos los pasos arriba indicados. Seguiremos con el
protocolo creado:
1. Pasar de modo ECP a modo byte
Ingeniera Electrnica UNSA
_____________________________________________________________________________

14

2. Activar el bit de bidireccionalidad (bit 5 del registro de control, base + 2).
3. Escribir el comando (4 bits de menos peso) en el registro de control (base +
2)
4. esperar el ACK
5. leer el dato del registro base
6. mandar una confirmacin de recepcin a travs de las lineas de
comando(registro base + 2)
7. esperar el ACK
8. repetir las veces que sea necesario


3. Describir los parmetros con los cuales usamos las instrucciones de entrada y
salida de datos por los puertos de E/S de la PC.

Los parmetros que se utilizan para programar la entrada y salidas de los puertos
de entrada de la PC, son los encargados de establecer la forma como se realizar la
entrada y la salida, y la habilitacin de los pines adecuados para ello.


4. Describa los pines del puerto serial COM, identificar los pines en el puerto y usar
comandos DOS para poder configurar y transferir informacin.
9 PIN D-SUB macho en la computadora

Pin Nobre Dir Descripcion
1 CD Carrier Detect
2 RXD Receive Data
3 TXD Transmit Data
4 DTR Data Terminal Ready
5 GND -- System Ground
6 DSR Data Set Ready
7 RTS Request to Send
8 CTS Clear to Send
9 RI Ring Indicator

MODE (MODO)
Ingeniera Electrnica UNSA
_____________________________________________________________________________

15

Configura los dispositivos del sistema. El comando mode realiza muchas tareas
diferentes, como mostrar el estado del sistema, cambiar su configuracin o volver
a configurar puertos o dispositivos.
Utilizar el comando mode
Puesto que el comando mode puede realizar distintas tareas, la sintaxis necesaria
para ejecutar cada una ser diferente. Por tanto, en esta seccin se hace
referencia a cada tarea de forma independiente. A continuacin se presenta una
lista de tareas para las que puede utilizar el comando mode.
Volver a configurar una impresora conectada a un puerto paralelo (PRN,
LPT1, LPT2 o LPT3) para imprimir 80 o 132 caracteres por lnea, 6 u 8 lneas
por pulgada o ambos (si la impresora admite estas caractersticas).
Configurar la velocidad de transmisin, la paridad y el nmero de bits de
datos y bits de parada de un puerto de comunicaciones serie (COM1,
COM2, COM3 y COM4) con el fin de utilizarlo con una impresora, un
mdem u otro dispositivo serie.
Presentar el estado de todos los dispositivos o de un nico dispositivo.
Redirigir la informacin de salida de la impresora de un puerto paralelo a
un puerto serie, de manera que ste ltimo se convierta en el puerto de
impresin predeterminado del sistema.
Cambiar el tamao de la ventana del smbolo del sistema.
Establecer la velocidad de repeticin del teclado.
Seleccionar, actualizar o mostrar los nmeros de las pginas de cdigos de
la consola.

Se puede definir como un "circuito asociado al PC capaz de transmitir datos a otro
PC utilizando una serie de elementos simples".
Este circuito puede identificarse en la parte posterior del ordenador mediante las
inscripciones Serie 1 y Serie 2, o bien como COM1 y COM2. Lo ms normal es que
el PC venga provisto de 4 puertos serie (COM1, COM2, COM3 y COM4) pero
puede extenderse hasta 8.
Externamente, el conector que da acceso a este circuito es un conector macho en
forma de D con 25 9 conectores (pines).
Algunos ordenadores vienen provistos con puertos serie de la siguiente forma:
COM1-9 PINES
COM2-9 PINES
Generalmente son mquinas que tienen el circuito integrado en la placa base y
por lo tanto de difcil acceso para reparaciones.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

16

Otros ordenadores (caso ms habitual) disponen de dos puertos serie de la
siguiente forma:
COM1-9 PINES
COM2-25 PINES
Generalmente estos ordenadores tienen dicho circuito aadido en un adaptador
denominado MULTI I/0 (que normalmente forma parte de la propia tarjeta
controladora de discos). En estas tarjetas, adems de los puertos serie existe un
puerto paralelo (conector hembra d e 25 pines), y en algunos casos un puerto de
juegos (conector hembra de 15 pines) utilizado para conectar un joystick


Los datos que este circuito es capaz de transmitir al exterior estn en formato
serie (de ah su nombre), es decir bit a bit. Esto hace que la transmisin sea ms
lenta que a travs del puerto paralelo en el cual se envan 8 bits de datos a la vez.
Sin embargo, ya pesar de esta circunstancia, es ms frecuente su uso para
procesos de comunicaciones que el mencionado puerto paralelo. El puerto serie,
normalmente es usado para un dispositivo de entrada muy familiar: el ratn. Pero
su funcin no se queda ah.

DEFINICIN DE LA ESPECIFICACIN RS-232-C
Es la norma que controla el funcionamiento del puerto serie. El motivo de la
existencia de esta especificacin es la posibilidad de poder conectar sin problemas
equipos de transmisin de datos de distintos fabricantes.

Esta norma realiza el enlace entre dos equipos de comunicacin, por lo que
bsicamente existen dos tipos de interfaces RS-232-C:

Terminal de datos, denominado ETD e identificado normalmente con el propio
ordenador.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

17

Equipo de terminacin de circuito de datos, denominado ETCD. Por ejemplo, un
mdem.

Llegados a este punto podramos preguntarnos: La norma RS-232-C impide
comunicar dos ordenadores (equipos ETD) sin la intervencin de un mdem
(equipo ETCD)?
Evidentemente no, pero para ello necesitamos un enlace especial: el NULL-
MODEM.
La especificacin NULL-MODEM viene definida para un total de 25 circuitos de los
cuales el PC slo utiliza 9 para la conexin directa con otro equipo de su misma
naturaleza.


MODOS DE TRANSMISIN

Anteriormente se ha mencionado la forma de transmisin bit a bit del puerto
serie.
Pero este puerto, y debido a la norma que lo rige, es capaz de trabajar de dos
formas distintas utilizando un nmero de circuitos diferente para cada una de
ellas:
1. Transmisin sncrona
2. Transmisin asncrona
Transmisin Sncrona: el envo de la informacin se realiza de una forma regular
y previsible, es decir, los intervalos de tiempo entre un carcter enviado y el
siguiente son totalmente homogneos e iguales, pudiendo, el destinatario
prepararse contra cualquier eventualidad. Cmo puede conocer el receptor esos
tiempos intermedios o esa sincrona en la transmisin? Muy sencillo, el emisor
precede su transmisin con una codificacin o grupo de bits que informan al
receptor de los intervalos que se construirn entre cada carcter en la futura
transmisin. Este grupo de bits se llaman bits de sincronismo o SYN.
Transmisin Asncrona: el envo de la informacin se realiza de una forma
irregular e imprevisible, es decir, los intervalos de tiempo entre un carcter
enviado y el siguiente son totalmente heterogneos, no pudiendo, el destinatario
prepararse contra cualquier eventualidad.

CARACTERSTICAS Y FUNCIONAMIENTO
Para utilizar el puerto serie se necesita, adems del hardware, un software que
realice
Ingeniera Electrnica UNSA
_____________________________________________________________________________

18

el control del dispositivo RS-232-C. Este software es ofrecido por la BIOS, y
concretamente por la interrupcin 14H la cual contiene cuatro funciones que
permiten este control. Veamos una descripcin de estas cuatro funciones:

Funcin 01H: Enviar carcter
Funcin 02H: Leer carcter
Funcin 03H: Obtener Estado
Funcin 00H: Inicializacin

Para describir el trabajo lgico de este dispositivo vamos a fijamos un poco en el
protocolo que utiliza para dicha funcin. El protocolo es el modo de codificar los
datos que van a enviarse, para obtener un entendimiento entre los dos puntos
participantes de la transmisin.
Para este protocolo solo importan dos estados: 0 = Bajo, 1= Alto

Si no se est transmitiendo ningn carcter, la lnea esta en un estado alto,
mientras que si se transmite algn carcter estar en estado bajo.

Segn la convencin de la norma, seguidamente se podran enviar entre 5 u 8 bits,
pero por desgracia la BIOS solo soporta una anchura de 7 u 8 bits. Si la lnea esta
baja durante la transmisin, esto significa que el bit a transferir es un 0. Si la lnea
esta alta durante la transmisin, significa que el bit a transferir es un 1. Se enva
los datos empezando por el bit menos significativo y terminando por el ms
significativo. A este elemento del protocolo se le denomina bits de datos.
Seguidamente vendr el bit denominado bit de paridad, utilizado para detectar
errores en la transmisin. Este bit
se puede controlar de forma par o impar.

Si se controla en formato par, la lnea intentar detectar que tanto en el punto
emisor, como en el receptor el nmero de bit que son 1 sea par. Es decir:

N de unos (1) par ---- Bit de paridad = 0
N de unos (1) impar ---- Bit de paridad = 1

Si se controla en formato impar, la lnea intentar detectar que tanto en el punto
emisor, como receptor el nmero de bits que son 1 sea impar. Es decir:

N de unos (1) impar ---- Bit de paridad = 0
Ingeniera Electrnica UNSA
_____________________________________________________________________________

19

N de unos (1) par ---- Bit de paridad = 1

Para finalizar aparece el llamado bit de parada o stop el cual seala el final de la
transmisin de un carcter. El protocolo permite para este bit tres valores: 1, 1.5,
2.
La utilizacin del valor 1.5 sorprende un poco debido a la idea de la imposibilidad
de dividir un bit. Veamos la explicacin:
Supongamos que transmitimos a 1.200 bits por segundo (baudios) con un 1 bit de
parada. Como los bits de parada siempre tienen el valor 1, es decir nivel alto, la
lnea estara en este estado durante 1/1200 segundos. Pero si en vez de un bit de
parada, seleccionamos 1.5 la lnea estar en estado alto 1.5 veces ms.
Por lo tanto para conseguir una transmisin con el puerto serie debemos
seleccionar una serie de parmetros como:

Velocidad: Expresada en baudios o bps (bits por segundo)
Bits de datos (7-8): Nmero de bits usados en la transmisin
Paridad (Par o Impar): Tipo de control de errores y deteccin de los mismos
Bit de parada (1, 1.5, 2): Indicara el final del carcter enviado


5. Como configuramos el integrado de comunicaciones para transmitir datos a
travs del puerto serial.

Los puertos seriales (tambin llamados RS-232, por el nombre del estndar al que
hacen referencia) fueron las primeras interfaces que permitieron que los equipos
intercambien informacin con el "mundo exterior". El trmino serial se refiere a
los datos enviados mediante un solo hilo: los bits se envan uno detrs del otro
(consulte la seccin sobre transmisin de datos para conocer los modos de
transmisin).

Originalmente, los puertos seriales slo podan enviar datos, no recibir, por lo que
se desarrollaron puertos bidireccionales (que son los que se encuentran en los
Ingeniera Electrnica UNSA
_____________________________________________________________________________

20

equipos actuales). Por lo tanto, los puertos seriales bidireccionales necesitan dos
hilos para que la comunicacin pueda efectuarse.
La comunicacin serial se lleva a cabo asincrnicamente, es decir que no es
necesaria una seal (o reloj) de sincronizacin: los datos pueden enviarse en
intervalos aleatorios. A su vez, el perifrico debe poder distinguir los caracteres
(un carcter tiene 8 bits de longitud) entre la sucesin de bits que se est
enviando.
sta es la razn por la cual en este tipo de transmisin, cada carcter se encuentra
precedido por un bit de ARRANQUE y seguido por un bit de PARADA. Estos bits de
control, necesarios para la transmisin serial, desperdician un 20% del ancho de
banda (cada 10 bits enviados, 8 se utilizan para cifrar el carcter y 2 para la
recepcin).
Los puertos seriales, por lo general, estn integrados a la placa madre, motivo por
el cual los conectores que se hallan detrs de la carcasa y se encuentran
conectados a la placa madre mediante un cable, pueden utilizarse para conectar
un elemento exterior. Generalmente, los conectores seriales tienen 9 25 clavijas
y tienen la siguiente forma (conectores DB9 y DB25 respectivamente):


Un PC posee normalmente entre uno y cuatro puertos seriales.

La UART (Universal Asynchronous Receiver Transmitter, Transmisor receptor
asncrono universal) es un chip que rige todas las acciones a travs del puerto
serie.
Controla en todo momento las circunstancias de la transmisin as como la
deteccin de los posibles errores que puedan ocurrir.

Su funcionamiento:

Si se quiere enviar un carcter cualquiera por la lnea de datos, se transfiere en
primer lugar a un registro denominado THR (Transmisin Holding Register). En
este registro se almacena el carcter hasta que ha sido completamente procesado
el carcter enviado anteriormente.
Completada esta fase se transfiere el carcter al registro TSR (Transmisin Shift
Register) donde la UART lo enviar bit a bit a la lnea de datos.
La UART tambin se encarga de aadir a este grupo de bits que se va a enviar la
configuracin sobre el bit de paridad y parada seleccionada para tal operacin.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

21





Existen distintos tipos de chip UART. Originalmente todas las mquinas X llevaban
instalado un chip 8450 el cual determinaba unas prestaciones muy limitadas. A
este chip le siguieron otros como el 16450 o e1 16550. Estos ltimos son
caractersticos de adaptadores RS-232 instalados en ordenadores Pentium o
486DX4, aunque todava puede encontrarse algn fabricante que inserte en sus
placas base 486 chips UART del tipo 8450.

CARACTERSTICAS ELCTRICAS DEL PUERTO SERIE

Es muy comn intentar la transmisin de un determinado grupo de caracteres y
fracasar en ello. Normalmente se atribuye el fallo a una mala configuracin del
programa de comunicaciones. Si despus de comprobar que todas las opciones del
programa son correctas y sigue sin funcionar, el problema se debe entonces a un
mal funcionamiento elctrico del puerto serie

Como se ha comentado anteriormente, el puerto serie se rige por la norma RS-
232-C la cual tiene unas reglas de nivel elctrico que deben cumplir todos los
fabricantes.
Los valores elctricos para los circuitos RS-232-C son:
Valor Mximo: 25 V / Valor Mnimo: -25 V / Valor ptimo: -9,-14 V
(Se considera valor 0 los valores comprendidos entre -3 V y +3 V)

En el puerto serie siempre se cumple que:

Para un conector de 25 pines, toda mquina en estado de actividad tiene un
lgica negativa en tres circuitos: 2, 4 y 20.
Para un conector de 9 pines, esta circunstancia debe darse para los circuitos 3, 7
Ingeniera Electrnica UNSA
_____________________________________________________________________________

22

y 4.

Con un polmetro puede comprobarse el valor de tensin para cada uno de los
circuitos y confirmar su estado y estabilidad.

SIGNIFICADO DE LOS CIRCUITOS

Una de las utilidades ms comunes de este dispositivo es la transmisin de datos
va mdem. Por ello, describiremos a continuacin la funcin de los circuitos ms
importantes en relacin a este dispositivo.
TXD 2 : Transmite caracteres del PC al Mdem
RXD 3 : Recibe caracteres del Mdem
RTS 4 : Realiza una peticin de lnea
CTS 5 : Confirma lnea
DSR 6 : Conjunto de datos preparados (Buffer)
SG 7 : Referencia elctrica para los dems circuitos
CD 8 : Se activa cuando se ha conseguido conexin con otro Mdem
DTR 20 : Terminal de datos preparado. Reconocimiento del PC conectado
RI 22 : Se activa cuando se detecta una llamada
TXD3 : Transmite caracteres del PC al Mdem
RXD 2 : Recibe caracteres del Mdem
RTS 7 : Realiza una peticin de lnea
CTS 8 : Confirma lnea
DSR 6 : Conjunto de datos preparados (Buffer)
SG 5 : Referencia elctrica para los dems circuitos
CD 1 : Se activa cuando se ha conseguido conexin con otro Mdem
DTR 4 : Terminal de datos preparado. Reconocimiento del PC conectado
RI 9 : Se activa cuando se detecta una llamada
Los circuitos pueden dividirse en tres grupos:
Grupo de datos: controlan la recepcin y envo de datos
Conector de 25 pines: 2 y 3
Conector de 9 pines: 3 y 2
Grupo de control: realizan determinados controles en la lnea y el dispositivo
Conector de 25 pines: 4, 5, 6, 8, 20 y 22
Conectar de o pines: 7, 8, 6, 1, 2 y 9
Grupo de referencia: realizan un control elctrico de los dems circuitos durante
la transmisin
Conector de 25 pines: 7
Ingeniera Electrnica UNSA
_____________________________________________________________________________

23

Conector de 9 pines: 5

EL CONTROL DE FLUJO

Este control permite detener el envo de caracteres cuando la memoria temporal
de un punto de conexin se llena. Existen dos formas de realizar este control, por
software y por hardware.
Control de Flujo por software o XON/XOFF

La deteccin de buffer o memoria temporal llena la realiza el programa de
comunicaciones que se este usando en ese momento. No todos los programas
de comunicaciones tienen esta facultad.
Control de Flujo por hardware
La deteccin del buffer o memoria temporal llena se realiza por medio de tres
circuitos de la norma: DSR, CTS y CD.
Cuando se realiza un control de flujo distinto en ambos extremos de la
comunicacin, puede acarrear problemas de funcionamiento en la lnea de enlace.

RS-232-C Y EL PC

Como cualquier otro dispositivo, el puerto serie necesita para su funcionamiento
una serie de recursos del ordenador: asume una determinada interrupcin,
requiere un rea de memoria donde realizar sus intercambios con la CPU, etc. Por
lo tanto vamos a definir cada una de estas caractersticas para cada uno de los
puertos serie reconocibles por el PC.
La mayora de los programas hace referencia a los puertos serie como puertos
COM.
Cada puerto COM esta identificado con una direccin de entrada/salida (direccin
de puerto) y una asignacin IRQ (interrupcin). La direccin de puerto es aquella
direccin a travs de la cual se realiza el intercambio de informacin con el
exterior. El programa de comunicaciones utilizado tiene que ir a esa direccin para
enviar o recibir informacin.
La asignacin de un nmero de interrupcin o IRQ, permite al puerto interrumpir
la actividad del microprocesador durante unos instantes y solicitar su atencin.
Esto quiere decir que cualquier dispositivo conectado a un puerto serie asumir la
misma asignacin de interrupcin (IRQ). Los primeros PC venan equipados
solamente con dos puertos: COM1 y COM2.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

24

Posteriormente, a medida que los usuarios fueron necesitando ms puertos, se
aadi la posibilidad de soportar otros dos puertos ms: COM3 y COM4. Estos
ltimos, al no ser una especificacin estndar, no son reconocidos por muchos
programas de comunicaciones. Los equipos PS/2 pueden disponer de hasta 8
puertos serie, desde
COM1 a COM8.
Las direcciones de cada puerto, as como la interrupcin utilizada son:
PUERTO IRQ DIRECCION

COM1 4 03F8h
COM2 3 02F8h
COM3 4 03E8h
COM4 3 02E8h

LOS PUERTOS SERIE Y EL MS-DOS

Si ejecutamos cualquier aplicacin de deteccin de dispositivos, podemos
observar una configuracin predeterminada para nuestros puertos: 2400 baudios,
8 bits de datos, sin paridad, 1 de parada
Esta configuracin se puede cambiar usando comandos de MS-DOS,
concretamente el comando MODE. Su sintaxis es:
MODE <Puerto:> <Velocidad>, <N bits>, <Paridad>, <Parada>
Los parmetros son los siguientes:

Puerto: COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8
Velocidad: 110, 300, 600, 900, 1200, 2400, 4800, 9600
N de bits: 7-8
Paridad: Par: E, Impar: O, Ninguna: N
Parada: 1, 1.5, 2
Un ejemplo sera el siguiente: C:\>MODE COM2:1200,E,7,2 (puerto COM2 que
trabaje a una velocidad de 1.200 buadio, con 7 bits de datos, paridad par 2 bits de
parada) Un truco para comprobar la existencia de un puerto serie es intentando
hacer una copia de una archivo desde MS-DOS. Supongamos que tenemos un
archivo llamado INDEX.TXT. Para copiarlo teclearamos: C:\COPY INDEX.TXT
COM1
Si se crea un archivo llamado COM1 es que no est instalado este puerto. Por el
contrario, si nos da un error al ejecutar el comando anterior es que est presente.
RELACIONES ENTRE DISPOSITIVOS
Ingeniera Electrnica UNSA
_____________________________________________________________________________

25

A la hora de conectar dos dispositivos usando la norma RS-232-C se establece una
relacin entre los circuitos determinada y que vamos a mostrar en los siguientes
esquemas:





6. Determinar el uso del puerto USB del Sistema, caractersticas

Las siglas USB corresponden a Universal Serial Bus, Bus Serie Universal, por lo que
como su nombre indica, se trata de un sistema de comunicacin entre dispositivos
electrnicos-informticos que slo transmite una unidad de informacin a la vez.
El bus USB puede trabajar en dos modos, a baja velocidad (1,5 Mbps, para
dispositivos como teclados, ratones, que no barajan grandes cantidades de
informacin) y a alta velocidad (12 Mbps, para dispositivos como unidades de
CDROM, altavoces, mdems RTC e ISDN, etctera). En cuanto a la comodidad, el
bus USB se compacta en un cable de cuatro hilos, dos para datos, dos para
alimentacin. Esto supone un gran ahorro, tanto de espacio como de material.
Deacuerdo a estos parmetros, una de las principales ventajas que se obtiene de
USB es precisamente su diseo.
El USB organiza el bus en una estructura de rbol descendente, con mltiples
dispositivos conectados a un mismo bus, en la que unos elementos especiales,
llamados hubs(perifrico que ser descrito especficamente mas adelante),
enrutan las seales en su camino desde un dispositivo al host o viceversa. Primero
est el controlador del bus, Este es el interfaz entre el bus USB y el bus del
ordenador. De l cuelgan los dispositivos USB. Los hubs, como son un dispositivo
USB ms, tambin cuentan. A un hub se puede conectar uno o ms dispositivos,
que a su vez pueden ser otros hubs, asi tenemos varios dispositivos conectados a
un slo controlador; como mximo alrededor de 126.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

26


Ahora, es conveniente resaltar que todos los dispositivos deben seguir reglas de
comportamiento bsicas, estandarizadas. Por tanto, todos los dispositivos se
configuran de la misma forma, y es mucho ms fcil gestionar los recursos que
proveen; sin embargo, esto no significa que todos los dispositivos son iguales,
sino, que todos tienen un sistema de configuracin idntico. Para proteger sus
identidades, existe una clasificacin estandarizada,(gestionada por el controlador)
y en funcin de esa clasificacin, los dispositivos se manejan de una forma u otra,
siempre cumpliendo los estndares, permitindo entre otras cosas, una
simplificacin en la gestin de los dispositivos, ya que un mismo driver sirve para
varios dispositivos de diferentes tipos, aparte de poder tener un nmero casi
ilimitado de dispositivos idnticos en un mismo sistema (siempre se pueden aadir
nuevos controladores). Adems, el hecho de que no tengamos que tocar
(inicialmente) nada en el hardware del dispositivo en s y que todo sea
configurable por software nos lleva a la llamada tecnologa Plug'n'Play (conectar y
listo).
Objetivos del bus serie universal
Los objetivos de sta no muy nueva tecnologa, apuntan claramente hacia la vista
del usuario, USB es una especificacin que posibilita conectar dispositivos a una
computadora de forma encadenada, sin tener que abrir en absoluto la caja de la
computadora o tener que insertar tarjetas. Todo dispositivo USB tiene la
capacidad de ser conectado al computador en pleno funcionamiento, sin tener
que reiniciarlo, adems la configuracin del dispositivo nuevo es inmediata y
completamente transparente al usuario, tras lo cual el dispositivo est listo para
Ingeniera Electrnica UNSA
_____________________________________________________________________________

27

ser empleado sin tocar un tornillo, menos jumpers, canales, IRQs, etc. El proceso
de conexin USB es tan sencillo como se muestra en la siguiente Figura.

Adems, y quizs uno de los objetivos fundamentales de la USB, es que ha sido
diseada para que la PC y las comunicaciones remotas especialmente con
MODEM, sean una sola unidad. Y es que las tendencias de computacin actuales,
apuntan a un mundo totalmente intercomunicado electrnicamente empleando
uno de los dispositivos mas conocidos como es el computador personal y el medio
de comunicacin mas diseminado del mundo: el telfono.
Beneficios del bus serie universal
El trabajo involucrado dentro de la especificacin USB es realmente completo, es
un estudio realmente minucioso, que comprende aspecto tales como:
Arquitectura del Bus
Definiciones de protocolos
Tipos de transacciones
Administracin del bus
Seales elctricas
Especificaciones electrnicas
Conectores
Formas de transmisin
Pero todo esto se puede traducir en beneficios tangibles para el usuario, como los
siguientes:
Fcil expansin de perifricos en la PC, no debe hacer falta, mas que
conectar el perifrico y emplearlo (sin abrir la computadora).
Bajo costo para aplicaciones que demandan velocidades por los 12 Mbps,
particularmente aplicaciones multimediales: micrfonos, parlantes,
telfonos, etc.
Soporte completo para transmisin en tiempo real de voz, audio, y video.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

28

Flexibilidad de protocolos para transmisiones mixtas isocronicas y
asincrnicas (las cuales sern analizadas mas adelante, ya que es el eje de
transmisin de USB).
Cmoda integracin de dispositivos de tecnologa y fabricantes diferentes.
Soporte para plataformas diversas de la lnea de las PCs compatibles
(como ya se vio, algunos problemas para MACINTOSH)
Posibilitar la produccin de nuevos dispositivos capaces de aprovechar sus
ventajas.
Las funciones del USB y el host USB
Dentro de la terminologa USB, el computador o la PC que soporta este tipo de
bus, se denomina Host USB; mientras que por su parte y dentro de la misma
terminologa, todo perifrico y/o dispositivo, se denomina Funcin USB, adems
de esta significacin, no existe ningn otro termino oculto dentro de estas dos
denominaciones.
Hodt USB:
A diferencia de los dispositivos y los hubs, existe tan solo un host dentro del
sistema USB, que como ya dijimos es el computador mismo, particularmente una
porcin del mismo denominado Controlador USB del Host. Este tiene la misin de
hacer de interfaz entre el computador mismo y los diferentes dispositivos. Existen
algunas particularidades respecto a este controlador. Su implementacin es una
combinacin de hardware y software todo en uno, es decir Firmware. Puede
proveer de uno o dos puntos de conexin iniciales, denominados Hub raz, a partir
de los cuales y de forma ramificada iran conectndose los perifricos.
FUNCIONES USB:
Dentro de la terminologa USB, todos los dispositivos que pueden ser conectados a
este bus, a excepcin de los Hubs, se denominan Funciones. Son funciones tpicas:
el ratn, el monitor, altoparlantes, MODEM, etc.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

29

Las funciones o dispositivos perifricos, son capaces de recibir y transmitir
informacin, ya sea del usuario o de control. El comn denominador de todas las
funciones USB es su cable y el conector del mismo, diseado y fabricado de
acuerdo a las especificaciones del bus, por lo que no cabe preocuparse por la
compatibilidad entre equipos de diferentes fabricantes; solamente hay que
recordar la empresas que respaldan esta tecnologa.
Un aspecto interesante de las funciones, es que pueden ser a la vez nuevos hubs.
La siguiente figura muestra un esquema en el que la PC tiene tres puertos, la
siguiente funcin que puede ser un monitor 4, el siguiente 3 y adicionalmente un
Hub, provee 4 puertos mas, es un esquema tan sencillo, donde existen 14 puertos
disponibles para todo tipo de perifrico, entre los que podemos citar: ratn,
tablilla digitalizadora, lpiz ptico, teclado impresora, un telfono ISDN, etc.

Host USB - Hardware y software:
El computador o Host USB trabaja con los diferentes dispositivos valindose del
controlador de host compuesto por una parte de hardware y otra de software, de
esta forma conjunta, el host es responsable al nivel de hardware, de los siguientes
aspectos dentro del sistema USB:
detectar tanto la conexin de nuevos dispositivos USB al sistema como la
remocin de aquellos ya conectados, y por supuesto, configurarlos y ponerlos a
disposicin del usuario, tarea que involucra acciones por software.
Administrar y controlar el flujo de datos entre el host y los dispositivos USB, es
decir el movimiento de informacin generada por el mismo usuario.
Administrar y regular los flujos de control entre el host y los dispositivos USB, es
decir la informacin que se mueve con el objeto de mantener el orden dentro de
los elementos del sistema.
Recolectar y resumir estadsticas de actividad y estado de los elementos del
sistema.
Proveer de una cantidad limitada de energa elctrica para aquellos dispositivos
que pueden abastecerse con tan solo la energa proveniente del computador
(teclado, ratn son dos ejemplos claros).
Ingeniera Electrnica UNSA
_____________________________________________________________________________

30

Por otra parte, a nivel de software las funciones del controlador de Host se
incrementan y complican:
Enumeracin y configuracin de los dispositivos conectados al sistema
Administracin y control de transferencias isocrnicas de informacin
Administracin y control de transferencias asincrnicas
Administracin avanzada de suministro elctrico a los diferentes
dispositivos
Administracin de la informacin del bus y los dispositivos USB
Caractersticas y arquitectura general del USB
En los anteriores prrafos, se haba hablado de algunos beneficios que esta
tecnologa entregaba tanto al usuario como a las empresas fabricantes, pero las
caractersticas de USB son muchas mas, aunque algunas revisten ciertos trminos
tcnicos, vale la pena enumerar todas las caractersticas de este Bus:
Todos los dispositivos USB deben tener el mismo tipo de cable y el mismo
tipo de conector, ms all de la funcin que cumplan
Los detalles de consumo y administracin elctrica del dispositivo deben
ser completamente transparentes para el usuario
El computador debe identificar automticamente un dispositivo agregado
mientras opera, y por supuesto configurarlo
Los dispositivos pueden ser desconectados mientras el computador est en
uso
Deben poder compartir un mismo bus tanto dispositivos que requieren de
unos pocos Kbps como los que requieren varios Mbps
Ms de 127 dispositivos diferentes pueden estar conectados
simultneamente y operando con una misma computadora sobre el Bus
Serial Universal
El bus debe permitir perifricos multifuncin, es decir aquellos que pueden
realizar varias tareas a la vez, como lo son algunas impresoras que
adicionalmente son fotocopiadoras y mquinas de fax
Capacidad para manejo y recuperacin de errores producidos por un
dispositivo cualquiera
Soporte para la arquitectura Conectar y Operar (Plug&Play)
Bajo costo
No se necesita un cable extra de alimentacin - la mayora de los
perifricos USB obtienen la alimentacin del bus USB, con lo cual no
requieren un cable de alimentacin adicional
Ms rpido - USB transfiere los datos 10 veces ms rpido que los puertos
serie tradicionales
Ingeniera Electrnica UNSA
_____________________________________________________________________________

31

Vale la pena mencionar que todos los puntos citados anteriormente son
caractersticas disponible del Bus Serial Universal, es decir que los usuarios pueden
beneficiarse de absolutamente todas estas capacidades. Es importante destacar
que esta especificacin y como lo veremos en el siguiente punto, no es un trabajo
superfluo, ya que ha sido estudiado hasta el detalle mximo.(basta nuevamente
recordar el gran soporte de esta tecnologa).
Caractersticas principales:
Plug and Play
El puerto USB, y por tanto todos los dispositivos con conexin USB, son
verdaderamente Plug.n play, es decir, el dispositivo es detectado
automticamente al conectarlo al equipo y el sistema operativo instala el driver
adecuado o nos pide el disco de instalacin. An ms, no es necesario apagar, ni
siquiera re iniciar, el equipo para conectar o desconectar los dispositivos,
cargndose y descargndose automticamente de memoria el driver
correspondiente.
Hot plugginn (conectar en caliente)
No es necesario apagar, ni siquiera reinicial, el equipo para instalar o desinstalar
un dispositivo USB. Algo especialmente interesante si olvidamos conectar un
dispositivo al encender el equipo o si simplemente no tenemos suficientes
conectores para todos los dispositivos USB. Adems, esto permite conservar
recursos de memoria, pues cada dispositivo conectado requiere un driver
residente, que de este modo slo se carga cuando se necesita y se descarga al
dejar de necesitarlo.
Recursos del dispositivo
Quiz una de las mayores ventajas para los equipos actuales es el hecho de que el
puerto USB solamente necesita una IRQ y una direccin de memoria y todos los
dispositivos conectados a l, solamente necesitan una ID para su identificacin
(como en el bus SCSI) dentro de la cadena de 127 dispositivos, sin necesitar ms
recursos. Si tenemos en cuenta que los puertos estndar (dos serie, un paralelo,
un PS/2 para ratn, uno para teclado, un puerto para joystick) consumen 5 IRQs,
algunas DMA y mltiples direcciones de memoria, al utilizar dispositivos USB nos
estamos ahorrando valiosos recursos del sistema.
Simplicidad
El manejo de los dispositivos USB se hace por software, concretamente por el
propio sistema operativo, por lo que los dispositivos USB son ms fciles de
fabricar y por tanto ms baratos. Adems, USB es una tecnologa abierta por la
que no hay que pagar derechos, lo que siempre abarata los costos de fabricacin.
Dispositivos
Ingeniera Electrnica UNSA
_____________________________________________________________________________

32

Se puede conectar hasta un total de 127 dispositivos en cadena o utilizando HUBs
USB (concentradores de puertos USB), y cada dispositivo puede tener un cable de
hasta 5 metros de longitud, frente a 1 metro para el puerto serie y 4 metros para
el puerto paralelo. Adems, conectndolos en cadena, el ltimo dispositivo puede
estar a 635 metros del ordenador.
Actualmente se encuentran en el mercado monitores, teclados, ratones, cmaras,
joysticks, mdem, escneres, impresoras e incluso altavoces (sin necesidad de
tarjeta de sonido) con conexin USBN, dispositivos de almacenamiento unidad ZIP,
unidad LS-120, CD-ROMs, discos duros externos, etc.
Lo que se debe olvidar a la hora de comprar un dispositivo USB es que cada
dispositivo puede funcionar como HUB, es decir, incluir uno o ms conectores
USB, de modo que podamos conectar un dispositivo a otro en cadena, y as, por
ejemplo un teclado, puede incluir dos conectores USB, uno para el ratn y otro
para el joystick, de igual modo el monitor puede servir de HUB y permitir conectar
a l por ejemplo los altavoces, o el teclado, al cual a su vez se conectan el ratn y
el joystick, etc. Hay que tener en cuenta que muchos dispositivos USB actuales no
son ms que conversiones de dispositivos existentes por lo que mucho an no
implementan su uso como HUBs, por lo que quizs valga la pena esperar un poco a
que haya ms dispositivos disponibles.
Velocidad
El puerto serie es capaz de transmitir hasta 112,5 KB/s y el puerto paralelo entre
600KB/s y 15MB/s, pero el puerto USB es capaz de llegar a alcanzar entre 1,5MB/s
y 12MB/s, por lo que es la conexin ideal para mdem de 56K, escneres (como
alternativa de similar costo a los de puerto paralelo), CD-ROMs externos,
dispositivos de copia de seguridad externos, etc. Sin embargo, para dispositivos de
almacenamiento (especialmente discos duros externos), conexiones de red,
cmaras, etc. quizs sea interesante tambin mostrar, la nueva versin del
estndar de conexin, FIREWIRE (IEEE 1394), que maneja transferencias entre
100MB/s y 400MB/s, que permite conectar hasta 63 dispositivos y un cable de 4.5
metros por dispositivo, permitiendo al igual que el USB la conexin en caliente. El
puerto USB no esta destinado a desaparecer (de hecho no hay en el mercado
placas con este conector pues los chipsets actuales no lo soportan), sin que se
destinar a cierto tipo de dispositivos que requieren una transferencia de datos
baja o media (teclados, ratones, joysticks, etc.) mientras que el bus FIREWIRE se
destinar a dispositivos que requieren una alta transferencia (escneres,
impresoras, disco duro, DVD, etc.). Sin embargo, no hay que olvidar, que USB esta
modificando sus caractersticas, para poder absorber velocidades hasta los 480
Ingeniera Electrnica UNSA
_____________________________________________________________________________

33

Mbps, lo cual dar una dura pelea al estndar IEEE 1394 (del cual se hablar mas
adelante)
Plataforma
Para poder utilizar dispositivos USB, hay recordar que el sistema operativo
instalado en nuestro equipo debe soportar este nuevo bus. Windows 95 en sus
versiones OSR2.1 y OSR2.5 detecta el puerto USB y soporta dispositivos USB (la
versin OSR2.0 tambin aadiendo el SUPLEMENTO USB), pero es realmente con
el sistema operativo Windows 98 que los ya abundantes dispositivos USB no han
dado problemas de instalacin y funcionamiento, no dejando de lado las ultimas
versiones de Windows NT.
Si queremos que los dispositivos USB funcionen, adems en la BIOS de nuestra
tarjeta madre debemos habilitar la opcin ASSIGN USB IRQ - ENABLED. Si
queremos utilizar un teclado USB con nuestro equipo, debemos habilitar USB
KEYBOARD SUPPORT VIA BIOS en vez de VIA OS si queremos utilizar el teclado
cuando "Reiniciamos equipo en modo MS-DOS" para ejecutar programas de
diagnstico. Si no lo hacemos as, por ejemplo, no accederemos a la BIOS del
sistema al pulsar SUPR/DEL, ni anularemos el test de memoria al pulsar ESC, ni
accederemos al "Men de inicio" al pulsar F8, aunque el teclado funcionar
correctamente en Windows 9X.
Uno de los problemas del puerto USB es que suministra solamente 500
miliamperios de electricidad para los dispositivos conectados, que aunque es
suficiente potencia para la mayora de los dispositivos que se conectan a este
puerto, resulta escaso cuando conectamos varios dispositivos sin fuente de
alimentacin propia. Lo que s podemos hacer es comprar un HUB USB con toma
de alimentacin elctrica, para proporcionar la potencia necesaria a aquellos
dispositivos que lo requieran (especialmente escneres e impresoras).
Conectores USB de Seria "A" y serie "B"
Existen dos tipos de conectores dentro del Bus Serial Universal. El conector Serie A
est pensado para todos los dispositivos USB que trabajen sobre plataformas de
PCs. Sern bastante comunes dentro de los dispositivos listos para ser empleados
con host PCs, y lo ms probables es que tengan sus propios cables con su conector
serie A. Sin embargo, esto no se dar en todos los casos, existirn dispositivos USB
que no posean cable incorporado, para los cuales el conector Serie B ser una
caracterstica. Sin embargo este no es un problema, ya que ambos conectores son
estructuralmente diferentes e insertarlos de forma equvoca ser imposible por la
forma de las ranuras. La primera figura muestra los diferentes tipos de conectores
USB, y la Figura siguiente las respectivas ranuras.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

34




Topologa del Bus
La forma fsica en la que los elementos se interconectan dentro del sistema USB,
puede asemejarse a la topologa estrella estratificada piramidalmente. El centro
de cada estrella es un hub, un dispositivo que por un lado se conecta al
computador o a otro hub y por otro lado, permite conectar al mismo varios
dispositivos o en su defecto nuevos hubs.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

35

Esta disposicin significa que los computadores con soporte para USB han de
tener tan solo uno o dos conectores USB, pero ello no representa poder contar
con tan solo dos dispositivos de esta clase, quien sabe un ratn y un teclado.
Muchos dispositivos USB han de traer conectores USB adicionales incorporados,
por ejemplo un monitor puede tener 3 4 conectores USB donde pueden ir el
teclado, el ratn, y algn otro dispositivo. Por su parte el teclado puede tener
otros ms, y as sucesivamente hasta tener ms de 127 dispositivos, todos
funcionando simultneamente.
An as, existirn dispositivos especficos destinados a ampliar la cantidad de
conectores, estos se denominan hubs, y su funcionamiento como apariencia fsica
est muy cercana a la de los hubs de redes Ethernet. Un hub de 8 puertos o
conectores, puede ser acoplado a uno de los puertos USB del computador,
ampliando la cantidad de dispositivos que se pueden emplear.
Funcionamiento bsico y mbito de aplicacin
Todo el sistema USB es inteligente, esto significa que una vez que se ha insertado
un nuevo dispositivo al sistema, el bus automticamente determina que recursos
del host requiere, incluyendo controladores de software (drivers), ancho de banda
necesario (el ancho de banda se refiere a la capacidad del canal de
comunicaciones que requiere un dispositivo cualquiera para enviar sus datos.
Mientras ms informacin manipule el dispositivo, ms ancho de banda
necesitar, y a la inversa). El mismo proceso se da al remover un dispositivo del
equipo, ya que el host automticamente elimina todos los componentes asociados
al mismo con el fin de disponer de los recursos otorgados en su momento para
futuros dispositivos.
Este mismo proceso, hace que la configuracin y manipulacin del software o
hardware, sea prcticamente mnima para el usuario, proporcionando una gran
ayuda en lo que la interconexin de dispositivos al computador, pudiendo ser
utilizado en cualquier lugar fsico en que se tenga esta tecnologa.
Controladores (drivers) de hardware
Las ltimas versiones del sistema operativo Windows 95 trae una gran cantidad de
controladores para una gama amplia de dispositivos USB, por lo tanto, lo ms
probable es que el mismo sistema operativo reconozca y configure el dispositivo
de forma inmediata y transparente. (aunque de todas maneras se han detectado
fallas de funcionamiento); Adicionalmente el sistema operativo Windows 98, trae
especiales refuerzos en cuanto a cantidad de controladores para dispositivos USB
y calidad de funcionamiento se refiere. Aunque estos sistemas operativos nunca
soportaran a todos, ni mucho menos controladores de dispositivos que se
fabricarn en el futuro, razn por la cual, Windows 95/98 solicitar el disquete o
Ingeniera Electrnica UNSA
_____________________________________________________________________________

36

CD de instalacin, para aquellos perifricos que no pueda configurar
adecuadamente.
Los sistemas operativos ganan en simplicidad. Los drivers para USB estn definidos
por capas, de forma que la gestin del bus, la configuracin bsica de los
dispositivos, su manejo, etc... lo lleva el sistema operativo, mientras que cada
driver especfico slo maneja los dispositivos con los que pueda tratar. De esta
forma, tendremos una serie de mdulos apilados con unas misiones especficas,
que no interfieren la una con la otra.
El driver est organizado por la ya comentada estructura de capas. La parte
principal es el USBD, o Universal Serial Bus Driver (gestor del USB). Aqu estn
contenidas todas las llamadas que los drivers necesitarn para acceder a sus
dispositivos.
Debajo de esta capa est el HCD, el Host Controller Driver, que es la parte del
sistema USB que se dedica a hablar con cada controlador en particular (esto es
necesario ya que as se da soporte a todo tipo de controladores, aunque
inicialmente solo existen dos, los UHCI y los OHCI (acrnimos que significan Host
Controller Interface -interfase del controlador-, universal para la U y Open -
abierto- para la O).
Por encima del USBD, y como driver est el HUBD, el driver de los hubs, que es
parte obligada del sistema USBD, ya que es parte activa de la gestin de la
configuracin de los dispositivos. Esta parte consta de un demonio en activo
dentro del mismo ncleo llamado khubdd (Kernel Hub Driver Daemon, demonio
en el ncleo del driver de hubs). Este demonio se dedica a esperar a que ocurra
algo en los puertos de los hubs donde se conectan los dispositivos, y cuando algo
ocurre, lo notifica al USBD, que acta en consecuencia, lanzando secuencias de
desconexin, configuracin, desconfiguracin, cambio de configuracin o forma
de trabajo, etc ... en los dispositivos.
Los drivers actan de una forma similar al HUBD. Un driver, cuando se carga o
inicializa, se registra a s mismo en el sistema USB. Cuando se conecta un
dispositivo, se recorre la lista de drivers registrados en busca del que pueda ser
ms conveniente para este. Cuando se encuentra, se le pide que configure el
dispositivo. Si no lo logra, se busca otro; si no se encuentra ninguno, se pedir que
se cargue un mdulo con un driver para ese dispositivo. En caso de que no haya
ninguno, se dar por imposible y se dejar el dispositivo como no configurado y
esperando a que se cargue un driver que lo pueda configurar.
Caractersticas "Must have"
Ingeniera Electrnica UNSA
_____________________________________________________________________________

37

El trmino "Must Have" (Debe Tener), est rutinariamente mencionado en este
informe. Est claro que el trmino hace referencia a la capacidad que debe tener
una computadora para soportar el bus USB.
Adicionalmente, el sistema operativo ms difundido en el mundo Windows 95/98,
que es distribuido con los mismos equipos por una gran cantidad de fabricantes,
viene provisto por todos los controladores (drivers) necesarios para poder
manipular este bus sin ningn tipo de problema. El resultado son PCs que estn
saliendo al mercado con uno o dos puertos USB en su parte posterior listos para
ser empleados, como se observa en la siguiente figura.

Por supuesto, estas computadoras incluyen los puertos habituales mientras la
transicin hacia USB se va desarrollando.
Literalmente, todos los fabricantes del mundo han arrancado su produccin de
dispositivos y computadoras USB, nuevos modelos, vistosas publicidades para
equipos como joysticks digitales, teclados, altoparlantes, monitores, etc., pueden
ser vistos por todos los rincones de Internet, especialmente en los sitios web de
aquellas empresas que venden por esta va.
Un aspecto ms, no todos los sistemas operativos Windows 95 instalados en todas
las computadoras del mundo tiene la misma versin, aunque todos ellos
presenten como portada ese logo. La especificacin USB es soportada por los
sistemas operativos Windows 95 cuya versin sea la 4.00.950B o superior (como
se sealo anteriormente). Para averiguar este dato, se debe hacer clic con el botn
derecho del ratn sobre el icono Mi PC del escritorio, y seleccionar la opcin
Propiedades.

Modelo lgico funcional del USB
Ingeniera Electrnica UNSA
_____________________________________________________________________________

38


El diagrama de la Figura anterior, ilustra el flujo de datos USB a partir de tres
niveles lgicos: entre el Software Cliente y la Funcin, el Controlador USB y el
dispositivo, y finalmente la capa fsica, donde la transmisin realmente sucede. Es
importante entender que este modelo es muy parecido al OSI, el estndar de
redes, y su comprensin radica en el hecho de que si bien existe un solo canal
fsico, pero los datos son manejados en cada punto por unidades homlogas o
idnticas, tal como si estuviesen sosteniendo una comunicacin directa. Por esta
razn se las denomina Capas Lgicas.
El nivel superior lgico es el agente de transporte de datos que mueve la
informacin entre el Software Cliente y el dispositivo. Existe un Software Cliente
en el host, y un Software De Atencin al mismo en cada una de las funciones o
perifricos USB. A este nivel, el host se comunica con cada uno de los perifricos
en alguna de las varias formas posibles de transmisin que soporta USB. El
Software Cliente solicita a los dispositivos diversas tareas y recibe respuestas de
ellos a travs de esta capa.
La capa lgica intermedia es administrada por el Software de Sistema USB, y tiene
la funcin de facilitarles las tareas particulares de comunicacin a la capa superior,
cabe decir, administra la parte del perifrico con la que la capa superior desea
comunicarse, maneja la informacin de control y comando del dispositivo, etc. Su
objetivo es permitir a la capa superior concentrarse en las tareas especficas
tendientes a satisfacer las necesidades del usuario, adicionalmente gestiona el
control interno de los perifricos.
El acceso al bus es bajo la modalidad de Ficha o Token, lo que involucra siempre
complejidad de protocolos, especialmente si agregamos dos velocidades posibles:
12Mbps 1.5Mbps. Todos estos algoritmos y procesos son administrados por el
Ingeniera Electrnica UNSA
_____________________________________________________________________________

39

Host USB, reduciendo la complejidad del perifrico, y lo ms importante, el costo
final de los dispositivos USB.
La capa fsica del modelo lgico USB comprende los puertos fsicos, el cable, los
voltajes y seales, el hardware y funcionamiento del hardware. Esta capa tiene el
objetivo de liberar a las capas superiores de todos los problemas relacionados a la
modulacin, voltajes de transmisin, saltos de fase, frecuencias y caractersticas
netamente fsicas de la transmisin.
Electrnica y transmisin del USB
Interfase fsica (elctrica)
El interfaz de Bus Universal en Serie (USB) se identifica con este icono que se
encuentra en la parte posterior de la computadora:

Los pines del conector se identifican a continuacin.
Conector Pin Seal

1 +5V
2 Datos -
3 Datos +
4 A Tierra
El Bus Serial Universal transfiere seales de informacin y energa elctrica a
travs de 4 cables, cuya disposicin se muestra en las siguientes figuras.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

40

Por su parte las seales se mueven sobre dos cables y entre segmentos
comprendidos entre un par de dispositivos USB, con rangos de velocidad de
12Mbps o 1.5Mbps, para transmisiones de alta y baja velocidad respectivamente.
Ambos modos de transmisin son controlados automticamente por medio de los
dispositivos USB de manera transparente al usuario. Es importante notar que
siempre ha sido un serio problema manejar velocidades diferentes de transmisin
de datos por un mismo cable, y esto no sera posible sin que todos los dispositivos
estn preparados para tal efecto.
Los pulsos de reloj o sincronismo son transmitidos en la misma seal de forma
codificada bajo el esquema NRZI (Non Return To Zero Invert), uno de los ms
interesantes sistemas de codificacin de informacin que no vale la pena
mencionarlo ahora por su complejidad elctrica-electrnica.
Los otros dos cables VBus y GND tienen la misin de llevar suministro elctrico a
los dispositivos, con una potencia de +5V para VBus. Los cables USB permiten una
distancia que va de los pocos centmetros a varios metros, ms especficamente 5
metros de distancia mxima entre un dispositivo USB y el siguiente. La Figura
siguiente muestra el detalle.

Es importante indicar que los cables USB tienen protectores de voltaje a fin de
evitar cualquier dao a los equipos, son estos mismos protectores los que
permiten detectar un dispositivo nuevo conectado al sistema y su velocidad de
trabajo.
Protocolo del bus
Toda transferencia de datos o transaccin que emplee el bus, involucra al menos
tres paquetes de datos. Cada transaccin se da cuando el Controlador de Host
decide qu dispositivo har uso del bus, para ello enva un paquete al dispositivo
especfico. Cada uno de los mismos tiene un nmero de identificacin, otorgado
por Controlador de Host cuando el computador arranca o bien cuando un
dispositivo nuevo es conectado al sistema. De esta forma, cada uno de los
perifricos puede determinar si un paquete de datos es o no para s. Tcnicamente
este paquete de datos se denomina Paquete Ficha o Token Packet. Una vez que el
Ingeniera Electrnica UNSA
_____________________________________________________________________________

41

perifrico afectado recibe el permiso de transmitir, arranca la comunicacin y sus
tareas especficas; el mismo informar al host con otro paquete que ya no tiene
ms datos que enviar y el proceso continuar con el siguiente dispositivo.
Este protocolo tiene un sistema muy eficiente de recuperacin de errores,
empleando uno de los modelos ms seguros como es el CRC (Cdigo de
Redundancia Cclica). Y puede estar implementado al nivel de software y/o
hardware de manera configurable. De hecho si el control es al nivel de hardware,
no vale la pena activar el control por software, ya que sera duplicar tareas
innecesariamente.
Transmisin del USB
Transmisin asincrnica
Las distintas formas de transmisin de datos a distancia siempre fueron seriales,
ya que el desfase de tiempos ocasionada por la transmisin paralela en distancias
grandes impide pensar en esta ltima como apta para cubrir longitudes mayores a
algunos pocos metros.
Sobre ello, la transmisin serial ha topado con el problema de que la informacin
generada en el transmisor sea recuperada en la misma forma en el receptor, para
lo cual es necesario ajustar adecuadamente un sincronismo entre ambos extremos
de la comunicacin. Para ello, tanto el receptor como el transmisor deben
disponer de relojes que funcionen a la misma frecuencia y posibilite una
transmisin exitosa. Como respuesta a este problema surgi la transmisin
asincrnica, empleada masivamente aos atrs para la comunicacin entre los
equipos servidores conocidos como hosts y sus terminales.
En este modelo cabe entender que ambos equipos poseen relojes funcionando a
la misma frecuencia, por lo cual, cuando uno de ellos desea transmitir, prepara un
grupo de bits encabezados por un BIT conocido como de arranque, un conjunto de
7 u 8 bits de datos, un BIT de paridad (para control de errores), y uno o dos bits de
parada. El primero de los bits enviados anuncia al receptor la llegada de los
siguientes, y la recepcin de los mismos es efectuada. El receptor conocer
perfectamente cuntos bits le llegarn, y da por recibida la informacin cuando
verifica la llegada de los bits de parada. El esquema de los datos se muestra en la
Figura siguiente.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

42


Se denomina transmisin asincrnica no porque no exista ningn tipo de
sincronismo, sino porque el sincronismo no se halla en la seal misma, mas bien
son los equipos mismos los que poseen relojes o clocks que posibilitan la
sincronizacin. La sincrona o asincrona siempre se comprende a partir de la
seal, no de los equipos de transmisin o recepcin.
Transmisin sincrnica:
En este tipo de transmisin, el sincronismo viaja en la misma seal, de esta forma
la transmisin puede alcanzar distancias mucho mayores como tambin un mejor
aprovechamiento de canal. En la transmisin asincrnica, los grupos de datos
estn compuestos por generalmente 10 bits, de los cuales 4 son de control.
Evidentemente el rendimiento no es el mejor. En cambio, en la transmisin
sincrnica, los grupos de datos o paquetes estn compuestos por 128 bytes, 1024
bytes o ms, dependiendo de la calidad del canal de comunicaciones.

Las transmisiones sincrnicas ocupan en la actualidad gran parte del mundo de las
comunicaciones seriales, especialmente las que emplean el canal telefnico.
Transmisiones isocrnicas:
Inicialmente vale la pena aclarar el origen de este trmino tan extrao, ISO(algn)
CRONOS(tiempo). La transmisin isocrnica ha sido desarrollada especialmente
para satisfacer las demandas de la transmisin multimedial por redes, esto es
integrar dentro de una misma transmisin, informacin de voz, video, texto e
imgenes. La transmisin isocrnica es una forma de transmisin de datos en la
cual los caracteres individuales estn solamente separados por un nmero entero
de intervalos, medidos a partir de la duracin de los bits. Contrasta con la
Ingeniera Electrnica UNSA
_____________________________________________________________________________

43

transmisin asincrnica en la cual los caracteres pueden estar separados por
intervalos aleatorios. La transferencia isocrnica provee comunicacin continua y
peridica entre el host y el dispositivo, con el fin de mover informacin relevante a
un cierto momento. La transmisin isocrnica se encarga de mover informacin
relevante a algn tipo de transmisin, particularmente audio y video.
Transmisin bulk:
La transmisin Bulk, es una comunicacin no peridica, explosiva tpicamente
empleada por transferencias que requieren usar todo el ancho de banda
disponible o en su defecto son demoradas hasta que el ancho de banda completo
est disponible. Esto implica particularmente movimientos de imgenes o video,
donde se requiere de gran potencial de transferencia en poco tiempo. USB
permite dos tipos ms de transferencias de datos:
Transmisiones de control:
Es un tipo de comunicacin exclusivamente entre el host y el dispositivo que
permite configurar este ltimo, sus paquetes de datos son de 8, 16, 32 o 64 bytes,
dependiendo de la velocidad del dispositivo que se pretende controlar.
Transmisiones de interrupcin:
Este tipo de comunicacin est disponible para aquellos dispositivos que
demandan mover muy poca informacin y poco frecuentemente. Tiene la
particularidad de ser unidireccional, es decir del dispositivo al host, notificando de
algn evento o solicitando alguna informacin. Su paquete de datos tiene las
mismas dimensiones que el de las transmisiones de control


7. Determinar el uso de los slots de Expansion ISA y PCI

Ranuras ISA

Las ranuras ISA (Industry Standard Architecture) hacen su aparicin de la mano de
IBM en 1980 como ranuras de expansin de 8bits (en la imagen superior),
funcionando a 4.77Mhz (que es la velocidad de pos procesadores Intel 8088).
Se trata de un slot de 62 contactos (31 por cada lado) y 8.5cm de longitud.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

44



Su verdadera utilizacin empieza en 1983, conocindose como XT bus
architecture.
En el ao 1984 se actualiza al nuevo estndar de 16bits, conocindose como AT
bus architecture.
En este caso se trata de una ranura (en realidad son dos ranuras unidas) de 14cm
de longitud. Bsicamente es un ISA al que se le aade un segundo conector de 36
contactos (18 por cada lado). Estas nuevas ranuras ISA trabajan a 16bits y a 8Mhz
(la velocidad de los Intel 80286).


Ranuras EISA

En 1988 nace el nuevo estndar EISA (Extended Industry Standard Architecture),
patrocinado por el llamado Grupo de los nueve (AST, Compaq, Epson, Hewlett-
Packard, NEC Corporation, Olivetti, Tandy, Wyse y Zenith), montadores de
ordenadores clnicos, y en parte forzados por el desarrollo por parte de la gran
gigante (al menos en aquella poca) IBM, que desarrolla en 1987 el slot MCA
(Micro Channel Architecture) para sus propias mquinas.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

45




Las diferencias ms apreciables con respecto al bus ISA AT son:

Direcciones de memoria de 32 bits para CPU, DMA, y dispositivos de bus
master.
Protocolo de transmisin sncrona para transferencias de alta velocidad.
Traduccin automtica de ciclos de bus entre maestros y esclavos EISA e
ISA.
Soporte de controladores de perifricos maestros inteligentes.
33 MB/s de velocidad de transferencia para buses maestros y
dispositivos DMA.
Interrupciones compartidas.
Configuracin automtica del sistema y las tarjetas de expansin (el
conocido P&P).
Los slot EISA tuvieron una vida bastante breve, ya que pronto fueron sustituidos
por los nuevos estndares VESA y PCI.

Ranuras VESA

Movido ms que nada por la necesidad de ofrecer unos grficos de mayor calidad
(sobre todo para el mercado de los videojuegos, que ya empezaba a ser de una
importancia relevante), nace en 1989 el bus VESA
El bus VESA (Video Electronics Standards Association) es un tipo de bus de datos,
utilizado sobre todo en equipos diseados para el procesador Intel 80486. Permite
por primera vez conectar directamente la tarjeta grfica al procesador.
Este bus es compatible con el bus ISA (es decir, una tarjeta ISA se puede pinchar
en una
Ingeniera Electrnica UNSA
_____________________________________________________________________________

46

ranura VESA), pero mejora la calidad y la respuesta de las tarjetas grficas,
solucionando el problema de la insuficiencia de flujo de datos que tenan las
ranuras ISA y EISA.


Su estructura consista en una extensin del ISA de 16 bits. Las tarjetas de
expansin VESA eran enormes, lo que, junto a la aparicin del bus PCI, mucho ms
rpido en velocidad de reloj y con menor longitud y mayor versatilidad, hizo
desaparecer al VESA. A pesar de su compatibilidad con las tarjetas anteriores, en
la prctica, su uso se limit casi exclusivamente a tarjetas grficas y a algunas raras
tarjetas de expasin de memoria.
Ranuras PCI

En el ao 1990 se produce uno de los avances mayores en el desarrollo de los
ordenadores, con la salida del bus PCI (Peripheral Component Interconnect).


Se trata de un tipo de ranura que llega hasta nuestros das (aunque hay una serie
de versiones), con unas especificaciones definidas, un tamao menor que las
ranuras EISA (las ranuras PCI tienen una longitud de 8.5cm, igual que las ISA de
8bits), con unos contactos bastante ms finos que stas, pero con un nmero
superior de contactos (98 (49 x cara) + 22 (11 x cara), lo que da un total de 120
contactos).
Con el bus PCI por primera vez se acuerda tambin estandarizar el tamao de las
tarjetas de expansin (aunque este tema ha sufrido varios cambios con el tiempo y
Ingeniera Electrnica UNSA
_____________________________________________________________________________

47

las necesidades). El tamao inicial acordado es de un alto de 107mm (incluida la
chapita de fijacin, o backplate), por un largo de 312mm. En cuanto al backplate,
que se coloca al lado contrario que en las tarjetas EISA y anteriores para evitar
confusiones, tambin hay una medida estndar (los ya nombrados 107mm),
aunque hay una medida denominada de media altura, pensada para los equipos
extraplanos.

Las principales versiones de este bus (y por lo tanto de sus respectivas ranuras)
son:
PCI 1.0: Primera versin del bus PCI. Se trata de un bus de 32bits a 16Mhz.
PCI 2.0: Primera versin estandarizada y comercial. Bus de 32bits, a 33MHz
PCI 2.1: Bus de 32bist, a 66Mhz y seal de 3.3 voltios
PCI 2.2: Bus de 32bits, a 66Mhz, requiriendo 3.3 voltios. Transferencia de
hasta 533MB/s
PCI 2.3: Bus de 32bits, a 66Mhz. Permite el uso de 3.3 voltios y sealizador
universal, pero no soporta seal de 5 voltios en las tarjetas.
PCI 3.0: Es el estndar definitivo, ya sin soporte para 5 voltios.

Ranuras PCIX
Las ranuras PCIX (no confundir con las ranuras PCIexpress) salen como respuesta a
la necesidad de un bus de mayor velocidad. Se trata de unas ranuras bastante ms
largas que las PCI, con un bus de 66bits, que trabajan a 66Mhz, 100Mhz o 133Mhz
(segn versin). Este tipo de bus se utiliza casi exclusivamente en placas base para
servidores, pero presentan el grave inconveniente (con respecto a las ranuras
PCIe) de que el total de su velocidad hay que repartirla entre el nmero de ranuras
activas, por lo que para un alto rendimiento el nmero de stas es limitado.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

48



En su mxima versin tienen una capacidad de transferencia de 1064MB/s.
Sus mayores usos son la conexin de tarjetas Ethernet Gigabit, tarjetas de red de
fibra y tarjetas controladoras RAID SCSI 320 o algunas tarjetas controladoras RAID
SATA.

Ranuras PCI-Express

Las ranuras PCIe (PCI-Express) nacen en 2004 como respuesta a la necesidad de un
bus ms rpido que los PCI o los AGP (para grficas en este caso).
Su empleo ms conocido es precisamente ste, el de slot para tarjetas grficas (en
su variante PCIe x16), pero no es la nica versin que hay de este puerto, que
poco a poco se va imponiendo en el mercado, y que, sobre todo a partir de 2006,
ha desbancado prcticamente al puerto AGP en tarjetas grficas.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

49



Entre sus ventajas cuenta la de poder instalar dos tarjetas grficas en paralelo
(sistemas SLI o CrossFire) o la de poder utilizar memoria compartida (sistemas
TurboCach o HyperMemory), adems de un mayor ancho de banda, mayor
suministro de energa (hasta 150 watios).

Este tipo de ranuras no debemos confundirlas con las PCIX, ya que mientras que
stas son una extensin del estndar PCI, las PCIe tienen un desarrollo totalmente
diferente.
El bus de este puerto est estructurado como enlaces punto a punto, full-duplex,
trabajando en serie. En PCIe 1.1 (el ms comn en la actualidad) cada enlace
transporta 250 MB/s en cada direccin. PCIE 2.0 dobla esta tasa y PCIE 3.0 la dobla
de nuevo.
Cada slot de expansin lleva 1, 2, 4, 8, 16 o 32 enlaces de datos entre la placa base
y las
tarjetas conectadas. El nmero de enlaces se escribe con una x de prefijo (x1 para
un enlace simple y x16 para una tarjeta con diecisis enlaces .Los tipos de ranuras
PCIe que ms se utilizan en la actualidad son los siguientes:

PCIe x1: 250MB/s
PCIe x4: 1GB/s (250MB/s x 4)
PCIe x16: 4GB/s (250MB/s x 16)

Como podemos ver, las ranuras PCIe utilizadas para tarjetas grficas (las x16)
duplican (en su estndar actual, el 1.1) la velocidad de transmisin de los actuales
puertos AGP. Es precisamente este mayor ancho de banda y velocidad el que
permite a las nuevas tarjetas grficas PCIe utilizar memoria compartida, ya que la
velocidad es la suficiente como para comunicarse con la RAM a una velocidad
aceptable para este fin.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

50

Cada vez son ms habituales las tarjetas que utilizan este tipo de ranuras, no slo
tarjetas grficas, sino de otro tipo, como tarjetas WiFi, PCiCard, etc.
Incluso, dado que cada vez se instalan menos ranuras PCI en las placas base,
existen
adaptadores PCIe x1 - PCI, que facilitan la colocacin de tarjetas PCI (eso s, de
perfin bajo) en equipos con pocas ranuras de ste tipo disponibles




8. Lenguajes de Programacin con las instrucciones de lectura y escritura de
puertos.

Comunicaciones seriales en Lenguaje C.

En lenguaje C, existe una instruccin especial para manejar las comunicaciones
seriales. Esta instruccin posee la siguiente sintaxis:

int bioscom (int cmd, char abyte, int port);

En realidad, esta instruccin acude a la interrupcin 14H para permitir la
comunicacin serial sobre un puerto. Para este caso, cada uno de los parmetros
tiene el siguiente significado:

cmd Especifica la operacin a realizar
abyte es un caracter que se enviar por el
Ingeniera Electrnica UNSA
_____________________________________________________________________________

51

puerto serial
port
es la identificacin del puerto serial
(desde 0 para COM1 hasta 3 para COM4)

El parmetro cmd puede tener los siguientes valores y significados:
0 Inicializa el puerto port con los valores dados por abyte
1 Enva el caracter abyte por el puerto port
2 Lee el caracter recibido por el puerto port
3 Retorna el estado del puerto port
Para la inicializacin del puerto, el caracter abyte tiene las interpretaciones que se
muestran en la siguiente Tabla.

0x02
0x03
7 bits de datos
8 bits de datos
0x00
0x04
1 bits de parada
2 bits de parada
0x00
0x08
0x18
Sin paridad
Paridad impar
Paridad par
0x00
0x20
0x40
0x60
0x80
0xA0
0xC0
0xE0
110 baudios
150 baudios
300 baudios
600 baudios
1200 baudios
2400 baudios
4800 baudios
9600 baudios

Para configurar el puerto con algunos parmetros, bastar con realizar una
operacin OR con los deseados, por ejemplo, para 1200 baudios, sin bit de
paridad, sin bit de parada y 8 bits, bastar con selecconar la palabra dada por:

abyte = 0x80 | 0x00 | 0x00 | 0x03
Ingeniera Electrnica UNSA
_____________________________________________________________________________

52


o lo que es equivalente,

abyte = 0x83

Para la lectura de un caracter que se haya recibido o del estado del puerto, se
deben utilizar variables en las cuales se almacenarn los valores de retorno; en
ambos caso se obtienen valores de 16 bits. Para la lectura de un dato recibido, los
8 bits menos significativos corresponden al dato y los 8 ms significativos al estado
del puerto; si alguno de estos ltimos est en "1 ", un error ocurri; si todos estn
en "0", el dato fue recibido sin error.
Cuando el comando es 2 3 (leer el caracter o el estado del puerto), el argumento
abyte no se tiene en cuenta. Para configurar el puerto COM1 con los parmetros
del ejemplo dado anteriormente, bastar con la instruccin:

bioscom (0,0x83,0); /*(inicializar, parmetros, COM1)*/

La utilizacin de los comandos y las instrucciones para la configuracin de los
puertos aqu expuestos slo tendrn sentido en la medida en que utilicemos el
puerto serial para establecer una comunicacin bien con otros computadores o
bien con dispositivos electrnicos como microcontroladores.
Comunicacin con el puerto paralelo en Lenguaje C.
El lenguaje C permite tanto la lectura como la escritura de los puertos paralelo.
Para leer el puerto existen las instrucciones inport e inportb, mientras que para
escribir estn las instrucciones outport y outportb. La sintaxis de estas
instrucciones es la siguiente:
unsigned inport (unsigned portid);
unsigned char inportb (unsigned portid);
void outport (unsigned portid, unsigned value);
void outportb (unsigned portid, unsigned char value);
Ejemplo:
Palabra = inport(puerto);
outport (puerto,Palabra);
Byte = inportb (puerto);
outportb (puerto,Byte);
Ingeniera Electrnica UNSA
_____________________________________________________________________________

53

Las instrucciones que terminan en b ese refieren a la lectura o escritura de un
byte, mientras que las que no terminan en esta letra se refieren a una palabra(dos
byte). La variable puerto debe contener la direccin de memoria del puerto
paralelo, este valor puede ser 378h, 3BCh 278h. Por ultimo no hay que olvidar
colocar la siguiente directiva del preprocesador que le indica al C que se usarn las
funciones inport, outport, inportb u outportb, declaradas en el archivo dos.h.
#include <dos.h>
El siguiente programa consulta la direccin del primer puerto paralelo disponible:

#include <conio.h>
#include <dos.h>
void main(void)
{
int puerto;
clrscr();
puerto=peekb(0x40,0x8);
printf("Direccin: %Xh",puerto);
getch();
}
Como vern la utilizacin del puerto paralelo es mucho ms sencillo que la
serial.

9. Programas Aplicativos para uso de puertos

Obtencin del puerto
Como ya se mencion anteriormente las direcciones de i/o de los puertos paralelo
se almacenan en una tabla ubicada en 40h:8h (0h:408h). entonces, ste sera un
mtodo de obtener las direcciones. a continuacin se muestra como obtener
dichas direcciones en distintos lenguajes.
Ensamblador
;en si tengo la direccin de memoria:
;lpt1 = 0408h
;lpt2 = 0408h + 2h = 040ah
;lpt3 = 040ah + 2h = 040ch
mov si,0408h ;si = 0408h
xor ax,ax ;ax = 0
push ds ;mete ds en la pila
mov ds,ax ;ds = ax = 0
Ingeniera Electrnica UNSA
_____________________________________________________________________________

54

mov ax,word ptr [si] ;ax = [0h:si]
pop ds ;recupero ds de la pila
;ahora en ax tengo la direccin base pascal
{en la variable lptadr guardo la direccin del puerto.
en lpt debo guardar el nmero del puerto paralelo, antes de ejecutar la siguiente
instruccin.}
lptadr := memw($0040,$8+(lpt-1)*2);
{lo que hace esta lnea es utilizar el array memw que directamente accede a la
memoria en el segmento y offset especificados}
c
/* en portnum debo guardar el nmero de puerto (1,2,3).
en la variable lptadr, tipo unsigned, obtengo la direccin.*/
portnum--;
lptadr = peek(0x0040,0x0008+portnum*2);
quickbasic
en la variable lptnum debo guardar el nmero de puerto
en la variable lptadr, obtengo direccin
def seg 0 cambio a segmento 0 para prxima inst. peek
lptadr = peek(8+(lptnum-1)*2)
def seg restauro a segmento de basic

You might also like