V i FS: es el voltaje que hay que poner a la entrada del convertidor para obtener una
3.4 Puerto paralelo
En el puerto paralelo la principal caracter´ıstica es que los bits de datos viajan juntos enviando un byte completo a la vez. El cable paralelo es el conector f´ısico entre el puerto paralelo y el perif´erico. En contraposici´on al puerto paralelo est´a el Puerto serie, que env´ıa los datos bit a bit por el mismo hilo. El puerto paralelo se apega al est´andar IEEE 1284 liberado en 1994 y que define 4 modos de operaci´on soportados au´n en la actualidad 10:
1. Puerto Paralelo Est´andar (SPP) (Unidireccional) 2. Puerto Paralelo PS/2 (Bidireccional)
3. Puerto Paralelo Mejorado (EPP)
4. Puerto Paralelo con Capacidades Extendidas (ECP).
El puerto paralelo m´as conocido es el puerto de impresora. Se ha utilizado principalmente para conectar impresoras, pero tambi´en ha sido usado para programadores EPROM, esc´aners, interfaces de red Ethernet a 10 MB, unidades ZIP y SuperDisk, para comunicación entre dos PCs (MS-DOS trajo en las versiones 5.0 ROM a 6.22 un programa para soportar esas transferencias).
El puerto paralelo de las computadoras, de acuerdo a la norma Centronic, est´a compuesto por un bus de comunicación bidireccional de 8 bits de datos, adem´as de un conjunto de l´ıneas de protocolo. Las l´ıneas de comunicación cuentan con un retenedor que mantiene el u´ltimo valor que les fue escrito hasta que se escribe un nuevo dato, las caracter´ısticas el´ectricas son 10:
• Tensión de nivel alto: 3.3 o 5 V.
• Tensión de nivel bajo: 0 V.
• Intensidad de salida m´axima: 2.6 mA.
• Intensidad de entrada m´axima: 24 mA.
La mayor´ıa de las computadoras, tanto de escritorio como port´atiles presentan por omisi´on una configuraci´on del puerto paralelo bidireccional para cualquier sistema operativo. Los sistemas operativos menos recientes, hablando de Windows 98 y anteriores, tambi´en son capaces de soportar este tipo de esquema para recibir y enviar datos por el puerto de impresi´on, siempre y cuando se configure manualmente dicha caracter´ıstica desde el SETUP 10.
Existen tres direcciones consecutivas asociadas con un puerto paralelo; estas direcciones pertenecen al registro de datos (Data Register), el registro de estado (Status Register) y el registro de control (Control Register). Se le denomina direcci´on base a la que indica la propia del registro de datos, por lo general 0x378; as´ı se tendr´ıa para el registro de estado la direcci´on inmediata siguiente 0x379 y para el registro de control la direcci´on 0x37A.
La direcci´on base del puerto paralelo se puede consultar en, ver Figura 3.17:
Panel de Control → Sistema → Hardware → Administrador de Dispositivos → Puertos
COM y LPT.
Figura 3.17: Como encontrar la direcci´on del puerto paralelo instalado en la PC
El puerto paralelo utiliza un conector hembra clase D de 25 pines (DB-25), definido como TIPO A por el est´andar IEEE 1284, para fines de an´alisis, se considera que los tres registros del puerto son de 8 bits, por lo que se tiene un orden significativo que es necesario respetar cuando se forma una palabra de configuraci´on, en el caso del registro de estado, se
tiene disponible a partir del bit 4 y hasta el bit 8 (S7, S6, S5, S4, S3), los dem´as est´an comprometidos o reservados para otros prop´ositos, el bit m´as significativo del registro de estado (S7), trabaja con l´ogica negativa y est´a f´ısicamente ubicado en el pin 11 del conector.
El registro de control, es sólo de salida y utiliza los primeros cuatro bits (C3, C2, C1, C0) del registro, los restantes cuatro est´an reservados. En este registro, los bits C3, C1 y C0, trabajan con lógica invertida y est´an localizados f´ısicamente en los pines 17, 14 y 1 del conector, ver Figura 3.18
Figura 3.18: Configuraci´on f´ısica del puerto paralelo
Los voltajes con los que trabaja el puerto paralelo son compatibles con los voltajes TTL, y por lo tanto se ha de tener precauci´on al conectar dispositivos al puerto, pues se puede ocasionar un daño permanente a la tarjeta madre. Programaci´on del puerto paralelo desde la consola de MS-DOS
\
Cabe mencionar que el DEBUG trabaja con valores hexadecimales, por lo tanto el valor 255 decimal o 111111112 binario, está representado por FF, y el 0 decimal o 000000002 binario, está representado por 00 hexadecimal.
3.4.1 Puerto paralelo bidireccional
En algunas aplicaciones pr´acticas se requieren m´as l´ıneas de entrada que las disponibles en el puerto de estado, leer los 8 bits de un convertidor anal´ogico-digital paralelo o interactuar con una pantalla de LCD 6.
Dado que las entradas del puerto de estado est´an restringidas a sólo 5 bits, es necesario adecuar el programa escrito hacia una l´ogica de multiplexaje que lea un dato de 4 bits, se almacene en una localidad de memoria y despu´es de un tiempo se lea la otra parte del dato, pensando en una entrada de 8 bits o m´as. Es admisible configurar el puerto de datos para que sus ocho pines puedan ser tambi´en entradas. Esto se logra accediendo al puerto de control y cambiando el bit nu´mero 6 del registro de un estado natural bajo a un estado alto. Cuando C5 est´a a 0 l´ogico, las 8 l´ıneas del puerto de datos son salidas y cuando C5 est´a a 1 l´ogico, se comportan como entradas. La Figura 3.11, muestra la disposición f´ısica de los pines del registro del puerto de control. Considerando una direcci´on base 378 H para el puerto de datos, se lista el siguiente fragmento en Lenguaje C para explicar de manera m´as concreta la idea anterior.
V A
V =
"V L í % \ " V
Observase que en la primera instrucci´on outportb (0x37A, 0x20) se escribe al puerto de control con la direcci´on 0x37A un valor hexadecimal 0x20, traducido a binario de 8 bits como 001000002, especificando que el bit nu´mero 6 se establece a un nivel lógico alto por lo que el puerto de datos (0x378) est´a configurado como entrada.
En la siguiente instrucci´on Valor = inport(0x378) se leen las 8 l´ıneas de datos y se asignan a una variable sin signo previamente definida.