12_sesion hc08 transition
TRANSCRIPT
Sistemas Embebidos 2009/2Sistemas Embebidos
Jorge HernándezJohnny Aguirre
Jorge HernándezJohnny Aguirre
Sesión: De HC08 a S08Sesión: De HC08 a S08Sesión: De HC08 a S08Sesión: De HC08 a S08
Sistemas Embebidos 2009/2Sistemas Embebidos
Antes de comenzarAntes de comenzar
MCUs HC08 DE FREESCALE
CPUCPU SIMSIM
TIMERTIMER LCDLCD
I2CI2C
KBIKBI
SPISPI
IRQIRQSCISCI
A/DA/D
CANCAN
MEMORIAMEMORIA
RELOJRELOJ
Sistemas Embebidos 2009/2Sistemas Embebidos
Agenda para la claseAgenda para la clase
1111Novedades en el core S08 con respecto a su antepasado
2222Memoria cambios en la memoria de estos MCUs
3333Periféricos cambios en los diferentes módulos del MCU
Sistemas Embebidos 2009/2Sistemas Embebidos
Más información puede ser encontrada enhttp://www.freescale.com/files/microcontrollers/
doc/app_note/AN2717.pdfhttp://www.freescale.com/files/microcontrollers/
doc/app_note/AN2493.pdfhttp://www.freescale.com/files/
microcontrollers/doc/app_note/AN2497.pdfManual de referencia CPUS08
Puedo ser atodidacta?Puedo ser atodidacta?
Sistemas Embebidos 2009/2Sistemas Embebidos
A continuaciónA continuación
Periféricos
Memoria
Novedades en la CPUNovedades en la CPU
Sistemas Embebidos 2009/2Sistemas Embebidos
Modos de operaciónModos de operación
HC08 Tres modos de operación
WAIT Deshabilita el reloj de la CPU Cualquier periférico con
capacidad de generar interrupción saca el MCU de este modo.
STOP Solo los periféricos que
soporta interrupción desde el exterior pueden sacar al MCU de este modo
RUN
S08 Comprende nuevos modos
STOP1 STOP2 STOP3 WAIT RUN
Sistemas Embebidos 2009/2Sistemas Embebidos
Modos de operaciónModos de operación
Regulador de voltaje
Regulador de voltaje
Regulador de voltaje
STOP1: Regulador apagado, Memoria RAM y Registros sin polarización.Re-incialización del MCU para salir de este modo.
STOP2: Regulador en estandby.Memoria RAM polarizada, registros de la CPU sin polarización, posibilidad de salvados y restaurados desde la RAM.Los pines E/S mantienen el valor.
STOP3: Similar al STOP del HC08Estado de “loose-regulation”.Suficiente polarización para la RAM y los registros.
Regulador de voltaje
RUN: CPU y periféricos operando normalmente regulador a capacidad normal.
Sistemas Embebidos 2009/2Sistemas Embebidos
JM60: Selección del modo STOP JM60: Selección del modo STOP El Microcontrolador MC9S08JM60 solo tiene dos modos de STOP: STOP2 y STOP3El Microcontrolador MC9S08JM60 solo tiene dos modos de STOP: STOP2 y STOP3
SOPT1_STOPE: en 1 habilita modo Stop, en 0 deshabilita.SPMSC2_PPDC: en 1 STOP2 en 0 STOP 3El modo de “Low-Voltage Detect (LVD) System” se puede generar una interrupción o un reset cuando la fuente de voltaje cae por debajo del voltaje LVD.
Sistemas Embebidos 2009/2Sistemas Embebidos
JM60: Comportamiento en STOP JM60: Comportamiento en STOP
Sistemas Embebidos 2009/2Sistemas Embebidos
Programación del MCUProgramación del MCU
HC08 Modo monitor
Implementado por una combinación de Hardware y Firmware.
Se redirijen los vectores de Reset y SWI.
Se pierde control de un pin del MCU.
Demasiado invasivo, es probable perder la comunicación entre el MCU y el PC.
5 comandos.
S08 Background Debug Mode
Dos módulos de Hardware y un firmware en el MCU.
30 comandos 13 de ellos no invasivos
No se requiere afectar el pin de IRQ
Se busca eliminar un sistema de debug externo.
Sistemas Embebidos 2009/2Sistemas Embebidos
La CPU S08 introduce nuevos códigos de operaciónPara el manejo del BDM.Para optimizar la eficiencia de los compiladores en C.
Algunas instrucciones del HC08 se optimizaronReducción de los CPI’s.
Algunas instrucciones del HC08 se modificaronAumento de los CPI’s, mejor manipulación de los
datos.
CPUCPU
Sistemas Embebidos 2009/2Sistemas Embebidos
RelojesRelojes
HC08 - Algunos El reloj del bus se puede
obtener de dos formas: A partir del oscilador externo. A partir de la salida del PLL.
Cualquiera de estas dos alternativas debe ser dividida entre 4 Así se obtiene el reloj de bus.
S08 En los S08
La frecuencia del bus puede ascender hasta 20MHz
Cambios arquitecturales logran: La división para el bus sea por
dos. Para generar 8MHz solo sería
necesario un reloj de 16MHz.
Sistemas Embebidos 2009/2Sistemas Embebidos
Zona de preguntas ?Zona de preguntas ?
¿Cuáles son las ventajas del BDC?
Permiten la lectura y escritura de la memoria sin interrumpir las operaciones de la CPU. El BDC a diferencia del modo monitor no requiere un voltaje alto en algún pin. Es mucho mas estable e inclusive permite cambiar la velocidad de comunicación. Tiene un pin dedicado para la comunicación. Con el BDC se puede hacer Debug usando el chip, sin necesidad de un emulador que puede o no
emular exactamente el desempeño del chip real.
¿Qué incidencia tiene el modo WAIT en la CPU? Se detiene el reloj de la CPU y esta entra en modo de bajo consumo, todos los periféricos pueden
estar habilitados. El bit I del CCR es puesto a 0 cuando se entra a modo WAIT, habilitando las interrupciones. NO todos los comandos BDC pueden ser utilizados en modo WAIT.
Sistemas Embebidos 2009/2Sistemas Embebidos
Zona de preguntas ?Zona de preguntas ?
¿De qué forma se puede salir de STOP2 ?
Se puede salir de dos formas: por un evento de IRQ o mediante un Reset, el cual pude ser causado por varias fuentes.
¿De qué forma se puede salir de STOP3 ?
Por medio de un RESET, o una interrupción de cualquiera de las siguientes fuentes: real-time clock (RTC) interrupt, USB resume interrupt, LVD, ADC, IRQ, KBI, SCI, or the ACMP.
¿De qué forma se puede salir de WAIT ?
Cualquier fuente de interrupción saca a la CPU del estado WAIT el procesamiento se reinicia empezando por las instrucciones de stacking para salvar el contexto de la CPU en la Interrupción.
Sistemas Embebidos 2009/2Sistemas Embebidos
Zona de preguntas ?Zona de preguntas ?
¿las instrucciones de los S08 son compatible con el de la familia HC08?
Las CPU S08 es compatibles en su modelo de programación e instrucciones
¿Para qué se agregaron nuevas instrucciones en la familia HCS08?
Se han adicionado nuevas instrucciones para el BDM y nuevos modos de direccionamiento para optimizar el uso de compiladores de lenguaje C los nuevos opcode están orientados a la manipulación del registro HX.
¿Si la mayoría de las instrucciones de los S08 gastan más ciclos que el HC08, por qué podemos afirmar que es más eficiente la nueva familia?
Los nuevos microcontroladores además de operar a bajos voltajes soportan frecuencias mucho mas altas. Por el ejemplo; el JM60 soporta hasta 48MHz en la CPU y 24Mhz en el Bus en contraste con los apenas 8Mhz de frecuencia de bus de los HC08. Además de que en los HC08 la frecuencia de la CPU es la misma que la del bus, mientras que en los S08 la frecuencia de la CPU es el doble.
Sistemas Embebidos 2009/2Sistemas Embebidos
A continuaciónA continuación
Periféricos
Memoria
Novedades en la CPU
Memoria
Sistemas Embebidos 2009/2Sistemas Embebidos
Mapa de MemoriaMapa de Memoria
Mapa de Memoria General HC08
Registros E/S
$0000
$00XX
Memoria RAM
$0XXX
No implementada
$XXXY
$XXYY
Memoria FLASH
$XYYY
$YYYZ
Monitor ROM
Estado / Control$YYYY
$FFFF Vectores INTNo implementada
$YYZZ
Registros de E/S y parte de la Memoria RAM en la página cero, ¿por qué?
Registros de E/S y parte de la Memoria RAM en la página cero, ¿por qué?
Un acceso a esta zona de memoria
ocasiona un RESET
Un acceso a esta zona de memoria
ocasiona un RESET
Esta es la zona donde se almacena
el programa
Esta es la zona donde se almacena
el programa
Programa de fábrica, para la programación
y depuración
Programa de fábrica, para la programación
y depuración
Sistemas Embebidos 2009/2Sistemas Embebidos
Región de la memoria:Responsable de la tareas de
Debugging & programming In-circuitTiene un tamaño aproximado de 200 bytes
Trabaja con base en comandos.
El modo monitor ha sido completamente eliminado en la arquitectura S08.
Monitor ROMMonitor ROM Monitor ROM
Sistemas Embebidos 2009/2Sistemas Embebidos
CI tiene a su cargo tareas deEscribir y leer regiones de la memoria flash de una
manera simple.En el HC08, se requería el uso de delays
En total se requiere de 13 pasos para reprogramar la flash.
En los S08Se reprograma la flash en 6 pasos.No se requiere el uso de delays.
Command interface (CI)Command interface (CI)
Sistemas Embebidos 2009/2Sistemas Embebidos
Las principales ventajas de esta interfaz en la CPU08 son:Se manejan los delays de manera automática
El programador solo se debe preocupar de seleccionar el reloj de la flash basado en el del bus.
Chequeo automático de bloques de memoriaAsí se sabe si están en blanco o contienen información.
Chequeo de erroresSi el procedimiento de escritura y o lectura de la flash
no es hecho adecuadamente.
Command interface (CI)Command interface (CI)
Sistemas Embebidos 2009/2Sistemas Embebidos
VR trabaja junto con el módulo de protección de memoria flash.Útil en reprogramación del firmware del MCU.
Los vectores por defecto apuntan a regiones protegidos de la flash.VR permite que estos vectores sean redirigidos a
regiones no protegidas de la flash.Esto facilita la actualización del firmware.
Vector redirection (VR)Vector redirection (VR)
Sistemas Embebidos 2009/2Sistemas Embebidos
Zona de preguntas ?Zona de preguntas ?
¿Qué es el Monitor ROM y por qué se elimino en la nueva familia HCS08?
Es un Firmware residente en la memoria FLASH ocupa unos 200 bytes. EL Monitor ROM contiene las rutinas de programación de la FLASH. En los HCS08, este modo fue eliminado y se reemplazó con un módulo de depuración no intrusivo. Esto permite que la ROM se use nada más para el programa del usuario.
¿Porqué es más fácil reprogramar la FLASH en los S08 que en los HC08?
Programar un byte en un S08, requiere 6 pasos y no necesita tiempo de retardo. Programar un byte en un HC08, requiere 13 pasos, de los cuales 4 se usan para generar tiempo de retardo.
¿Qué ventaja se obtiene al poder redireccionar los vectores de interrupción?
El poder redireccionar los vectores de interrupción facilita algunas tares cómo por ejemplo la actualización de del firmware. Si en el momento de actualización se presenta alguna interrupción ésta podría ser atendida si se reserva el código que no será alterado por la actualización, en un espacio de memoria diferente.
Sistemas Embebidos 2009/2Sistemas Embebidos
A continuaciónA continuación
Periféricos
Memoria
Novedades en la CPU
Periféricos
Sistemas Embebidos 2009/2Sistemas Embebidos
Módulo para ‘high end’.JM60
Cuenta con variadas opciones.FLLPLLOtras
Clock Generator (MCG)Clock Generator (MCG)
Sistemas Embebidos 2009/2Sistemas Embebidos
Este módulo cuenta con los siguientes modos de funcionamientoFLL-engaged internal (FEI)FLL-engaged external (FEE)FLL-bypassed internal reference (FBI)FLL-bypassed external reference (FBE)PLL-engaged external (PEE)PLL-bypassed external reference (PBE)FLL-bypassed internal reference low power (FBILP)FLL-bypassed external reference low power (FBELP)
Clock Generator (MCG)Clock Generator (MCG)
Sistemas Embebidos 2009/2Sistemas Embebidos
Relación de los modosRelación de los modos
Sistemas Embebidos 2009/2Sistemas Embebidos
Timer – TIM (HC08)Timer – TIM (HC08)
Sistemas Embebidos 2009/2Sistemas Embebidos
Timer – TPM (S08)Timer – TPM (S08)
Sistemas Embebidos 2009/2Sistemas Embebidos
Timer – Configuración (PWM)Timer – Configuración (PWM)HC08 Detener el Timer
TSTOP=1 Hacer Reset
TRST=1 Escribir el módulo
TMODH:TMODL=Módulo Determinar modo
MSxA:MSxB, ELSxA:ELSxB Escribir el duty
TCHnH:TCHnL = Duty Habilitar toggle on overflow
TOV=1 Actualizar el duty cuando sea
necesario Problemas??
S08 Detener el Timer
CLKSB:CLKSA=0:0 Escribir el módulo
TPMxMODH:TPMxMODL Escribir el duty
TPMxCnVH:TPMxCnVL Configurar modo
ELSBnB:ELSnA, CPWMS, MSnB Seleccionar fuente de reloj
CLKSB:CLKSA Actualizar el duty cuando sea
necesario. Ventajas??
Sistemas Embebidos 2009/2Sistemas Embebidos
Módulo AD – HC08Módulo AD – HC08
Sistemas Embebidos 2009/2Sistemas Embebidos
Módulo AD – S08Módulo AD – S08
Sistemas Embebidos 2009/2Sistemas Embebidos
Comparador analógicoComparador analógico
Sistemas Embebidos 2009/2Sistemas Embebidos
Jorge HernándezJohnny Aguirre
Jorge HernándezJohnny Aguirre
Fin de la sesión Fin de la sesión