Você está na página 1de 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:
Ramos Pealoza Christopher Jorge CUI 20062102


AREQUIPA-PERU
Ingeniera Electrnica UNSA
_____________________________________________________________________________

2

INDICE

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

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

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. 14

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

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

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

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

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

9. Programas Aplicativos para uso de puertos .. 53









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
/STROB
E
Strobe
2 D0 Data Bit 0
3 D1 Data Bit 1
4 D2 Data Bit 2
5 D3 Data Bit 3
Ingeniera Electrnica UNSA
_____________________________________________________________________________

4

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
/AUTOF
D
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

8

ciertos 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)
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).
Ingeniera Electrnica UNSA
_____________________________________________________________________________

9

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
0 | FIFO Empty
Ingeniera Electrnica UNSA
_____________________________________________________________________________

11

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 ...
=> 4 4 Data 2 D2 ...
=> 5 5 Data 3 D3 ...
=> 6 6 Data 4 D4 ...
Ingeniera Electrnica UNSA
_____________________________________________________________________________

12

=> 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 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.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

13

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
2. Activar el bit de bidireccionalidad (bit 5 del registro de control, base +
2).
Ingeniera Electrnica UNSA
_____________________________________________________________________________

14

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)
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.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

15

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.
Otros ordenadores (caso ms habitual) disponen de dos puertos serie de la
siguiente forma:
COM1-9 PINES
COM2-25 PINES
Ingeniera Electrnica UNSA
_____________________________________________________________________________

16

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.
Equipo de terminacin de circuito de datos, denominado ETCD. Por
ejemplo, un mdem.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

17

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
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:

Ingeniera Electrnica UNSA
_____________________________________________________________________________

18

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
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.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

19

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 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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

20

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
y 4.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

22


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
Conector de 9 pines: 5

EL CONTROL DE FLUJO
Ingeniera Electrnica UNSA
_____________________________________________________________________________

23


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.
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

24

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
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:

Ingeniera Electrnica UNSA
_____________________________________________________________________________

25





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 ser empleado sin tocar un tornillo, menos
Ingeniera Electrnica UNSA
_____________________________________________________________________________

27

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:
Ingeniera Electrnica UNSA
_____________________________________________________________________________

30

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).
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

31

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
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,
Ingeniera Electrnica UNSA
_____________________________________________________________________________

32

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
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

33

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 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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

34

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
_____________________________________________________________________________

35


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.
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.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

36

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 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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

37

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"
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

38

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

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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

39

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 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.

Ingeniera Electrnica UNSA
_____________________________________________________________________________

41

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 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,
Ingeniera Electrnica UNSA
_____________________________________________________________________________

42

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.

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.
Ingeniera Electrnica UNSA
_____________________________________________________________________________

43

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 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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

44

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.



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 las necesidades). El tamao inicial acordado es de un alto de 107mm
Ingeniera Electrnica UNSA
_____________________________________________________________________________

47

(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.
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

Ingeniera Electrnica UNSA
_____________________________________________________________________________

50




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
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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

51

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

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
Ingeniera Electrnica UNSA
_____________________________________________________________________________

52

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);
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>
Ingeniera Electrnica UNSA
_____________________________________________________________________________

53

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
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);
Ingeniera Electrnica UNSA
_____________________________________________________________________________

54

{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

Você também pode gostar