12_sesion hc08 transition

33
Sistemas Embebidos 2009/2 Sistemas Embebidos Jorge Hernández Johnny Aguirre Sesión: De HC08 a S08 Sesión: De HC08 a S08

Upload: oscar-ivan-garcia

Post on 29-Dec-2015

39 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 12_Sesion HC08 Transition

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

Page 2: 12_Sesion HC08 Transition

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

Page 3: 12_Sesion HC08 Transition

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

Page 4: 12_Sesion HC08 Transition

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?

Page 5: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

A continuaciónA continuación

Periféricos

Memoria

Novedades en la CPUNovedades en la CPU

Page 6: 12_Sesion HC08 Transition

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

Page 7: 12_Sesion HC08 Transition

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.

Page 8: 12_Sesion HC08 Transition

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.

Page 9: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

JM60: Comportamiento en STOP JM60: Comportamiento en STOP

Page 10: 12_Sesion HC08 Transition

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.

Page 11: 12_Sesion HC08 Transition

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

Page 12: 12_Sesion HC08 Transition

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.

Page 13: 12_Sesion HC08 Transition

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.

Page 14: 12_Sesion HC08 Transition

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.

Page 15: 12_Sesion HC08 Transition

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.

Page 16: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

A continuaciónA continuación

Periféricos

Memoria

Novedades en la CPU

Memoria

Page 17: 12_Sesion HC08 Transition

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

Page 18: 12_Sesion HC08 Transition

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

Page 19: 12_Sesion HC08 Transition

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)

Page 20: 12_Sesion HC08 Transition

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)

Page 21: 12_Sesion HC08 Transition

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)

Page 22: 12_Sesion HC08 Transition

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.

Page 23: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

A continuaciónA continuación

Periféricos

Memoria

Novedades en la CPU

Periféricos

Page 24: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Módulo para ‘high end’.JM60

Cuenta con variadas opciones.FLLPLLOtras

Clock Generator (MCG)Clock Generator (MCG)

Page 25: 12_Sesion HC08 Transition

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)

Page 26: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Relación de los modosRelación de los modos

Page 27: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Timer – TIM (HC08)Timer – TIM (HC08)

Page 28: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Timer – TPM (S08)Timer – TPM (S08)

Page 29: 12_Sesion HC08 Transition

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??

Page 30: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Módulo AD – HC08Módulo AD – HC08

Page 31: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Módulo AD – S08Módulo AD – S08

Page 32: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Comparador analógicoComparador analógico

Page 33: 12_Sesion HC08 Transition

Sistemas Embebidos 2009/2Sistemas Embebidos

Jorge HernándezJohnny Aguirre

Jorge HernándezJohnny Aguirre

Fin de la sesión Fin de la sesión