? Tenemos conectados al DMA de un PC dos periféricos, uno de

Anuncio
UNIVERSIDAD DE ALCALÁ
Microprocesadores
DEPARTAMENTO DE AUTOMÁTICA
ÁREA DE A.T.C.
? Tenemos conectados al DMA de un PC dos periféricos, uno de entrada en el canal 1 y
otro de salida conectado al canal 3. Realizar un programa para hacer transferencias entre
ambos periféricos por medio del DMA con las siguientes características:
- El periférico 1 transfiere 100 bytes a una zona de memoria que comienza en la posición
4000:0000H en modo byte a byte, activándose la transferencia por hardware.
- Una vez terminada la transferencia de entrada, se activará por software la transferencia
de los datos leídos al periférico 2 en modo bloque.
- El proceso se repite mentras no se pulsa la tecla ‘F’.
- Direcciones DMA 0000H - 000FH, sin autoinicio, DACK activo alto, temporización
normal.
? Dos periféricos P0 y P1 están conectados a los canales 0 y 1 de un 8237A (y éste a su vez
en cascada al canal 3 del ADM del PC).
P0 es un teclado que solicita, de vez en cuando, ADM para escribir en la memoria del
sistema, a partir de la dirección ‘LISTA’, 100 palabras de la siguiente forma: byte-a-byte,
autoinicialización, incrementando la dirección, temporización normal extendido, DREQ y
DACK activos en alta.
P1 es una pantalla que solicita, una vez por segundo, el ADM para hacer lecturas, en la
misma zona de la memoria del sistema, de esas 100 palabras más una final. El ADM
trabajará en bloque, autoinicialización, incrementando la dirección, temporización normal
extendida, DREQ y DACK activos en alta.
El programa está dedicado exclusivamente a consultar EOP (la palabra de estado) del
canal 0 y verificar entonces la lista para ver si hay dos palabras iguales seguidas (basta con
encontrar una pareja). En este caso, colocará un ‘*’ en la posición 101 de la tabla. Si no
se encuentran, se colocará un carácter ‘#’.
PROBLEMAS DMA
Página 1
INICIO
RESET DEL DMAC
DESHABILITO DE DMAC:
ENVIO DE REG. COMANDO
PROGRAMO CH0:
ENVIO REG DE MODO
PROGRAMO CH1:
ENVIO REG DE MODO
PROGRAMO CH2:
ENVIO REG DE MODO
PROGRAMO CH3:
ENVIO REG DE MODO
CARGAR LOS REG. DE PÁGINA (LATCH)
(SOLO EN CASO DE SER NECESARIO)
CARGAMOS LOS REG. DE DIRECCIONES DE INICIO
(DE TODOS LOS CANALES QUE UTILICEMOS)
CARGAMOS LOS REG. CONTADORES
(DE TODOS LOS CANALES QUE UTILICEMOS)
QUITAMOS LAS MASCARAS
(DE TODOS LOS CANALES QUE UTILICEMOS)
HABILITO DE DMAC:
ENVIO DE REG. COMANDO
FIN INICIALIZACIÓN
Descargar