La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización de la memoria

Presentaciones similares


Presentación del tema: "Organización de la memoria"— Transcripción de la presentación:

1 Organización de la memoria
PIC18F4550

2 Memoria PIC18F4550 Memoria de programa: es una memoria flash interna de 32,768 bytes (32 Kb), almacena instrucciones y puede ser escrita/ leída mediante un programador externo. Es una memoria no volátil. Memoria de datos: Es una memoria SRAM (Static Ram) interna de 2,048 bytes, almacena datos de forma temporal durante la ejecución de un programa. Es una memoria volátil. EEPROM de datos : Memoria no volátil de 256 bytes, almacena datos que deben de conservarse aun en ausencia de alimentación o voltaje, puede ser estrita/leída en tiempos de ejecución a través de registros.

3

4 PC (program counter) El contador de programa indica la dirección en la memoria de programa de la instrucción que se debe ejecutar. El PC es un registro de 21 bit, separado en 3 secciones de 8 bit Los 8 bit mas bajos son conocidos como registro PCL (low program counter) se pueden leer y escribir en la memoria de datos

5 Los siguientes 8 bits son conocidos como registro PCH (high program counter) no es un registro que se pueda leer o escribir directamente. Los 8 bit mas altos se llaman registros PCU (Upper). El PCL tiene el bit menos significativo a “0” debido a que las instrucciones siempre empieza en direcciones pares.

6 Memoria direccionable por byte

7 Pila de dirección (Stack level)
Es un bloque de memoria RAM independiente de 31 palabras (registros) de 21 bits que sirve para almacenar temporalmente el valor del PC cuando se produce una llamada a una subrutina, por ejemplo la subrutina CALL.

8 Vectores Reset Vector.- Cuando se activa la función Reset provoca que el microcontrolador se reinicie y el contador de programa se limpie a cero y empiece la ejecución del programa desde la dirección 0000h llamada vector de reset. La forma mas fácil de provocar un reset es colocar un interruptor pulsador en la terminal 1 del μC (MCLR). Existen 8 modos de reset en el PIC18f4550

9 Vectores Interrupción: Consiste en un mecanismo por el cuál un evento interno o externo puede interrumpir la ejecución de un programa en cualquier momento. Inmediatamente que sucede una interrupción se produce un salto a una subrutina de atención a la interrupción llamada ISR (Instrution Service Routine). Esta atiende la interrupción y regresa al programa exactamente donde se quedo al momento de ser interrumpido.

10 Vectores La interrupción tiene la característica de la inmediatez y se considera como una intervención urgente. Las interrupciones constituyen el mecanismo más importante para la conexión del microcontrolador con el exterior, ya que sincroniza la ejecución del programa con los acontecimientos externos. Existen dos vectores de interrupción: Vector de interrupción de prioridad alta. Vector de interrupción de prioridad baja.

11 Vectores Cuando se genera una interrupción el procesador deja lo que tiene pendiente y salta a la localidad de memoria 0008h o 0018 dependiendo de cómo se hayan establecido las prioridades (alta o baja). En esta registro debe haber otra función que esta definida en otra parte del programa.

12 Ciclos de máquina 1 ciclo de máquina=4 ciclos de reloj
El tiempo que tarda en ejecutarse un programa, depende de la frecuencia del oscilador conectado al microcontrolador. Un ciclo de máquina es la unidad básica de tiempo que utilizan los microcotroladores. En el PIC18f4550 un ciclo de máquina equivale 4 ciclos de reloj; cada instrucción requiere 1 ciclo de maquina para ejecutarse excepto las de salto que requieren 2 ciclos. 1 ciclo de máquina=4 ciclos de reloj

13 Cálculo de tiempo El tiempo que tarda un microcontrolador en ejecutar una tarea esta dada por la siguiente fórmula: T= tiempo en segundos. F=frecuencia del oscilador en Hz Cm=ciclos de máquina Ejemplo1.- Calcular la duración de 1 ciclo de máquina para un PIC18f4550 que utiliza un cristal de cuarzo de 4 Mhz, 12 Mhz, y 20 Mhz. Ejemplo 2.-Calcular el tiempo que tarda en ejecutarse la instrucción CALL si el micro funciona con un cristal de 16 Mhz.. Ejemplo 3.-En un microcontrolador PIC18F4550 con un cristal de 4 Mhz se desea generar un retardo de 1.5 ms. Calcular el número de ciclos de máquina necesarios.

14 Memoria de datos El microcontrolador PI18F4550 dispone de una memoria de de datos de 2048 bytes. Está distribuida en 8 bancos de 256 byte (PIC18F4550). La memoria de datos tiene dos grupos de registros. Registros de función especial (SFR) y registros de propósito general (GPR). Los SFR (Special Funtion Register) se usan para control y monitoreo del funcionamiento del microcontrolador y periféricos.

15 Los GPR(General Funtion Register) se usan para guardar datos temporales del programa que ese este ejecutando. La mitad del banco “0” y del banco “15” (Banco “8” en el PIC18f4550) pueden ser accesados directamente sin especificar banco. Todos los bancos tienen las mismas direcciones solo hay que indicar de que banco se necesita el dato en el registro BSR.

16 Cada registro es direccionado por una dirección de 12 bits.
Los 4 bit mas significativos están contenidos en un llamado apuntador de banco (Stack Pointer) y contenido en el registro BSR (Bank Poniter register).

17 Los 8 bit menos significativos esta contenidos en el código de operación de la instrucción.
Para acceder a un byte de memoria RAM de datos primero debe seleccionarse el banco al que pertenece mediante el registro de selección de banco BSR (Bank Select Registrer) y a continuación direccionar el byte dentro del banco.

18

19 Para lograr un acceso a memoria de datos eficientemente de aquellos registros que tienen uso frecuente, la memoria de datos esta configurada con dos bancos (Bank Access) de acceso directo (Access RAM), que permite el acceso a esta memoria sin el BSR. El Banco de acceso (Access bank) esta formado por los primeros 96 bytes de memoria del banco “0” (00h-5Fh) y por los últimos 160 bytes de memoria en el banco 15 (Banco 8 en PIC18F4550). Para accesar a esta memoria las instrucciones del PIC18 incluyen un bit de acceso a esta parte de la memoria. Si el bit es “1” la instrucción usa el contenido del BSR (4) y los 8 bit que vienen especificados en el código de operación de la instrucción. Si el bit es “0” la instrucción es obligada a usar la Access RAM

20 Pag. 67 índice de cada registro datasheet

21

22 Memoria EEPROM (Ellectrically Ereasable Programable Read Only Memory)
La memoria de datos EEPROM del PIC18F4550 tiene un tamaño de 256 bytes. Es una memoria no volátil y los datos contenidos en ella permanecen aún en ausencia de alimentación. El acceso a la memoria se lleva a cabo mediante los SRF´s: EECON1, EECON2, EEDATA, EEADR. Se puede leer y escribir cualquiera de las 256 posiciones de memoria.


Descargar ppt "Organización de la memoria"

Presentaciones similares


Anuncios Google