introducción a los puertos paralelos

Upload: alejandro-gutierrez-angulo

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Introduccin a los puertos paralelos

    1/17

    Introduccin a los puertos paralelos

    El puerto paralelo es el puerto ms utilizado para los proyectos de interconexin encasa hizo. Este puerto permitir la entrada de hasta 9 bits o la salida de 12 bits encualquier momento dado, por lo que requiere un mnimo de circuitos externos para

    poner en prctica muchas de las tareas ms simples. El puerto se compone de :4 lneas de control,5 lneas de estado y

    8 lneas de datos.

    Se encuentra comnmente en la parte posterior de su PC como un conector D-Type 25mujeres. Tambin puede haber un D-tipo conector de 25 pines macho. Este ser unpuerto serie RS-232 y por lo tanto, es un puerto totalmente incompatibles.

    Para ms informacin sobre serial RS-232 Ver

    http://www.beyondlogic.org/serial/serial.htmMs reciente de puerto paralelo son estandarizados bajo el estndar IEEE 1284 porprimera vez en 1994. Esta norma define 5 modos de operacin que son los siguientes,

    1. Modo de compatibilidad.2. Modo Nibble. (Protocolo no descritos en este documento)3. Byte Mode. (Protocolo no descritos en este documento)4. El modo EPP (puerto paralelo mejorado).5. ECP Mode (Modo de capacidades extendidas).El objetivo era disear nuevos controladores y dispositivos que son compatibles entres y tambin compatible con el puerto paralelo estndar (SPP). Modos de

    compatibilidad, Nibble y Byte utilizar slo el hardware estndar disponible en lastarjetas de puerto paralelo original, mientras que los modos EPP y ECP requierenhardware adicional que puede funcionar a velocidades ms rpidas, sin dejar de sercompatible hacia abajo con el puerto paralelo estndar.

    El modo de compatibilidad o "Modo Centronics", como se le conoce comnmente, slopuede enviar datos en direccin de avance a una velocidad tpica de 50 kbytes porsegundo, pero puede ser tan alto como 150 + kbytes por segundo. Con el fin de recibirlos datos, debe cambiar el modo a cualquier modo Nibble o Byte. Modo Nibble puedeintroducir un nibble (4 bits) en la direccin contraria. Por ejemplo desde el dispositivo ala computadora. Modo de byte utiliza el paralelo es bi-direccional funcin (que seencuentra slo en algunas tarjetas) a la entrada de un byte (8 bits) de datos en ladireccin contraria.

    Puertos paralelos ampliado y mejorado el uso de hardware adicional para generar yadministrar apretn de manos. A la salida de un byte a la impresora (o cualquier otracosa que la materia), utilizando el modo de compatibilidad, el software debe,

    1. Escribe el byte al puerto de datos.

  • 8/3/2019 Introduccin a los puertos paralelos

    2/17

    2. Compruebe que es la impresora est ocupada. Si la impresora est ocupada, noaceptar ningn dato, por lo que cualquier dato que se escribe se pierde.3. Tome el Strobe (Pin 1) baja. Esto le dice a la impresora que no hay los datoscorrectos en las lneas de datos. (Pines 2-9)4. Poner el flash de alta de nuevo despus de esperar unos 5 microsegundos despus

    de poner el flash de baja. (Paso 3)Esto limita la velocidad a la que el puerto se puede ejecutar en. Los puertos EPP y ECPevitar esto al permitir que el hardware de verificacin para ver si la impresora estocupada y generan una luz estroboscpica y / o apretn de manos apropiado. Estosignifica que slo uno de E / S de instrucciones se deben realizar, lo que aumenta lavelocidad. Estos puertos pueden produccin en alrededor de 1.2 megabytes porsegundo. El puerto ECP tambin tiene la ventaja de utilizar los canales DMA y buffersFIFO, por lo que los datos se puede cambiar todo sin necesidad de utilizar E / S deinstrucciones.Propiedades de hardware-------------------------------------------------- ------------------------------

    A continuacin se muestra una tabla de los "recortes Pin" del conector Pin D-Type 25 y elCentronics 34 pines del conector. El D-tipo conector de 25 pines es el conector ms comunesque se encuentran en el puerto paralelo del ordenador, mientras que el conector Centronics seencuentra comnmente en las impresoras. El estndar IEEE 1284 sin embargo especifica 3conectores diferentes para usar con el puerto paralelo. El primero de ellos, 1.284 del tipo A esel D-Type 25 conector en la parte posterior de la mayora de las computadoras. La segunda esla de tipo B 1284, que es el de 36 pines del conector Centronics se encuentran en la mayorade las impresoras.

    IEEE 1284 Tipo C sin embargo, es un conector de 36 conductores, como el Centronics, pero

    ms pequeo. Este conector se afirma que tiene un clip de cierre mejor, mejores propiedadeselctricas y es ms fcil de montar. Tambin contiene dos pines ms para las seales que sepueden utilizar para ver si el otro dispositivo conectado, tiene el poder. 1.284 conectores de tipoC son recomendables para los nuevos diseos, por lo que podemos esperar al ver a estosnuevos conectores en un futuro prximo

  • 8/3/2019 Introduccin a los puertos paralelos

    3/17

    La tabla de arriba usa "n" delante del nombre de la seal para indicar que la seal esde baja actividad. por ejemplo nError. Si la impresora se ha producido un error, estalnea es baja. Esta lnea normalmente es alta, si la impresora est funcionandocorrectamente. El "hardware invertido" significa que la seal es invertida por elhardware de la tarjeta de Parallel. Un ejemplo es la lnea ocupada. Si +5 V (1 lgico) seaplic a este pin y el estado de leer el registro, sera volver a 0 en el bit 7 del registro deestado.

    La salida del puerto paralelo normalmente los niveles de lgica TTL. Los niveles de

    voltaje son la parte fcil. Que la corriente te puede hundir y la fuente vara de un puertoa otro. La mayora de los puertos paralelos implementados en ASIC, se puede hundir yla fuente de alrededor de 12 mA. Sin embargo, estos son slo algunos de los datosextrados de las hojas de datos, 6mA drenador / surtidor, 20mA Fuente 12mA/Sink,fregadero 16mA/Source 4mA, drenador / surtidor de 12 mA. Como se puede ver quevariar un poco. La mejor opcin es usar un tampn, por lo que el actual, al menos seextrae de el puerto paralelo.

    Centronics?-------------------------------------------------- ------------------------------

    Centronics es un estndar de principios para la transferencia de datos de un host a laimpresora. La mayora de las impresoras utilizan este apretn de manos. Este apretnde manos es normalmente implementado usando un puerto paralelo estndar bajo elcontrol del software. A continuacin se muestra un esquema simplificado de la'Centronics' Protocolo.

  • 8/3/2019 Introduccin a los puertos paralelos

    4/17

    Los datos se aplic por primera vez en los pines del puerto paralelo 2 a 7. El anfitrinse comprueba si la impresora est ocupada. es decir, la lnea est ocupada debe serbaja. Entonces, el programa afirma el flash, espera un mnimo de 1 US, y luego de-afirma el flash. Los datos se leen normalmente por la impresora / perifrico en el flancode subida de la luz estroboscpica. La impresora indicar que est ocupadaprocesando datos a travs de la lnea ocupada. Una vez que la impresora ha aceptadolos datos, se reconoce el byte por un pulso negativo sobre 5US en la lnea de nAck.

    Muy a menudo el anfitrin no har caso de la lnea nAck para ahorrar tiempo. Esteltimo en el Puerto de capacidades extendidas, usted ver un rpido modo Centronics,que permite al hardware de hacer todo el apretn de manos para ti. Todo elprogramador tiene que hacer es escribir el byte de datos al puerto de E / S. El hardwarese compruebe si la impresora est ocupada, la generacin de la luz estroboscpica.Tenga en cuenta que este modo de frecuencia no comprueba la nAck bien. puerto Direcciones-------------------------------------------------- ------------------------------

    El puerto paralelo tiene tres direcciones de base de uso comn. Estas figuran en el

    cuadro 2, a continuacin. La direccin base 3BCh se introdujo originalmente utilizadopara puertos paralelos en las tarjetas de vdeo temprana. Esta direccin de entoncesdesapareci por un tiempo, cuando los puertos paralelos fueron retirados ms tarde delas tarjetas de vdeo. Se ha reaparecido ahora como una opcin para puertos paralelosintegrados en placas base, en la que se puede cambiar mediante la configuracin delBIOS.

    LPT1 se asigna normalmente 378h de direccin de base, mientras que se le asignaLPT2 278h. Sin embargo, esto no siempre puede ser el caso, como se explica msadelante. 378h y 278h siempre han sido de uso general para los puertos paralelos. La hminscula denota que es en hexadecimal. Estas direcciones pueden cambiar de

    mquina a mquina.

    Cuando la computadora se enciende por primera vez, el BIOS (Basic Input / OutputSystem) determinar el nmero de puertos que tiene y asignar las etiquetas del

  • 8/3/2019 Introduccin a los puertos paralelos

    5/17

    dispositivo LPT1, LPT2 y LPT3 a ellos. BIOS primero busca en 3BCh direccin. Si unpuerto paralelo se encuentra aqu, se le asigna como LPT1, entonces busca a 378hubicacin. Si una tarjeta paralela se encuentra all, se le asigna la siguiente etiquetadispositivo de manos libres. Esto sera LPT1 si una tarjeta no se encuentra en 3BCh oLPT2 si la tarjeta se encontr en 3BCh. El ltimo puerto de escala, es 278h y sigue el

    mismo procedimiento que los otros dos puertos. Por lo tanto, es posible tener un LPT2que est en 378h y 278h, no en la direccin esperada.

    Qu se puede hacer esto an confuso, es que algunos fabricantes de tarjetas depuerto paralelo, tienen puentes que le permiten configurar su puerto a LPT1, LPT2,LPT3. Ahora, qu direccin es LPT1? - En la mayora de las tarjetas LPT1 es 378h, yLPT2 278h, pero algunos utilizan 3BCh como LPT1, 378h como LPT1 y 278h comoLPT2. La vida no iba a ser fcil.

    Los dispositivos asignados LPT1, LPT2 y LPT3 no debe ser una preocupacin para laspersonas que desean dispositivos de interfaz a su PC. La mayora de las veces se

    utiliza la direccin base de la interfaz del puerto en lugar de LPT1 etc Sin embargo siusted desea encontrar la direccin de LPT1 o cualquiera de los dispositivos deimpresora en lnea, puede utilizar una tabla de bsqueda proporcionado por la BIOS.Cuando el BIOS asigna direcciones a los dispositivos de impresora, se almacena ladireccin en lugares especficos en la memoria, por lo que podemos encontrar.

    Nota 1: Direccin 0000:040 E en el rea de BIOS se puede utilizar como la extendidarea de BIOS de PS / 2 y las nuevas BIOS.En el cuadro anterior, el cuadro 3, se muestra la direccin en la que podemos encontrarlas direcciones de el puerto de impresora en el rea de BIOS. Cada direccin seocupar de 2 bytes. El siguiente programa de ejemplo en C, muestra cmo se puedenleer estos lugares para obtener las direcciones de los puertos de la impresora.

    Software Registros - Puerto Paralelo Estndar (SPP)

  • 8/3/2019 Introduccin a los puertos paralelos

    6/17

    Nota 1: Si el puerto es bidireccional, la lectura y escritura se puede realizar en elRegistro de Datos.

    La direccin de base, generalmente se llama el puerto de datos o registro de datos seutiliza simplemente para la salida de datos sobre lneas de datos del puerto paralelo de(pines 2-9). Este registro es normalmente un puerto de slo escritura. Si se lee desde elpuerto, debe obtener el ltimo byte enviado. Sin embargo, si el puerto es bidireccional,puede recibir los datos en esta direccin. Ver bidireccional Puertos para ms detalles.

    El Estado del puerto (direccin base + 1) es una lectura nico puerto. Los datos

    grabados en este puerto ser ignorado. El Estado del puerto se compone de cincolneas de entrada (pines 10,11,12,13 y 15), un estado de registro de IRQ y dos bitsreservados. Tenga en cuenta que el Bit 7 (ocupado) es una entrada activa baja. Porejemplo Si el bit 7 pasa a mostrar un 0 lgico, esto significa que no es de +5 V en el pin11. Lo mismo sucede con Bit 2. (nIRQ) Si este bit indica un '1 'y luego de unainterrupcin no ha ocurrido.

    El puerto de control (direccin base + 2) fue concebido como un puerto de sloescritura. Cuando una impresora est conectada al puerto paralelo, cuatro "controles"se utilizan. Estos son Strobe, Auto salto de lnea, formato y seleccione la impresora,

  • 8/3/2019 Introduccin a los puertos paralelos

    7/17

    todos los cuales estn invertidos excepto Inicializar.

    La impresora no enviar una seal para iniciar el equipo, ni le dira que el equipo utilicesalto de lnea automtico. Sin embargo estas cuatro salidas tambin se puede utilizarpara las entradas. Si el equipo ha puesto un pin de alta (por ejemplo, +5 v) y el

    dispositivo quera tener bajo, de manera efectiva a corto por el puerto, provocando unconflicto en que el pin. Por lo tanto, estas lneas son "colector abierto" salidas (odrenaje abierto para dispositivos CMOS). Esto significa que tiene dos estados. Unestado bajo (0 V) y un estado de alta impedancia (circuito abierto).

    Normalmente, la impresora de tarjetas interno tendr resistencias pull-up, pero comoera de esperar, no ser todo. Algunos slo pueden tener salidas de colector abierto,mientras que otros incluso pueden tener salidas normales ttem. Con el fin de hacerque el dispositivo funcione correctamente en los puertos de la impresora como seaposible, puede utilizar una resistencia externa tambin. Si usted ya tiene unaresistencia interna, a continuacin, actuar en paralelo con ella, o si usted tiene salidas

    Totem pole, la resistencia actuar como una carga.Una resistencia de 4.7k externa se puede utilizar para tirar de la gran pasador. Yo nouso nada ms bajos, en caso de que tengan un tirn interno de una resistencia, comola resistencia externa que actan en paralelo dando efectivamente, un valor inferior altirar de una resistencia. Cuando est en estado de alta impedancia del pin en el puertoparalelo es alto (+5 v). En este estado, el dispositivo externo puede tirar de la clavija debaja y que el cambio de puerto de control de lectura un valor diferente. De esta maneralos 4 pines del puerto de control se puede utilizar para la transferencia bidireccional dedatos. Sin embargo, el puerto de control se debe establecer en xxxx0100 a ser capazde leer datos, es decir todos los pines a +5 V en el puerto para que pueda tirar de lhacia abajo a GND (0 lgico).

    Los bits 4 y 5 son los controles internos. Cuatro bits permitir a la IRQ (Consulte Usode los puertos paralelos IRQ) y el bit 5 permitir el significado del puerto bi-direccionalque se puede ingresar 8 bits utilizando (DATA0-7). Este modo slo es posible si tutarjeta lo soporta. Los bits 6 y 7 estn reservados. Todo se escribe en estos dos bits seignoran.

    Bi-direccional de Puertos-------------------------------------------------- ------------------------------

    El siguiente diagrama esquemtico, muestra una vista simplificada de registro delpuerto paralelo de datos. El original de la tarjeta de puerto paralelo est implementadola lgica 74LS. Hoy en da todo esto se abarrota en un ASIC, pero la teora defuncionamiento sigue siendo el mismo.

  • 8/3/2019 Introduccin a los puertos paralelos

    8/17

    El no bidireccional puertos se han fabricado con la salida del 74LS374 permitena los atados permanente de baja, por lo que el puerto de datos es siempre nica salida.Cuando se lee el puerto paralelo del registro de datos, los datos proceden de la74LS374 que tambin est conectada a los pines de datos. Ahora bien, si se puedesaturar el '374 que efectivamente puede tener un puerto bi-direccional. (o un puerto deentrada nica, una vez que usted hace saltar los pestillos de salida!)

    Lo que es muy preocupante es que las personas se han hecho. He visto un circuito, unmbito conectado con el puerto paralelo distribuido en Internet. El autor utiliza un ADCde algn tipo, pero encuentra el ADC requiere transistores en cada lnea de datos, parahacer que funcione! No es de extraar por qu. Otros han tenido problemas similares,el 68HC11 no puede hundirse suficiente corriente (30 a 40 mA!)

    Bi-direccional de los puertos uso de control de bit 5 conectado a la salida de los 374Activar para que los drivers de salida puede ser apagado. De esta manera usted puedeleer los datos presentes en los pines de datos del puerto paralelo, sin tener conflictos

    de autobs y exceso de corriente desages.

    Bit 5 del puerto de control activa o desactiva la funcin bi-direccional del puertoparalelo. Esto slo est disponible en cierto bidireccional puertos. Cuando este bit sepone a uno, patillas 2 a 9 entra en estado de alta impedancia. Una vez en este estadose pueden introducir datos en estas lneas y recuperar desde el puerto de datos(direccin base). Cualquier dato que se escribe en el puerto de datos se almacenan,

  • 8/3/2019 Introduccin a los puertos paralelos

    9/17

    pero no estar disponible en los pines de datos. Para desactivar el modo bidireccional,el bit 5 del puerto de control a '0 '.

    Sin embargo, no todos los puertos se comportan de la misma manera. Otros puertosque pueden requerir ajuste de bit 6 del puerto de control para habilitar el modo bi-

    direccional y configuracin de bits de 5 a des-activar el modo bidireccional, diferentesfabricantes de poner en prctica sus bi-direccional de los puertos de diferentesmaneras. Si desea utilizar el puerto bi-direccional de datos de entrada, prueba con unasonda lgica o multimetro primero para asegurarse de que est en modo bi-direccional.

    Utilizando el puerto paralelo a la entrada de 8 bits.-------------------------------------------------- ------------------------------

    Si el puerto paralelo no es compatible con el modo bidireccional, no se desespere.Puede introducir un mximo de 9 bits en cualquier momento dado. Para ello puedeutilizar las 5 lneas de entrada del puerto de estado y las 4 entradas (colector abierto)las lneas del puerto de control.

    Las entradas para el puerto paralelo ha ser elegido como tal, para hacer la vida msfcil para nosotros. Ocupada slo pasa a ser el MSB (bit 7) del Estado del puerto, acontinuacin, en orden ascendente de papel viene ACK, y seleccionan, por lo que lamayora de picar importante del puerto de control. Las barras son utilizados pararepresentar lo que las entradas estn Hardware invertida, es decir, 5 v leer 0 delregistro, mientras que GND a leer 1. El Estado del puerto slo tiene una entrada

  • 8/3/2019 Introduccin a los puertos paralelos

    10/17

    invertida.

    El puerto de control se utiliza para leer el nibble menos significativo. Como se describiantes, el puerto de control tiene salidas de colector abierto, es decir, dos estadosposibles, de alta impedancia y GND. Si nos conectamos nuestras entradas

    directamente en el puerto (por ejemplo un ADC0804 con salidas totem pole), unconflicto se producir si la entrada es alta y el puerto est tratando de tirar de l haciaabajo. Por lo tanto, el uso inversores de colector abierto.

    Sin embargo, esto no siempre es del todo necesario. Si tuviramos que conectarinterruptores unipolares en el puerto con un tirn hasta la resistencia, entonces no haynecesidad de molestarse con esta proteccin. Adems, si su software inicializa elpuerto de control con xxxx0100 para que todos los pines en el puerto de control sonaltos, entonces puede ser innecesario. Sin embargo, si no se molestan y el dispositivose conecta al puerto paralelo antes de que su software tiene la oportunidad de iniciar,entonces puede tener problemas.

    Otro problema a tener en cuenta es la atraccin de resistencias en el puerto de control.El promedio de una resistencia de 4.7K es. Con el fin de tirar de la lnea baja, eldispositivo tendr que hundir 1mA, que algunos dispositivos de baja potencia puedentener dificultades para hacerlo. Ahora, qu pasa si se me sugieren que algunospuertos han 1K levantar resistencias? S, hay tarjetas. El dispositivo tiene ahora ahundirse 5 mA. Ms razn para usar los inversores de colector abierto.

    Inversores de colector abierto fueron elegidos entre topes de colector abierto, ya queson ms populares, y por lo tanto ms fciles de obtener. No hay ninguna razn, sinembargo, por qu no se pueden utilizar. Otra posibilidad es usar transistores.

    La entrada, D3 est conectado a travs del inversor para seleccionar la impresora.Seleccione la impresora slo pasa a ser el bit 3 del puerto de control. D2, D1 y D0estn conectados a Init Auto salto de lnea, y la luz estroboscpica, respectivamente,para compensar el nibble inferior. Ahora bien, esto se hace, todo lo que tenemos quehacer es montar los bytes mediante software. Lo primero que debemos hacer esescribir xxxx0100 al puerto de control. Esto coloca a todas las lneas de control depuertos de alta, por lo que se puede tirar abajo a los datos de entrada.

    outportb (CONTROL, inportb (CONTROL) y 0xF0 | 0x04);

    Ahora que esto est hecho, podemos leer el nibble ms significativo. Esto slo pasa aser el nibble ms significativo del puerto de estado. Como slo estamos interesados enel MSnibble nosotros y los resultados con 0xF0, por lo que el LSnibble est claro.Ocupada es de hardware invertido, pero no te preocupes por eso ahora. Una vez quelos dos bytes se construyen, podemos matar dos pjaros de un tiro por la alternanciade disponibilidad y de inicializacin al mismo tiempo.

    a = (inportb (STATUS) y 0xF0); / * Leer MSnibble * /

  • 8/3/2019 Introduccin a los puertos paralelos

    11/17

    Ahora podemos leer la LSnibble. Esto slo pasa a ser LSnibble del puerto de control -Qu conveniente! Esta vez no nos interesa con el MSnibble del puerto, por lo quenosotros y el resultado con 0x0F para borrar la MSnibble. Una vez hecho esto, es horade combinar los dos bytes juntos. Esto se hace OR'ing los dos bytes. Esto ahora nos

    deja con un byte, sin embargo no hemos terminado todava. Bits 2 y 7 se invierten. Estees superada por XOR'ing el byte con 0x84, que alterna los dos bits.

    a = a | (inportb (CONTROL) y 0x0F); / * Leer LSnibble * /a = a ^ 0x84 / * bit de conmutacin 2 y 7 * /

    Nota: Algunos de los puertos de control no son de colector abierto, pero tienen salidasde ttem. Este es tambin el caso de los puertos EPP y ECP. Normalmente, cuando secoloca un puerto paralelo ECP o en el modo EPP, el puerto de control se convierte ensalidas totem pole solamente. Ahora, qu sucede si se conecta el dispositivo al puertoparalelo de este modo? Por lo tanto, en aras de la portabilidad le recomiendo usar el

    siguiente circuito, la lectura de un mordisco a la vez.

    Modo Nibble.-------------------------------------------------- ------------------------------

    Modo nibble es la manera preferida de la lectura de 8 bits de datos sin poner el puertoen modo inverso y el uso de las lneas de datos. Modo Nibble utiliza una cudruple de 2lneas a la lnea 1 del multiplexor para leer un mordisco de los datos a la vez. Acontinuacin, "switches" al picar otra y se lee su. Software puede ser utilizado paraconstruir los dos mordiscos en un byte. La nica desventaja de esta tcnica es que esms lento. Ahora requiere unas pocas E / S para leer las instrucciones de un byte, yrequiere el uso de un externo IC.

    El funcionamiento del 74LS157, cudruple de 2 lneas de multiplexor la lnea 1 es muysimple. Simplemente acta como cuatro interruptores. Cuando la entrada A / B es baja,las entradas de A se seleccionan. Por ejemplo 1A pasa a travs de 1Y, 2A pasa a

  • 8/3/2019 Introduccin a los puertos paralelos

    12/17

    travs de 2Y etc Cuando el A / B es alta, las entradas B se seleccionan. Y losresultados estn conectados al puerto de estado del puerto paralelo, de tal manera querepresenta el MSnibble del registro de estado. Si bien esto no es necesario, hace queel software sea ms fcil.

    Para utilizar este circuito, primero hay que inicializar el multiplexor para cambiarcualquiera de las entradas A o B. Vamos a leer el LSnibble en primer lugar, por lo tantohay que poner A / B baja. El estroboscopio es hardware invertido, por lo tanto tenemosque poner el bit 0 del puerto de control para obtener una baja en el pin 1.

    outportb (CONTROL, inportb (CONTROL) | 0x01); / * Seleccione Nibble bajo (A) * /

    Una vez que el nibble bajo se selecciona, se puede leer la LSnibble del Estado delpuerto. Tome en cuenta que la lnea ocupada se invierte, sin embargo no lo vamos aabordar por el momento. Slo estamos interesados en el MSnibble del resultado, por lo

    que nosotros y el resultado con 0xF0, para borrar la LSnibble.a = (inportb (STATUS) y 0xF0); / * Leer Nibble bajo * /

    Ahora es el momento de cambiar el mordisco que acabamos de leer a la LSnibble deuna variable,

    a = a>> 4; / * Desplazar a la derecha 4 bits * /

    Ahora estamos a mitad de camino. Es el momento de obtener el MSnibble, por lo tantotenemos que cambiar el multiplexor para seleccionar las entradas B. A continuacin,podemos leer el MSnibble y poner los dos aperitivos para hacer un byte,

    outportb (CONTROL, inportb (CONTROL) y 0xFE); / * Seleccione nibble alto (B) * /a = a | (inportb (STATUS) y 0xF0); / * Leer Nibble alto * /byte = byte 0x88 ^;

    La ltima lnea alterna dos bits invertida que se leyeron en la lnea ocupada. Puede sernecesario aadir los retrasos en el proceso, si los resultados incorrectos se devuelven.

    Utilizando la IRQ del puerto paralelo de-------------------------------------------------- ------------------------------

    Solicitud de interrupcin del puerto paralelo no se utiliza para imprimir en DOS o Windows. Lasprimeras versiones de OS-2 utilizado, pero no ms. Las interrupciones son buenos cuando lainterconexin de dispositivos de vigilancia tales como alarmas de alta temperatura, etc, dondeno se sabe cundo va a ser activado. Es ms eficiente que una solicitud de interrupcin en

  • 8/3/2019 Introduccin a los puertos paralelos

    13/17

    lugar de tener el software de sondeo de los puertos con regularidad para ver si algo hacambiado. Esto es an ms notable si usted est utilizando su ordenador para otras tareas,como por ejemplo con un sistema operativo multitarea.

    Solicitud de interrupcin del puerto paralelo es normalmente IRQ5 o IRQ7 pero puede ser algo

    ms si estos estn en uso. Tambin puede ser posible que las interrupciones estn totalmentediscapacitados en la tarjeta, si la tarjeta fue utilizada slo para la impresin. La interrupcin delpuerto paralelo se puede desactivar y activar usando el bit 4 del registro de control, habilitarIRQ travs de la lnea ACK. Una vez activado, una interrupcin se producir en una transicinde baja a alta (flanco ascendente) de la NACK. Sin embargo, como siempre, algunas tarjetaspueden provocar la interrupcin de la transicin de alto a bajo.

    El siguiente cdigo es un probador de polaridad de interrupcin, que sirve como dos cosas. Sedeterminar que la polaridad de la interrupcin del puerto paralelo es, al mismo tiempo que teda un ejemplo de cmo utilizar interrupcin del puerto paralelo es. Verifica si su interrupcin segenera en el flanco ascendente o descendente de la lnea de NACK. Para utilizar el programade cable simplemente una de las lneas de datos (pines 2 a 9) a la patilla ACK (Pin 10). Laforma ms sencilla de hacer esto es para salvar algo de soldadura de datos7 (Pin 9) de ACK(Pin 10) en un conector DB25 macho

    En tiempo de compilacin, la fuente anterior puede generar algunas advertencias,condicin siempre es cierto, el estado siempre es falso, cdigo inalcanzable, etc Estasson perfectamente normales Que se generan como parte de la prueba de condicin delas estructuras que IRQ est usando, y como el IRQ se define como una constante enalgunos resultados no cambiar nunca. Si bien nos hubiera sido una mejor aplicacin

    de una directiva de preprocesador, no he hecho esto para que usted puede cortar ypegar el cdigo fuente de sus propios programas que pueden utilizar los argumentos delnea de comandos, el usuario de entrada, etc en lugar de una IRQ definido.

    Para entender cmo funciona este ejemplo, el lector debe tener un conocimientoasumido y la comprensin de las interrupciones y las rutinas de interrupcin de servicio(ISR). Si no es as, ver Interconexin de la PC: Uso de interrupciones para unaintroduccin rpida.

    La primera parte de la rutina de la lnea principal calcula el vector de interrupcin, elPIC Dir y mscara con el fin de usar la facilidad de interrupcin del puerto paralelo es.

    Despus de la rutina de interrupcin (ISR) se ha establecido y establecer el controladorde interrupcin programable (PIC), que debe permitir la interrupcin del puerto paralelo.Esto se hace poniendo el bit 4 del registro de control del puerto paralelo, utilizando

    outportb (CONTROL, inportb (CONTROL) | 0x10);

    Antes de habilitar las interrupciones, escribimos 0xFF al puerto paralelo para permitir alas 8 lneas de datos en un estado conocido. En este punto del programa, todas las

  • 8/3/2019 Introduccin a los puertos paralelos

    14/17

    lneas de datos debe ser alta. La rutina de interrupcin, simplemente establece unindicador (interflag), por lo tanto se puede determinar cuando se produce una IRQ.Ahora estamos en condiciones de escribir 0x00 al puerto de datos, lo que provoca unatransicin de alto a bajo en el puerto paralelo Reconocer la lnea, ya que estconectado a una de las lneas de datos.

    Si la interrupcin se produce en la transicin de alto a bajo, el indicador de interrupcin(interflag) debe ser establecido. Ahora prueba de esto, y si esto es lo que el programainforma al usuario. Sin embargo, si no se establece, entonces una interrupcin no haocurrido todava. Ahora escribimos 0xFF al puerto de datos, lo que provocar unatransicin de baja a alta en la lnea de nAck y comprobar de nuevo la bandera deinterrupcin. Si est activado, la interrupcin se produce en la transicin de baja a alta.

    Sin embargo, si la bandera de interrupcin se restablece, entonces esto sugerira quelas interrupciones no estn funcionando. Asegrese de que su IRQ y Direccin base escorrecta y tambin para comprobar el cableado de la clavija.

    Modos de puerto paralelo en el BIOS-------------------------------------------------- ------------------------------

    Hoy en da, la mayora de los puertos paralelos son los puertos mulimode.Normalmente se puede configurar el software de uno de muchos modos desde laBIOS. Los modos tpicos son,

    Modo de impresora (a veces llamada por defecto o los modos Normal)Standard & Bi-direccional (SPP) ModoEPP1.7 y el modo SPPEPP1.9 y el modo SPPECPECP y el modo de EPP1.7ECP y el modo de EPP1.9

    Modo de impresora es el modo ms bsico. Es un puerto paralelo estndar en el modode avance. No tiene ninguna funcin bi-direccional, por lo tanto Bit 5 del puerto decontrol no responde. Standard & Bi-direccional (SPP) es el modo bi-direccional. El usode este modo, el bit 5 del puerto de control se invertir la direccin del puerto, as queusted puede leer de nuevo un valor en las lneas de datos.

    EPP1.7 y el modo SPP es una combinacin de EPP 1.7 (puerto paralelo mejorado) ylos modos SPP. En este modo de operacin que tendrn acceso a los registros de SPP(datos, estado y control) y el acceso a los registros del EPP. En este modo usteddebera ser capaz de invertir la direccin del puerto con el bit 5 del registro de control.EPP 1.7 es la versin anterior del EPP. Esta versin, la versin 1.7, no puede tener elpoco tiempo de espera. Ver Interfaz del puerto paralelo mejorado para msinformacin.

  • 8/3/2019 Introduccin a los puertos paralelos

    15/17

    EPP1.9 y el modo SPP es igual que el modo anterior, slo se utiliza la versin 1.9 delPPE en esta ocasin. Al igual que en el otro modo, usted tendr acceso a los registrosde SPP, incluyendo Bit 5 del puerto de control. Sin embargo, esto difiere de EPP1.7 y elmodo SPP como usted debe tener acceso a la poco tiempo de espera del PPE.

    ECP modo le dar un puerto de capacidades extendidas. El modo de este puerto sepuede configurar utilizando el registro extendido ECP (ECR). Sin embargo, en estemodo desde el BIOS del modo EPP (100) no estar disponible. Seguiremos discutirRegistro de Control Extendido de ECP en este documento, pero si quieres msinformacin sobre el puerto ECP, consulte Interfaz del Puerto de capacidadesextendidas.ECP y EPP1.7 Modo y ECP y el modo de EPP1.9 le dar un puerto de capacidadesextendidas, al igual que el modo anterior. Sin embargo, el modo EPP en el ECR ECPahora estar disponible. Si est en el modo ECP y EPP1.7 obtendr un puerto EPP1.7,o si usted est en el modo ECP y EPP1.9, un puerto EPP1.9 estar a su disposicin.

    Los modos mencionados anteriormente son configurables a travs del BIOS. Puedevolver a configurar ellos usando su propio software, pero esto no es recomendable.Estos registros de software, normalmente se encuentra en 0x2FA, 0x3f0, etc 0x3F1slo pretenden acceder a la BIOS. No hay un estndar establecido para estos registrosde configuracin, por lo que si usted fuera a utilizar estos registros, el software no seramuy porttil. Con los sistemas operativos multitarea, no es una buena idea para elcambio cuando mejor le convenga.

    Una mejor opcin es seleccionar el modo ECP y EPP1.7 o ECP y EPP1.9 modo deBIOS y el uso extendido de control de la ECP de Registro para seleccionar el modo delpuerto paralelo es. El modo de EPP1.7 tenido algunos problemas en lo que respecta alos datos y luces estroboscpicas Direccin se afirma para comenzar un ciclo,independientemente del estado de espera, por lo tanto este modo si no se usannormalmente ahora. Mejor conjunto de su puerto paralelo a ECP y el modo de EPP1.9

    Modos de puerto paralelo y el registro de control extendido de la ECP-------------------------------------------------- ------------------------------

    Como ya hemos comentado, es mejor establecer el puerto paralelo a ECP y el modo deEPP1.9 y el uso extendido del Registro de Control ECP para seleccionar los diferentes modos

    de operacin. Los registros de ECP son estndar en el extendido de Microsoft Protocolo de lascapacidades de puerto y ISA Interface estndar, por lo tanto no tenemos ese problema detodos los vendedores que tienen su propio conjunto de registros.

    Cuando se ajusta en el modo ECP, un nuevo conjunto de registros disponibles en la Base +0x400h. Una discusin de estos registros estn disponibles en la interconexin del puerto decapacidades extendidas. Aqu slo estamos interesados en el control extendido Registro

  • 8/3/2019 Introduccin a los puertos paralelos

    16/17

    (ECR), que se asigna en la Base + 0x402h. Cabe sealar que registra la ECP no estndisponibles para el puerto con una direccin base de 0x3BCh

    El cuadro anterior es del registro de control extendido. Slo estamos interesados en elMSB tres del registro de control extendido que selecciona el modo de operacin. Hay 7posibles modos de operacin, pero no todos los puertos soportan todos los modos. Elmodo EPP es un ejemplo de ello, no estn disponibles en algunos puertos -------------------------------------------------- ------------------------------Modos de funcionamiento-------------------------------------------------- ------------------------------

    Modo estndar Seleccionando este modo har que el puerto ECP a comportarse comoun puerto paralelo estndar, sin funcionalidad bi-direccional.Modo byte Modo / PS / 2 se comporta como un SPP en modo bi-direccional. Bit 5 secoloque el puerto en modo inverso.Puerto paralelo del modo FIFO En este modo, los datos escritos en el FIFO de datosser enviada a la perifrica mediante el protocolo de intercambio SPP. El hardwaregenerar el apretn de manos requeridas. tiles con los no-ECP dispositivos talescomo impresoras. Usted puede tener algunas de las caractersticas de la ECP comobuffers FIFO y la generacin de hardware de establecimiento de comunicacin, perocon el actual apretn de manos SPP en lugar del apretn de manos ECP.ECP FIFO El mtodo estndar para el uso de las PAE. Este modo utiliza el protocolode intercambio de PAE se describen en la interconexin del puerto de capacidadesextendidas. - Cuando en el modo ECP, aunque BIOS, y el registro de ECR est en elmodo ECP FIFO (011), los registros de SPP pueden desaparecer.Modo EPP / Reservados permitir el modo EPP, si est disponible. En BIOS, si elmodo ECP se establece entonces es ms que probable, de este modo no es unaopcin. Sin embargo, si el BIOS est configurado en modo ECP y EPP1.x, entonces 1.xEPP se activar. - En virtud de capacidades extendidas de Microsoft protocolo delpuerto y ISA Interface Norma este modo es proveedor especificado.Reservados Actualmente reservados. - En virtud de capacidades extendidas deMicrosoft protocolo del puerto y ISA Interface Norma este modo es proveedorespecificado.

  • 8/3/2019 Introduccin a los puertos paralelos

    17/17

    FIFO Test Mode En este modo, los datos grabados en la Prueba de FIFO Registro sercolocado en el FIFO y cualquier lectura de datos de la Prueba de FIFO registro sepueden leer desde el buffer FIFO. Los bits de estado FIFO llena / vaca refleja su valorreal, por lo tanto la profundidad FIFO, entre otras cosas, se puede determinar de estemodo.

    Modo de configuracin En este modo, los dos registros de configuracin, y cnfgA cnfgBestn disponibles en las direcciones de registro designado.

    Si usted est en el modo ECP en el BIOS, o si su tarjeta es puenteado para uso de lasPAE, entonces es una buena idea para iniciar el modo de su puerto ECP a un estadopre-definidas antes de su uso. Si usted est usando SPP, a continuacin, establecer elpuerto a modo estndar como la primera cosa que haces. No d por sentado que elpuerto ya estar en la norma (SPP) Modo.

    En algunos de los modos, los registros de SPP pueden desaparecer o no funcionarcorrectamente. Si usted est usando SPP, a continuacin, la p. al modo estndar. Estees uno de los errores ms comunes que la gente hace