You are on page 1of 17

Introduccin a los puertos paralelos El puerto paralelo es el puerto ms utilizado para los proyectos de interconexin en casa hizo.

Este puerto permitir la entrada de hasta 9 bits o la salida de 12 bits en cualquier 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 25 mujeres. Tambin puede haber un D-tipo conector de 25 pines macho. Este ser un puerto 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.htm Ms reciente de puerto paralelo son estandarizados bajo el estndar IEEE 1284 por primera 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 entre s y tambin compatible con el puerto paralelo estndar (SPP). Modos de compatibilidad, Nibble y Byte utilizar slo el hardware estndar disponible en las tarjetas de puerto paralelo original, mientras que los modos EPP y ECP requieren hardware adicional que puede funcionar a velocidades ms rpidas, sin dejar de ser compatible hacia abajo con el puerto paralelo estndar. El modo de compatibilidad o "Modo Centronics", como se le conoce comnmente, slo puede enviar datos en direccin de avance a una velocidad tpica de 50 kbytes por segundo, pero puede ser tan alto como 150 + kbytes por segundo. Con el fin de recibir los datos, debe cambiar el modo a cualquier modo Nibble o Byte. Modo Nibble puede introducir un nibble (4 bits) en la direccin contraria. Por ejemplo desde el dispositivo a la computadora. Modo de byte utiliza el paralelo es bi-direccional funcin (que se encuentra slo en algunas tarjetas) a la entrada de un byte (8 bits) de datos en la direccin contraria. Puertos paralelos ampliado y mejorado el uso de hardware adicional para generar y administrar apretn de manos. A la salida de un byte a la impresora (o cualquier otra cosa que la materia), utilizando el modo de compatibilidad, el software debe, 1. Escribe el byte al puerto de datos.

2. Compruebe que es la impresora est ocupada. Si la impresora est ocupada, no aceptar 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 datos correctos 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 ECP evitar esto al permitir que el hardware de verificacin para ver si la impresora est ocupada y generan una luz estroboscpica y / o apretn de manos apropiado. Esto significa que slo uno de E / S de instrucciones se deben realizar, lo que aumenta la velocidad. Estos puertos pueden produccin en alrededor de 1.2 megabytes por segundo. El puerto ECP tambin tiene la ventaja de utilizar los canales DMA y buffers FIFO, por lo que los datos se puede cambiar todo sin necesidad de utilizar E / S de instrucciones.
Propiedades de hardware -------------------------------------------------- -----------------------------A continuacin se muestra una tabla de los "recortes Pin" del conector Pin D-Type 25 y el Centronics 34 pines del conector. El D-tipo conector de 25 pines es el conector ms comunes que se encuentran en el puerto paralelo del ordenador, mientras que el conector Centronics se encuentra comnmente en las impresoras. El estndar IEEE 1284 sin embargo especifica 3 conectores diferentes para usar con el puerto paralelo. El primero de ellos, 1.284 del tipo A es el D-Type 25 conector en la parte posterior de la mayora de las computadoras. La segunda es la de tipo B 1284, que es el de 36 pines del conector Centronics se encuentran en la mayora de 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 propiedades elctricas y es ms fcil de montar. Tambin contiene dos pines ms para las seales que se pueden utilizar para ver si el otro dispositivo conectado, tiene el poder. 1.284 conectores de tipo C son recomendables para los nuevos diseos, por lo que podemos esperar al ver a estos nuevos conectores en un futuro prximo

La tabla de arriba usa "n" delante del nombre de la seal para indicar que la seal es de baja actividad. por ejemplo nError. Si la impresora se ha producido un error, esta lnea es baja. Esta lnea normalmente es alta, si la impresora est funcionando correctamente. El "hardware invertido" significa que la seal es invertida por el hardware de la tarjeta de Parallel. Un ejemplo es la lnea ocupada. Si +5 V (1 lgico) se aplic a este pin y el estado de leer el registro, sera volver a 0 en el bit 7 del registro de estado. 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 puerto a otro. La mayora de los puertos paralelos implementados en ASIC, se puede hundir y la fuente de alrededor de 12 mA. Sin embargo, estos son slo algunos de los datos extrados 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 que variar un poco. La mejor opcin es usar un tampn, por lo que el actual, al menos se extrae de el puerto paralelo. Centronics? -------------------------------------------------- -----------------------------Centronics es un estndar de principios para la transferencia de datos de un host a la impresora. La mayora de las impresoras utilizan este apretn de manos. Este apretn de manos es normalmente implementado usando un puerto paralelo estndar bajo el control del software. A continuacin se muestra un esquema simplificado de la 'Centronics' Protocolo.

Los datos se aplic por primera vez en los pines del puerto paralelo 2 a 7. El anfitrin se comprueba si la impresora est ocupada. es decir, la lnea est ocupada debe ser baja. Entonces, el programa afirma el flash, espera un mnimo de 1 US, y luego deafirma el flash. Los datos se leen normalmente por la impresora / perifrico en el flanco de subida de la luz estroboscpica. La impresora indicar que est ocupada procesando datos a travs de la lnea ocupada. Una vez que la impresora ha aceptado los 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. Este ltimo 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 el programador tiene que hacer es escribir el byte de datos al puerto de E / S. El hardware se 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 utilizado para puertos paralelos en las tarjetas de vdeo temprana. Esta direccin de entonces desapareci por un tiempo, cuando los puertos paralelos fueron retirados ms tarde de las tarjetas de vdeo. Se ha reaparecido ahora como una opcin para puertos paralelos integrados en placas base, en la que se puede cambiar mediante la configuracin del BIOS. LPT1 se asigna normalmente 378h de direccin de base, mientras que se le asigna LPT2 278h. Sin embargo, esto no siempre puede ser el caso, como se explica ms adelante. 378h y 278h siempre han sido de uso general para los puertos paralelos. La h minscula 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 / Output System) determinar el nmero de puertos que tiene y asignar las etiquetas del

dispositivo LPT1, LPT2 y LPT3 a ellos. BIOS primero busca en 3BCh direccin. Si un puerto paralelo se encuentra aqu, se le asigna como LPT1, entonces busca a 378h ubicacin. Si una tarjeta paralela se encuentra all, se le asigna la siguiente etiqueta dispositivo de manos libres. Esto sera LPT1 si una tarjeta no se encuentra en 3BCh o LPT2 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 LPT2 que est en 378h y 278h, no en la direccin esperada. Qu se puede hacer esto an confuso, es que algunos fabricantes de tarjetas de puerto 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, y LPT2 278h, pero algunos utilizan 3BCh como LPT1, 378h como LPT1 y 278h como LPT2. La vida no iba a ser fcil. Los dispositivos asignados LPT1, LPT2 y LPT3 no debe ser una preocupacin para las personas 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 si usted desea encontrar la direccin de LPT1 o cualquiera de los dispositivos de impresora en lnea, puede utilizar una tabla de bsqueda proporcionado por la BIOS. Cuando el BIOS asigna direcciones a los dispositivos de impresora, se almacena la direccin 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 extendida rea de BIOS de PS / 2 y las nuevas BIOS. En el cuadro anterior, el cuadro 3, se muestra la direccin en la que podemos encontrar las direcciones de el puerto de impresora en el rea de BIOS. Cada direccin se ocupar de 2 bytes. El siguiente programa de ejemplo en C, muestra cmo se pueden leer estos lugares para obtener las direcciones de los puertos de la impresora.

Software Registros - Puerto Paralelo Estndar (SPP)

Nota 1: Si el puerto es bidireccional, la lectura y escritura se puede realizar en el Registro de Datos. La direccin de base, generalmente se llama el puerto de datos o registro de datos se utiliza 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 el puerto, 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 cinco lneas de entrada (pines 10,11,12,13 y 15), un estado de registro de IRQ y dos bits reservados. Tenga en cuenta que el Bit 7 (ocupado) es una entrada activa baja. Por ejemplo Si el bit 7 pasa a mostrar un 0 lgico, esto significa que no es de +5 V en el pin 11. Lo mismo sucede con Bit 2. (nIRQ) Si este bit indica un '1 'y luego de una interrupcin no ha ocurrido.

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

todos los cuales estn invertidos excepto Inicializar. La impresora no enviar una seal para iniciar el equipo, ni le dira que el equipo utilice salto de lnea automtico. Sin embargo estas cuatro salidas tambin se puede utilizar para 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 un conflicto en que el pin. Por lo tanto, estas lneas son "colector abierto" salidas (o drenaje abierto para dispositivos CMOS). Esto significa que tiene dos estados. Un estado bajo (0 V) y un estado de alta impedancia (circuito abierto). Normalmente, la impresora de tarjetas interno tendr resistencias pull-up, pero como era 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 hacer que el dispositivo funcione correctamente en los puertos de la impresora como sea posible, puede utilizar una resistencia externa tambin. Si usted ya tiene una resistencia 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 no uso nada ms bajos, en caso de que tengan un tirn interno de una resistencia, como la resistencia externa que actan en paralelo dando efectivamente, un valor inferior al tirar de una resistencia. Cuando est en estado de alta impedancia del pin en el puerto paralelo es alto (+5 v). En este estado, el dispositivo externo puede tirar de la clavija de baja y que el cambio de puerto de control de lectura un valor diferente. De esta manera los 4 pines del puerto de control se puede utilizar para la transferencia bidireccional de datos. Sin embargo, el puerto de control se debe establecer en xxxx0100 a ser capaz de leer datos, es decir todos los pines a +5 V en el puerto para que pueda tirar de l hacia abajo a GND (0 lgico). Los bits 4 y 5 son los controles internos. Cuatro bits permitir a la IRQ (Consulte Uso de los puertos paralelos IRQ) y el bit 5 permitir el significado del puerto bi-direccional que se puede ingresar 8 bits utilizando (DATA0-7). Este modo slo es posible si tu tarjeta lo soporta. Los bits 6 y 7 estn reservados. Todo se escribe en estos dos bits se ignoran. Bi-direccional de Puertos -------------------------------------------------- -----------------------------El siguiente diagrama esquemtico, muestra una vista simplificada de registro del puerto paralelo de datos. El original de la tarjeta de puerto paralelo est implementado la lgica 74LS. Hoy en da todo esto se abarrota en un ASIC, pero la teora de funcionamiento sigue siendo el mismo.

El no bidireccional puertos se han fabricado con la salida del 74LS374 permiten a 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 la 74LS374 que tambin est conectada a los pines de datos. Ahora bien, si se puede saturar el '374 que efectivamente puede tener un puerto bi-direccional. (o un puerto de entrada 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, un mbito conectado con el puerto paralelo distribuido en Internet. El autor utiliza un ADC de algn tipo, pero encuentra el ADC requiere transistores en cada lnea de datos, para hacer 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 374 Activar para que los drivers de salida puede ser apagado. De esta manera usted puede leer 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 puerto paralelo. Esto slo est disponible en cierto bidireccional puertos. Cuando este bit se pone a uno, patillas 2 a 9 entra en estado de alta impedancia. Una vez en este estado se 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,

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 puertos que pueden requerir ajuste de bit 6 del puerto de control para habilitar el modo bidireccional y configuracin de bits de 5 a des-activar el modo bidireccional, diferentes fabricantes de poner en prctica sus bi-direccional de los puertos de diferentes maneras. Si desea utilizar el puerto bi-direccional de datos de entrada, prueba con una sonda 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 puede utilizar 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 ms fcil para nosotros. Ocupada slo pasa a ser el MSB (bit 7) del Estado del puerto, a continuacin, en orden ascendente de papel viene ACK, y seleccionan, por lo que la mayora de picar importante del puerto de control. Las barras son utilizados para representar lo que las entradas estn Hardware invertida, es decir, 5 v leer 0 del registro, mientras que GND a leer 1. El Estado del puerto slo tiene una entrada

invertida. El puerto de control se utiliza para leer el nibble menos significativo. Como se describi antes, el puerto de control tiene salidas de colector abierto, es decir, dos estados posibles, de alta impedancia y GND. Si nos conectamos nuestras entradas directamente en el puerto (por ejemplo un ADC0804 con salidas totem pole), un conflicto se producir si la entrada es alta y el puerto est tratando de tirar de l hacia abajo. Por lo tanto, el uso inversores de colector abierto. Sin embargo, esto no siempre es del todo necesario. Si tuviramos que conectar interruptores unipolares en el puerto con un tirn hasta la resistencia, entonces no hay necesidad de molestarse con esta proteccin. Adems, si su software inicializa el puerto de control con xxxx0100 para que todos los pines en el puerto de control son altos, entonces puede ser innecesario. Sin embargo, si no se molestan y el dispositivo se 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, el dispositivo tendr que hundir 1mA, que algunos dispositivos de baja potencia pueden tener dificultades para hacerlo. Ahora, qu pasa si se me sugieren que algunos puertos han 1K levantar resistencias? S, hay tarjetas. El dispositivo tiene ahora a hundirse 5 mA. Ms razn para usar los inversores de colector abierto. Inversores de colector abierto fueron elegidos entre topes de colector abierto, ya que son ms populares, y por lo tanto ms fciles de obtener. No hay ninguna razn, sin embargo, 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 D0 estn 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 que hacer es montar los bytes mediante software. Lo primero que debemos hacer es escribir xxxx0100 al puerto de control. Esto coloca a todas las lneas de control de puertos 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 a ser el nibble ms significativo del puerto de estado. Como slo estamos interesados en el 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 que los dos bytes se construyen, podemos matar dos pjaros de un tiro por la alternancia de disponibilidad y de inicializacin al mismo tiempo. a = (inportb (STATUS) y 0xF0); / * Leer MSnibble * /

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 que nosotros y el resultado con 0x0F para borrar la MSnibble. Una vez hecho esto, es hora de 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. Este es 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 salidas de ttem. Este es tambin el caso de los puertos EPP y ECP. Normalmente, cuando se coloca un puerto paralelo ECP o en el modo EPP, el puerto de control se convierte en salidas totem pole solamente. Ahora, qu sucede si se conecta el dispositivo al puerto paralelo 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 puerto en modo inverso y el uso de las lneas de datos. Modo Nibble utiliza una cudruple de 2 lneas a la lnea 1 del multiplexor para leer un mordisco de los datos a la vez. A continuacin, "switches" al picar otra y se lee su. Software puede ser utilizado para construir los dos mordiscos en un byte. La nica desventaja de esta tcnica es que es ms lento. Ahora requiere unas pocas E / S para leer las instrucciones de un byte, y requiere el uso de un externo IC.

El funcionamiento del 74LS157, cudruple de 2 lneas de multiplexor la lnea 1 es muy simple. 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

travs de 2Y etc Cuando el A / B es alta, las entradas B se seleccionan. Y los resultados estn conectados al puerto de estado del puerto paralelo, de tal manera que representa el MSnibble del registro de estado. Si bien esto no es necesario, hace que el software sea ms fcil. Para utilizar este circuito, primero hay que inicializar el multiplexor para cambiar cualquiera de las entradas A o B. Vamos a leer el LSnibble en primer lugar, por lo tanto hay que poner A / B baja. El estroboscopio es hardware invertido, por lo tanto tenemos que 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 del puerto. Tome en cuenta que la lnea ocupada se invierte, sin embargo no lo vamos a abordar 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 de una 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 tanto tenemos 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 ser necesario 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. Las primeras versiones de OS-2 utilizado, pero no ms. Las interrupciones son buenos cuando la interconexin de dispositivos de vigilancia tales como alarmas de alta temperatura, etc, donde no se sabe cundo va a ser activado. Es ms eficiente que una solicitud de interrupcin en

lugar de tener el software de sondeo de los puertos con regularidad para ver si algo ha cambiado. 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 totalmente discapacitados en la tarjeta, si la tarjeta fue utilizada slo para la impresin. La interrupcin del puerto paralelo se puede desactivar y activar usando el bit 4 del registro de control, habilitar IRQ travs de la lnea ACK. Una vez activado, una interrupcin se producir en una transicin de baja a alta (flanco ascendente) de la NACK. Sin embargo, como siempre, algunas tarjetas pueden 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. Se determinar que la polaridad de la interrupcin del puerto paralelo es, al mismo tiempo que te da un ejemplo de cmo utilizar interrupcin del puerto paralelo es. Verifica si su interrupcin se genera en el flanco ascendente o descendente de la lnea de NACK. Para utilizar el programa de cable simplemente una de las lneas de datos (pines 2 a 9) a la patilla ACK (Pin 10). La forma 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 Estas son perfectamente normales Que se generan como parte de la prueba de condicin de las estructuras que IRQ est usando, y como el IRQ se define como una constante en algunos 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 y pegar el cdigo fuente de sus propios programas que pueden utilizar los argumentos de lnea de comandos, el usuario de entrada, etc en lugar de una IRQ definido. Para entender cmo funciona este ejemplo, el lector debe tener un conocimiento asumido 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 una introduccin rpida. La primera parte de la rutina de la lnea principal calcula el vector de interrupcin, el PIC 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 controlador de 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 a las 8 lneas de datos en un estado conocido. En este punto del programa, todas las

lneas de datos debe ser alta. La rutina de interrupcin, simplemente establece un indicador (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 una transicin de alto a bajo en el puerto paralelo Reconocer la lnea, ya que est conectado 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 programa informa al usuario. Sin embargo, si no se establece, entonces una interrupcin no ha ocurrido todava. Ahora escribimos 0xFF al puerto de datos, lo que provocar una transicin de baja a alta en la lnea de nAck y comprobar de nuevo la bandera de interrupcin. 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 que las interrupciones no estn funcionando. Asegrese de que su IRQ y Direccin base es correcta 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 la BIOS. Los modos tpicos son, Modo de impresora (a veces llamada por defecto o los modos Normal) Standard & Bi-direccional (SPP) Modo EPP1.7 y el modo SPP EPP1.9 y el modo SPP ECP ECP y el modo de EPP1.7 ECP y el modo de EPP1.9 Modo de impresora es el modo ms bsico. Es un puerto paralelo estndar en el modo de avance. No tiene ninguna funcin bi-direccional, por lo tanto Bit 5 del puerto de control no responde. Standard & Bi-direccional (SPP) es el modo bi-direccional. El uso de este modo, el bit 5 del puerto de control se invertir la direccin del puerto, as que usted 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) y los 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 usted debera 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 el poco tiempo de espera. Ver Interfaz del puerto paralelo mejorado para ms informacin.

EPP1.9 y el modo SPP es igual que el modo anterior, slo se utiliza la versin 1.9 del PPE en esta ocasin. Al igual que en el otro modo, usted tendr acceso a los registros de SPP, incluyendo Bit 5 del puerto de control. Sin embargo, esto difiere de EPP1.7 y el modo 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 se puede configurar utilizando el registro extendido ECP (ECR). Sin embargo, en este modo desde el BIOS del modo EPP (100) no estar disponible. Seguiremos discutir Registro de Control Extendido de ECP en este documento, pero si quieres ms informacin sobre el puerto ECP, consulte Interfaz del Puerto de capacidades extendidas. ECP y EPP1.7 Modo y ECP y el modo de EPP1.9 le dar un puerto de capacidades extendidas, al igual que el modo anterior. Sin embargo, el modo EPP en el ECR ECP ahora 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. Puede volver a configurar ellos usando su propio software, pero esto no es recomendable. Estos registros de software, normalmente se encuentra en 0x2FA, 0x3f0, etc 0x3F1 slo pretenden acceder a la BIOS. No hay un estndar establecido para estos registros de configuracin, por lo que si usted fuera a utilizar estos registros, el software no sera muy porttil. Con los sistemas operativos multitarea, no es una buena idea para el cambio cuando mejor le convenga. Una mejor opcin es seleccionar el modo ECP y EPP1.7 o ECP y EPP1.9 modo de BIOS y el uso extendido de control de la ECP de Registro para seleccionar el modo del puerto paralelo es. El modo de EPP1.7 tenido algunos problemas en lo que respecta a los datos y luces estroboscpicas Direccin se afirma para comenzar un ciclo, independientemente del estado de espera, por lo tanto este modo si no se usan normalmente 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 de EPP1.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 las capacidades de puerto y ISA Interface estndar, por lo tanto no tenemos ese problema de todos 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 de capacidades extendidas. Aqu slo estamos interesados en el control extendido Registro

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

El cuadro anterior es del registro de control extendido. Slo estamos interesados en el MSB tres del registro de control extendido que selecciona el modo de operacin. Hay 7 posibles modos de operacin, pero no todos los puertos soportan todos los modos. El modo 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 como un puerto paralelo estndar, sin funcionalidad bi-direccional. Modo byte Modo / PS / 2 se comporta como un SPP en modo bi-direccional. Bit 5 se coloque el puerto en modo inverso. Puerto paralelo del modo FIFO En este modo, los datos escritos en el FIFO de datos ser enviada a la perifrica mediante el protocolo de intercambio SPP. El hardware generar el apretn de manos requeridas. tiles con los no-ECP dispositivos tales como impresoras. Usted puede tener algunas de las caractersticas de la ECP como buffers FIFO y la generacin de hardware de establecimiento de comunicacin, pero con 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 protocolo de intercambio de PAE se describen en la interconexin del puerto de capacidades extendidas. - Cuando en el modo ECP, aunque BIOS, y el registro de ECR est en el modo ECP FIFO (011), los registros de SPP pueden desaparecer. Modo EPP / Reservados permitir el modo EPP, si est disponible. En BIOS, si el modo ECP se establece entonces es ms que probable, de este modo no es una opcin. Sin embargo, si el BIOS est configurado en modo ECP y EPP1.x, entonces 1.x EPP se activar. - En virtud de capacidades extendidas de Microsoft protocolo del puerto y ISA Interface Norma este modo es proveedor especificado. Reservados Actualmente reservados. - En virtud de capacidades extendidas de Microsoft protocolo del puerto y ISA Interface Norma este modo es proveedor especificado.

FIFO Test Mode En este modo, los datos grabados en la Prueba de FIFO Registro ser colocado en el FIFO y cualquier lectura de datos de la Prueba de FIFO registro se pueden leer desde el buffer FIFO. Los bits de estado FIFO llena / vaca refleja su valor real, por lo tanto la profundidad FIFO, entre otras cosas, se puede determinar de este modo. Modo de configuracin En este modo, los dos registros de configuracin, y cnfgA cnfgB estn 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 las PAE, entonces es una buena idea para iniciar el modo de su puerto ECP a un estado pre-definidas antes de su uso. Si usted est usando SPP, a continuacin, establecer el puerto a modo estndar como la primera cosa que haces. No d por sentado que el puerto ya estar en la norma (SPP) Modo. En algunos de los modos, los registros de SPP pueden desaparecer o no funcionar correctamente. Si usted est usando SPP, a continuacin, la p. al modo estndar. Este es uno de los errores ms comunes que la gente hace

You might also like