82C37A
82C37A - Controlador DMA Programable de Alto Rendimiento CMOS
Marzo de 1997
Características - Descripción
-
Compatible con el controlador DMA 8237A NMOS
- El 82C37A es una versión mejorada del controlador de acceso directo a memoria (DMA) 8237A estándar de la industria, fabricado usando el proceso CMOS de 2 micras avanzado de Harris. Compatible con diseños NMOS, el 82C37A ofrece mayor funcionalidad, rendimiento mejorado y consumo de potencia dramáticamente reducido. El diseño completamente estático permite operación de reloj controlado para una reducción aún mayor de potencia.
-
Cuatro Canales Independientes Enmascarables con Capacidad de Autoinicialización
-
Cascadable a Cualquier Número de Canales
-
Transferencias de Datos de Alta Velocidad:
- Hasta 4 MBytes/seg con reloj de 8 MHz
- Hasta 6,25 MBytes/seg con reloj de 12,5 MHz
-
Transferencias Memoria-a-Memoria
El controlador 82C37A puede mejorar el rendimiento del sistema permitiendo que dispositivos externos transfieran datos directamente hacia o desde la memoria del sistema. También se proporciona capacidad de transferencia memoria-a-memoria, junto con una característica de inicialización de bloque de memoria. Las peticiones de DMA pueden ser de software, y cada canal es programable de forma independiente con una variedad de características para operación flexible.
-
Diseño CMOS Estático Permite Operación de Baja Potencia
- Máximo de corriente en espera ICCSB = 10 µA
- Máximo de corriente operativa ICCOP = 2 mA/MHz
-
Completamente Compatible TTL/CMOS
-
Los Registros Internos Pueden Ser Leídos desde Software
-
El 82C37A está diseñado para usarse con un cerrojo de direcciones externo, como el 82C82, para demultiplexar los 8 bits más significativos de la dirección. El 82C37A puede usarse con microprocesadores estándar de la industria como el 80C286, 80286, 80C86, 80C88, 8086, 8088, 8085, Z80, NSC800, 80186 y otros. La programabilidad multimodo permite al usuario seleccionar entre tres tipos básicos de servicios DMA, y la reconfiguración bajo control de programa es posible incluso con el reloj del controlador detenido. Cada canal tiene un rango de dirección de 64K completo y rango de conteo de palabras, y puede programarse para autoinicializar estos registros tras la terminación de DMA (fin de proceso).
Información de Pedido
| Número de Parte | Frecuencia | Paquete | Rango de Temperatura | N.º Pkg. |
|---|---|---|---|---|
| CP82C37A-5 | 5 MHz | 40 Ld PDIP | 0°C a +70°C | E40.6 |
| CP82C37A | 8 MHz | 40 Ld PDIP | 0°C a +70°C | E40.6 |
| CP82C37A-12 | 12,5 MHz | 40 Ld PDIP | 0°C a +70°C | E40.6 |
| IP82C37A-5 | 5 MHz | 40 Ld PDIP | -40°C a +85°C | E40.6 |
| IP82C37A | 8 MHz | 40 Ld PDIP | -40°C a +85°C | E40.6 |
| IP82C37A-12 | 12,5 MHz | 40 Ld PDIP | -40°C a +85°C | E40.6 |
| CS82C37A-5 | 5 MHz | 44 Ld PLCC | 0°C a +70°C | N44.65 |
| CS82C37A | 8 MHz | 44 Ld PLCC | 0°C a +70°C | N44.65 |
| CS82C37A-12 | 12,5 MHz | 44 Ld PLCC | 0°C a +70°C | N44.65 |
| IS82C37A-5 | 5 MHz | 44 Ld PLCC | -40°C a +85°C | N44.65 |
| IS82C37A | 8 MHz | 44 Ld PLCC | -40°C a +85°C | N44.65 |
| IS82C37A-12 | 12,5 MHz | 44 Ld PLCC | -40°C a +85°C | N44.65 |
| CD82C37A-5 | 5 MHz | 40 Ld CERDIP | 0°C a +70°C | F40.6 |
| CD82C37A | 8 MHz | 40 Ld CERDIP | 0°C a +70°C | F40.6 |
| CD82C37A-12 | 12,5 MHz | 40 Ld CERDIP | 0°C a +70°C | F40.6 |
| ID82C37A-5 | 5 MHz | 40 Ld CERDIP | -40°C a +85°C | F40.6 |
| ID82C37A | 8 MHz | 40 Ld CERDIP | -40°C a +85°C | F40.6 |
| ID82C37A-12 | 12,5 MHz | 40 Ld CERDIP | -40°C a +85°C | F40.6 |
| MD82C37A-5/B | 5 MHz | 40 Ld CERDIP | -55°C a +125°C | F40.6 |
| MD82C37A/B | 8 MHz | 40 Ld CERDIP | -55°C a +125°C | F40.6 |
| MD82C37A-12/B | 12,5 MHz | 40 Ld CERDIP | -55°C a +125°C | F40.6 |
| 5962-9054301MQA | — | SMD | -55°C a +125°C | F40.6 |
| 5962-9054302MQA | — | SMD | -55°C a +125°C | F40.6 |
| 5962-9054303MQA | — | SMD | -55°C a +125°C | F40.6 |
| MR82C37A-5/B | 5 MHz | 44 Pad CLCC | -55°C a +125°C | J44.A |
| MR82C37A/B | 8 MHz | 44 Pad CLCC | -55°C a +125°C | J44.A |
| MR82C37A-12/B | 12,5 MHz | 44 Pad CLCC | -55°C a +125°C | J44.A |
| 5962-9054301MXA | — | SMD | -55°C a +125°C | J44.A |
| 5962-9054302MXA | — | SMD | -55°C a +125°C | J44.A |
| 5962-9054303MXA | — | SMD | -55°C a +125°C | J44.A |
PRECAUCIÓN: Estos dispositivos son sensibles a descargas electrostáticas. Los usuarios deben seguir procedimientos adecuados de manejo de circuitos integrados. Número de archivo 2967.1
Copyright © Harris Corporation 1997
4-192
Configuraciones de Pines
82C37A (PDIP/CERDIP) - VISTA SUPERIOR
Diagrama de pinout PDIP/CERDIP de 40 pines. Los siguientes pines se identifican:
| Pin | Señal |
|---|---|
| 1 | IOR |
| 2 | IOW |
| 3 | MEMR |
| 4 | MEMW |
| 5 | NC |
| 6 | READY |
| 7 | HLDA |
| 8 | ADSTB |
| 9 | AEN |
| 10 | HRQ |
| 11 | CS |
| 12 | CLK |
| 13 | RESET |
| 14 | DACK2 |
| 15 | DACK3 |
| 16 | DREQ3 |
| 17 | DREQ2 |
| 18 | DREQ1 |
| 19 | DREQ0 |
| 20 | GND |
| 21 | DB7 |
| 22 | DB6 |
| 23 | DB5 |
| 24 | DACK1 |
| 25 | DACK0 |
| 26 | DB4 |
| 27 | DB3 |
| 28 | DB2 |
| 29 | DB1 |
| 30 | DB0 |
| 31 | VCC |
| 32 | A0 |
| 33 | A1 |
| 34 | A2 |
| 35 | A3 |
| 36 | EOP |
| 37 | A4 |
| 38 | A5 |
| 39 | A6 |
| 40 | A7 |
82C37A (CLCC/PLCC) - VISTA SUPERIOR
Diagrama de pinout CLCC/PLCC de 44 pines. La extracción OCR de esta tabla concreta salió con varias etiquetas de señal claramente desordenadas o invertidas letra a letra (por ejemplo, el pin 10 aparecía como “YDAER”, que invertido da “READY” — corregido abajo), y algunos valores de los pines 2-9 no se corresponden con ninguna señal reconocible del 82C37A. Los nombres de señal fiables son los de la tabla PDIP/CERDIP anterior; esta tabla PLCC/CLCC se conserva tal y como se pudo extraer, con la corrección puntual de “YDAER”→“READY”, pero la posición exacta de pin para las señales 2-9 no debe darse por buena sin contrastarla con el datasheet original.
| Pin | Señal |
|---|---|
| 1 | CN |
| 2 | 7A |
| 3 | 6A |
| 4 | 5A |
| 5 | 4A |
| 6 | NC |
| 7 | POE |
| 8 | RMEM |
| 9 | WMEM |
| 10 | READY |
| 11 | AEN |
| 12 | HRQ |
| 13 | CS |
| 14 | CLK |
| 15 | RESET |
| 16 | DACK2 |
| 17 | NC |
| 18 | NC |
| 19 | NC |
| 20 | NC |
| 21 | GND |
| 22 | DB7 |
| 23 | DB6 |
| 24 | DB5 |
| 25 | DB4 |
| 26 | DB3 |
| 27 | DB2 |
| 28 | DB1 |
| 29 | DB0 |
| 30 | VCC |
| 31 | A0 |
| 32 | A1 |
| 33 | A2 |
| 34 | A3 |
| 35 | VCC |
| 36 | A0 |
| 37 | A1 |
| 38 | A2 |
| 39 | A3 |
| 40 | NC |
| 41 | NC |
| 42 | NC |
| 43 | NC |
| 44 | NC |
Diagrama de Bloques
Nota: Diagrama funcional de bloques del 82C37A mostrando los principales componentes internos: búferes de entrada/salida, registros de dirección y conteo (16 bits cada uno), controlador de temporización, codificador de prioridad, y lógica de control interno. No se reproduce el diagrama ASCII completo.
Descripción de Pines
| Pin | Símbolo | Tipo | Descripción |
|---|---|---|---|
| 31 | VCC | — | VCC es la línea de alimentación +5V. Se recomienda un condensador de 0,1 µF entre los pines 31 y 20 para desacoplamiento. |
| 20 | GND | — | Tierra |
| 12 | CLK | Entrada | Entrada de reloj: La entrada de reloj se utiliza para generar las señales de temporización que controlan las operaciones del 82C37A. Esta entrada puede ser controlada desde CC hasta 12,5 MHz para el 82C37A-12, desde CC hasta 8 MHz para el 82C37A, o desde CC hasta 5 MHz para el 82C37A-5. El reloj puede detenerse en ambos estados para operación en espera. |
| 11 | CS | Entrada | Selección de chip: La selección de chip es una entrada activa baja utilizada para habilitar el controlador en el bus de datos para comunicaciones con la CPU. |
| 13 | RESET | Entrada | Reinicio: Esta es una entrada activa alta que borra los registros de comando, estado, petición y temporal, el flip-flop primero/último y el contador del registro de modo. El registro de máscara se establece para ignorar peticiones. Tras un reinicio, el controlador está en un ciclo inactivo. |
| 6 | READY | Entrada | Listo: Esta señal puede usarse para extender los pulsos de lectura y escritura de memoria del 82C37A para acomodar memorias o dispositivos E/S lentos. READY no debe hacer transiciones durante sus tiempos de configuración y retención especificados. Véase la figura 12 para temporización. READY se ignora en modo de transferencia de verificación. |
| 7 | HLDA | Entrada | Reconocimiento de retención: El reconocimiento de retención activo alto de la CPU indica que ha relinquido el control de los buses del sistema. HLDA es una entrada síncrona y no debe hacer transiciones durante su tiempo de configuración especificado. Existe un tiempo de retención implícito (HLDA inactivo) de TCH desde el flanco ascendente de CLK, durante el cual HLDA no debe hacer transiciones. |
| 16-19 | DREQ0-DREQ3 | Entrada | Petición de DMA: Las líneas de petición de DMA (DREQ) son entradas individuales de petición de canal asincrónicas utilizadas por circuitos periféricos para obtener servicio de DMA. En prioridad fija, DREQ0 tiene la prioridad más alta y DREQ3 tiene la prioridad más baja. Una petición es canal. DACK reconocerá el reconocimiento de una señal DREQ. La polaridad de DREQ es programable. El reinicio inicializa estas líneas como activas altas. DREQ debe mantenerse hasta que el DACK correspondiente se active. DREQ no será reconocida mientras el reloj esté detenido. Las entradas DREQ no utilizadas deben ser llevadas a nivel alto o bajo (inactivas) y el bit de máscara correspondiente establecido. |
| 21-23, 26-30 | DB0-DB7 | E/S | Bus de datos: Las líneas del bus de datos son señales bidireccionales de tres estados conectadas al bus de datos del sistema. Las salidas se habilitan en la condición de programa durante la lectura de E/S para sacar el contenido de un registro a la CPU. Las salidas se deshabilitan y las entradas se leen durante un ciclo de escritura de E/S cuando la CPU está programando los registros de control del 82C37A. Durante ciclos de DMA, los 8 bits más significativos de la dirección se sacan al bus de datos para ser capturados por un cerrojo externo por ADSTB. En operaciones memoria-a-memoria, los datos de la memoria entran en el 82C37A por el bus de datos durante la transferencia de lectura de memoria, y luego durante la transferencia de escritura a memoria, el bus de datos saca los datos a escribir en la nueva ubicación de memoria. |
| 1 | IOR | E/S | Lectura de E/S: La lectura de E/S es una línea bidireccional activa baja de tres estados. En el ciclo inactivo, es una señal de control de entrada utilizada por la CPU para leer los registros de control. En el ciclo activo, es una señal de control de salida utilizada por el 82C37A para acceder a datos del periférico durante una transferencia de escritura de DMA. |
| 2 | IOW | E/S | Escritura de E/S: La escritura de E/S es una línea bidireccional activa baja de tres estados. En el ciclo inactivo, es una señal de control de entrada utilizada por la CPU para cargar información en el 82C37A. En el ciclo activo, es una señal de control de salida utilizada por el 82C37A para cargar datos al periférico durante una transferencia de lectura de DMA. |
Descripción de Pines (Continuación)
| Pin | Símbolo | Tipo | Descripción |
|---|---|---|---|
| 36 | EOP | E/S | Fin de proceso: El fin de proceso (EOP) es una señal bidireccional activa baja. La información sobre la terminación de servicios de DMA está disponible en el pin EOP bidireccional. El 82C37A permite que una señal externa termine un servicio de DMA activo llevando el pin EOP a nivel bajo. Se produce un pulso, excepto para el canal 0 en modo memoria-a-memoria. Durante transferencias memoria-a-memoria, EOP se sacará cuando ocurra el TC para el canal 1. El pin EOP es impulsado por un transistor de drenaje abierto en el chip y requiere una resistencia de carga externa a VCC. Cuando ocurre un pulso EOP, ya sea generado internamente o externamente, el 82C37A terminará el servicio, y si la autoinicialización está habilitada, los registros base se escribirán en los registros actuales de ese canal. El bit de máscara y el bit TC en la palabra de estado se establecerán para el canal actualmente activo por EOP a menos que el canal esté programado para autoinicialización. En ese caso, el bit de máscara permanece claro. |
| 32-35 | A0-A3 | E/S | Dirección: Las cuatro líneas de dirección menos significativas son señales bidireccionales de tres estados. En el ciclo inactivo, son entradas y se utilizan por el 82C37A para direccionar el registro de control a cargar o leer. En el ciclo activo, son salidas y proporcionan los 4 bits inferiores de la dirección de salida. |
| 37-40 | A4-A7 | Salida | Dirección: Los cuatro bits de dirección más significativos son salidas de tres estados y proporcionan 4 bits de dirección. Estas líneas se habilitan solo durante el servicio de DMA. |
| 10 | HRQ | Salida | Petición de retención: La salida de petición de retención (HRQ) se utiliza para solicitar control del bus del sistema. Cuando ocurre un DREQ y el bit de máscara correspondiente está claro, o se hace una solicitud de DMA de software, el 82C37A emite HRQ. La señal HLDA informa al controlador cuándo se permite el acceso a los buses del sistema. Para operación independiente donde el 82C37A siempre controla los buses, HRQ puede ser conectado a HLDA. Esto resultará en un estado S0 antes de la transferencia. |
| 14, 15, 24, 25 | DACK0-DACK3 | Salida | Reconocimiento de DMA: El reconocimiento de DMA se utiliza para notificar a los periféricos individuales cuando se ha concedido un ciclo de DMA. El sentido de estas líneas es programable. El reinicio las inicializa como activas bajas. |
| 9 | AEN | Salida | Habilitación de dirección: La habilitación de dirección habilita el cerrojo de 8 bits que contiene los 8 bits de dirección superiores en el bus de direcciones del sistema. AEN también puede usarse para deshabilitar otros controladores de bus del sistema durante transferencias de DMA. AEN es activo alto. |
| 8 | ADSTB | Salida | Captura de dirección: Esta es una señal activa alta utilizada para controlar el capturado del byte de dirección superior. Impulsará directamente la entrada de captura de cerrojos latch octales transparentes externos, como el 82C82. Durante operaciones de bloque, ADSTB solo se emitirá cuando el byte de dirección superior deba actualizarse, acelerando la operación mediante la eliminación de estados S1. La temporización de ADSTB se referencia al flanco descendente del reloj 82C37A. |
| 3 | MEMR | Salida | Lectura de memoria: La señal de lectura de memoria es una salida de tres estados activa baja utilizada para acceder a datos de la ubicación de memoria seleccionada durante una lectura de DMA o una transferencia memoria-a-memoria. |
| 4 | MEMW | Salida | Escritura de memoria: La señal de escritura de memoria es una salida de tres estados activa baja utilizada para escribir datos en la ubicación de memoria seleccionada durante una escritura de DMA o una transferencia memoria-a-memoria. |
| 5 | NC | — | Sin conexión: El pin 5 está abierto y no debe ser probado para continuidad. |
Descripción Funcional
El controlador de acceso directo a memoria 82C37A está diseñado para mejorar la tasa de transferencia de datos en sistemas que deben transferir datos desde un dispositivo de E/S a memoria, o mover un bloque de memoria a un dispositivo de E/S. También realizará movimientos de bloques memoria-a-memoria, o llenará un bloque de memoria con datos desde una única ubicación. Se proporcionan modos de operación para manejar transferencias de bytes simples, así como secuencias de datos discontinuos, lo que permite que el 82C37A controle el movimiento de datos con transparencia de software.
Por ejemplo, si un bloque de datos debe ser transferido desde la RAM a un dispositivo de E/S, la dirección de inicio de los datos se carga en los registros de dirección base y actual del 82C37A para un canal particular, y la longitud del bloque se carga en el registro de conteo de palabras del canal. El registro de modo correspondiente se programa para una operación memoria-a-E/S (transferencia de lectura), y se seleccionan varias opciones mediante el registro de comando y otros bits del registro de modo. El bit de máscara del canal se borra para habilitar el reconocimiento de una petición de DMA (DREQ). El DREQ puede ser una señal de hardware o un comando de software.
El controlador DMA es un generador de dirección y señales de control controlado por estados, que permite que los datos sean transferidos directamente desde un dispositivo de E/S a memoria o viceversa sin ser nunca almacenados en un registro temporal. Esto puede aumentar significativamente la tasa de transferencia de datos para operaciones secuenciales, en comparación con instrucciones de movimiento de procesador o instrucciones de cadena repetida. Las operaciones memoria-a-memoria requieren almacenamiento temporal interno del byte de datos entre la generación de direcciones de origen y destino, de modo que las transferencias memoria-a-memoria se producen a menos de la mitad de la tasa de operaciones de E/S, pero aún mucho más rápido que con técnicas de procesador central.
Una vez iniciada, la transferencia de DMA en bloque procederá cuando el controlador saca la dirección de datos, pulsos simultáneos de MEMR e IOW, y selecciona un dispositivo de E/S a través de las salidas de reconocimiento de DMA (DACK). El byte de datos fluye directamente desde la RAM al dispositivo de E/S. Después de que cada byte se transferida, la dirección se incrementa (o decrementa) automáticamente y el conteo de palabras se decrementa. La operación se repite luego para el siguiente byte. El controlador detiene la transferencia de datos cuando el registro de conteo de palabras se desborba, o se aplica un EOP externo. Las tasas máximas de transferencia de datos obtenibles con el 82C37A se muestran en la figura 1.
Máximo de Tasas de Transferencia DMA
| Tipo de Transferencia | 5 MHz | 8 MHz | 12,5 MHz | Unidad |
|---|---|---|---|---|
| Comprimida | 2,50 | 4,00 | 6,25 | MByte/seg |
| E/S Normal | 1,67 | 2,67 | 4,17 | MByte/seg |
| Memoria-a-Memoria | 0,63 | 1,00 | 1,56 | MByte/seg |
Registros Internos del 82C37A
| Nombre | Tamaño | Número |
|---|---|---|
| Registros de Dirección Base | 16 bits | 4 |
| Registros de Conteo de Palabras Base | 16 bits | 4 |
| Registros de Dirección Actual | 16 bits | 4 |
| Registros de Conteo de Palabras Actual | 16 bits | 4 |
| Registro de Dirección Temporal | 16 bits | 1 |
| Registro de Conteo de Palabras Temporal | 16 bits | 1 |
| Registro de Estado | 8 bits | 1 |
| Registro de Comando | 8 bits | 1 |
| Registro Temporal | 8 bits | 1 |
| Registros de Modo | 6 bits | 4 |
| Registro de Máscara | 4 bits | 1 |
| Registro de Petición | 4 bits | 1 |
Operación DMA
En un sistema, las salidas de dirección y control del 82C37A y los pines del bus de datos están conectados básicamente en paralelo con los buses del sistema. Se requiere un cerrojo externo para el byte de dirección superior. Cuando está inactivo, las salidas del controlador están en un estado de alta impedancia. Cuando se activa por una petición de DMA y se relinque el control del bus por parte del host, el 82C37A impulsa los buses y genera las señales de control para realizar la transferencia de datos. La operación realizada por la activación de una de las cuatro entradas de petición de DMA fue previamente programada en el controlador a través de los registros de comando, modo, dirección y conteo de palabras.
Para comprender mejor la operación del 82C37A, el controlador DMA opera en dos ciclos principales: activo e inactivo.
Ciclo Inactivo
Cuando no hay canales pidiendo servicio, el 82C37A entrará en el ciclo inactivo y realizará estados “SI”. En este ciclo, el 82C37A muestreará las líneas DREQ en el flanco descendente de cada ciclo de reloj para determinar si algún canal está pidiendo servicio de DMA.
El estado I (SI) es el estado inactivo. Se entra cuando el 82C37A no tiene peticiones de DMA válidas pendientes, al final de una secuencia de transferencia, o cuando ha ocurrido un reinicio o borrado maestro. Mientras está en SI, el controlador DMA está inactivo pero puede estar en la condición de programa (siendo programado por el procesador).
Comandos de software especiales pueden ser ejecutados por el 82C37A en la condición de programa. Estos comandos se decodifican como conjuntos de direcciones con CS, IOR e IOW. Los comandos no hacen uso del bus de datos. Las instrucciones incluyen establecer y borrar el flip-flop primero/último, borrado maestro, borrar el contador del registro de modo y borrar el registro de máscara.
Cuando no hay ningún canal pidiendo servicio, el 82C37A entrará en el ciclo inactivo y realizará estados “SI”. En este ciclo, el 82C37A muestreará las líneas DREQ en el flanco descendente de cada ciclo de reloj para determinar si algún canal está pidiendo servicio de DMA.
Tenga en cuenta que para operación en espera donde el reloj ha sido detenido, se ignorarán las peticiones de DMA. El dispositivo responderá a CS (selección de chip), en caso de un intento del microprocesador de escribir o leer los registros internos del 82C37A. Cuando CS es bajo y HLDA es bajo, el 82C37A entra en la condición de programa. La CPU ahora puede establecer, cambiar o inspeccionar la definición interna de la parte leyendo desde o escribiendo en los registros internos.
El 82C37A puede ser programado con el reloj detenido, siempre que HLDA sea bajo y haya ocurrido al menos un flanco ascendente de reloj después de que HLDA fue llevado a nivel bajo, de modo que el controlador está en un estado SI. Las líneas de dirección A0-A3 son entradas al dispositivo y seleccionan qué registros serán leídos o escritos. Las líneas IOR e IOW se usan para seleccionar y temporizar las operaciones de lectura o escritura. Debido al número y tamaño de los registros internos, se utiliza un flip-flop interno llamado flip-flop primero/último para generar un bit de dirección adicional. El bit se usa para determinar el byte superior o inferior de los registros de dirección y conteo de trabajo de 16 bits. El flip-flop se reinicia por borrado maestro o RESET. Comandos de software separados también pueden establecer o restablecer este flip-flop.
Ciclo Activo
Cuando el 82C37A está en el ciclo inactivo, y se produce una solicitud de software o un canal sin máscara solicita servicio de DMA, el dispositivo emitirá HRQ al microprocesador e entrará en el ciclo activo. Es en este ciclo donde tendrá lugar el servicio de DMA, en uno de cuatro modos:
El estado 0 (S0) es el primer estado de un servicio de DMA. El 82C37A ha solicitado una retención pero el procesador aún no ha devuelto un reconocimiento. El 82C37A puede seguir siendo programado hasta que haya recibido HLDA de la CPU. Un reconocimiento de la CPU señalará que la transferencia de DMA puede comenzar. S1, S2, S3 y S4 son el estado de trabajo del servicio de DMA. Si se necesita más tiempo para completar una transferencia del disponible con temporización normal, se pueden insertar estados de espera (SW) entre S3 y S4 en transferencias normales mediante el uso de la línea Ready en el 82C37A. Para transferencias comprimidas, se pueden insertar estados de espera entre S2 y S4. Ver figuras de temporización 14 y 15.
Tenga en cuenta que los datos se transfieren directamente desde el dispositivo de E/S a memoria (o viceversa) con IOR y MEMW (o MEMR e IOW) activos al mismo tiempo. Los datos no se leen ni se impulsan fuera del 82C37A en transferencias DMA de E/S-a-memoria o memoria-a-E/S.
Las transferencias memoria-a-memoria requieren una lectura-de y una escritura-a memoria para completar cada transferencia. Los estados, que se asemejan a los estados normales de trabajo, utilizan números de dos dígitos para identificación. Se requieren ocho estados para una única transferencia. Los primeros cuatro estados (S11, S12, S13, S14) se utilizan para la mitad de lectura-de-memoria y los últimos cuatro estados (S21, S22, S23, S24) para la mitad de escritura-a-memoria de la transferencia.
Modos de Transferencia
Modo de Transferencia Simple
En el modo de transferencia simple, el dispositivo se programa para hacer una transferencia sola. El conteo de palabras será decrementado y la dirección decrementada o incrementada tras cada transferencia. Cuando el conteo de palabras se “sobrepasa” de cero a FFFFH, se establece un bit de conteo terminal en el registro de estado, se genera un pulso EOP, y el canal se autoinicializará si esta opción ha sido seleccionada. Si no se programa para autoinicializar, se establecerá el bit de máscara, junto con el bit TC y pulso EOP.
DREQ debe mantenerse activo hasta que DACK se vuelva activo. Si DREQ se mantiene activo durante la transferencia simple, HRQ irá inactivo y liberará el bus al sistema. Irá activo nuevamente y, tras la recepción de un nuevo HLDA, se realizará otra transferencia simple, a menos que un canal de prioridad más alta tome control. En sistemas 8080A, 8085A, 80C88 u 80C86, esto asegurará una ejecución de ciclo de máquina completa entre transferencias de DMA. Los detalles de temporización entre el 82C37A y otros protocolos de control de bus dependerán de las características del microprocesador implicado.
Modo de Transferencia en Bloque
En el modo de transferencia en bloque, el dispositivo se activa por DREQ o solicitud de software y continúa haciendo transferencias durante el servicio hasta que se encuentra un TC, causado por un conteo de palabras que va a FFFFH, o se encuentra un fin de proceso externo (EOP). DREQ solo necesita mantenerse activo hasta que DACK se vuelva activo. De nuevo, la autoinicialización ocurrirá al final del servicio si el canal ha sido programado para esa opción.
Modo de Transferencia a la Demanda
En el modo de transferencia a la demanda, el dispositivo continúa haciendo transferencias hasta que se encuentra un TC o EOP externo, o hasta que DREQ se vuelve inactivo. Por lo tanto, la transferencia puede continuar hasta que el dispositivo de E/S haya agotado su capacidad de datos. Después de que el dispositivo de E/S ha tenido la oportunidad de ponerse al día, el servicio de DMA se restablece por medio de un DREQ. Durante el tiempo entre servicios cuando el microprocesador está permitido operar, los valores intermedios de dirección y conteo de palabras se almacenan en los registros de dirección actual y conteo de palabras actual del 82C37A. Los canales de prioridad más alta pueden intervenir en el proceso de demanda, una vez que DREQ se ha vuelto inactivo. Solo un EOP puede causar una autoinicialización al final del servicio. EOP es generado por TC o por una señal externa.
Modo Cascada
Este modo se utiliza para cascada de más de un 82C37A para expansión simple del sistema. Las señales HRQ y HLDA del 82C37A adicional se conectan a los señales DREQ y DACK respectivamente de un canal para el 82C37A inicial. Esto permite que las peticiones de DMA del dispositivo adicional se propaguen a través de la red de circuitería de prioridad del dispositivo anterior. La cadena de prioridad se conserva y el nuevo dispositivo debe esperar su turno para reconocer peticiones. Dado que el canal cascada del 82C37A inicial se utiliza solo para priorizar el dispositivo adicional, no saca una dirección o señales de control propias. Estos podrían entrar en conflicto con las salidas del canal activo en el dispositivo agregado. El 82C37A inicial responderá a DREQ y generará DACK pero todos los demás productos excepto HRQ.
Ver figura 3 que muestra dos dispositivos adicionales cascadiados con un dispositivo inicial usando dos de los canales del dispositivo inicial. Esto forma un sistema DMA de dos niveles. Se podrían agregar más 82C37As en el segundo nivel utilizando los canales restantes del primer nivel. También se pueden agregar dispositivos adicionales cascadiando en los canales de los dispositivos de segundo nivel, formando un tercer nivel.
Al programar controladores cascadiados, comience con el dispositivo del primer nivel (más cercano al microprocesador). Después del RESET, las salidas DACK se programan para ser activas bajas y se mantienen en estado alto. Si se usan para impulsar HLDA directamente, los dispositivos del segundo nivel no pueden ser programados hasta que la polaridad de DACK sea seleccionada como activa alta en el dispositivo inicial. También, la función de bits de máscara del dispositivo inicial funcionan normalmente en canales cascadiados, de modo que pueden ser utilizados para inhibir servicios de segundo nivel.
Cuando se produce un EOP en el dispositivo agregado, el dispositivo inicial lo verá como una petición de DMA normal. EOP del dispositivo agregado se propagará a través de la red de prioridad del dispositivo inicial, permitiendo que este dispositivo realice otro servicio de DMA, sin intervención de la CPU, tan pronto como se detecte un DREQ válido, o se realice una solicitud de software.
Un EOP externo será ignorado por el dispositivo inicial, pero tendrá el efecto habitual en el dispositivo agregado.
Tipos de Transferencia
Cada uno de los tres modos de transferencia activos puede realizar tres tipos diferentes de transferencias. Estos son lectura, escritura y verificación.
Las transferencias de escritura mueven datos desde un dispositivo de E/S a la memoria activando MEMW e IOR. Las transferencias de lectura mueven datos desde memoria a un dispositivo de E/S activando MEMR e IOW. Las transferencias de verificación son pseudo-transferencias. El 82C37A opera como en transferencias de lectura o escritura generando direcciones y respondiendo a EOP, etc., sin embargo las líneas de control de memoria y E/S permanecen inactivas. El modo de verificación no se permite para operación memoria-a-memoria. READY se ignora durante transferencias de verificación.
Transferencia Memoria-a-Memoria
Para realizar movimientos en bloque de datos de un espacio de dirección de memoria a otro con un mínimo de esfuerzo de programa y tiempo, el 82C37A incluye una característica de transferencia memoria-a-memoria. La configuración del bit 0 en el registro de comando selecciona los canales 0 y 1 para operar como canales de transferencia memoria-a-memoria.
La transferencia se inicia configurando el DREQ de software o hardware para el canal 0. El 82C37A solicita un servicio de DMA de la manera normal. Después de que HLDA es verdadero, el dispositivo, usando transferencias de cuatro estados en modo de transferencia en bloque, lee datos de la memoria. El registro de dirección actual del canal 0 es la fuente para la dirección utilizada e incrementada o decrementada de la manera normal. El byte de datos leído de la memoria se almacena en el registro temporal interno del 82C37A. Otra transferencia de cuatro estados mueve los datos a memoria usando la dirección en el registro de dirección actual del canal uno e incrementándola o decrementándola de la manera normal. El conteo de palabras actual del canal 1 se decrementa.
Cuando el conteo de palabras del canal 1 se decrementa a FFFFH, se genera un TC causando una salida EOP, terminando el servicio e estableciendo el bit TC del canal 1 en el registro de estado. El bit de máscara del canal 1 también se establecerá, a menos que el registro de modo del canal 1 esté programado para autoinicialización.
El decremento del conteo de palabras del canal 0 a FFFFH no establecerá el bit TC del canal 0 en el registro de estado ni generará un EOP, ni establecerá el bit de máscara del canal 0 en este modo. Causará una autoinicialización del canal 0, si esa opción ha sido seleccionada.
Si se desea autoinicialización completa para una operación memoria-a-memoria, los conteos de palabras de los canales 0 y 1 deben estar establecidos en valores iguales antes de que comience la transferencia. De lo contrario, si el canal 0 se desborba antes que el canal 1, se autoinicializará y fijará la dirección de origen de datos al principio del bloque. Si el conteo de palabras del canal 1 se desborba antes que el canal 0, el servicio de DMA memoria-a-memoria terminará, y el canal 1 se autoinicializará pero el canal 0 no.
En el modo memoria-a-memoria, el canal 0 puede ser programado para mantener la misma dirección para todas las transferencias. Esto permite que un byte único sea escrito en un bloque de memoria. Esta característica de retención de dirección del canal 0 se selecciona estableciendo el bit 1 en el registro de comando.
El 82C37A responderá a señales EOP externas durante transferencias memoria-a-memoria, pero solo relinquirá los buses del sistema después de que la transferencia sea completa (es decir, después de un estado S24). Debe notarse que un EOP externo no puede causar que los registros de dirección y conteo de palabras del canal 0 se autoinicialicen, incluso si el registro de modo se programa para autoinicialización. Un EOP externo autoinicializará los registros del canal 1, si se programa así. Los comparadores de datos en esquemas de búsqueda en bloque pueden usar la entrada EOP para terminar el servicio cuando se encuentra una coincidencia. La temporización de transferencias memoria-a-memoria se encuentra en la figura 13. Las operaciones memoria-a-memoria pueden detectarse como un AEN activo sin salidas DACK.
Prioridad
El 82C37A tiene dos tipos de codificación de prioridad disponible como opciones seleccionables de software. El primero es prioridad fija que fija los canales en orden de prioridad basado en el valor descendente de sus números. El canal con la prioridad más baja es 3 seguido de 2, 1 y el canal de prioridad más alta, 0. Después del reconocimiento de cualquier canal para servicio, los otros canales se previenen de interferir con el servicio hasta que se completa.
El segundo esquema es prioridad rotatoria. El último canal en recibir servicio se convierte en el canal de prioridad más baja con los otros rotando en consecuencia. El siguiente canal más bajo del canal servido tiene la prioridad más alta en la siguiente solicitud. La prioridad rota cada vez que se devuelve el control de los buses del sistema al procesador.
Prioridad Rotatoria
| 1ª Solicitud | 2ª Solicitud | 3ª Solicitud |
|---|---|---|
| Más alta: 0 | 2 Servicio | 3 Servicio |
| 1 Servicio | 3 Solicitud | 0 |
| Más baja: 2 | 0 | 1 |
| 3 | 1 | 2 |
Con prioridad rotatoria en un sistema DMA de un solo chip, cualquier dispositivo pidiendo servicio se garantiza que sea reconocido después de no más de tres servicios de prioridad más alta. Esto previene que cualquier canal monopolice el sistema.
Independientemente de qué esquema de prioridad se elija, la prioridad se evalúa cada vez que HLDA se devuelve al 82C37A.
Temporización Comprimida
Para lograr un mayor rendimiento donde las características del sistema lo permitan, el 82C37A puede comprimir el tiempo de transferencia a dos ciclos de reloj. De la figura 12 se puede ver que el estado S3 se utiliza para extender el tiempo de acceso del pulso de lectura. Al eliminar el estado S3, el ancho del pulso de lectura se hace igual al ancho del pulso de escritura y una transferencia consta solo del estado S2 para cambiar la dirección y estado S4 para realizar la lectura/escritura. Los estados S1 aún ocurrirán cuando A8-A15 necesiten actualización (ver generación de dirección). La temporización para transferencias comprimidas se encuentra en la figura 15. EOP se sacará en S2 si se selecciona temporización comprimida. La temporización comprimida no se permite para transferencias memoria-a-memoria.
Generación de Dirección
Para reducir el número de pines, el 82C37A multiplexa los ocho bits de dirección de orden superior en las líneas de datos. El estado S1 se utiliza para sacar los bits de dirección de orden superior a un cerrojo externo desde el cual pueden colocarse en el bus de direcciones. El flanco descendente de la captura de dirección (ADSTB) se usa para cargar estos bits de las líneas de datos en el cerrojo. La habilitación de dirección (AEN) se usa para habilitar los bits en el bus de direcciones a través de una habilitación de tres estados. Los bits de dirección de orden inferior son sacados directamente por el 82C37A. Las líneas A0-A7 deben estar conectadas al bus de direcciones. La figura 12 muestra las relaciones de tiempo entre CLK, AEN, ADSTB, DB0-DB7 y A0-A7.
Durante el servicio del modo de transferencia de bloque y demanda, que incluye múltiples transferencias, las direcciones generadas serán secuenciales. Para muchas transferencias, los datos contenidos en el cerrojo de dirección externo permanecerán igual. Estos datos solo necesitan cambiar cuando ocurre un acarreo o préstamo de A7 a A8 en la secuencia normal de direcciones. Para ahorrar tiempo y acelerar transferencias, el 82C37A ejecuta estados S1 solo cuando es necesaria la actualización de A8-A15 en el cerrojo. Esto significa para servicios largos, los estados S1 y capturas de dirección pueden ocurrir solo una vez cada 256 transferencias, un ahorro de 255 ciclos de reloj para cada 256 transferencias.
Autoinicialización
Configurando el bit 4 en el registro de modo, un canal puede ser configurado como un canal de autoinicialización. Durante la autoinicialización, los valores originales de los registros de dirección actual y conteo de palabras actual se restauran automáticamente de los registros de dirección base y conteo de palabras base del canal tras el EOP. Los registros base se cargan simultáneamente con los registros actuales por el microprocesador y permanecen sin cambios durante el servicio de DMA. El bit de máscara no se establece cuando el canal está en modo de autoinicialización. Tras la autoinicialización, el canal está listo para realizar otro servicio de DMA, sin intervención de la CPU, tan pronto como se detecte un DREQ válido, o se realice una solicitud de software.
La autoinicialización solo ocurre después de un EOP. En el modo memoria-a-memoria, el registro de dirección actual del canal 0 puede ser prevenido de incrementar o decrementar configurando el bit de retención de dirección en el registro de comando.
Programación
El 82C37A aceptará programación del procesador host en cualquier momento que HLDA sea inactivo, y al menos un flanco ascendente de reloj haya ocurrido después de que HLDA fue bajo. Es responsabilidad del host asegurar que la programación y HLDA son mutuamente excluyentes.
Tenga en cuenta que se puede producir un problema si una petición de DMA ocurre en un canal sin máscara mientras el 82C37A está siendo programado. Por ejemplo, la CPU puede estar comenzando a reprogramar el registro de dirección de dos bytes del canal 1 cuando el canal 1 recibe una petición de DMA. Si el 82C37A está habilitado (bit 2 en el registro de comando es 0), y el canal 1 está sin máscara, un servicio de DMA ocurrirá después de que solo un byte del registro de dirección ha sido reprogramado. Esta condición puede evitarse deshabilitando el controlador (configurando el bit 2 en el registro de comando) o enmascarando el canal antes de programar cualquiera de sus registros. Una vez que la programación está completa, el controlador puede ser habilitado/desenmascarado.
Después de la activación de potencia se sugiere que todas las ubicaciones internas se carguen con algún valor conocido, incluso si algunos canales no se usan. Esto ayudará en la depuración.
Descripción de Registros
Registro de Dirección Actual
Cada canal tiene un registro de dirección actual de 16 bits. Este registro contiene el valor de la dirección utilizada durante transferencias de DMA. La dirección se incrementa o decrementa automáticamente en uno después de cada transferencia y los valores de la dirección se almacenan en el registro de dirección actual durante la transferencia. Este registro se escribe o lee por el microprocesador en bytes sucesivos de 8 bits. Ver figura 6 para información de programación. También puede ser reinicializado por una autoinicialización volviendo a su valor original. La autoinicialización solo ocurre después de un EOP. En el modo memoria-a-memoria, el registro de dirección actual del canal 0 puede ser impedido de incrementar o decrementar configurando el bit de retención de dirección en el registro de comando.
Registro de Conteo de Palabras Actual
Cada canal tiene un registro de conteo de palabras actual de 16 bits. Este registro determina el número de transferencias a ser realizadas. El número real de transferencias será uno más que el número programado en el registro de conteo de palabras actual (es decir, programar un conteo de 100 resultará en 101 transferencias). El conteo de palabras se decrementa después de cada transferencia. Cuando el valor en el registro va de cero a FFFFH, se generará un TC.
Este registro se carga o lee en bytes sucesivos de 8 bits por el microprocesador en la condición de programa. Ver figura 6 para información de programación. Tras el final de un servicio de DMA también puede ser reinicializado por una autoinicialización volviendo a su valor original. La autoinicialización puede ocurrir solo cuando ocurre un EOP. Si no es autoinicializado, este registro tendrá un conteo de FFFFH después del TC.
Registros de Dirección Base y Conteo de Palabras Base
Cada canal tiene un par de registros de dirección base y conteo de palabras base. Estos registros de 16 bits almacenan el valor original de sus registros actuales asociados. Durante la autoinicialización, estos valores se usan para restaurar los registros actuales a sus valores originales. Los registros base se escriben simultáneamente con su registro actual correspondiente en bytes de 8 bits en la condición de programa por el microprocesador. Ver figura 6 para información de programación. Estos registros no pueden ser leídos por el microprocesador.
Registro de Comando
Este registro de 8 bits controla la operación del 82C37A. Es programado por el microprocesador y se borra por RESET o una instrucción de borrado maestro.
| Bit | Significado |
|---|---|
| 0 | Desabilitar transferencia memoria-a-memoria (0) / Habilitar transferencia memoria-a-memoria (1) |
| 1 | Desabilitar retención de dirección del canal 0 (0) / Habilitar retención de dirección del canal 0 (1) |
| 2 | Habilitación del controlador (0) / Desabilitación del controlador (1) |
| 3 | Temporización normal (0) / Temporización comprimida (1) |
| 4 | Selección de escritura normal (0) / Selección de escritura extendida (1) |
| 5 | Prioridad fija (0) / Prioridad rotatoria (1) |
| 6 | Sentido DREQ activo alto (0) / Sentido DREQ activo bajo (1) |
| 7 | Sentido DACK activo bajo (0) / Sentido DACK activo alto (1) |
Registro de Modo
Cada canal tiene un registro de modo de 6 bits asociado con él. Cuando el registro está siendo escrito por el microprocesador en la condición de programa, los bits 0 y 1 determinan qué registro de modo de canal debe ser escrito. Cuando el procesador lee un registro de modo, los bits 0 y 1 serán unos. Ver el siguiente diagrama y figura 4 para funciones del registro de modo y direcciones.
| Bits | Significado |
|---|---|
| 1-0 | 00 = Seleccionar canal 0; 01 = Seleccionar canal 1; 10 = Seleccionar canal 2; 11 = Seleccionar canal 3; XX = Releer |
| 3-2 | 00 = Transferencia de verificación; 01 = Transferencia de escritura; 10 = Transferencia de lectura; 11 = Ilegal |
| 4 | 0 = Desabilitar autoinicialización; 1 = Habilitar autoinicialización |
| 5 | 0 = Seleccionar incremento de dirección; 1 = Seleccionar decremento de dirección |
| 7-6 | 00 = Seleccionar modo de demanda; 01 = Seleccionar modo simple; 10 = Seleccionar modo de bloque; 11 = Seleccionar modo cascada |
Registro de Solicitud
El 82C37A puede responder a solicitudes de servicio de DMA que son iniciadas por software así como por un DREQ. Cada canal tiene un bit de solicitud asociado con él en el registro de solicitud de 4 bits. Estos son no enmascarables y sujetos a priorización por la red del codificador de prioridad. Cada bit de registro se puede establecer o restablecer por separado bajo control de software. El registro completo se borra por un reinicio o instrucción de borrado maestro. Para establecer o restablecer un bit, el software carga la forma correcta de la palabra de datos. Ver figura 4 para codificación de dirección de registro, y el siguiente diagrama para formato de registro de solicitud.
| Bits | Significado |
|---|---|
| 1-0 | 00 = Seleccionar bit de solicitud del canal 0; 01 = Seleccionar bit de solicitud del canal 1; 10 = Seleccionar bit de solicitud del canal 2; 11 = Seleccionar bit de solicitud del canal 3 |
| 2 | 0 = Borrar bit de solicitud; 1 = Establecer bit de solicitud |
Cuando se lee el registro de solicitud, los bits 4-7 siempre se leen como unos, y los bits 0-3 mostrarán los bits de solicitud de los canales 0-3 respectivamente.
Una solicitud de software para operación de DMA puede hacerse en modos de bloque o simple. Para transferencias memoria-a-memoria, la solicitud de software para el canal 0 debe ser establecida.
Registro de Máscara
Cada canal tiene asociado con él un bit de máscara que puede ser configurado para desabilitar un DREQ entrante. Cada bit de máscara se establece cuando su canal asociado produce un EOP si el canal no se programa para autoinicialización. Cada bit del registro de máscara de 4 bits también puede ser establecido o borrado por separado o simultáneamente bajo control de software. El registro completo también se establece por un reinicio o instrucción de borrado maestro. Esto desabilita todas las peticiones de DMA de hardware hasta que una instrucción de borrado de registro de máscara permite que ocurran. La instrucción para establecer o borrar por separado los bits de máscara es similar en forma a la usada con el registro de solicitud. Consulte el siguiente diagrama y figura 4 para detalles.
| Bits | Significado |
|---|---|
| 1-0 | 00 = Seleccionar bit de máscara del canal 0; 01 = Seleccionar bit de máscara del canal 1; 10 = Seleccionar bit de máscara del canal 2; 11 = Seleccionar bit de máscara del canal 3 |
| 2 | 0 = Borrar bit de máscara; 1 = Establecer bit de máscara |
Cuando se lee el registro de máscara, los bits 4-7 siempre se leen como unos lógicos, y los bits 0-3 mostrarán los bits de máscara de los canales 0-3, respectivamente. Los 4 bits del registro de máscara también pueden ser borrados simultáneamente mediante una instrucción de borrado de registro de máscara.
Registro de Estado
El registro de estado está disponible para ser leído desde el 82C37A por el microprocesador. Contiene información sobre el estado de los dispositivos en este punto. Esta información incluye cuál canales han alcanzado un conteo terminal y cuales canales tienen peticiones de DMA pendientes. Los bits 0-3 se establecen cada vez que se alcanza un TC por ese canal o se aplica un EOP externo. Estos bits se borran al RESET, borrado maestro, y en cada lectura de estado. Los bits 4-7 se establecen cada vez que su canal correspondiente está pidiendo servicio, independientemente del estado del bit de máscara. Si los bits de máscara están establecidos, el software puede sondear el registro de estado para determinar cuales canales tienen DREQs, y borrar selectivamente un bit de máscara, permitiendo así prioridad de servicio definida por el usuario. Los bits de estado 4-7 se actualizan mientras el reloj es alto, y se cierran en el flanco descendente. Los bits de estado 4-7 se borran al RESET o borrado maestro.
| Bits | Significado |
|---|---|
| 0 | 1 = El canal 0 ha alcanzado TC |
| 1 | 1 = El canal 1 ha alcanzado TC |
| 2 | 1 = El canal 2 ha alcanzado TC |
| 3 | 1 = El canal 3 ha alcanzado TC |
| 4 | 1 = Solicitud de canal 0 |
| 5 | 1 = Solicitud de canal 1 |
| 6 | 1 = Solicitud de canal 2 |
| 7 | 1 = Solicitud de canal 3 |
Registro Temporal
El registro temporal se utiliza para mantener datos durante transferencias memoria-a-memoria. Tras la finalización de las transferencias, el último byte movido puede ser leído por el microprocesador. El registro temporal siempre contiene el último byte transferido en la operación memoria-a-memoria anterior, a menos que sea borrado por un reinicio o instrucción de borrado maestro.
Comandos de Software
Hay comandos de software especiales que pueden ser ejecutados leyendo o escribiendo en el 82C37A. Estos comandos no dependen del patrón de datos específico en el bus de datos, sino que se activan por la operación de E/S en sí. En comandos de tipo lectura, el valor de datos no está garantizado. Estos comandos son:
Borrar Flip-Flop Primero/Último
Este comando se ejecuta antes de escribir o leer información de dirección o conteo de palabras nueva en el 82C37A. Este comando inicializa el flip-flop a un estado conocido (byte bajo primero) de modo que los accesos posteriores a los contenidos del registro por el microprocesador direccionarán bytes superiores e inferiores en la secuencia correcta.
Establecer Flip-Flop Primero/Último
Este comando establecerá el flip-flop para seleccionar el byte alto primero en operaciones de lectura y escritura en registros de dirección y conteo de palabras.
Borrado Maestro
Esta instrucción de software tiene el mismo efecto que el reinicio de hardware. Se borran los registros de comando, estado, solicitud y temporal, así como el flip-flop primero/último interno y el contador del registro de modo, y el registro de máscara se establece. El 82C37A entrará en el ciclo inactivo.
Borrar Registro de Máscara
Este comando borra los bits de máscara de los cuatro canales, permitiéndoles aceptar peticiones de DMA.
Borrar Contador de Registro de Modo
Dado que solo se dispone de una ubicación de dirección para lectura de los registros de modo, se ha incluido un contador interno de dos bits para seleccionar registros de modo durante la operación de lectura. Para leer los registros de modo, primero ejecute el comando de borrado de contador de registro de modo, luego haga lecturas consecutivas hasta que se lea el canal deseado. El orden de lectura es canal 0 primero, canal 3 último. Los dos bits inferiores en todos los registros de modo se leerán como unos.
Operación EOP Externo
El pin EOP es un pin bidireccional de drenaje abierto que puede ser impulsado por señales externas para terminar la operación de DMA. Porque el EOP es un pin de drenaje abierto, se requiere una resistencia de carga externa a VCC. El valor de la resistencia de carga externa utilizada debe garantizar un tiempo de subida de menos de 125 ns. Es importante notar que el 82C37A no aceptará señales EOP externas cuando esté en un estado SI (inactivo). El controlador debe estar activo para capturar EXT EOP. Una vez capturado, el EXT EOP será actuado durante el siguiente estado S2, a menos que el 82C37A entre en un estado inactivo primero. En este último caso, el EOP latched se borra. Los pulsos EOP externos que ocurren entre transferencias de DMA activas en modo de demanda no serán reconocidos, ya que el 82C37A está en un estado SI.
Tabla de Códigos de Comandos de Software y Códigos de Registro
| Operación | A3 | A2 | A1 | A0 | IOR | IOW |
|---|---|---|---|---|---|---|
| Leer registro de estado | 1 | 0 | 0 | 0 | 0 | 1 |
| Escribir registro de comando | 1 | 0 | 0 | 0 | 1 | 0 |
| Leer registro de solicitud | 1 | 0 | 0 | 1 | 0 | 1 |
| Escribir registro de solicitud | 1 | 0 | 0 | 1 | 1 | 0 |
| Leer registro de comando | 1 | 0 | 1 | 0 | 0 | 1 |
| Escribir bit de máscara simple | 1 | 0 | 1 | 0 | 1 | 0 |
| Leer registro de modo | 1 | 0 | 1 | 1 | 0 | 1 |
| Escribir registro de modo | 1 | 0 | 1 | 1 | 1 | 0 |
| Establecer flip-flop primero/último | 1 | 1 | 0 | 0 | 0 | 1 |
| Borrar flip-flop primero/último | 1 | 1 | 0 | 0 | 1 | 0 |
| Leer registro temporal | 1 | 1 | 0 | 1 | 0 | 1 |
| Borrado maestro | 1 | 1 | 0 | 1 | 1 | 0 |
| Borrar contador de registro de modo | 1 | 1 | 1 | 0 | 0 | 1 |
| Borrar registro de máscara | 1 | 1 | 1 | 0 | 1 | 0 |
| Leer todos los bits de máscara | 1 | 1 | 1 | 1 | 0 | 1 |
| Escribir todos los bits de máscara | 1 | 1 | 1 | 1 | 1 | 0 |
Tabla de Códigos de Comando de Registro de Dirección y Conteo de Palabras
(la extracción OCR de esta tabla produjo un número de columnas inconsistente entre filas — algunas filas tenían un valor de más o de menos en las columnas A3-A0/Estado — y al recomponerla se detectó que los códigos de bits A3-A0 reconstruidos para algunas filas coinciden entre sí pese a corresponder a registros distintos (por ejemplo, el código de “dirección baja, canal 1” y el de “conteo de palabras bajo, canal 0” comparten el mismo patrón 0-0-1-0 tal y como se pudo extraer), lo cual no es posible en el hardware real. La columna Registro/Operación/DB0-DB7 de cada fila es fiable; los valores exactos de A3-A0 no deben darse por buenos sin contrastarlos con el datasheet original de Intel/Harris)
| Canal | Registro | Operación | CS | IOR | IOW | A3 | A2 | A1 | A0 | Estado | DB0-DB7 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 0 | 0 | — | A0-A7 |
| 0 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 0 | 1 | — | A8-A15 |
| 0 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 0 | 0 | 0 | — | A0-A7 |
| 0 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 0 | 0 | 1 | — | A8-A15 |
| 0 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 0 | — | W0-W7 |
| 0 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 1 | — | W8-W15 |
| 0 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 0 | — | W0-W7 |
| 0 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 1 | — | W8-W15 |
| 1 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 0 | — | A0-A7 |
| 1 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 1 | — | A8-A15 |
| 1 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 0 | — | A0-A7 |
| 1 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 1 | — | A8-A15 |
| 1 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | W0-W7 |
| 1 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | W8-W15 |
| 1 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | W0-W7 |
| 1 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | W8-W15 |
| 2 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 0 | 0 | — | A0-A7 |
| 2 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 0 | 1 | — | A8-A15 |
| 2 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 1 | 0 | 0 | — | A0-A7 |
| 2 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 1 | 0 | 1 | — | A8-A15 |
| 2 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | W0-W7 |
| 2 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | W8-W15 |
| 2 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | W0-W7 |
| 2 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | W8-W15 |
| 3 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 1 | 0 | — | A0-A7 |
| 3 | Dirección base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 1 | 1 | — | A8-A15 |
| 3 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 1 | 1 | 0 | — | A0-A7 |
| 3 | Dirección actual | Leer | 0 | 0 | 1 | 0 | 1 | 1 | 1 | — | A8-A15 |
| 3 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | W0-W7 |
| 3 | Conteo de palabras base y actual | Escribir | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | W8-W15 |
| 3 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | W0-W7 |
| 3 | Conteo de palabras actual | Leer | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | W8-W15 |
Información de Aplicación
La figura 6 muestra una aplicación para un sistema DMA utilizando el controlador DMA 82C37A y el microprocesador 80C88. En esta aplicación, el controlador DMA 82C37A se usa para mejorar el rendimiento del sistema permitiendo que un dispositivo de E/S transfiera datos directamente hacia o desde la memoria del sistema.
Componentes
El reloj del sistema es proporcionado y se invierte para cumplir con los tiempos de reloj alto y bajo requeridos por el controlador DMA 82C37A. Se utilizan cuatro puertas OR para soportar el microprocesador 80C88 en modo mínimo al producir las señales de control utilizadas por el procesador para acceder a memoria o E/S. Un descodificador se utiliza para generar la selección de chip para el controlador DMA y la memoria. Los bits más significativos de la dirección se emiten en el bus de dirección/datos. Por lo tanto, se utiliza el cerrojo octal 82C82 para demultiplexar los bits de dirección superior.
Cuando se recibe una petición de DMA, el controlador DMA emitirá una solicitud de retención (HRQ) al procesador. Los buses del sistema no se liberan al controlador DMA hasta que se recibe un reconocimiento de retención (HLDA) del procesador 80C88. Tras recibir el reconocimiento de retención, el controlador DMA emite direcciones y señales de control para realizar las transferencias de DMA. Los datos se transfieren directamente desde el dispositivo de E/S a memoria (o viceversa) con IOR y MEMW (o MEMR e IOW) activos. Tenga en cuenta que los datos no se leen ni se impulsan fuera del controlador DMA en transferencias de datos de E/S-a-memoria o memoria-a-E/S.
Aplicación para Sistema DMA con 80C88
Diagrama de aplicación mostrando la interconexión del 82C37A, 80C88, 82C82, 82C84, decodificador y memoria/dispositivos E/S.
Aplicación para Sistema DMA con 80C286
La figura 7 muestra una aplicación para un sistema DMA usando el controlador DMA 82C37A y el microprocesador 80C286.
En esta aplicación, el reloj del sistema viene del generador de reloj 82C284, señal PCLK, que se invierte para proporcionar tiempos de configuración y retención READY adecuados al controlador DMA en un sistema 80C286. Las señales de lectura y escritura del controlador DMA pueden estar conectadas directamente a las señales de control de lectura/escritura del controlador de bus 82C288. El cerrojo octal para A8-A15 desde el bus de datos del controlador DMA está en el bus de dirección local 80C286 de modo que los de selecciones de chip de memoria aún puedan ser generados durante transferencias de DMA. El transceptor en A0-A7 se controla por AEN y no es necesario, pero puede usarse para impulsar un bus de dirección del sistema fuertemente cargado durante transferencias. Los transceptores del bus de datos simplemente aíslan el controlador DMA del bus del microprocesador local y permiten la programación en la mitad superior o inferior del bus de datos.
Diagrama de aplicación 80C286 mostrando la interconexión del 82C37A, 80C286, 82C288, 82C284, transceptores y lógica de control.
Especificaciones Absolutas Máximas - Información Térmica
Especificaciones Absolutas Máximas
| Parámetro | Valor |
|---|---|
| Voltaje de suministro | +8,0 V |
| Voltaje de entrada, salida o E/S | -GND -0,5 V a VCC +0,5 V |
| Clasificación ESD | Clase 1 |
Información Térmica
| Paquete | θ_JA (°C/W) | θ_JC (°C/W) |
|---|---|---|
| Paquete CERDIP | 50 | 10 |
| Paquete CLCC | 65 | 14 |
| Paquete PDIP | 50 | N/A |
| Paquete PLCC | 46 | N/A |
Condiciones de Operación
| Parámetro | Rango |
|---|---|
| Rango de temperatura de almacenamiento | -65°C a +150°C |
| Rango de voltaje de operación | +4,5 V a +5,5 V |
| Rango de temperatura de operación C82C37A | 0°C a +70°C |
| Rango de temperatura de operación I82C37A | -40°C a +85°C |
| Rango de temperatura de operación M82C37A | -55°C a +125°C |
| Temperatura de unión máxima, paquete cerámico | +175°C |
| Temperatura de unión máxima, paquete plástico | +150°C |
| Temperatura máxima de terminales (soldadura 10s) | +300°C (puntas de terminales PLCC solamente) |
Características de la Matriz
| Parámetro | Valor |
|---|---|
| Conteo de puertas | 2325 |
PRECAUCIÓN: Los esfuerzos superiores a los listados en “Especificaciones absolutas máximas” pueden causar daño permanente al dispositivo. Esta es solo una clasificación de esfuerzo y la operación del dispositivo en estas o cualesquiera otras condiciones superiores a las indicadas en las secciones operacionales de esta especificación no es implícita.
Especificaciones Eléctricas DC
VCC = +5,0 V ± 10%, TA = 0°C a +70°C (C82C37A), TA = -40°C a +85°C (I82C37A), TA = -55°C a +125°C (M82C37A)
| Símbolo | Parámetro | Mín | Máx | Unidades | Condiciones de Prueba |
|---|---|---|---|---|---|
| VIH | Voltaje de entrada lógica uno | 2 | — | V | C82C37A, I82C37A |
| 2,2 | — | V | M82C37A | ||
| VIL | Voltaje de entrada lógica cero | — | 0,8 | V | |
| VIHC | Voltaje lógico uno entrada CLK | VCC -0,8 | — | V | |
| VILC | Voltaje lógico cero entrada CLK | — | 0,8 | V | |
| VOH | Voltaje salida alta | 3,0 | — | V | IOH = -2,5 mA |
| VCC -0,4 | — | V | IOH = -100 µA | ||
| VOL | Voltaje salida baja | — | 0,4 | V | IOL = +2,5 mA para todos los pines de salida excepto EOP, IOL = +3,2 mA para pin EOP 36 solamente |
| II | Corriente de fuga de entrada | -1 | +1 | µA | VIN = GND o VCC, pines 6, 7, 11-13, 16-19 |
| IO | Corriente de fuga de salida | -10 | +10 | µA | VOUT = GND o VCC, pines 1-4, 21-23, 26-30, 32-40 |
| ICCSB | Corriente de suministro en espera | — | 10 | µA | VCC = 5,5 V, VIN = VCC o GND, salidas abiertas |
| ICCOP | Corriente de suministro operativa | — | 2 | mA/MHz | VCC = 5,5 V, frecuencia CLK = máxima, VIN = VCC o GND, salidas abiertas |
Capacitancia
TA = +25°C
| Símbolo | Parámetro | Típ | Unidades | Condiciones de Prueba |
|---|---|---|---|---|
| CIN | Capacitancia de entrada | 25 | pF | FREQ = 1 MHz, todas las mediciones se refieren a GND del dispositivo |
| COUT | Capacitancia de salida | 40 | pF | |
| CI/O | Capacitancia E/S | 25 | pF |
Especificaciones Eléctricas AC
VCC = +5,0 V ± 10%, GND = 0 V, TA = 0°C a +70°C (C82C37A), TA = -40°C a +85°C (I82C37A), TA = -55°C a +125°C (M82C37A)
Modo DMA (Maestro)
| Símbolo | Parámetro | 82C37A-5 (Mín) | 82C37A-5 (Máx) | 82C37A (Mín) | 82C37A (Máx) | 82C37A-12 (Mín) | 82C37A-12 (Máx) | Unidades |
|---|---|---|---|---|---|---|---|---|
| (1) TAEL | Retraso de tiempo AEN ALTO desde CLK BAJO (S1) | — | 175 | — | 105 | — | 50 | ns |
| (2) TAET | Retraso de tiempo AEN BAJO desde CLK ALTO (SI) | — | 130 | — | 80 | — | 50 | ns |
| (3) TAFAB | Retraso de dirección activa a flotante desde CLK ALTO | — | 90 | — | 55 | — | 55 | ns |
| (4) TAFC | Retraso de lectura o escritura flotante desde CLK ALTO | — | 120 | — | 75 | — | 50 | ns |
| (5) TAFDB | Retraso de datos activos a flotantes desde CLK ALTO | — | 170 | — | 135 | — | 90 | ns |
| (6) TAHR | Tiempo de retención de dirección desde lectura alta | TCY-100 | — | TCY-75 | — | TCY-65 | — | ns |
| (7) TAHS | Tiempo de retención de datos desde ADSTB BAJO | TCL-18 | — | TCL-18 | — | TCL-18 | — | ns |
| (8) TAHW | Tiempo de retención de dirección desde escritura alta | TCY-65 | — | TCY-65 | — | TCY-50 | — | ns |
| (9) TAK | Retraso de tiempo DACK válido desde CLK BAJO | — | 170 | — | 105 | — | 69 | ns |
| EOP ALTO desde CLK ALTO | — | 170 | — | 105 | — | 90 | ns | |
| Retraso de tiempo EOP BAJO desde CLK ALTO | — | 100 | — | 60 | — | 35 | ns | |
| (10) TASM | Dirección estable desde CLK ALTO | — | 110 | — | 60 | — | 50 | ns |
| (11) TASS | Tiempo de configuración de datos a ADSTB BAJO | TCH-20 | — | TCH-20 | — | TCH-20 | — | ns |
| (12) TCH | Tiempo CLK ALTO (transiciones 10 ns) | 70 | — | 55 | — | 30 | — | ns |
| (13) TCL | Tiempo CLK BAJO (transiciones 10 ns) | 50 | — | 43 | — | 30 | — | ns |
| (14) TCY | Tiempo de ciclo CLK | 200 | — | 125 | — | 80 | — | ns |
| (15) TDCL | Retraso CLK ALTO a lectura o escritura BAJO | — | 190 | — | 130 | — | 120 | ns |
| (16) TDCTR | Retraso de tiempo lectura ALTA desde CLK ALTO (S4) | — | 190 | — | 115 | — | 80 | ns |
| (17) TDCTW | Retraso de tiempo escritura ALTA desde CLK ALTO (S4) | — | 130 | — | 80 | — | 70 | ns |
| (18) TDQ | Retraso de tiempo HRQ válido desde CLK ALTO | — | 120 | — | 75 | — | 30 | ns |
| (19) TEPH | Tiempo de retención EOP desde CLK BAJO (S2) | 90 | — | 90 | — | 50 | — | ns |
| (20) TEPS | Tiempo de configuración EOP BAJO a CLK BAJO | 40 | — | 25 | — | 0 | — | ns |
Especificaciones Eléctricas AC (Continuación)
| Símbolo | Parámetro | 82C37A-5 (Mín) | 82C37A-5 (Máx) | 82C37A (Mín) | 82C37A (Máx) | 82C37A-12 (Mín) | 82C37A-12 (Máx) | Unidades |
|---|---|---|---|---|---|---|---|---|
| (21) TEPW | Ancho de pulso EOP | 220 | — | 135 | — | 50 | — | ns |
| (22) TFAAB | Retraso de dirección válida desde CLK ALTO | — | 110 | — | 60 | — | 50 | ns |
| (23) TFAC | Lectura o escritura activa desde CLK ALTO | — | 150 | — | 90 | — | 50 | ns |
| (24) TFADB | Retraso de datos válidos desde CLK ALTO | — | 110 | — | 60 | — | 45 | ns |
| (25) THS | Tiempo de configuración HLDA válido a CLK ALTO | 75 | — | 45 | — | 10 | — | ns |
| (26) TIDH | Tiempo de retención datos de entrada desde MEMR ALTO | 0 | — | 0 | — | 0 | — | ns |
| (27) TIDS | Tiempo de configuración datos de entrada a MEMR ALTO | 155 | — | 90 | — | 45 | — | ns |
| (28) TODH | Tiempo de retención datos de salida desde MEMW ALTO | 15 | — | 15 | — | TCY-50 | — | ns |
| (29) TODV | Datos válidos de salida a MEMW ALTO | TCY-35 | — | TCY-35 | — | TCY-10 | — | ns |
| (30) TQS | Tiempo de configuración DREQ a CLK BAJO (SI, S4) | 0 | — | 0 | — | 0 | — | ns |
| (31) TRH | Tiempo de retención CLK a READY BAJO | 20 | — | 20 | — | 10 | — | ns |
| (32) TRS | Tiempo de configuración READY a CLK BAJO | 60 | — | 35 | — | 15 | — | ns |
| (33) TCLSH | Retraso de tiempo ADSTB ALTO desde CLK BAJO | — | 80 | — | 70 | — | 70 | ns |
| (34) TCLSL | Retraso de tiempo ADSTB BAJO desde CLK BAJO | — | 120 | — | 120 | — | 60 | ns |
| (35) TWRRD | Retraso lectura ALTA desde escritura ALTA | 0 | — | 0 | — | 5 | — | ns |
| (36) TRLRH | Ancho de pulso lectura, temporización normal | 2TCY-60 | — | 2TCY-60 | — | 2TCY-55 | — | ns |
| (37) TSHSL | Ancho de pulso ADSTB | TCY-80 | — | TCY-50 | — | TCY-35 | — | ns |
| (38) TWLWHA | Ancho de pulso escritura extendida | 2TCY-100 | — | 2TCY-85 | — | 2TCY-80 | — | ns |
| (39) TWLWH | Ancho de pulso escritura | TCY-100 | — | TCY-85 | — | TCY-80 | — | ns |
| (40) TRLRHC | Ancho de pulso lectura, temporización comprimida | TCY-60 | — | TCY-60 | — | TCY-55 | — | ns |
| (56) TAVRL | Dirección válida a lectura BAJO | 17 | — | 17 | — | 17 | — | ns |
| (57) TAVWL | Dirección válida a escritura BAJO | 7 | — | 7 | — | 7 | — | ns |
| (58) TRHAL | Lectura ALTA a AEN BAJO | 15 | — | 15 | — | 15 | — | ns |
| (59) TRHSH | Lectura ALTA a ADSTB ALTO | 13 | — | 13 | — | 13 | — | ns |
| (60) TWHSH | Escritura ALTA a ADSTB ALTO | 15 | — | 15 | — | 15 | — | ns |
| (61) TDVRL | DACK válido a lectura BAJO | 25 | — | 25 | — | 25 | — | ns |
| (62) TDVWL | DACK válido a escritura BAJO | 25 | — | 25 | — | 25 | — | ns |
| (63) TRHDI | Lectura ALTA a DACK inactivo | 12 | — | 12 | — | 12 | — | ns |
| (64) TAZRL | Dirección flotante a lectura BAJO | -2,5 | — | -2,5 | — | -2,5 | — | ns |
Modo Periférico (Esclavo)
| Símbolo | Parámetro | 82C37A-5 (Mín) | 82C37A-5 (Máx) | 82C37A (Mín) | 82C37A (Máx) | 82C37A-12 (Mín) | 82C37A-12 (Máx) | Unidades |
|---|---|---|---|---|---|---|---|---|
| (41) TAR | Dirección válida o CS BAJO a lectura BAJO | 10 | — | 10 | — | 0 | — | ns |
| (42) TAWL | Tiempo de configuración dirección válida a escritura BAJO | 0 | — | 0 | — | 0 | — | ns |
| (43) TCWL | Tiempo de configuración CS BAJO a escritura BAJO | 0 | — | 0 | — | 0 | — | ns |
| (44) TDW | Tiempo de configuración datos válidos a escritura ALTA | 150 | — | 100 | — | 60 | — | ns |
| (45) TRA | Tiempo de retención dirección o CS desde lectura ALTA | 0 | — | 0 | — | 0 | — | ns |
| (46) TRDE | Acceso de datos desde lectura | — | 140 | — | 120 | — | 80 | ns |
| (47) TRDF | Retraso flotante datos desde lectura ALTA | 5 | 85 | 5 | 85 | 5 | 55 | ns |
| (48) TRSTD | Tiempo de configuración fuente de alimentación ALTA a reinicio BAJO | 500 | — | 500 | — | 500 | — | ns |
| (49) TRSTS | Retraso reinicio a primer IOR o IOW | 2TCY | — | 2TCY | — | 2TCY | — | ns |
| (50) TRSTW | Ancho de pulso reinicio | 300 | — | 300 | — | 300 | — | ns |
| (51) TRW | Ancho de pulso lectura | 200 | — | 155 | — | 85 | — | ns |
| (52) TWA | Tiempo de retención dirección desde escritura ALTA | 0 | — | 0 | — | 0 | — | ns |
| (53) TWC | Tiempo de retención CS ALTO desde escritura ALTA | 0 | — | 0 | — | 0 | — | ns |
| (54) TWD | Tiempo de retención datos desde escritura ALTA | 10 | — | 10 | — | 10 | — | ns |
| (55) TWWS | Ancho de pulso escritura | 150 | — | 100 | — | 45 | — | ns |
Formas de Onda de Temporización
Nota: Los diagramas de temporización muestran las relaciones de tiempo entre varias señales del 82C37A. Incluyen:
- Figura 8: Escritura en modo esclavo
- Figura 9: Lectura en modo esclavo
- Figura 10: Transferencia DMA
- Figura 11: Transferencia memoria-a-memoria
- Figura 12: Señal READY
- Figura 13: Transferencia comprimida
- Figura 14: RESET
Los accesos sucesivos de lectura al 82C37A deben permitir al menos TCY como tiempo de recuperación entre accesos. Un tiempo de recuperación de TCY debe permitirse antes de ejecutar un acceso de lectura después de un acceso de escritura.
Los accesos sucesivos de escritura al 82C37A deben permitir al menos TCY como tiempo de recuperación entre accesos. Un tiempo de recuperación de TCY debe permitirse antes de ejecutar un acceso de escritura después de un acceso de lectura.
NOTA: READY no debe hacer transiciones durante los tiempos de configuración y retención especificados.
Circuitos de Prueba AC - Formas de Onda de Entrada/Salida de Prueba
Nota: Se incluyen circuitos de prueba estándar para las mediciones AC. Los resistores y condensadores de prueba especificados son:
- Para todas las salidas excepto EOP: V1 = 1,7 V, R1 = 520 Ω, C1 = 100 pF
- Para EOP: V1 = VCC, R1 = 1,6 kΩ, C1 = 50 pF
Las transiciones de entrada (RISE y FALL) de CLK son impulsadas a 1 ns/V. La entrada CLK debe conmutarse entre VIHC +0,4 V y VILC -0,4 V.
Circuitos de Quemado
Nota: Se proporcionan circuitos de quemado para variantes CERDIP y CLCC del 82C37A con configuraciones de resistencia y fuente de alimentación específicas para pruebas de confiabilidad de manufactura.
- Paquete CERDIP MD82C37A: resistencia de serie R1 y R2 = 1,2 kΩ ±5%, R3 = 47 kΩ ±5%
- Paquete CLCC MR82C37A: configuración similar con resistencias de precisión
Se usan relaciones de frecuencia F0, F1 = F0/2, F2 = F1/2, …, F15 = F14/2 donde F0 = 100 kHz ±10%.
Características de la Matriz
Dimensiones de la Matriz
Tipo: Nitruro
Espesor: 10 kÅ ±3 kÅ
Dimensiones: 148 x 159 x 19 mils (3760 x 4040 x 525 µm)
Metalización
Tipo: SiAlCu
Espesor Metal 1: 8 kÅ ±0,75 kÅ
Espesor Metal 2: 12 kÅ ±1,0 kÅ
Densidad de Corriente en el Peor Caso
0,6 x 10⁵ A/cm²
Mapa de Enmascarilla de Metalización
[Mapa de enmascarilla no reproducible en formato texto]
4-214