Interfaz de memoria externa en microcontrolador 8051

Descripción general:
para aplicaciones de memoria mínima, el 8051 tiene datos internos y memoria de código. En tal posición. Para ciertas aplicaciones, esta capacidad de memoria no será adecuada. Para ampliar el espacio de memoria del microcontrolador 8051, debemos vincular la ROM/EPROM y la RAM externas. También entendemos que la ROM sirve como memoria de programa y la RAM sirve como memoria de datos. Echemos un vistazo a cómo el 8051 accede a estas memorias.

Memoria de programa externa:

  • Las búsquedas de programas a las direcciones 0000H a OFFFH se dirigen a la ROM interna en el 8051 cuando el pin EA está conectado a Vec, y las búsquedas de programas a las direcciones 1000H a FFFFH se dirigen a la ROM/EPROM externa. Cuando el pin EA está conectado a tierra, todas las direcciones obtenidas por el programa (0000H a FFFFH) se dirigen a él.

  • ROM/EPROM que es externa al dispositivo. Como se ve en la Fig. 1, la señal PSEN se usa para activar la salida e ROM/EPROM externa.
  • El puerto 0 se utiliza como dirección/bus multiplexado, como se ve en la figura 2. En el ciclo T inicial, proporciona una dirección de 8 bits de orden inferior y luego se usa como un bus de datos. El latch externo y la señal ALE proporcionada por el 8051 se utilizan para latchear la dirección de 8 bits.

Forma de onda de temporización para memoria de programa externa

  • ROM/EPROM remota (Memoria de solo lectura/ROM programable electrónica/ROM programable electrónica/Programa electrónico) La señal PSEN se utiliza para activar la salida ROM/EPROM externa, como se ve en la Fig. 1.
  • Como se ve en la figura 2, el puerto 0 se usa como dirección/bus multiplexado. Suministra una dirección de 8 bits de orden inferior en el primer ciclo T y luego sirve como bus de datos. La dirección de 8 bits se bloquea mediante el bloqueo externo y la señal ALE proporcionada por el 8051.

  • 1La interrupción externa 0 es 0003H, el temporizador 0 es 000BH, la interrupción externa 1 es 0013H, el temporizador 1 es 001BH, etc. Si se va a utilizar una interrupción, la rutina de operación debe estar en el mismo lugar que la interrupción. Si no se usa la interrupción, la ubicación del servicio puede usarse como memoria de programa de propósito general.

Instrucciones para acceder a la ROM externa/memoria de programa:
Esta tabla explica las instrucciones para acceder a la ROM externa/memoria de programa.

Mnemotécnico Operación
MOVC A, @ A+DPTR Copie el contenido de la dirección de ROM externa formada al agregar A y el DPTR, a A
MOVC A, @ A + PC Esta operación copiará el contenido de la dirección ROM externa formada al agregar A y la PC a A.

Interfaz de memoria externa:

  • El 8051 puede direccionar hasta 64 k-bytes de memoria de datos adicional. Se accede a la memoria de datos externa mediante la instrucción “MOVX”.
  • La memoria de datos interna del 8051 se divide en tres secciones: 128 bytes inferiores, 128 bytes superiores y SFR. Si bien son cuerpos físicamente distintos, las direcciones superiores y los SFR comparten el mismo bloque de espacio de direcciones, 80H por FFH.
  • Solo se puede acceder al espacio de direcciones superior a través del direccionamiento indirecto, y solo se puede acceder a los SFR a través del direccionamiento directo, como se ve en el espacio de direcciones superior, por otro lado, se puede acceder mediante el direccionamiento directo o indirecto.

Un mapa de la memoria de datos del 8051 Fig. 5

  • Las figuras 7 a y b muestran la forma de onda de temporización para los ciclos de lectura y escritura de la memoria de datos externa, respectivamente.

7(a)

7(b)

Instrucciones para acceder a la memoria de datos externa:
La tabla explica las instrucciones para acceder a la memoria de datos externa.

Mnemotécnico Operación
MOVX A, @Rp En esta operación, copiará el contenido de la dirección externa en Rp a A.
MOVX A. @DPTR Copie el contenido de la dirección externa en DPTR a A.
MOVX @RP. A  Copie los datos de A a la dirección externa en Rp
MOVX DPTR, A Copie los datos de A a la dirección externa en DPTR.

Puntos importantes para recordar al acceder a la memoria externa:

  • En el caso de acceder a la memoria externa, todos los movimientos de datos externos con RAM o ROM externa involucran el registro A.
  • Al acceder a la memoria externa, R puede direccionar 256 bytes y DPTR puede direccionar 64 kbytes
  • La instrucción MOV X se usa para acceder a RAM externa o direcciones de E/S.

Nota:
debe tenerse en cuenta que, si bien el contador de programa (PC) se utilizará para acceder a la ROM externa, se incrementará en 1 (para señalar la siguiente instrucción) antes de agregarse a A para formar la dirección física de la ROM externa. ROM.

Decodificación de direcciones de memoria:
Sabemos que las memorias de lectura/escritura consisten en una array de registros, en la que cada registro tiene una dirección única: El tamaño de la memoria es NX Mas se muestra en la Fig. 11.2.1 (a) donde N es el número de registros y M es la longitud de la palabra, en un número de bits.

Ejemplo-1: 
Si la memoria tiene 12 líneas de dirección y 8 líneas de datos, entonces el número de registros/ubicaciones de memoria = 2^N= 2^N=2^{12}=4096          Longitud de palabra = Mbit = 8 bits.

Ejemplo-2: 

  • Si la memoria tiene 8192 ubicaciones de memoria, entonces tiene: 3 líneas de dirección La Tabla 11.2.1 resume la capacidad de memoria y las líneas de dirección requeridas para la interfaz de memoria
Capacidad de memoria Línea de dirección requerida
1 K = 1024 ubicaciones de memoria 10
2 K = 2048 ubicaciones de memoria 11
4 K = 4096 ubicaciones de memoria 12
8K= 8192 ubicaciones de memoria 13
16 K = 16384 ubicaciones de memoria 14
32 K = 32768 ubicaciones de memoria 15
64 K = 65536 ubicaciones de memoria dieciséis
  • El chip de memoria tiene 11 líneas de dirección A10-A0, una selección de chip (CS) y dos líneas de control, como se ve en la tabla. Para habilitar el búfer de salida, presione RD y para habilitar el búfer de entrada, presione WR.
  • Las líneas de dirección se decodifican utilizando el decodificador interno: (b) muestra el diagrama lógico de un registro EPROM (Memoria de sólo lectura programable borrable) 4096 (4 K).
  • Tiene un total de 12 bloques de direcciones. Una selección de chip (CS) y una señal de control de lectura (A11-A0). EPROM no necesita la señal (WR) ya que es una memoria de sólo lectura.
  • Los módulos de memoria y 1/0 se utilizan en el marco del microprocesador/microcontrolador. Dado que los buses de datos, direcciones y control son compartidos por todos los dispositivos, el microprocesador solo puede comunicarse (leer/escribir) con un dispositivo a la vez.
  • Es esencial decodificar la dirección del microprocesador/microcontrolador para conectarse con dispositivos de memoria o E/S. Las estrategias para decodificar direcciones se describen en la siguiente sección.
  • La interfaz de memoria requiere los siguientes componentes de la siguiente manera.
  1. Selecciona la ficha.
  2. Identificar el registro.
  3. Habilite el búfer adecuado.

Técnicas de decodificación de direcciones:

  • Decodificación absoluta/Descodificación completa
  • Decodificación lineal/Decodificación parcial

Técnica-1:
Decodificación absoluta –

  • En esta técnica, todas las líneas de dirección superiores se decodifican para seleccionar el chip de memoria, y el chip de memoria se elige solo para los niveles lógicos definidos en estas líneas de dirección de orden superior y ningún otro nivel lógico seleccionará el chip.
  • La interfaz de memoria con codificación total se ve en la figura 11.22. En estructuras de memoria masiva, esta estrategia de direccionamiento se usa comúnmente.

Mapa de memoria –

Circuitos integrados de memoria A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Dirección
Dirección inicial de EPROM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H
Dirección final de EPROM 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 03FFH
Dirección inicial de RAM 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H
Dirección final de RAM 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 23FFH

Técnica-2:
Decodificación lineal –

  • Las líneas de dirección de alto orden individuales se pueden usar para seleccionar chips de memoria en sistemas compactos, lo que elimina la necesidad de hardware para decodificar la lógica. La decodificación lineal es el término para este método.
  • El direccionamiento de la RAM usando la técnica de codificación lineal se ve en la Figura 10. La decodificación parcial es otro nombre para este proceso.
  • Disminuye el costo de codificación y circuitos, pero tiene la desventaja de requerir múltiples direcciones (direcciones ocultas).
  • El direccionamiento de la RAM usando la técnica de codificación lineal se ve en la Figura 10. Después de la inversión, A es una línea adjunta a la señal de selección de chip de la EPROM y luego a la señal de selección de chip de la RAM. Como resultado, la EPROM se selecciona cuando el estado de la línea A es «vacío» y la RAM se selecciona cuando el estado de la línea A15 es «uno». Dado que las otras líneas de dirección no se utilizan para generar señales de selección de fichas, su estado no se tiene en cuenta.

Mapa de memoria –

Circuitos integrados de memoria A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Dirección
Dirección inicial de EPROM 0 X X X X X 0 0 0 0 0 0 0 0 0 0 0000H
Dirección final de EPROM 0 X X X X X 1 1 1 1 1 1 1 1 1 1 03FFH
Dirección inicial de RAM 1 X X X X X 0 0 0 0 0 0 0 0 0 0 8000H
Dirección final de RAM 1 X X X X X 1 1 1 1 1 1 1 1 1 1 83FFH

Publicación traducida automáticamente

Artículo escrito por patelsmit3131 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *