el puerto paralelo de las pc's.doc

22
El puerto paralelo de las PC’s. 1- Introducción. Al puerto paralelo se puede acceder a través de un conector estándar de 25 pines hembra (ver figura 1), situado en la parte posterior de cualquier computadora. Esta interfaz se usó para la conexión de impresoras pero es capaz de asimilar muy diversas aplicaciones desde programadores universales hasta tarjetas de adquisición de datos, sobre todo a partir de que se desarrollaron nuevos modos de operación muy potentes. Se ha registrado bajo el estándar IEEE 1284 -1994. Figura 1: Conector del Puerto paralelo tipo DB25F. En las máquinas 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 estándar ó 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 configuración. Los registros necesarios para realizar esta última variante pueden encontrarse en las direcciones 2FAh, 3F0h y 3F1h, aunque no es un buen camino

Upload: gloria-ortiz

Post on 10-Nov-2015

235 views

Category:

Documents


4 download

TRANSCRIPT

El puerto paralelo de las PCs

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.

DireccinNotas

3BChUsado antiguamente. No soporta modo ECP.

378hDireccin usual de LPT1.

278hDireccin 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.

DireccinNombre del puerto (Modo Centronics)Lectura/Escritura

Base + 0Puerto de datos.Escritura.

Base + 1Puerto de Estado.Lectura.

Base + 2Puerto de Control.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.

BitPin en el db25Lectura/Escritura

02Escritura.

13Escritura.

24Escritura.

35Escritura.

46Escritura.

57Escritura.

68Escritura.

79Escritura.

- 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.Tabla 4: Registro de estado en modo Centronics.BitPin en el db25FuncinLectura/Escritura

0-2-Reservados.-

315Error.Lectura.

413Select In.Lectura.

512Paper Out.Lectura.

610Ack.Lectura.

711Busy.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).BitPin en el db25FuncinLectura/Escritura

0*1Strobe.Escritura.

1*14Auto Linefeed.Escritura.

216Initialize Printer (Reset).Escritura.

3*17Select Printer.Escritura.

4 - 7-No usados.

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.Tabla 6: Registro de control en modo SPP.

BitPin en el db25FuncinLectura/Escritura

4-Habilitar la interrupcin.Escritura.

5-Sentido del puerto de datos.Escritura.

0 Salida.

1 Entrada.

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.

Tabla 7: Terminales del puerto paralelo en modo EPP.

BitSeal EPPE/SFuncin

1Write.SUn nivel bajo en esta lnea indica escribir, un nivel alto indica leer.

2-9Data 0-7.E/SBus de datos bidireccional.

10Interrupt.ELnea de interrupcin, la cual ocurre en el flanco positivo.

11Wait.EUn ciclo EPP inicia con un nivel bajo, y finaliza con un nivel alto.

12Spare.ENo usado.

13Spare.ENo usado.

14Data Strobe.SEn nivel bajo indica transferencia de datos.

15Spare.ENo usado.

16Reset.SReset activo en nivel bajo.

17Address Strobe.SUn nivel bajo indica una transferencia de direccin.

18-25Ground.-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.

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

DireccinNombreLectura / Escritura

Base+3Address Port.Lectura / Escritura.

Base+4Data Port.Lectura / Escritura.

Base+5No definido (transferencias de 16/32 bits).-

Base+6No definido (transferencias de 32 bits).-

Base+7No definido (transferencias de 32 bits).-

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.

PinSeales ECPE/SFuncin

1HostClk.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.

2-9Data 0-7.E/SBus de datos bidireccional.

10PeriphClk.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.

11PeriphAck.E/S Como entrada un nivel alto indica datos y un nivel bajo indica un ciclo de comando. En salida se usa como PeriphAck.

12nAckReverse.E Cuando va al nivel bajo indica reconocimiento del Perifrico para cambiar el sentido de salida a entrada.

13X-Flag.E Bandera Extensible.

14HostAck.E/S Como salida, un nivel alto indica datos, mientras que un nivel bajo indica un ciclo de comando. En entrada funciona como HostAck.

15PeriphRequest.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.

16nReverseRequest.S Un nivel bajo indica que el Host quiere cambiar el sentido de salida a entrada.

171284 Active.S Un nivel alto le indica al Host el modo de

transferencia 1284.

18-25Ground.-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.

DireccinRegistroL/E

Base + 400h Datos FIFO (Puerto paralelo modo FIFO).L/E

Datos FIFO (Modo ECP).L/E

Prueba FIFO (Modo de prueba).L/E

Registro A de configuracin (Modo de configuracin).L/E

Base + 401h Registro B de configuracin (Modo de configuracin).L/E

Base + 402h Registro de control extendido ECR (Todos los modos).L/E

- Registro de control extendido.

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.

Tabla 11: Registro de control extendido.BitFuncin

7:5Seleccin 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.

4Bit de interrupcin habilitado ECP.

3DMA habilitado.

2Bit de servicio ECP.

1FIFO llena.

0FIFO 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.

Tabla 2.12: Registro A de configuracin.

BitFuncin

71 Interrupcin por nivel.

0 Interrupcin por flanco.

6:400h Mx. palabras de 16 Bits.

01h Mx. palabras de 8 Bits.

02h Mx. palabras de 32 Bits.

03h:07h Reservado para expansin.

3Reservado.

2Host 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.

BitsFuncin

7

1Comprime los datos saliendo, usando RLE.

0No comprime los datos.

6Estado de la interrupcin.

5:3

Selecciona o muestra la lnea de peticin de interrupcin.

000Interrupcin va jumper.

001IRQ 7.

010IRQ 9.

011IRQ 10.

100IRQ 11.

101IRQ 14.

110IRQ 15.

111IRQ 5.

2:0Selecciona o muestra el estado del canal de DMA.

000Usa un canal de 8 bits jumpereado.

001Canal de DMA 1.

010Canal de DMA 2.

011Canal de DMA 3.

100Usa un canal de 16 bits jumpereado.

101Canal de DMA 5.

110Canal de DMA 6.

111Canal 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.

Bit

Pin en el db25FuncinLectura/Escritura

610 Ack del perifrico peticin de lectura por DMA. Indica que el perifrico ha puesto un dato vlido en las lneas de datos.Lectura.

711 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 db25FuncinLectura/Escritura

0*1HostClk.Escritura.

1*14HostAck.Escritura.

216Escritura.

3*17Escritura.

4 -IRQ (interrupcin) va ACK.Escritura.

0 IRQ deshabilitado.

1 IRQ habilitado.

5 -Sentido del puerto de datos.Escritura.

0 Salida.

1 Entrada.

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 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

111xxxxx

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 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

01101000

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 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

xx0xxxxx

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.