You are on page 1of 33

Sesin: De HC08 a S08

Jorge Hernndez Johnny Aguirre


Sistemas Embebidos 2009/2

Antes de comenzar
MCUs HC08 DE FREESCALE

SCI MEMORIA A/D CPU CAN RELOJ SIM

IRQ KBI I 2C

SPI TIMER LCD

Sistemas Embebidos

2009/2

Agenda para la clase


Novedades en el core S08 con respecto a su antepasado

1 2 3

Memoria cambios en la memoria de estos MCUs

Perifricos cambios en los diferentes mdulos del MCU

Sistemas Embebidos

2009/2

Puedo ser atodidacta?


Ms informacin puede ser encontrada en
http://www.freescale.com/files/microcontrollers/ doc/app_note/AN2717.pdf http://www.freescale.com/files/microcontrollers/ doc/app_note/AN2493.pdf http://www.freescale.com/files/microcontrollers/ doc/app_note/AN2497.pdf

Manual de referencia CPUS08

Sistemas Embebidos

2009/2

A continuacin

Novedades en la CPU

Memoria

Perifricos

Sistemas Embebidos

2009/2

Modos de operacin
HC08 Tres modos de operacin
WAIT
Deshabilita el reloj de la CPU Cualquier perifrico con capacidad de generar interrupcin saca el MCU de este modo.

S08 Comprende nuevos modos


STOP1 STOP2 STOP3 WAIT RUN

STOP
Solo los perifricos que soporta interrupcin desde el exterior pueden sacar al MCU de este modo

RUN

Sistemas Embebidos

2009/2

Modos de operacin
Regulador de voltaje STOP1: Regulador apagado, Memoria RAM y Registros sin polarizacin. Re-incializacin del MCU para salir de este modo. STOP2: Regulador en estandby. Memoria RAM polarizada, registros de la CPU sin polarizacin, posibilidad de salvados y restaurados desde la RAM. Los pines E/S mantienen el valor. STOP3: Similar al STOP del HC08 Estado de loose-regulation. Suficiente polarizacin para la RAM y los registros. RUN: CPU y perifricos operando normalmente regulador a capacidad normal.

Regulador de voltaje

Regulador de voltaje

Regulador de voltaje

Sistemas Embebidos

2009/2

JM60: Seleccin del modo STOP


El 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 3 El modo de Low-Voltage Detect (LVD) System se puede generar una interrupcin o un reset cuando la fuente de voltaje cae por debajo del voltaje LVD.
Sistemas Embebidos 2009/2

JM60: Comportamiento en STOP

Sistemas Embebidos

2009/2

Programacin del MCU


HC08 Modo monitor
Implementado por una combinacin de Hardware y Firmware.
Se redirijen los vectores de Reset y SWI.

S08 Background Debug Mode


Dos mdulos de Hardware y un firmware en el MCU. 30 comandos
13 de ellos no invasivos

Se pierde control de un pin del MCU. Demasiado invasivo, es probable perder la comunicacin entre el MCU y el PC. 5 comandos.

No se requiere afectar el pin de IRQ Se busca eliminar un sistema de debug externo.

Sistemas Embebidos

2009/2

CPU
La CPU S08 introduce nuevos cdigos de operacin
Para el manejo del BDM. Para optimizar la eficiencia de los compiladores en C.

Algunas instrucciones del HC08 se optimizaron


Reduccin de los CPIs.

Algunas instrucciones del HC08 se modificaron


Aumento de los CPIs, mejor manipulacin de los datos.

Sistemas Embebidos

2009/2

Relojes
HC08 - Algunos S08

El reloj del bus se puede obtener de dos formas:


A partir del oscilador externo. A partir de la salida del PLL.

En los S08
La frecuencia del bus puede ascender hasta 20MHz

Cualquiera de estas dos alternativas debe ser dividida entre 4


As se obtiene el reloj de bus.

Cambios arquitecturales logran:


La divisin para el bus sea por dos. Para generar 8MHz solo sera necesario un reloj de 16MHz.

Sistemas Embebidos

2009/2

Zona de preguntas ?
Cules 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 algn pin. Es mucho mas estable e inclusive permite cambiar la velocidad de comunicacin. Tiene un pin dedicado para la comunicacin. Con el BDC se puede hacer Debug usando el chip, sin necesidad de un emulador que puede o no emular exactamente el desempeo 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 perifricos 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/2

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 interrupcin 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 interrupcin 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 Interrupcin.

Sistemas Embebidos

2009/2

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 programacin 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 estn orientados a la manipulacin del registro HX.

Si la mayora de las instrucciones de los S08 gastan ms ciclos que el HC08, por qu podemos afirmar que es ms eficiente la nueva familia?
Los nuevos microcontroladores adems 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. Adems 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/2

A continuacin

Novedades en la CPU

Memoria

Perifricos

Sistemas Embebidos

2009/2

Mapa de Memoria
Mapa de Memoria General HC08
$0000 $XXYY

Registros E/S
$00XX

Memoria FLASH
Programa de fbrica, para la programacin Memoria RAM $XYYY y depuracin Registros Estado de E/S y

$0XXX

No
$XXXY

Esta es la zona RAM en la pgina Monitor donde se almacena cero, por qu? $YYYZ implementada el programa

$YYYY parte de la Memoria

/ Control ROM

No implementada $YYZZ Vectores INT Un acceso a esta $FFFF

zona de memoria ocasiona un RESET


Sistemas Embebidos 2009/2

Monitor ROM
Regin de la memoria:
Responsable de la tareas de
Debugging & programming In-circuit

Monitor ROM

Tiene un tamao aproximado de 200 bytes


Trabaja con base en comandos.

El modo monitor ha sido completamente eliminado en la arquitectura S08.

Sistemas Embebidos

2009/2

Command interface (CI)


CI tiene a su cargo tareas de
Escribir y leer regiones de la memoria flash de una manera simple.

En el HC08, se requera el uso de delays


En total se requiere de 13 pasos para reprogramar la flash.

En los S08
Se reprograma la flash en 6 pasos. No se requiere el uso de delays.
Sistemas Embebidos 2009/2

Command interface (CI)


Las principales ventajas de esta interfaz en la CPU08 son:
Se manejan los delays de manera automtica
El programador solo se debe preocupar de seleccionar el reloj de la flash basado en el del bus.

Chequeo automtico de bloques de memoria


As se sabe si estn en blanco o contienen informacin.

Chequeo de errores
Si el procedimiento de escritura y o lectura de la flash no es hecho adecuadamente.

Sistemas Embebidos

2009/2

Vector redirection (VR)


VR trabaja junto con el mdulo de proteccin de memoria flash.
til en reprogramacin 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 actualizacin del firmware.

Sistemas Embebidos

2009/2

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 programacin de la FLASH. En los HCS08, este modo fue eliminado y se reemplaz con un mdulo de depuracin no intrusivo. Esto permite que la ROM se use nada ms para el programa del usuario.

Porqu es ms fcil 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 interrupcin?


El poder redireccionar los vectores de interrupcin facilita algunas tares cmo por ejemplo la actualizacin de del firmware. Si en el momento de actualizacin se presenta alguna interrupcin sta podra ser atendida si se reserva el cdigo que no ser alterado por la actualizacin, en un espacio de memoria diferente.

Sistemas Embebidos

2009/2

A continuacin

Novedades en la CPU

Memoria

Perifricos

Sistemas Embebidos

2009/2

Clock Generator (MCG)


Mdulo para high end.
JM60

Cuenta con variadas opciones.


FLL PLL Otras
Sistemas Embebidos 2009/2

Clock Generator (MCG)


Este mdulo cuenta con los siguientes modos de funcionamiento
FLL-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)
Sistemas Embebidos 2009/2

Relacin de los modos

Sistemas Embebidos

2009/2

Timer TIM (HC08)

Sistemas Embebidos

2009/2

Timer TPM (S08)

Sistemas Embebidos

2009/2

Timer Configuracin (PWM)


HC08
Detener el Timer
TSTOP=1

S08
Detener el Timer
CLKSB:CLKSA=0:0

Hacer Reset
TRST=1

Escribir el mdulo
TPMxMODH:TPMxMODL

Escribir el mdulo
TMODH:TMODL=Mdulo

Escribir el duty
TPMxCnVH:TPMxCnVL

Determinar modo
MSxA:MSxB, ELSxA:ELSxB

Configurar modo
ELSBnB:ELSnA, CPWMS, MSnB

Escribir el duty
TCHnH:TCHnL = Duty

Seleccionar fuente de reloj


CLKSB:CLKSA

Habilitar toggle on overflow


TOV=1

Actualizar el duty cuando sea necesario Problemas??


Sistemas Embebidos

Actualizar el duty cuando sea necesario. Ventajas??


2009/2

Mdulo AD HC08

Sistemas Embebidos

2009/2

Mdulo AD S08

Sistemas Embebidos

2009/2

Comparador analgico

Sistemas Embebidos

2009/2

Fin de la sesin

Jorge Hernndez Johnny Aguirre


Sistemas Embebidos 2009/2

You might also like