Beruflich Dokumente
Kultur Dokumente
1- Introduccin.
Al puerto paralelo se puede acceder a travs de un conector estndar de 25 pines hembra
(ver figura 1), situado en la parte posterior de cualquier computadora. Esta interfaz se
us para la conexin de impresoras pero es capaz de asimilar muy diversas aplicaciones
desde programadores universales hasta tarjetas de adquisicin de datos, sobre todo a
partir de que se desarrollaron nuevos modos de operacin muy potentes. Se ha
registrado bajo el estndar IEEE 1284 -1994.
Figura 2: Puerto
paralelo en modo
Centronics.
En este modo cuenta con tres registros (ver figura 3) para su programacin. Cada
registro puede ser accedido mediante una accin de escritura o lectura a una direccin
especfica de la PC, estos registros guardan un orden y una distancia estndar con
respecto a la direccin base (ver tabla 2).
Tabla 2: Direcciones de los registros en modo Centronics.
Direccin
Nombre del puerto (Modo
Lectura/Escritura
Centronics)
Base + 0
Base + 1
Base + 2
Puerto de datos.
Puerto de Estado.
Puerto de Control.
Escritura.
Lectura.
Escritura.
Reservados.
Error.
Select In.
Paper Out.
Ack.
Busy.
Lectura.
Lectura.
Lectura.
Lectura.
Lectura.
- Registro de control.
Registro se emple para enviar comandos a la impresora (ver tabla 5). En general
permite enviar 4 bits de datos hacia el exterior, elemento a tener en cuenta cuando se
disean aplicaciones de adquisicin de datos donde se requiere generar alguna este seal
Pin en el db25
1
14
16
17
-
Funcin
Strobe.
Auto Linefeed.
Initialize Printer (Reset).
Select Printer.
No usados.
Lectura/Escritura
Escritura.
Escritura.
Escritura.
Escritura.
terminales IRQ5 IRQ7, pero si estn ocupadas se puede sensar por el terminal ACK
del registro de estado.
Bit
4
5
Habilitar la interrupcin.
Sentido del puerto de datos.
0
Salida.
1
Entrada.
Escritura.
Escritura.
2-9
10
Data 0-7.
Interrupt.
11
Wait.
12
13
14
15
16
17
Spare.
Spare.
Data Strobe.
Spare.
Reset.
Address Strobe.
18-25 Ground.
Paper Out, Select y Error no participan en el protocolo EPP, por lo que quedan libres
para usarse.
- Registros en modo EPP.
En modo EPP se tienen los mismos registros del modo SPP ms 5 nuevos. La tabla 8
muestra los nuevos registros.
Para enviar un dato en modo EPP basta con escribir el dato en Data Port (Base+4) y el
puerto generar el protocolo necesario para terminar la transferencia. Para enviar una
direccin se sigue el mismo camino que en el caso anterior pero esta vez se escribe en el
Address Port (Base+3).
Cuando la impresora EPP requiere iniciar un ciclo de lectura nData Strobe y nAddress
Strobe son salidas. El perifrico EPP puede enviar una seal para la peticin de lectura a
travs de la interrupcin.
Direccin
Base+3
Base+4
Base+5
Base+6
Base+7
Lectura / Escritura.
Lectura / Escritura.
-
El puerto de estado tiene una pequea modificacin, el bit 0, el cual era reservado en el
modo SPP, ahora es el EPP Time-out Bit y es activo cuando la lnea nWait no es
desactivada en aproximadamente 10 s.
2. 4- Modo ECP.
El modo ECP (Extended Capabilities Port) fue diseado por Hewlett Packard y
Microsoft para implementar el Extended Capabilities Port Protocol and ISA interface
Standard. La distribucin de sus pines se muestra en la figura 5.
Pin
1
Seales ECP
HostClk.
2-9
10
Data 0-7.
PeriphClk.
11
PeriphAck.
12
nAckReverse.
13
14
X-Flag.
HostAck.
15
PeriphRequest.
16
nReverseRequest.
17
1284 Active.
18-25 Ground.
E/S Funcin
S
Un nivel bajo en esta lnea indica que existe un
dato vlido en el Host. El flanco de subida es
usado para insertar el dato en el Perifrico.
E/S Bus de datos bidireccional.
E Un nivel bajo en esta lnea indica que existe un
dato vlido en el Perifrico. El flanco de subida es
usado para insertar el dato en el Host.
E/S Como entrada un nivel alto indica datos y un
nivel bajo indica un ciclo de comando. En salida
se usa como PeriphAck.
E
Cuando va al nivel bajo indica reconocimiento
del Perifrico para cambiar el sentido de salida a
entrada.
E Bandera Extensible.
E/S Como salida, un nivel alto indica datos, mientras
que un nivel bajo indica un ciclo de comando. En
entrada funciona como HostAck.
E Un nivel bajo provocado por el Perifrico indica
que desea cambiar el sentido de salida a entrada.
Es comprendida como una sugerencia para el
Host.
S Un nivel bajo indica que el Host quiere cambiar
el sentido de salida a entrada.
S Un nivel alto le indica al Host el modo de
transferencia 1284.
- Tierra.
Base + 400h
Base + 401h
Base + 402h
L/E
L/E
L/E
L/E
L/E
L/E
L/E
El ECR (tabla 11) es uno de los registros ms importantes para la configuracin del
puerto, pues permite conmutar entre los diferentes modos de trabajo, y habilitar o
inhabilitar los procesos de DMA e interrupcin.
Bit
7:5
4
3
2
1
0
3
2
- Registro B de configuracin.
Este registro al igual que el A solo puede ser accedido cuando el ECR est en modo de
configuracin. Se usa para ajustar el canal de DMA e interrupcin si el puerto cuenta
con la capacidad de ser configurado por software, de otra forma solo es posible leer este
registro (ver tabla 13).
Bits
Funcin
7
6
5:3
2:0
1
0
6. El perifrico indica que hay datos vlidos llevando a nivel bajo PeriphClk.
7. El Host enva una seal de aceptacin de los datos puestos por el perifrico.
8. El perifrico lleva al nivel alto PeriphClk. El flanco positivo es usado para insertar los
datos en el Host.
9. El Host enva una seal de aceptacin llevando a nivel bajo HostAck.
- Ciclo de comandos de entrada.
La figura 9 recoge el ciclo de comandos de entrada en modo ECP, descrito a
continuacin:
1. Host lleva a nivel bajo nReverseRequest para pedir que se cambie la direccin del
flujo de datos de salida a entrada.
2. El perifrico lleva a nivel bajo la seal nAckReverse para indicar que se acepta el
cambio de direccin.
3. El perifrico lleva a nivel bajo la seal PeriphAck para indicar que el ciclo es de
comandos.
4. Los datos son puestos por el perifrico en las lneas de datos.
5. El ciclo de datos es entonces seleccionado por el perifrico llevando PeriphClk al
nivel bajo.
6. El perifrico indica que hay datos vlidos llevando a nivel bajo PeriphClk.
7. El Host enva una seal de aceptacin de los datos puestos por el perifrico.
8. El perifrico lleva al nivel alto PeriphClk. El flanco positivo es usado para insertar los
datos en el Host.
9. El Host enva una seal de aceptacin llevando a nivel bajo HostAck.
Para ejecutar un DMA en el modo ECP existen dos bits del registro de estado (Base+1)
y dos bits del registro de control (Base+2) que juegan un papel crucial en el mismo, ya
que a travs de ellos se generan las seales del protocolo entre un Perifrico y el Host en
cada ciclo de lectura o escritura.
- Registro de estado (Base+1, bits de inters).
En este registro el Bit 6 (Pin 10 del conector db25) se usa para hacer una peticin de
lectura por DMA. Una seal de nivel alto o nivel bajo (ver el registro A de
configuracin) en este terminal indica que el perifrico ha puesto un dato vlido en el
puerto de datos; se usa para insertar datos en el Host.
El Bit 7 (Pin 11 del conector db25) se usa para hacer una peticin de escritura en el
puerto por DMA. Una seal aplicada por el perifrico en este terminal, indica que este
est en la espera de un dato vlido en el puerto de datos de la PC.
Ambos bits se recogen en la tabla 14.
Tabla 14: Registro de estado Bits 6 y 7.
Funcin
Lectura/Escritura
Bit
Pin en el db25
10
Lectura.
11
Lectura.
- Registro de control.
2.4.2.1. El Bit 5 (sin pin en el db25).
Est dedicado a darle sentido al flujo de la informacin, es importante que este bit sea
configurado coherentemente con la operacin de DMA (lectura o escritura), los bits
restantes pueden usarse a conveniencia del diseador.
Cuando se usa el puerto en modo ECP, el cambio de sentido del flujo de datos del
puerto lo hace el protocolo de comunicacin o intercambio de seales mutuo entre el
perifrico y el host que ocurre automticamente por hardware.
2.4.2.2. El Bit 0* (Pin 1 del conector db25).
Pasa al nivel bajo cuando la PC ha puesto un dato vlido en el puerto de datos (es una
respuesta a la solicitud de escritura por DMA). Esta seal puede ser usada para insertar
el dato en el perifrico.
2.4.2.3. El Bit 1* (Pin 14 del conector db25).
El bit 1 se usa como HostAck (pin 14 del conector db25) pasando al nivel alto cuando el
dato es adquirido. Esta seal puede no ser tenida en cuenta siempre que se considere que
a la siguiente peticin de lectura, el puerto haya sido capaz de adquirir el dato.
1
14
16
17
-
HostClk.
HostAck.
IRQ (interrupcin) va ACK.
0 IRQ deshabilitado.
1 IRQ habilitado.
Sentido del puerto de datos.
0 Salida.
1 Entrada.
Escritura.
Escritura.
Escritura.
Escritura.
Escritura.
Escritura.
Bit 6
1
Bit 5
1
Bit 4
x
Bit 3
x
Bit 2
x
Bit 1
x
Bit 0
x
x Cualquier valor.
2.5.2.2. Programacin del ECR.
Por medio del ECR (Base+402h) se debe habilitar el modo ECP y el modo de
configuracin mediante los tres bits ms significativos, y el modo de transferencia por
DMA poniendo en uno el bit tres.
Ejemplo 2.2: Registro ECR modo ECP, DMA habilitado e interrupcin deshabilitada.
Bit 7
0
Bit 6
1
Bit 5
1
Bit 4
0
Bit 3
1
Bit 2
0
Bit 1 Bit 0
0
0
Bit 6
x
Bit 5
0
Bit 4
x
Bit 3
x
Bit 2
x
Bit 1
x
Bit 0
x