Vous êtes sur la page 1sur 16

El puerto paralelo de las PCs.

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 1: Conector del Puerto paralelo tipo DB25F.


En las mquinas modernas este puerto tiene la capacidad de trabajar en 4 modos
diferentes, los cuales son en su orden de capacidad de menor a mayor:
- Centronics.
- Puerto paralelo estndar SPP.
- Puerto paralelo avanzado EPP.
- Puerto paralelo de capacidades extendidas ECP.
Cada modo puede ser configurado por medio del BIOS o usando un software de
configuracin. Los registros necesarios para realizar esta ltima variante pueden
encontrarse en las direcciones 2FAh, 3F0h y 3F1h, aunque no es un buen camino para
realizar la tarea, ya que las direcciones de estos registros no son un estndar, por lo que
el software de configuracin podra no ser de utilidad en algunas mquinas.
Una forma mejor para configurar el modo de operacin del puerto paralelo es a travs
del Registro de Control Extendido (ECR), el cual se encuentra en la direccin Base +
402h, y es un registro extra implementado en el modo ECP.
El puerto paralelo comnmente tiene una de tres direcciones base, mostradas en la tabla
1. La direccin 3BCh fue usada inicialmente cuando se incorporaba un puerto paralelo
en las tarjetas de video; con el correr del tiempo, al incorporar el puerto paralelo a la
tarjeta madre, el puerto paralelo fue removido de las tarjetas de video y esta direccin
desapareci. Usualmente se le asigna la direccin base 378h a LPT1 (Line PrinTer) y
278h a LPT2.

Tabla 1: Direccin base del puerto paralelo.


Direccin
Notas
3BCh
378h
278h

Usado antiguamente. No soporta modo ECP.


Direccin usual de LPT1.
Direccin usual de LPT2.

2- Modos del puerto paralelo.


A pesar de que el modo ECP es el ms rpido y potente, an se conservan los modos
antiguos para guardar compatibilidad con perifricos no tan modernos. A continuacin
se hace una descripcin de cada uno de los cuatro modos.
2.1- Modo Centronics (Unidireccional).
Conocido como modo compatible, en este modo solo se puede enviar informacin en un
sentido a una velocidad tpica de 50 Kbytes por segundo. Las primeras impresoras
usaron el protocolo Centronics que se implementaba por software con las seales
correspondientes (Figura 2).

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.

Figura 3: Registros en modo Centronics.


- Registro de datos.
Registro por el cual se pueden enviar datos al dispositivo perifrico o aplicacin a l
conectado (ver tabla 3). Se us al principio para transmitir el cdigo ASCII del carcter
a imprimir. No es ms que un puerto de 8 bits.
Tabla 3: Registro de datos en modo Centronics.
Bit
Pin en el db25
Lectura/Escritura
0
2
Escritura.
1
3
Escritura.
2
4
Escritura.
3
5
Escritura.
4
6
Escritura.
5
7
Escritura.
6
8
Escritura.
7
9
Escritura.
- Registro de estado.
Este registro se utiliz para conocer el estado de la impresora mediante la lectura de un
grupo de seales (ver tabla 4). En general sirve para leer cinco bits de un dato enviado
por un dispositivo externo. Es un puerto de 5 bits.
Bit
0-2
3
4
5
6
7

Tabla 4: Registro de estado en modo Centronics.


Pin en el db25 Funcin
Lectura/Escritura
15
13
12
10
11

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

de control a dispositivos como temporizadores, conversores, biestables y buffers de


almacenamiento. Es un puerto de 4 bits.
Tabla 5: Registro de Control en Modo Centronics (*Lgica inversa).
Bit
0*
1*
2
3*
4-7

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.

2.2- Modo SPP.


El modo SPP (Standard Parallel Port) trabaja de la misma forma que el modo
Centronics, es decir, usa los mismos registros que el modo anterior, con la diferencia de
que ahora es posible invertir el flujo de los datos en el puerto de 8 bits, por lo que
garantiza un intercambio de informacin bidireccional. Su arquitectura se muestra en la
figura 4.

Figura 4: Arquitectura del puerto paralelo en modo SPP.


En modo SPP se tiene los mismos registros que en el modo Centronics (Figura 2.3), solo
varan la funcin del bit 4 y la funcin del bit 5 del registro de control (vase la tabla 6),
con los cuales se habilita la interrupcin y se establece el sentido del flujo de los datos
del registro de datos, respectivamente. La interrupcin se produce a travs de los

terminales IRQ5 IRQ7, pero si estn ocupadas se puede sensar por el terminal ACK
del registro de estado.
Bit

Tabla 6: Registro de control en modo SPP.


Pin en el db25 Funcin
Lectura/Escritura

4
5

Habilitar la interrupcin.
Sentido del puerto de datos.
0
Salida.
1
Entrada.

Escritura.
Escritura.

2.3- Modo EPP.


El modo EPP fue diseado por Intel, Xircom y Zenith Data Systems, en un principio fue
especificado en el EPP 1.7 estndar, y ms tarde fue incluido en el IEEE 1284 Standard
publicado en 1994.
Una transferencia tpica en este modo est en el orden de 500 KB/s a 2 MB/s, lo cual se
logra generando el protocolo Centronics con hardware extra. Las funciones de los pines
(ver tabla 7) y los registros difieren del modo SPP.
Bit
1

Tabla 7: Terminales del puerto paralelo en modo EPP.


Seal EPP
E/S Funcin
Write.

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.

Un nivel bajo en esta lnea indica escribir, un nivel


alto indica leer.
E/S Bus de datos bidireccional.
E Lnea de interrupcin, la cual ocurre en el flanco
positivo.
E Un ciclo EPP inicia con un nivel bajo, y finaliza
con un nivel alto.
E No usado.
E No usado.
S En nivel bajo indica transferencia de datos.
E No usado.
S Reset activo en nivel bajo.
S Un nivel bajo indica una transferencia de
direccin.
- Tierra.

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

Tabla 8: Nuevos registros del puerto paralelo en modo EPP.


Nombre
Lectura / Escritura
Address Port.
Data Port.
No definido (transferencias de 16/32 bits).
No definido (transferencias de 32 bits).
No definido (transferencias de 32 bits).

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.

Figura 5: Puerto paralelo en modo ECP.


Este modo usa hardware extra para generar las seales necesarias igual que en el modo
EPP, pero es mucho ms rpido ya que tiene la capacidad de mover informacin usando
los canales de DMA 0, 1, 2 3 y tambin usa un buffer FIFO para enviar o recibir datos.
Otra caracterstica especial es el Run Lenght Encoding (RLE) el cual es un algoritmo de
compresin de hasta 64 a 1 en escneres e impresoras, en los que hay largas series de
datos repetitivos. Las seales y el significado de los pines del conector para este modo
(Tabla 2.9).
Tabla 9: Funcin de los pines del conector en modo ECP.

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.

2.4.1- Registros en modo ECP.


En modo ECP hay tres registros adicionales (tabla 10), el ECR o registro de control
extendido y los registros de configuracin A y B. El ECR puede ser accedido mediante
una simple accin de lectura o escritura a su direccin de puerto (comnmente es
base+402). Para leer o escribir los registros de configuracin se requiere establecer
primero un estado determinado del ECR.
Tabla 10: Registros adicionales en modo ECP.
Direccin
Registro

Base + 400h
Base + 401h
Base + 402h

Datos FIFO (Puerto paralelo modo FIFO).


Datos FIFO (Modo ECP).
Prueba FIFO (Modo de prueba).
Registro A de configuracin (Modo de configuracin).
Registro B de configuracin (Modo de configuracin).
Registro de control extendido ECR (Todos los modos).

- Registro de control extendido.

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

Tabla 11: Registro de control extendido.


Funcin
Seleccin del modo de operacin del puerto paralelo.
000 Modo estndar (Una direccin).
001 Modo Byte (Bidireccional).
010 Modo FIFO.
011 Modo FIFO ECP.
100 Modo EPP.
101 Reservado.
110 MODO de prueba de la FIFO.
111 Modo de configuracin.
Bit de interrupcin habilitado ECP.
DMA habilitado.
Bit de servicio ECP.
FIFO llena.
FIFO vaca.

- Registro A de configuracin (bits de inters).


Este es uno de los dos registros de configuracin del puerto paralelo en modo ECP (ver
tabla 12). Solo accesible cuando los tres bits ms significativos de ECR son 111.
Bit
7
6:4

3
2

Tabla 2.12: Registro A de configuracin.


Funcin
1
Interrupcin por nivel.
0
Interrupcin por flanco.
00h
Mx. palabras de 16 Bits.
01h
Mx. palabras de 8 Bits.
02h
Mx. palabras de 32 Bits.
03h:07h Reservado para expansin.
Reservado.
Host Recovery: Pipeline.
0
En direccin de salida 1 byte en la transmisin en
paralelo no afecta la FIFO llena.
1
En direccin de salida 1 byte en la transmisin en
paralelo es incluido como una parte de la FIFO llena.

- 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).

Tabla 13: Registro B de configuracin.

Bits

Funcin

7
6
5:3

2:0

1
0

Comprime los datos saliendo, usando RLE.


No comprime los datos.
Estado de la interrupcin.
Selecciona o muestra la lnea de peticin de interrupcin.
000
Interrupcin va jumper.
001
IRQ 7.
010
IRQ 9.
011
IRQ 10.
100
IRQ 11.
101
IRQ 14.
110
IRQ 15.
111
IRQ 5.
Selecciona o muestra el estado del canal de DMA.
000
Usa un canal de 8 bits jumpereado.
001
Canal de DMA 1.
010
Canal de DMA 2.
011
Canal de DMA 3.
100
Usa un canal de 16 bits jumpereado.
101
Canal de DMA 5.
110
Canal de DMA 6.
111
Canal de DMA 7.

2.4.2- Ciclos ECP.


Tiene dos ciclos fundamentales: de datos y de comandos.
- Ciclo de datos de salida.
La figura 6 recoge el ciclo de datos de salida en modo ECP, descrito a continuacin:
1. Los datos son puestos en las lneas de datos por el Host.
2. El Host indica el comienzo de un ciclo de datos llevando al nivel alto HostAck.
3. El Host indica que hay un dato vlido llevando a nivel bajo la seal HostClk.
4. El perifrico enva una seal de aceptacin PeriphAck.
5. El Host lleva al nivel alto la seal HostClk, el flanco positivo es usado para insertar el
dato en el perifrico.
6. El perifrico lleva a nivel bajo PeriphAck para indicar que entr el dato.

Figura 6: Ciclo de datos de salida modo ECP.


- Ciclo de comandos de salida.
El ciclo de comandos de salida (ver figura 7) consta de los siguientes pasos:

1. Los datos son puestos en las lneas de datos por el Host.


2. El Host indica el comienzo de un ciclo de comando llevando a nivel bajo HostAck.
3. El Host indica que hay un dato vlido llevando a nivel bajo la seal HostClk.
4. El perifrico enva una seal de aceptacin PeriphAck.
5. El Host lleva a nivel bajo la seal HostClk, el flanco positivo es usado para insertar el
dato en el perifrico.
6. El perifrico lleva a nivel bajo PeriphAck.

Figura 2.6. Ciclo comando de salida en modo ECP.


- Ciclo de datos de entrada.
La figura 8 recoge el ciclo de datos de entrada en modo ECP, descrito a continuacin:
1. Host lleva al nivel bajo nReverseRequest para pedir que se cambie la direccin del
flujo de datos de salida a entrada.

Figura 8: Ciclo de datos de entrada en modo ECP.


2. El perifrico lleva a nivel bajo la seal nAckReverse para indicar que se acepta el
cambio de direccin.
3. El perifrico lleva al nivel alto la seal PeriphAck para indicar que el ciclo es de
datos.
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 alto.

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.

Figura 9: Ciclo de comandos de entrada en modo ECP.

2.4.3- Transferencia por DMA usando el puerto paralelo.


El DMA (Acceso Directo a Memoria) es una tcnica de transferencia de datos muy
rpida, que permite el intercambio de informacin directamente entre los dispositivos de
I/O y la memoria de un sistema de cmputo, sin que medie en el intercambio la accin
directa del procesador. Esto constituye una gran ventaja para la adquisicin y el
procesamiento de datos a considerable velocidad.

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

Ack del perifrico peticin de


lectura por DMA. Indica que el
perifrico ha puesto un dato vlido
en las lneas de datos.

Lectura.

11

Ack de perifrico peticin de


escritura por DMA. Indica que el
perifrico esta listo para recibir un
dato.

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.

Tabla 2.15: Registro de control modo ECP (* Lgica inversa).


Bit
PIN en el db25
Funcin
Lectura/Escritura
0*
1*
2
3*
4

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.

2.4.3. Protocolo de DMA.


2.4.3.1. Ciclo de lectura por DMA.
La figura 2.9 recoge el ciclo de lectura por DMA, descrito a continuacin:
1. En el Host la lnea HostAck va al nivel bajo y espera por los datos.
2. El perifrico pone los datos en las lneas de datos
3. El perifrico lleva la lnea PeriphClk va al nivel bajo para indicar que hay un dato
vlido en las lneas de datos.
4. El Host lee los datos y lleva al nivel alto la lnea HostAck.
5. El perifrico lleva las lneas PeriphClk a su estado normal (nivel alto).
6. El Host lleva la lnea HostAck a su estado normal (nivel bajo).

Figura 2.9. Ciclo de lectura por DMA.


2.4.3.2. Ciclo de escritura por DMA.
La figura 2.10 recoge el ciclo de escritura por DMA, descrito a continuacin:
1. El Host pone los datos en el puerto.
2. El Host lleva a nivel bajo las lneas HostClk para indicar que hay n datos vlidos.
3. El perifrico lleva a nivel alto la lnea PeriphAck para indicar que acepta el dato.

4. El Host lleva a nivel alto las lneas.


5. El perifrico lleva a nivel bajo la lnea PeriphAck.

Figura 2.10. Ciclo de escritura por DMA.

2.5. Materializacin de un proceso de DMA en el puerto paralelo.


2.5.1. Verificacin.
Antes de iniciar cualquier diseo que use un proceso de DMA a travs del puerto
paralelo, debe verificarse la configuracin de la PC. Esto se puede hacer consultando la
hoja de datos del fabricante de la tarjeta madre o revisando el BIOS de la PC, en
particular la configuracin de los perifricos (el puerto paralelo debe estar en modo ECP
y debe tener asignado un canal de DMA).
Debe prestarse mucha atencin puesto que una incorrecta manipulacin del BIOS de la
PC puede causar daos permanentes e incluso dejarlo inutilizable.
2.5.2. Programacin.
El proceso de programacin se realiza sobre los registros del puerto paralelo en modo
ECP vistos anteriormente.
2.5.2.1. Programacin del registro A de configuracin.
Primeramente deben escribirse en el ECR (base+402h) los tres bits ms significativos
en uno y luego escribir en el registro A de configuracin los dgitos necesarios segn el
criterio del diseador.
Ejemplo 2.1: Registro ECR Modo de configuracin.
Bit 7
1

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

2.5.2.3. Programacin del registro de control.


En el registro de control se debe definir la direccin del flujo de datos mediante el bit 5.
Ejemplo 2.3: Registro de control, flujo de datos de salida (DMA Escritura).
Bit 7
x

Bit 6
x

Bit 5
0

Bit 4
x

Bit 3
x

Bit 2
x

Bit 1
x

Bit 0
x

2.6. Programacin del DMA.


La secuencia general de pasos para programar una accin de DMA sera la siguiente:
1- Programar el sentido y el modo de trabajo del puerto paralelo, de acuerdo con la
operacin a realizar.
2- Programar al controlador de DMA con la direccin de memoria y el contador
deseados.
3- Habilitar el DMA e inhabilitar la interrupcin simultneamente a travs del ECR.
4- Desenmascarar el canal correspondiente en el controlador de DMA.
El DMA llenar o vaciar la FIFO usando la direccin y el modo programado. El DMA
es siempre desde o hacia la FIFO localizada en la direccin Base+400h. Cuando el
controlador de DMA llega al conteo final una interrupcin es generada y se termina de
vaciar la FIFO para completar el proceso.

Vous aimerez peut-être aussi