Vous êtes sur la page 1sur 15

INSTITUTO TECNOLOGICO DE MORELIA Jos Mara Morelos y Pavn

Prctica 3: Filtro para un rectificador

Nombre:SebastianCordova Fuentes Materia: Electronica Digital 2 Profesor: Servando


Carrera: Ing. Electronica No de Control: 09120124

07 de junio de 2011

Puertos Basicos de entrada y salida En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces. Las entradas son las seales recibidas por la unidad, mientras que las salidas son las seales enviadas por sta. El trmino puede ser usado para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos tpicos para la comunicacin entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los mdems y tarjetas de red. Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada. En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos. Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas. Una alternativa para las funciones primitivas especiales es la mnada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introduciran un efecto colateral para cualquier lenguaje de programacin, pero ahora una programacin puramente funcional resultara prctica.

Cualquier dispositivo (distinto de la memoria RAM) que intercambie datos con el sistema lo hace a travs de un "puerto", por esto se denominan tambin puertos de E/S ("I/O ports"). Desde el punto de vista del software, un puerto es una interfaz con ciertas caractersticas; se trata por tanto de una abstraccin (no nos referimos al enchufe con el que se conecta fsicamente un dispositivo al sistema), aunque desde el punto de vista del hardware, esta abstraccin se corresponde con un dispositivo fsico capaz de intercambiar informacin (E/S) con el bus. Como los dispositivos E/S tienen algn tipo de conexin con el bus externo ( H2), deben tener una direccin (o conjunto de ellas) que los identifique. Los hemos comparado con un telfono, un dispositivo con el que se puede enviar/recibir informacin mediante una direccin. Hablar de un puerto E/S es casi siempre sinnimo de una direccin, y es costumbre informtica referirse a estas direcciones en hexadecimal . De modo que, por ejemplo, un puerto puede ser 0x21 en un fuente o 21h en un texto informtico. Dispositivos de entrada y salida Para diferenciar los dispositivos tenemos dos enfoques posibles, el primero de ellos se centra en el modo de almacenar la informacin (clasificando los dispositivos como de bloque o de carcter)1 y el segundo enfoque se centra en el destinatario de la comunicacin (usuario, maquina, comunicadores) 2 Un dispositivo de bloque almacena la informacin en bloques de tamao fijo. Al ser el bloque la unidad bsica de almacenamiento, todas las escrituras o lecturas se realizan mediante mltiplos de un bloque. Es decir escribo 3 o 4 bloques, pero nunca 3,5 bloques. El tamao de los bloques suele variar entre 512 Bytes hasta 32.768 Bytes. Un disco duro entrara dentro de esta definicin. A diferencia de un dispositivo de bloque un dispositivo de carcter, no maneja bloques fijos de informacin sino que enva o recibe un flujo de caracteres. Dentro de esta clase podemos encontrar impresoras o interfaces de red.1 Entre cada categora y dispositivo, hay grandes diferencias: Velocidad de transferencia de datos: varios rdenes de magnitud para transferir los datos, segn las necesidades de cada dispositivo Aplicacin: la funcionalidad para la que esta diseado un dispositivo tiene influencia sobre el software por ende lo tendr sobre el sistema operativo. Complejidad de control: cada dispositivo tiene una complejidad asociada, no es lo mismo controlar un ratn que gestionar un disco duro. Unidad de transferencia: datos transferidos como un flujo de bytes/caracteres o en bloques de tamao fijo Representacin de datos: cada dispositivo puede usar su propia codificacin de datos

Condiciones de error: el porqu del error, su manera de notificarlo as como sus consecuencias difiere ampliamente entre los dispositivos Algunos dispositivos de entrada y salida: Entrada: Teclado, Ratn, Joystick, Lpiz ptico, Micrfono, Webcam, Escner Salida: Monitor, Altavoz, Auriculares, Impresora, Plotter, Proyector Entrada/salida: Unidades de almacenamiento,CD, DVD, Mdem, Fax, Memorycards, USB Direcciones de puertos El modelo de direccionamiento del PC ha adoptado dos modelos, segn la naturaleza del dispositivo a conectar: Direccionamiento dedicado para dispositivos de media/baja velocidad. Por ejemplo, puertos serie y paralelo (impresora), teclado, Etc. y direccionamiento mapeado en memoria para dispositivos rpidos (tpicamente los adaptadores grficos). Respecto a los dispositivos de direccionamiento dedicado, desde la introduccin del IBM-PC, es costumbre que determinados dispositivos muy comunes se conecten mediante puertos de direcciones determinadas. Las direcciones mapeadas en memoria se eligieron para algunos dispositivos como los adaptadores grficos, que requeran mover grandes cantidades de datos muy rpidamente. Con objeto de no causar conflictos con la RAM general, algunas de estas direcciones fueron mapeadas desde el principio por los diseadores de IBM, fuera de la denominada memoria convencional. Es decir, fuera del espacio de los 640 KB que podan utilizarse en los primeros PC's para Sistema y programas de aplicacin. Por ejemplo, el adaptador de video utiliza un rea de memoria de 128 KB mapeada entre las direcciones A0000-BFFFFh. Sin embargo, los decodificadores de direcciones de perifricos de los primitivos PC's solo podan utilizar direcciones de 10 bits para tales accesos, por lo que las direcciones de puertos estaban constreidas a 210 (1 KB 0000-0400h). En realidad el espacio era an ms pequeo, puesto que los primeros 256 Bytes estaban copados por algunos dispositivos de la placa-base, resultando que los dispositivos E/S deban ser mapeados en 768 Bytes. Generalmente se utilizaron fragmentos de 256 Bytes en la forma xxF0-xxFFh, organizados de forma bastante desordenada. La introduccin del AT ampli estas direcciones a 16 [2]. Sin embargo, incluso los 64 KB resultantes eran un espacio pequeo y de organizacin catica, dado que los nuevos dispositivos se construan de forma que fueran compatibles con las antiguas placas ISA que solo reconocan direcciones de 10 bits. Incluso las placas para buses posteriores que fueron desarrollados pensando en 64 KB porque deban ser compatibles hacia atrs con las antiguas placas ISA (que coexistan en las nuevas). El resultado de todo esto es que, incluso los sistemas actuales con muchos MB. de RAM, deben seguir lidiando con los puertos a travs de pequeas ventanas de memoria con localizaciones absurdas.

Comunicar con los puertos Nos detendremos brevemente en analizar los aspectos involucrados en las operaciones E/S con los puertos desde una doble vertiente: Lgica y fsica; esta ltima relativa a los mecanismos involucrados en el intercambio. Aspectos lgicos El software utilizado depende de la modalidad de direccionamiento (dedicado o mapeado) que se elija. En el segundo caso, se dispone un amplio repertorio de recursos para mover datos entre los registros y la memoria (la mayora de las instrucciones del procesador operan de esta forma), as como de los mecanismos auxiliares de transferencia, como el acceso directo a memoria DMA. El panorama es distinto cuando se trata de puertos de direccionamiento dedicado. En este caso, para realizar las operaciones E/S en los procesadores 8088 y descendientes, solo se dispone de dos instrucciones especficas: IN y OUT. La primera lee un byte del registro de salida del puerto y lo sita en un registro del procesador; la segunda escribe el contenido de un registro del procesador en un registro del puerto. Ambas instrucciones permiten dos variaciones sintcticas: IN acumulador-destino, direccion-de-puerto-origen IN acumulador-destino, acumulador-origen OUT direccin-de-puerto-destino, acumulador-origen OUT acumulador-destino, acumulador-origen Las dos primeras sitan el dato contenido en el puerto origen en el acumulador-destino, que puede ser AX o AL. Observe que el puerto puede ser expresado directamente mediante una direccin (hexadecimal) o mediante un acumulador-origen, que debe ser DX; en este caso, su contenido se toma como direccin del puerto que se lee. Las instrucciones OUT sitan el valor contenido en el acumulador-origen, que puede ser AX o AL, en el puerto destino, que puede ser identificado directamente mediante su direccin hexadecimal, o por el valor sealado por el acumulador-destino, que debe ser DX. En el IBM-PC, las direcciones-de-puerto utilizadas en estas instrucciones estan en el rango 00-FFh, aunque en la prctica solo 00-F7h, porque Intel reserva las direcciones F8-FFh para el coprocesador metemtico (0.3.2). En cambio, si se utiliza la direccin contenida en el registro DX el rango de direcciones puede moverse en el rango 0000-FFFFh. Por supuesto, cualquier programa que quiera utilizar puertos deber emplear directa o indirectamente estas dos instrucciones ensamblador, aunque en muchos casos no es imprescindible enredarse en demasiados detalles.

Aspectos fsicos El procedimiento que se sigue el procesador para las E/S hacia puertos, es siempre el mismo: Poner el dato en el bus de datos y la direccin en el de direcciones. Como indicamos a continuacin, el sistema sabe que se trata de una direccin de memoria (real o de puerto mapeado) o de un puerto de direccin dedicada, y cual es la accin esperada (lectura o escritura) porque se dispone de 4 lneas especficas en el bus de control ( H2): IOR Orden de lectura para dispositivo E/S conectado al bus, que debe colocar un dato en el bus de datos. IOW Orden de escritura para dispositivo E/S, que debe leer el dato situado en el bus.

MEMR Esta seal indica a los dispositivos de memoria que deben colocar un dato en el bus de datos. MEMW Seal que indica a los dispositivos de memoria que deben almacenar el dato colocado en el bus de datos. Una cuestin adicional es que cuando la comunicacin debe establecerse desde el lado del puerto (es el puerto el que desea establecer comunicacin con el sistema), primero debe anunciarlo al procesador, para lo que se utiliza un sistema de interrupciones cuyo mecanismo de funcionamiento se ha detallado en el captulo correspondiente ( H2.4). La consecuencia es que la mayora de los puertos disponen de lneas IRQ asignadas para este menester Puertos con Handshaking Las operaciones internas en un sistema digital se sincronizan mediante pulsos de reloj proporcionados por un generador de pulsos comn. Los pulsos de reloj se aplican a todos los registros dentro de una unidad y todas las transferencias de datos entre registros internos ocurren en forma simultnea durante el transcurso de un pulso de reloj. Se designa dos unidades, por ejemplo la CPU y la interface de E/S, independientes una de la otra. Si los registros de la interface comparten un reloj comn con los registros de la CPU, se dice que la transferencia entre las dos unidades es sincrona. Este enfoque se utiliza con mucha frecuencia en la mayora de los sistemas de computadora, la transferencia de datos asncrona entre dos unidades independientes requiere que se transmitan seales de control entre las unidades que se comunican para indicar el momento en el cual se estn transmitiendo datos. Una manera de conseguir esto es mediante un pulso de habilitacin (estrboscopico), proporcionando por medio de una de las unidades para indicar a la otra unidad cuando tiene que ocurrir la transferencia. Orto mtodo muy generalizado es acompaar cada conjunto de datos que se transfiere con una seal de control que indica la presencia de datos en el canal. La unidad que recibe el conjunto de datos responde con otra seal de control para reconocer la recepcin de los datos.

Este tipo de cuerdo entre dos unidades independientes se conoce como reconocimiento mutuo (handshaking). A continuacin se explicara de manera mas detallada lo que es el handshaking: RS-232 (Estndar ANSI/EIA-232) es el conector serial hallado en las PCs IBM y compatibles. Es utilizado para una gran variedad de propsitos, como conectar un ratn, impresora o modem, as como instrumentacin industrial. Gracias a las mejoras que se han ido desarrollando en las lneas de transmisin y en los cables, existen aplicaciones en las que se aumenta el desempeo de RS232 en lo que respecta a la distancia y velocidad del estndar. RS-232 est limitado a comunicaciones de punto a punto entre los dispositivos y el puerto serial de la computadora. El hardware de RS-232 se puede utilizar para comunicaciones seriales en distancias de hasta 50 pies. El mtodo de comunicacin usado por RS-232 requiere de una conexin muy simple, utilizando slo tres lneas: Tx, Rx, y GND. Sin embargo, para que los datos puedan ser transmitidos correctamente ambos extremos deben estar sincronizados a la misma velocidad. Aun y cuando este mtodo es ms que suficiente para la mayora de las aplicaciones, es limitado en su respuesta a posibles problemas que puedan surgir durante la comunicacin; por ejemplo, si el receptor se comienza a sobrecargar de informacin. Es en estos casos cuando el intercambio de pulsos de sincronizacin, o handshaking, es til. En esta seccin se describirn brevemente las tres formas ms populares de handshaking con RS-232: handshakingfor software, handshaking por hardware, y XModem. a) Handshaking por software: sta ser la primera forma de handshaking que discutiremos. Esta forma de sincronizacin utiliza bytes de datos como caracteres de control, de manera similar a como GPIB utiliza las cadenas de caracteres como comandos. Las lneas necesarias para la comunicacin siguen siendo Tx, Rx, y GND, ya que los caracteres de control se envan a travs de las lneas de transmisin como si fueran datos. La funcin SetXMode permite al usuario habilitar o deshabilitar el uso de dos caracteres de control: XON y XOFF. Estos caracteres son enviados por el receptor para pausar al transmisor durante la comunicacin. A manera de ejemplo, asmase que el transmisor comienza a enviar datos a alta velocidad. Durante la transmisin, el receptor se da cuenta que el bfer de entrada se est llenando debido a que el CPU est ocupado con otras tareas. Para pausar temporalmente la transmisin, el receptor enva XOFF (cuyo valor es tpicamente 19 decimal, o 13 hexadecimal) hasta que el bfer se vace. Una vez que el receptor est preparado para recibir ms datos enva XON (cuyo valor es tpicamente 17 decimal, u 11 hexadecimal) para continuar la comunicacin. LabWindows enviar un XOFF cuando el bfer de entrada se encuentre a la mitad de su capacidad. Adems, en caso que la transmisin inicial de XOFF haya fallado, LabWindows enviar de nuevo un XOFF cuando el bfer alcance un 75% y 90% de su capacidad. Para que funcione correctamente, es necesario que el transmisor est utilizando el mismo protocolo.

La mayor desventaja de este mtodo es adems lo ms importante a considerar: los nmeros decimales 17 y 19 son ahora los lmites para la transmisin. Cuando se transmite en ASCII, esto no importa mucho ya que estos valores no representan caracter alguno. Sin embargo, si la transmisin de datos es en binario, lo ms probable es que estos valores sean transmitidos como datos regulares y falle la comunicacin. b) Handshaking por hardware: El segundo mtodo de handshaking utiliza lneas de hardware. De manera similar a las lneas Tx y Rx, las lneas RTS/CTS y DTR/DSR trabajan de manera conjunta siendo un par la entrada y el otro par la salida. El primer par de lneas es RTS (por sus siglas en ingls, RequesttoSend) y CTS (Clear toSend). Cuando el receptor est listo para recibir datos, cambia la lnea RTS a estado alto; este valor ser ledo por el transmisor en la lnea CTS, indicando que est libre para enviar datos. El siguiente par de lneas es DTR (por sus siglas en ingls, Data Terminal Ready) y DSR (Data Set Ready). Estas lneas se utilizan principalmente para comunicacin por modem, permiten al puerto serial y modem indicarse mutuamente su estado. Por ejemplo, cuando el modem se encuentra preparado para que la PC enve datos, cambia la lnea DTR a estado alto indicando que se ha realizado una conexin por la lnea de telfono. Este valor se lee a travs de la lnea DSR y la PC comienza a enviar datos. Como regla general, las lneas DTR/DSR se utilizan para indicar que el sistema est listo para la comunicacin, mientras que las lneas RTS/CTS se utilizan para paquetes individuales de datos. En LabWindows, la funcin SetCTSMode habilita o deshabilita el uso de handshaking por hardware. Si el modo CTS est habilitado, LabWindows aplica las siguientes reglas: Cuando la PC enva datos: La librera de RS-232 debe de detectar que la lnea CTS se encuentra en estado alto antes de enviar datos. Cuando la PC recibe datos: Si el puerto est abierto y el bfer de entrada puede contener ms datos, la lbrera enva a RTS y DTR a estado alto. Si el bfer de entrada est al 90% de su capacidad, la librera manda a estado bajo RTS pero mantiene DTR en alto. Si el bfer de entrada est casi vaco, la librera manda a estado alto RTS y mantiene DTR en alto. Si el puerto se cierra, la librera manda a estado bajo a RTS y DTR.

c) Handshaking por XModem: El ltimo modo de handshaking presentado es el protocolo de transmisin de archivos XModem. Este protocolo es muy comn en comunicacin por modem. Aun y cuando es ms utilizado para comunicacin por modem, el protocolo XModem puede ser utilizado directamente entre otros dispositivos. En LabWindows, la implementacin de XModem se mantiene oculta para el usuario. Mientras la PC se conecte a otro dispositivo que utilice el protocolo XModem, se pueden utilizan las funciones de LabWindows para transferir datos de un lado a otro. Estas funciones son XModemConfig, XModemSend, y XModemReceive. XModem utiliza un protocolo basado en los siguientes parmetros: start_of_data, end_of_trans, neg_ack, ack, wait_delay, start_delay, max_tries, packet_size. Estos parmetros deben de ser comunes en ambos lados de la comunicacin, y el estndar XModem contiene la definicin estndar de stos; sin embargo, se pueden modificar utilizando la funcin XModemConfig de LabWindows para cumplir cualquier otro requerimiento. Los parmetros en XModem funcionan de la siguiente manera: el receptor enva el caracter "neg_ack". Esto indica al transmisor que ya est listo para recibir datos. El receptor continuar enviado el caracter "neg_ack" en intervalos de tiempo de duracin de "start_delay" hasta que iguale la cuenta de "max_tries" o reciba "start_of_data" del transmisor. Si el receptor intenta comunicarse con el transmisor la misma cantidad de veces que "max_tries", informar al usuario que no fue posible comunicarse con el transmisor. Si el receptor s recibe el "start_of_data" del transmisor, leer el paquete de informacin que sigue. Este paquete contiene el nmero de paquete, el complemento del nmero de paquete para fines de verificacin de errores, el paquete actual de datos con una cantidad de bytes igual a "packet_size", y un checksum para ms verificacin de errores. Despus de recibir el paquete, el receptor mandar llamar el "wait_delay", y luego enviar el "ack" al transmisor. Si el transmisor no recibe el "ack", intentar de reenviar el paquete de datos una cantidad de veces igual a "max_tries" o hasta que reciba el "ack". Si nunca recibe el "ack", informar al usuario que hubo un fallo al momento de querer transferir el archivo. Los datos deben de ser enviados en paquetes con una cantidad de bytes igual a "packet_size". Debido a esto, cuando se est enviando el ltimo paquete y no se tiene la cantidad suficiente de informacin vlida para llenarlo, el protocolo llenar el paquete con el caracter ASCII nulo (0). Esto puede causar que el archivo recibido sea ms grande que el original. Es importante recordar que no hay que usar XON/XOFF con el protocolo XModem, ya que el nmero de paquete durante la transferencia por XModem se incrementar conforme se envan los caracteres XON/XOFF, lo que puede causar una falla en la comunicacin.

Puertos Bidireccionales Un puerto paralelo es una interfaz entre una computadora y un perifrico cuya principal caracterstica es que los bits de datos viajan juntos, enviando un paquete de byte a la vez. Es decir, se implementa un cable o una va fsica para cada bit de datos formando un bus. Mediante el puerto paralelo podemos controlar tambin perifricos como focos, motores entre otros dispositivos, adecuados para automatizacin. El puerto paralelo adapta la velocidad del ordenador a la del perifrico (es ms lento), y establece un control de flujo hardware para que el ordenador no inunde de informacin al perifrico. Mediante el puerto paralelo se puede establecer un mayor control por parte del ordenador sobre el perifrico. En cambio, en el puerto serial la velocidad esta preestablecida y no existe tanto control como con el puerto serial. Principales puertos paralelos. Los primeros puertos paralelos bidireccionales permitan una velocidad de 2,4 Mb/s. Sin embargo, los puertos paralelos mejorados han logrado alcanzar velocidades mayores. En la actualidad se conoce cuatro tipos de puerto paralelo: Puerto paralelo estndar (StandartParallel Port SPP) Puerto Paralelo PS/2 (bidireccional) EnhancedParallel Port (EPP): El Puerto paralelo mejorado alcanza velocidades de 8 a 16 Mbps. Extended Capability Port (ECP): El puerto de capacidad mejorada, desarrollado por Hewlett Packard y Microsoft. Posee las mismas caractersticas del EPP con el agregado de un dispositivo Plug and Play que permite que el equipo reconozca los perifricos conectados. A continuacin se muestra informacin sintetizada delPuerto PS/2: SPP PS/2 EPP ECP Fecha de Introduccin 1981 1987 1994 1994 Fabricante IBM IBM Intel, Xircom Hewlett Packard Microsoft Bidireccional No Si SiSi DMA No NoNo Si Velocidad 150 Kbyte/seg. 150 Kbytes/seg. 2 Mbytes/seg. 2 Mbytes/seg. Los registros del puerto.

El puerto paralelo presenta 3 registros accesibles por el programador: Primer registro del puerto paralelo Este primer registro es el registro de datos, solo de escritura, en el cual introducimos el byte que queremos que aparezca en las lneas de datos D0-D7 (pines 2-9). Segundo registro del puerto paralelo. Este registro corresponde al que nosotros podemos llamar registro de control de entrada, debido a que en este registro se activan los bits de ERROR, SCLT, PE, ACK y BUSY, si alguno de los pines a los cuales estn ligados esta en nivel alto (o nivel bajo dependiendo si es o no negado), esto se puede observar en la figura 2. Este registro es solo de lectura, es decir, no se puede variar este registro por software. Tercer registro del puerto paralelo. Este registro al igual que el anterior corresponde a un registro de control, pero este registro es de salida, es decir, al variar uno de estos bits, tambin se vara el nivel del pin del conector, un ejemplo estara en la seal de -STROBE, si en el registro ponemos este bit a 0, en el pin 1 del conector el nivel ser de 1 (5 V) (pasa lo mismo en el caso del registro de datos). Este registro se puede leer y variar por Software. Los principales puertos bidireccionales que son mas usados en el mercado son los PS/2. Desde la introduccin del PC al mercado, el puerto paralelo ha sufrido varias modificaciones para hacerlo ms veloz. Ya que el puerto original era unidireccional, se cre el puerto bidireccional. El puerto bidireccional fue introducido con el PS/2 Compatible. Este permite una comunicacin de 8 bits en ambas direcciones. Los puertos bidireccionales son aquellos que poseen bloques en el que se pueden observar la existencia de 2 registros de entrada y salida en paralelo, denominados registro de sentido o de configuracin y registro de salida y 2 conjuntos de puertas seguidoras de 3 estados, uno de entrada y otro de salida. Cada uno de los biestables del registro de sentido desinhibe con el nivel cero una puerta de 3 estados de entrada y con el nivel uno una puerta de 3 estados de salida. De esta forma los terminales del puerto se configuran como entrada o como salida de roma independiente unos de otros. Algo interesante de notar es que el puerto original tena la posibilidad de ser bidireccional realizando una conexin entre dos pines de un componente electrnico que vena incluido en

ste. (Dicho de otro modo, el puerto original es bidireccional en diseo bsico, pero no en el diseo operacional). Finalmente se han creado el EnhancedParallel Port (EPP) y el Extended Capability Port (ECP). Estos dos ltimos son al puerto estndar como el Pentium al 286, adems de ser bidireccionales. Inicialmente el puerto paralelo se utiliz para la comunicacin con impresoras. Actualmente se utiliza tambin para manejar otros perifricos como CD ROM, cintas de copia de respaldo, discos duros, tarjetas de red, protectores de copia, scanners, etc. Interfaces perifricas programables El 8255 es un dispositivo de entrada/salida de propsito general. Consiste en tres puertos paralelos de 8 bits configurables de varias maneras para transmitir o recibir datos a travs de ellos, usando un cierto protocolo o de forma limpia. El concepto de puerto aqu es el de un lugar a travs del cual el procesador transmite o recibe datos. Una vez configurado el chip, el procesador puede enviarle un dato al PPI, para hacrselo llegar a un dispositivo conectado a l. El PPI mantiene el dato disponible todo el tiempo que el dispositivo necesite para leerlo y luego puede avisar al procesador para que le enve el siguiente. Las principales caractersticas del 8255 son: Diagrama de bloques Direcciones y registros de control Modos de funcionamiento: Modo 0 (E/S programada) Modo 1 (E/S por interrupciones) Modo 2 (E/S bidireccional) Emulacin interfaz centronics (puerto paralelo impresora) mediante un 8255 Dispone de tres puertos de E/S (A, B y C): dos de tamao byte (A y B) y uno de tamao 2x4 bits (C) con control bit a bit Los puertos pueden ser configurados como entrada, salida o bidireccionales

Dispone de lneas de protocolo Se utilizan los tres puertos (A,B,C) como simples registros donde leer yescribir. La CPU y los dispositivos externos correspondientes se encargan de leer/escribir de acuerdo a un determinado protocolopreviamente definido Funcionamiento en Modo 0 El puerto A (8 bits) se configura como entrada o salida con el bit D4 del registro de control. El puerto B (8 bits) se configura como entrada o salida con el bit D1 delregistro de control. El puerto C alto (4 bits) se configura como entrada o salida con el bit D3del registro de control. El puerto C bajo (4 bits) se configura como entrada o salida con el bit D0del registro de control. Funcionamiento en Modo 1 En este modo se utiliza el protocolo Handshake El puerto A (8 bits) se configura como entrada o salida con elbit D4 del registro de control. El puerto B (8 bits) se configura como entrada o salida con elbit D1 del registro de control. El puerto C contiene las seales del protocolo Modo 1 (E/S por interrupciones). Configuracin de entrada STBA (strobe input): Un cero en esta lnea de entrada indicaque hay dato disponible en el puerto A (activada por eldispositivo externo) IBFA (input buffer full): Un uno en esta lnea de salida indicaque el dato ya ha sido cargado en el registro del puerto A. IBFA se desactiva cuando se desactiva STBA (el dispositivoexterno da su confirmacin) y se produce el flanco de subidade la seal RD (dato ledo por la CPU) Seales de protocolo cuando el puerto est configurado como entrada Las seales STBB, IBFB son funcionalmente equivalentes Modo 1 (E/S por interrupciones) Configuracin de salida OBFA (output buffer full): esta lnea de salida se pone a cero (activa en baja) para indicarle al dispositivo que la CPU ha escrito un dato en el puerto A. Se activa con el flanco de subida de la seal WR (escritura finalizada) y se desactiva con la confirmacin del dispositivo (ACKA) ACKA (acknowledge input): un cero en esta entrada indicaque los datos del puerto A han sido ledos por el dispositivoexterno. Esencialmente es una respuesta del dispositivoperifrico indicando que ha sido recibido el dato enviado porla CPU Las seales OBFB y ACKB son funcionalmente equivalentes

Modo 1 (E/S por interrupciones). Interrupciones Seales de interrupcin se pueden generar en los puertos A y B tanto siestn configurados como entrada (la CPU debe leer un dato) como si loestn como salida (la CPU ya puede escribir un nuevos dato) El bit 4 del puerto C (PC4) es el bit de habilitacin de interrupcin delpuerto A:INTEA. El del puerto B es el bit 2 (PC2): INTEB Para que el 8255 genere una interrupcin asociada al puerto A (sealINTRA) cuando est configurado como entrada, se debe cumplir que:STBA es 1, IBFA es 1 e INTEA es 1(semejante para el puerto B) Para que el 8255 genere una interrupcin asociada al puerto A (sealINTRA) cuando est configurado como salida, se debe cumplir que:ACKA es 1, OBFA es 1 e INTEA es 1(semejante para el puerto B) Funcionamiento en Modo 2 (E/S bidireccional) El PUERTO A funciona de forma bidireccional. Es como un doblemodo 1. El PUERTO B no tiene este modo . Los cinco lneas superiores del puerto C contienen las seales deprotocoloSeales de protocolo (semejantes a las descritas en el modo 1) STB (strobe input) IBF (input buffer full) ACK (acknowledge) OBF (output buffer full) INTR

BIBLIOGRAFIA http://www.dacya.ucm.es/mendias/512/docs/tema10.pdf http://itscelectronica.foroactivo.com/t18-puertos-paralelos-y-seriales http://es.kioskea.net/contents/pc/serie.php3 http://books.google.com.mx/books?id=86uGLMp4vgAC&pg=PA38&dq=puertos+bidireccionales&h l=es&ei=BifuTe2WLIr2tgPKgvzIAw&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCUQ6AEw AA#v=onepage&q=puertos%20bidireccionales&f=false http://www.zator.com/Hardware/H2_5.htm http://yaqui.mxl.uabc.mx/~aglay/PPI_8255.PDF http://icaro.eii.us.es/descargas/8255transp.pdf http://www.nuvoton.com/hq/enu/Pages/default.aspx http://support.microsoft.com/kb/94297/es http://usuarios.multimania.es/sfriswolker/pic/cinco/cincodos.htm

Vous aimerez peut-être aussi