You are on page 1of 53

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. 7. 8. Determinar el uso del puerto USB del Sistema, caractersticas Determinar el uso de los slots de Expansion ISA y PCI Lenguajes de Programacin con las instrucciones de lectura y

escritura de puertos.(falta no la tengo ) 9. 10. Programas Aplicativos para uso de puertos Bibliografa

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

Nombr e / STROB E D0 D1 D2 D3 D4 D5 D6 D7 /ACK BUSY PE SELIN / AUTOF

Dir Descripcin

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Strobe Data Bit 0 Data Bit 1 Data Bit 2 Data Bit 3 Data Bit 4 Data Bit 5 Data Bit 6 Data Bit 7 Acknowledge Busy Paper End Select In Autofeed

D 15 /ERROR 16 /INIT 17 /SEL 18 GND -19 GND -20 GND -21 GND -22 GND -23 GND -24 GND -25 GND --

Error Initialize Select Signal Ground Signal Ground Signal Ground Signal Ground Signal Ground Signal Ground Signal Ground 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:

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 DB25 CN5 CN4 BIT 7 BIT 6 BIT 5 BIT 4 Pin 9 Pin 8 Pin 7 Pin 6 BIT 3 Pin 5 BIT 2 Pin 4 BIT 1 Pin 3 BIT 0 Pin2

TTL 7 TTL 6 TTL 5 TTL 4 TTL 3 TTL 2 TTL 1 TTL 0 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 CN6 No No Pin Pin 12 2 Pin 13 1 Pin 15 0 No No No usar 10 usar 3 usar usar usar usar No usar No usar

Input Input Input Input No

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 (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 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 CPU). Usando el modo Byte. De entre los distintos modos de funcionamiento tenamos que elegir uno. El elegido fue el "modo byte" . Por qu? Cul 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). y el handsake (secuencia de inicializacin de la comunicacin con el perifrico) es generado por hardware (ahorro de

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. 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 Base + 1 Base + 2 Base + 402h 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 | Puerto de Datos (Aqui recibiremos los datos) | Puerto de Estado (Aqui tendremos el ACK) | Puerto de Control (Aqui mandaremos los comandos) | Puerto de Control Extendido (ECR) (Used by all modes)

Las funciones de los bits del resgistro de control extendido son:

| 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 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 1 | Auto Linefeed 0 | Strobe 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 (linea de control PC->uC) (linea de control PC->uC) (linea de control PC->uC) 2 | Initialize Printer (Reset) (linea de control PC->uC)

Por ultimo el mapa de bits del registro de estado (base + 1) es el siguiente:

Para completar un listado de los pines del puerto en un conector db25 y las seales que le corresponden: <= in DB25 => out pin ------ ---=> => => => => => => => => <= <= <= <= => <= => => == 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ---1 2 3 4 5 6 7 8 9 10 11 12 13 14 32 31 36 Cent pin --------Strobe Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 -Ack +Busy +PaperEnd +SelectIn -AutoFd -Error -Init -Select Name of Signal --Bit C0D0 D1 D2 D3 D4 D5 D6 D7 S7S5+ S4+ C1S3+ C2+ C3Reg Function Notes Set Low pulse >0.5 us to send Set to least significant data ... ... ... ... ... ... Set to most significant data High for Busy/Offline/Error High for out of paper High for printer selected Set Low to autofeed one line Low for Error/Offline/PaperEnd Set Low pulse > 50uS to init Set Low to select printer -----------------------------

S6+ IRQ Low Pulse ~ 5 uS, after accept

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. 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). 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 1 CD 2 RXD 3 TXD 4 5 6 7 8 9 MODE (MODO) DTR GND DSR RTS CTS RI Descripcion Carrier Detect Receive Data Transmit Data Data Terminal

Ready -- System Ground Data Set Ready Request to Send Clear to Send Ring Indicator

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

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. 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 TXD 3: 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 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 est 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 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:

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.

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 (conectar y listo). Objetivos del bus serie universal Plug'n'Play

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 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 Bajo costo para aplicaciones que demandan velocidades por los 12 particularmente aplicaciones multimediales: micrfonos,

conectar el perifrico y emplearlo (sin abrir la computadora).

Mbps,

parlantes, telfonos, etc. Soporte completo para transmisin en tiempo real de voz, audio, y Flexibilidad de protocolos para transmisiones mixtas isocronicas y video.

asincrnicas (las cuales sern analizadas mas adelante, ya que es el eje de transmisin de USB).

Cmoda integracin de dispositivos de tecnologa y fabricantes Soporte para plataformas diversas de la lnea de las PCs compatibles Posibilitar la produccin de nuevos dispositivos capaces de

diferentes.

(como ya se vio, algunos problemas para MACINTOSH)

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.

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 ms, 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). 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 Administracin y control de transferencias isocrnicas de informacin Administracin y control de transferencias asincrnicas Administracin avanzada de suministro elctrico a los diferentes Administracin de la informacin del bus y los dispositivos USB

sistema

dispositivos

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 Los detalles de consumo y administracin elctrica del dispositivo El computador debe identificar automticamente un dispositivo Los dispositivos pueden ser desconectados mientras el computador Deben poder compartir un mismo bus tanto dispositivos que Ms de 127 dispositivos diferentes pueden estar conectados

mismo tipo de conector, ms all de la funcin que cumplan

deben ser completamente transparentes para el usuario

agregado mientras opera, y por supuesto configurarlo

est en uso

requieren de unos pocos Kbps como los que requieren varios Mbps

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 Soporte para la arquitectura Conectar y Operar (Plug&Play) Bajo costo No se necesita un cable extra de alimentacin - la mayora de los

dispositivo cualquiera

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, 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), CDROMs 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 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.

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. 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 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 interconexin de dispositivos al computador, pudiendo ser utilizado en cualquier lugar fsico en que se tenga esta

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 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 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 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 2 3 4 +5V Datos Datos + 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.

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 modos de de alta y baja son velocidad controlados respectivamente. Ambos transmisin

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 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 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. asincrnica, empleada masivamente aos atrs para la comunicacin entre los equipos servidores conocidos como hosts y sus

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

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.

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

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.

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, fullduplex, 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

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 abyte

Especifica la operacin a realizar es un caracter que se enviar por el puerto serial es la identificacin del puerto serial (desde 0 para COM1 hasta 3 para COM4)

port

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 0x00 0x04 0x00 0x08 0x18 0x00 0x20 0x40 0x60 0x80 0xA0 0xC0 0xE0

bits

de

datos

8 bits de datos 1 bits de parada

2 bits de parada Sin Paridad Paridad par 110 150 300 600 1200 2400 4800 9600 baudios baudios baudios baudios baudios baudios baudios baudios paridad impar

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 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 void void Ejemplo: Palabra = inport(puerto); outport (puerto,Palabra); inport (unsigned portid); outport (unsigned portid, unsigned value); unsigned char inportb (unsigned portid); outportb (unsigned portid, unsigned char value);

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> 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); {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

BIBLIOGRAFA

G. Hinton, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker, P. Roussel, The Microarchitecture of the Pentium 4 Processor, Intel Technology Journal, (Q1 Rotenburg, E., Bennett, S., Smith, J. E., Trace Cache: A Low Latency Approach to High Bandwitdh Instructio Fetching. Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture, Patel, Zunaid. Trace Caches in the Context of other Cacche Enhancements. Tse-Yu Patt, Yale Patt. Two-Level Adaptative Training Branch Prediction, 24th International Symposium on Microarchitecture. Dezso Sima, Terence Fountain, Pter Kacsuk, Advanced Computer Architectures, Addison-Wesley, J. L. Hennessy, D. A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann R. M. Tomasulo, An efficient algorithm for exploiting multiple arithmetic units, IBM Journal of Research and Development. https://developer.intel.com/design/pentium4/manuals/245470.htm [9] IA-32 Intel Architecture Software Developers Manual Volume 2: Basic Architecture at https://developer.intel.com/design/pentium4/manuals/245470.htm [10] Peter N. Glaskowsky, Pentium 4 (Partially) Previewed, Micro Processor Online, Agosto, 2001 Intel Pentium 4 Processor Optimization Reference Manual at http://developer.intel.com/design/pentium4/manuals/248966.ht Gurindar S. Sohi, Amir Roth, Speculative Multithreaded Processors, IEEE Computer, 2001 Intel Pentium 4 Processor and Intel 850 Performance Brief, Abril 2002 http://www.tomshardware.com Linley Gwennap, Intels P6 Uses Decoupled Superscalar Design, Microprocessor Report, pages 9-15, Febrero 1996 Desktop Performance and Optimization for Intel Pentium 4 Processor, Febrero 2001 www.intel.com/.../pentium/pentium-processor.ht

http://www.ecs.umass.edu/ece/koren/ece568/papers/Pentium4.pdf http://www.cpu-world.com/CPUs/Pentium_4/ http://www.wilkinsonpc.com.co/productos/partes/procesadores-intel.html http://www.vintage-computer.com/ibmpcat.shtml http://www-03.ibm.com/ibm/history/exhibits/pc/pc_1.html

You might also like