Diferencia entre revisiones de «Modos de operación del MC9S08QE128»

De Wikitronica
Saltar a: navegación, buscar
(Modo Stop2)
Línea 93: Línea 93:
  
 
=== Modo Stop2 ===
 
=== Modo Stop2 ===
[[Archivo:tabla 3.png]]
+
[[Archivo:tabla 3.png|650px|center]]
  
 
==== salida del Stop2 ====
 
==== salida del Stop2 ====
 
La salida de Stop2 se realiza mediante la de activación de (PTA5/IRQ/TCLK/RESET) en la MCU.
 
La salida de Stop2 se realiza mediante la de activación de (PTA5/IRQ/TCLK/RESET) en la MCU.
 
  
 
=== Stop3 Mode ===
 
=== Stop3 Mode ===

Revisión del 16:19 20 nov 2012

Los modos en que se pone a trabajar un microcontrolador permiten hacer uso más adecuado del mismo, en la mayoría de los casos mejorando su rendimiento, consumo de energía y la velocidad en que opera. Estos modos de operación dan la posibilidad de hacer que el micro se mantenga realizando sólo las tareas que necesite ejecutar y que se olvide de las demás. De este forma al no estar realizando tareas innecesarias para su operación actual, el micro puede operar a mayor velocidad y se evita consumir un porcentaje de potencia. Un modo de operación siempre estará siendo ejecutado, sin que se lo ordenemos directamente al micro. Lo que los diferencia entre sí es el estado en que se colocan algunos parámetros como los antes mencionados (consumo y velocidad) y el uso de algunos periféricos si se trata de algún módulo de desarrollo, como el PE Micro: DEMOQE128.

Los modos de operación difieren entre los microcontroladores incluso dentro de sus propias familias, por ello es recomendable consultar el datasheet del micro a utilizar. En el caso de la asignatura Arquitectura del Computador II se utilizará el MC9S08QE128, caracterizado por su bajo consumo de potencia y bajo costo.

Tabla 2.png

Modo RUN

Es el modo más común de todos ya que en este se pueden correr los códigos que los usuarios deseen. Por defecto, al hacer un reset el CPU ejecuta el código presente en la posición 0xFFFE–0xFFFF de la memoria interna. En este modo de operación los periféricos y el procesador trabajan a velocidad normal ( 50 MHz CPU/25 MHz bus). Ver ICS (Configuración Reloj Interno) - MC9S08QE128.

La activación de este modo se hace habilitando el bit LPR (a 0) del registro SPMSC2


Low Power Run Mode (LPRun)

Este modo se caracteriza por la puesta en standby del voltaje del regulador, se lleva este valor al mínimo que aun permita que el CPU continúe funcionando de manera adecuada. El consumo de corriente es llevado al mínimo por lo que los relojes de los periféricos no utilizados quedan inhabilitados haciendo uso de los registros SCGC1 y SCGC2. La habilitación del modo es dada por el bit LPR (a 1) del SPMSC2

Antes de activar este modo se debe considerar lo siguiente:

  1. El ICS debe estar en modo FBELP. Ver ICS (Configuración Reloj Interno) - MC9S08QE128.
  2. El bit HGO en el registro ICSC2 debe ser 0 para configurar un oscilador externo de bajo consumo.
  3. La frecuencia máxima del bus debe ser 125Khz.
  4. Si el ADC está activado debe estar configurado para utilizar la fuente de reloj asíncrono, ADACK.
  5. El bit LVDE o LVDSE en el registro SPMSC1 debe ser 0.
  6. no borrar o programar la memoria flash.
  7. el micro no puede estar en modo "background".
  8. El módulo de detección de bajo voltaje deberá ser deshabilitado, debido a la condición de standby del regulador interno.


Interrupciones en LPRun

El LPRun ofrece la opción de volver a la regulación completa si ocurre cualquier interrupción. Esto se hace configurando el bit de LPWUI en el registro SPMSC2. El ICS se puede ajustar entonces para permitir velocidad completen la rutina de servicio de interrupción. Si el bit LPWUI es cero, las interrupciones serán atendidos en LPRun. Si el bit LPWUI esa 1, los bits LPR y LPRS se borrarán y las interrupciones serán atendidos con la regulación completa.

Resets in Low Power Run Mode

Cualquier reset hará salirse del modo LPRun. Se deben poner en 0 los bits LPR y LPRS y devolver el dispositivo a modo RUN normal.


BDM in Low Power Run Mode

No se puede introducir cuando el microcontrolador está en modo Background. Si se esta en modo LPRun el pin BKGD/MS provoca el cambio a modo RUN normal mediante un flanco de bajada en el reloj.

BDM in Low Power Wait Mode

Ocurre lo mismo que para el caso anterior. El dispositivo no puede operar bajo LPWM y lleva al micro al modo RUN normal de la misma forma arriba descrita


Active Background Mode

La activación de las funciones del modo BGD se gestionan a través del controlador de depuración de fondo (BDC).

Existen varias formas de activar este modo:

  1. Cuando el pin BKGD / MS es 0 durante POR
  2. Cuando el BKGD/MS es 0 inmediatamente después de emitir una depuración
  3. Cuando un comando de BACKGROUND es recibido a través de la BKGD/MS.
  4. Cuando una instrucción BGND es ejecutada.
  5. Cuando se enfrentan a un punto de rupturan en BDC
  6. Cuando se enfrentan a un punto de ruptura en DBG

La activación del BGD se utilizan para programar bootloader (programa de arranque) o programa de aplicación de usuario en la memoria flash.

Al hacer esta activacion del modo BGD, el CPU queda en modo espera de los comandos BACKGROUND en lugar de ejecutar las instrucciones del programa de aplicación del usuario.

Hay dos tipos de comandos BACKGROUNDS:

  1. NO intrusivos, que se refieren a que se pueden ejecutar comandos al mismo tiempo que se ejecuta un programa del usuario
  2. Los comandos que pueden ser ejecutados solo cuando se está en modo BGD. Por ejemplo, la lectura y escritura de registros.

Modo Wait

Este modo se introduce mediante la ejecución de una instrucción WAIT. Tras la ejecución de la instrucción, la CPU pasa a un estado de baja potencia en los que no está sincronizado con el reloj. En este modo se permiten las interrupciones. De hecho cuando se produce una petición de interrupción, las salidas de la CPU activa el modo Wait y reanuda el procesamiento, a partir de las operaciones de apilamiento que conduce a la rutina de servicio de interrupción.

AL estar activo el modo Wait sólo el commando BACKGROUND y el "memory-access-with-status" están disponibles. No se permite el acceso de memoria, pero se informará de un error que indica que el MCU está en Stop o modo Wait. El comando BACKGROUND se puede utilizar para activar el modo Wait de MCU.

Low Power Wait Mode (LPWait)

La diferencia respecto al modo normal de WAIT es que el regulador de la CPU sale de regulación y queda en estado de standby. Lo anterior reduce enormemente el consumo de la máquina, consumo que puede ser reducido aún más deshabilitando los módulos que no se utilicen. Esta última operación se puede lograr poniendo a cero los bits de los módulos a inactivar en el registro SCGC.

Las restricciones vistas en el modo LPRUN se aplican al modo LPWAIT.

Interrupts in Low Power Wait Mode

Si el bit LPWUI se pone en 1 cuando la instrucción Wait se ejecuta, el regulador volverá a estar a plenitud cuando se sale del modo Wait. El ICS se puede ajustar inmediatamente en la rutina de servicio de interrupción.

Si el bit LPWUI está en cero durante la instrucción Wait, se ejecuta una interrupción para devolver el dispositivo a modo LPRun.

Si el bit LPWUI esta en 1 durante la instrucción Wait, se ejecuta una interrupción que devuelve el dispositivo al modo RUN normal con una regulación completa y los bits LPR y LPRs se pondrán a cero.

Resets en Low Power Wait Mode

Cualquier reset hará salirse del modo LPW.


Modos Stop

Cuando se tiene el modo Stop los relojes del CPU y del Bus se suspenden, lo que varía es el valor del regulador. Los modos Stop se seleccionan ajustando los bits apropiados del registro SCGC1.

Modo Stop2

Tabla 3.png

salida del Stop2

La salida de Stop2 se realiza mediante la de activación de (PTA5/IRQ/TCLK/RESET) en la MCU.

Stop3 Mode

Se caracteriza porque los estados de todos los registros internos y la lógica, contenido de la RAM y E / S de los estados pin se mantienen.

Stop3 se puede salir al afirmar RESET, o por una interrupción de una de las siguientes fuentes: la RTC, LVD, LVW, ADC, ACMPx, IRQ, SCI, o la KBI.

Si Stop3 se sale por medio del pasador de RESET, entonces la MCU se restablece y la operación se reanudará después de tomar el vector de reset.