Download Sin título de diapositiva

Document related concepts
no text concepts found
Transcript
Familia HCS08, 8 Bits de Alta Performance
y muy bajo consumo !!!
HC9S08, la evolución del HC908!!!
Ventajas / Diferencias .....
• 100% Soft compatible con HC908.
• HC9S08 2,5 veces más rápida que HC908 (50nS ciclo de clock).
• Módulo BDM a un solo hilo Vs. MON08 de los HC908 (modo monitor).
• Tecnología de 0,25 de micrón Vs. 0,50 de los HC908 (baja de costos).
• Grabación / Borrado de FLASH por máquina de estados Vs rutinas
en ROM de los HC908.
• Muy bajo consumo (flexibilidad en el modo Stop)(Stop 1 / 2 / 3).
Familia HCS08.......
Baja Tensión, Bajo Consumo!!
Números más destacados:
• Alimentación tan baja como 1.8V !! hasta 3.6V y
dispositivos industriales de 5V(Flia. de 5V) ....
• CPU CORE HCS08 a 40MHZ !!!! (3.3V / 5V),
FBUS = 20MHZ FBUS = 8MHZ @ 1.8V !!
• Múltiples Modos de manejo de Energía, incluye
modo Power Down de 20 nAmp !!!.
• Modo “Auto WakeUp” desde el STOP con cero
componentes y consumo reducido (700 nAmp).
• Múltiples periféricos de comunicación en las distintas
familias:
• SPI / I2C (Comunicaciones Sincrónicas)
• 2 SCI (Comunicaciones Asincrónicas).
• Múltiples TIMERS de 16 Bits con IC/OC/PWM
Vista Die MCU HCS08 “Draco”
Más características.....
• ADC de 8 / 10 / 12 Bits de “n” canales con funcionamiento desde 1.8V !!
• ICG / ICS (Clock Interno) (Precisión mejor al 2%).
• LVI Programable (detector de baja tensión).
• Módulos CAN / LIN / USB / LCD / PWM Trifásico.
• KBI (KeyBoard Interrupt).
• Dispositivos de pocos pines (8, 16 y 20 pines).
• Dispositivos de más pines (32, 44, 48, 64 y 80 pines).
• Modulo de Debug NO INTRUSIVO a un SOLO PIN.
• Múltiples posibilidades de BREAK POINTS (puntos de parada) por
Posición de PC, por Condicionales (A=B, A>B,
A<B, etc...)
HC9S08 Módulo x Módulo .....
CPU HCS08
CPU HCS08 .... Una vuelta de tuerca al CPU08!!
• 100% Compatible con el CPU08
• Se agregan instrucciones nuevas:
BGND (fuerza al MCU al
modo Back Ground)
• Aumento Velocidad de procesamiento ...
40 Mhz CPU / 20 Mhz Bus !!
Nuevos modos de direccionamiento para la instrucción STHX y
CPHX.
•Modo de direccionamiento Extendido (EXT).
•Modo de direccionamiento Indexado utilizando el Stack Pointer con
Offset de 8 bits (SP1).
Nuevos modos de direccionamiento para la instrucción LDHX
-Indexado sin Offset (IX).
-Indexado con Offset de 8 Bits (IX1).
-Indexado con Offset de 16 Bits (IX2).
-Indexado con Post Incremento.
-Indexado con Offset de 8 Bits con Post Incremento
CPU HCS08 .... Mapa de Memoria ...
Registros y Puertos I/O mapeados
como memorias sin instrucciones
especiales.
Modo de direccionamiento Directo
desde $00 a $FF.
Más rápido y eficiente en espacio de
código.
Registros en memoria RAM en
posiciones superiores dentro
del mapa de memoria FLASH.
(Se usan solo una vez durante
el programa)
Toda la FLASH se puede programar o
borrar por parte del programa del
usuario.
Mapa de Memoria Típico de un MCU HC9S08.
CPU HCS08 .... Modos de Direccionamiento....
Modo de direccionamiento Inherente (INH).
CLRX
; Limpio el registro X.
Modo de direccionamiento Inmediato (IMM).
LDA #$50
;Carga el acumulador con el valor hexadecimal $50
Modo de direccionamiento Directo (DIR).
LDA $55
; Carga el acumulador con el contenido de la posición $0055.
Modo de direccionamiento Extendido (EXT).
LDA $1996
; Carga el acumulador con el contenido de la posición $1996
STA $1044
; Almacena el contenido del acumulador en la posición $1044
Modos de Direccionamiento....
Modo de direccionamiento Relativo (REL).
DBNZA –2
; Salto negativo, en loop hasta que Acc = 0
BRCLR 1, PORTA, NO_PUSH
; Salto positivo, en loop hasta que PTA1 = 1
JSR DEBOUNCE
NO_PUSH EQU *
;
Modo de direccionamiento Indexado.
Se utilizan los registros H:X
Indexado sin Offset (IX).
Si H:X = $1000
LDA ,X
; Carga el acumulador con el contenido de la dirección apuntada por el
; índice H:X (posición de memoria $1000).
Modos de Direccionamiento....
Indexado, con Offset de 8 Bits no signados (IX1).
Si H:X = $1000
LDA $44,X
; Carga el acumulador con el contenido de la dirección apuntada por el
; índice H:X + el offset de 8 bits (posición de memoria $1044).
Indexado, con Offset de 16 Bits no signados (IX2).
Si H:X = $1000
LDA $1044,X
; Carga el acumulador con el contenido de la dirección apuntada por el
; índice H:X + el offset de 16 bits (posición de memoria $2044).
Indexado, con Post incremento y sin offset (IX+).
chkLoop:
stringBad
stringOK
ldhx #Table2
; H:X con la dirección de czo. de la tabla
cphx #Table2+10
; fin de la tabla?
beq stringOK
; SI Æ Fin de la búsqueda
lda (Table1-Table2),x ;
cbeq x+,chkLoop
; en una sola instrucción comparo, salto y post incremento
nop
Modos de Direccionamiento....
Indexado, con Post incremento y con offset de 8 bits no signado (IX1+).
cbeq $55,x+,rel
Direccionamiento Indexado, usando el Stack Pointer y Offset de 8 bits (SP1).
Modos de Direccionamiento....
Direccionamiento Indexado, usando el Stack Pointer y Offset de 16 bits.
Modos de Direccionamiento....
Direccionamiento “Memoria a Memoria”.
MOV Dirección Fuente, Dirección Destino
Cuatro variantes:
Inmediato a Directo
•Directo a Directo
•Indexado a Directo con Post Incremento
•Directo a Indexado con Post Incremento
Inmediato a Directo
Directo a Directo
Indexado a Directo con Post Incremento
Directo a Indexado con Post
Incremento
CPU HCS08 ... Set de Instrucciones...
250 Instrucciones (básicas + 16 modos de direccionamiento)
Set de Instrucciones.....
Set de Instrucciones.....
CPU HCS08... Soporte de Interrupciones...
Modo de “apilado” y “Desapilado” de los registros principales del CPU HCS08.
Todos los módulos de la flia. HC9S08 tienen vectores de interrupciones asociados
a ellos, haciendo más fácil la atención de multitareas sin sobrecargar al CPU.
Módulos ICG / ICS:
Internal Clock Generator / Internal Clock Source.
ICG (Generador de Clocks Interno)...
Cuatro modos de operación:
Self Clock Mode (SCM)
(Clock interno fijo).
FLL Engaged Internal clock
mode (FEI) (FLL clock
Interno Enganchado)
FLL Bypassed, External (FBE)
clock mode (FLL puenteado,
clock Externo).
Diagrama en bloques del módulo ICG
FBUS = ½ ICGOUT.
FLL Engaged, External (FEE)
clock mode (FLL enganchado
con clock Externo).
ICG (Generador de Clocks Interno)...
SCM (Self Clock Module) (Clock Interno Fijo).
Es el modo por defecto luego de que el MCU sale del RESET
Rápido arranque del oscilador a 4 MHZ de FBUS sin programación del usuario.
No se requiere conexión externa alguna.
Las líneas del oscilador pueden usarse como I/O grales.
No ajustable, pero puede modificarse escribiendo en el registro ICGFLT
Tiene la menor precisión de todos los osciladores disponibles.
ICG (Generador de Clocks Interno)...
FEI - FLL Engaged Internal clock mode (FLL Interno Enganchado).
FOUT = (243KHZ / 7) x 64 x N / R
N = 4 a 18 en incrementos de 2.
R = 1 a 128 en potencia de 2.
El oscilador de referencia (243KHZ) es ajustable en +/- 25% con una precisión del 0,5% en todo
el rango de temperatura de trabajo.
Se puede programar la indicación de la perdida del enganche del FLL para que genere un RESET o
una interrupción.
Las líneas del oscilador pueden utilizarse como I/O generales.
No se necesitan componentes externos.
ICG (Generador de Clocks Interno)...
FBE (FLL Bypassed External clock) (Oscilador Externo con FLL puenteado).
Se puede conectar Cristal Externo o Resonador en los pines OSC1 / OSC2.
Se pueden conectar cristales de baja frecuencia de 32Khz a 100Khz.
Se pueden conectar cristales de alta frecuencia de 1 Mhz a 16 Mhz.
Se puede ingresar con un oscilador externo por pin OSC1 (DC a 40 Mhz).
Frecuencia de Bus = Referencia Externa / (2 x RFD)
El Sistema de Reloj de más alta precisión (la da la referencia externa).
ICG (Generador de Clocks Interno)...
FEE (FLL Engaged, External (FEE) clock mode (FLL enganchado con clock Externo).
Rango de frecuencia externa de referencia:
-Baja Frecuencia = 32Khz a 100Khz , FOUT = Fext x 64 x N / R.
-Alta Frecuencia = 2 a 10 Mhz, FOUT = Fext x N / R.
-N = 4 a 18, en incrementos de 2.
-R = 1 a 128 en potencias de 2.
• Este modo posee alta precisión, no tanto como con la fuente externa solo.
• Al usar el FLL cuando se “desengancha” el programa puede avisar por interrupción o por reset.
• El consumo de energía puede ser mayor o menor al modo FEI según la referencia utilizada (alta
o baja frecuencia).
ICG (Generador de Clocks Interno)...
ICS – Internal Clock Source – (Fuente de Reloj interna).
Diagrama en Bloques del Módulo ICS (Internal Clock Source).
Cuatro modos de operación:
-FBI (FLL Bypassed Internal clock mode).
-FEI (FLL Engaged External clock mode).
-FBE (FLL Bypassed External clock mode).
-FEE (FLL Engaged External clock mode).
ICG (Generador de Clocks Interno)...
FEI Clock Mode (FLL Engaged Internal reference clock).
•Modo por defecto luego del reset.
•Multiplicador fijo en 512 luego del reset.
•El oscilador interno de referencia es ajustable con resolución de 0,2%.
•Frecuencia de Bus = DCO / (2 x BDIV)
•DCO = Referencia Interna x 512.
•Referencia Interna = 31.25 a 39.06 Khz.
•DCO = 16 a 20 Mhz.
•Las líneas del oscilador pueden ser usadas como I/O generales.
•No se requieren componentes externos.
•El consumo de energía es más alto que en los modos FBI o FBE.
•No posee bit indicador de estado del oscilador.
ICG (Generador de Clocks Interno)...
FEE (FLL Engaged External clock mode).
•El multiplicador está fijo en 512.
•Se pueden usar cristales externos, resonadores o fuente externa.
•Baja Frecuencia: 32 a 38.4 Khz.
•Alta Frecuencia: 1 a 5 Mhz.
•Se debe dividir para bajar la Fref entre 31.25 a 39.06 usando RDIV.
•Frecuencia de Bus = DCO / (2 x BDIV), DCO = 16 a 20 Mhz.
•No existe bit indicador de estado del FLL.
•Alta precisión del sistema de reloj, dependiendo de la referencia externa.
•El consumo de energía es un poco superior o inferior al modo FEI según el tipo
de referencia elegida (baja o alta frecuencia).
ICG (Generador de Clocks Interno)...
FBI (FLL Bypassed Internal clock).
•Se usa la referencia interna en forma directa (no FLL).
•Ajustable con resolución de 0,2%.
•Referencia interna desde 31.25 a 39.06 Khz.
•Frecuencia Bus = Referencia Interna / (2 x BDIV).
•No se requieren componentes externos.
•Las líneas del oscilador pueden ser usadas como líneas I./O.
•Oscilador muy preciso luego del ajuste.
•Modo de baja energía opcional con FLL Off (FBILP).
Bajo consumo de Energía (menor que FEI o FEE
ICG (Generador de Clocks Interno)...
FBE (FLL Bypassed External clock).
•Se usa cristal externo o resonador.
•Baja Frecuencia: 32 a 38.4 Khz.
•Alta Frecuencia: 1 Mhz a 16 Mhz.
•Se puede usar oscilador externo desde DC a 20 Mhz.
•Frecuencia de Bus = Referencia Externa / (2 x BDIV).
•La más alta precisión (tan precisa como la fuente de referencia).
•Modo de baja energía opcional con FLL Off (FBELP).
•El consumo de energía más bajo.
Puertos I/O.... En los HC9S08...
Puertos I/O.... En los HC9S08...
Configuración Típica de un Puerto I/O en la flia. HC9S08.
Destacados:
•
•
•
Los resistores de Pull – Ups son programables en forma individual en cada pin.
Se puede controlar por soft el “slew rate” (pendiente) de la señal de salida de cada pin.
Corriente de manejo del pin configurable por soft.
Puertos I/O.... En los HC9S08...
Los 5 Registros Asociados con cada Puerto I/O.
Puertos I/O.... En los HC9S08...
Control de Slew Rate
Puertos I/O.... En los HC9S08...
Control de Corriente del Puerto
Puertos I/O.... En los HC9S08...
Esquema de “Multiplexado” de un puerto I/O de un MCU flia. HC9S08.
Puertos I/O.... En los HC9S08...
Keyboard Interrupt Module (KBI).
Características:
•Vector de Interrupción único e independiente para la función KBI.
•Selección de disparo por flanco creciente o decreciente.
•Mecanismos de “Wake Up” del MCU desde el estado de STOP o WAIT.
•Pin a Pin habilitable.
Puertos I/O.... En los HC9S08...
Keyboard Interrupt Module (KBI).
Registros involucrados en la función KBI.
Timer / PWM – TPM....
Timer / PWM – TPM....
Algunas características destacadas del módulo TPM:
Múltiples canales por timer.
Cada canal puede ser Input Capture, Output Compare o Buffered PWM.
Disparo de la función Input Capture por flanco ascendente, descendente o cualquier tipo de flanco.
Opciones de Output Compare con salida en “1”, “0”, o “Toggle”.
Selección de polaridad en la salida del PWM.
• Cada módulo TPM puede configurarse como PWM Buffered alineado al centro (CPWM) en todos los
canales.
•Opciones de Fuentes de reloj: Bus Clock, Clock fijo del sistema, o pin externo de clock.
•Contador de 16 bit tipo free/running con opción de cuenta up/down.
•Registro de módulo de rango de 16 bit (TPMxMODH / TPMxMODL).
•Habilitación del módulo TPM.
•Una interrupción por canal, más una interrupción por cuenta terminada (TOF).
Timer / PWM – TPM....
Diagrama en Bloques de un módulo TPM típico de “n” canales.
Timer / PWM – TPM....
Función Timer de Referencia (Timer Reference) o Timer OverFlow.
Bloques utilizados durante el funcionamiento del TPM como “Timer Reference”.
Timer / PWM – TPM....
Función “Input Capture”.
Bloques utilizados en el TPM durante la función “Input Capture” (ICAP).
Timer / PWM – TPM....
Función Output Compare.
Timer / PWM – TPM....
Función PWM (Edge Aligned / Center Aligned).
Función PWM Edge Aligned.
Función PWM Center – Aligned.
Timer / PWM – TPM....
Bloques utilizados en el PWM Center Aligned
A/D Converter – Conversor Analógico / Digital...
ADC10 - A/D Converter – Conversor Analógico / Digital...
Módulo de conversión A/D del tipo SAR (aproximaciones sucesivas) de 10 y 12 Bits
de Resolución.
Pueden trabajar con resoluciones de 8 / 10 o 12 Bits...
Modos:
• Single Conversion Polling (Simple Conversión)
Pueden funcionar en modos de Bajo
consumo como Wait y Stop3 !!!
• Single Conversion Interrupt (x interrupciones)
• Continuous Convertion (Conversión Contínua)
Líneas del ADC
compartidas con los
Ports A y B además
de otras funciones.
Ejemplo típico de disposición de canales A/D compartiendo I/Os de un HC9S08..
ADC10 - A/D Converter – Conversor Analógico / Digital...
•Conectar VDDAD a la misma tensión que VDD.
•Usar filtro externo próximo al pin.
•Rutear VDDAD con cuidado.
•Conectar VSSAD al mismo potencial que VSS.
•Separar VREFH y VREFL.
•Conectar VREFH a VDDAD.
•Conectar VREFL a VSSAD.
Conexiones del módulo ADC para un MC9S08xxx, como el MC9S08AW60CFUE.
ADC10 - A/D Converter – Conversor Analógico / Digital...
Registros del Módulo ADC.
La Flia. HC9S08 cuenta con más
registros de configuración que la
HC908 !!
ADC status and control register 1 (ADCSC1)
ADC status and control register 2 (ADCSC2)
ADC data result registers (ADCRH, ADCRL)
ADC compare value registers (ADCCVH, ADCCVL)
ADC configuration register (ADCCFG)
ADC pin control registers (APCTL1) (APCTL2, APCTL3)
ADCSC1 - habilitar / deshabilitar el módulo, configurar el canal de entrada analógico, el modo de conversión y
monitorear el estado del bit “COCO”.
ADCSC2 - monitorear el progreso de la conversión, seleccionar el disparo de la conversión, y controlar la función
“compare” (comparación) del ADC.
ADCRH y ADCRL - l resultado de la conversión del valor analógico de entrada del canal elegido.
ADCCVH y ADCCVL valor a comparar (10 / 8 Bits) con el valor de la conversión cuando se habilite la función
“Atomátic Compare”.
ADCCFG sirve para seleccionar la velocidad y la configuración de energía, la fuente de reloj, el divisor del reloj,
y el tiempo de muestreo del módulo ADC.
ADC10 - A/D Converter – Conversor Analógico / Digital...
(APCTL1, APCTL2, APCTL3) permite habilitar o deshabilitar pin a pin cada uno de los pines del MCU que
son compartidos por los puertos I/O como canales de entrada para la función A/D.
Diagrama en Bloques del módulo ADC para el MC9S08AW60CFUE.
ADC10 - A/D Converter – Conversor Analógico / Digital...
Fuentes de Clock (4 posibles):
ALTCLK: Reloj Externo.
ADACK: Reloj Interno Asincrónico Propio.
Bus Clock: La frecuencia de Bus (FBUS) como referencia.
Bus Clock / 2: FBUS / 2 como referencia.
Tiempos de Conversión del módulo ADC en el MC9S08AWxx.
Para una conversión simple a 10 Bits un ADCK = 8 Mhz, ADIV=1, ADLSMP = 0 y FBUS = 8
Mhz, el tiempo de conversión máximo será de 3,5 uS, un tiempo de conversión muy bueno para
un MCU de 8 bits.
Módulo Serial Asincrónico de Comunicación - SCI
Serial Comunication Interface.
Serial Comunication Interface.
Podemos resumir las características generales del módulo de la siguiente forma:
• Formato de comunicación NRZ – Full – Dúplex.
• Baud Rate programable por medio de un divisor de 13 Bits. (diferente al HC908)
• Sistema de “Doble – Buffer” en Recepción y Transmisión.
• Manejo por Interrupciones o por encuesta (polling) de flags en las siguiente situaciones:
-Transmit Data Register Empty y Transmission Complete.
-Receive Data Register Full.
-Indicación de errores como: Receive Overrun, Parity error, Framing error, y noise error.
-Detección de Idle Receiver.
-Largo de carácter programable de 8 y 9 Bits.
-Generación y Chequeo de paridad por hardware.
-Wake Up del Receptor por línea IDLE o por “Address – Mark”.
-Envío opcional de carácter “Break” de 13 Bits.
-Polaridad programable del transmisor.
Serial Comunication Interface.
Un solo registro de datos
que cuando se lee, se
rescata el dato en RX y
cuando se escribe se
envía el dato por TX!!
Sistema de Doble – Buffer.
Serial Comunication Interface.
Sistema de Recuperación de Datos del SCI.
Serial Comunication Interface.
SCI Baud Rate Generator.
La generación de Baud Rate es
distinta a la de la familia HC908!!!
Tolerancias de 4,5% para 8 bits y 4% para 9 Bits !!
Serial Comunication Interface.
La velocidad máxima que puede
alcanzar el módulo de SCI es
superior a 1 MBPS !!!!
8 Vectores de interrupción y
numerosos flags de estado
hacen al módulo SCI ideal
para redes de comunicaciones
complejas !!!
Módulo Serial Sincrónico de Comunicaciones – SPI.
Serial Peripheral Interface.
Serial Peripheral Interface.
Configuración SPI MASTER – SLAVE.
Serial Peripheral Interface.
Características:
• Operación Full Duplex a 2 hilos.
• Modos de operación MASTER y SLAVE.
• Máxima frecuencia en modo MASTER = FBUS / 2.
• Máxima frecuencia en modo SLAVE = FBUS / 4.
• Modo especial Bidireccional de comunicación “Single Wire” (1hilo)(No en el HC908).
• Selección de desplazamiento MSB primero o LSB primero.
• Selección de fase y polaridad del reloj para distintos dispositivos SPI.
• Interrupciones separadas de TX / RX.
Serial Peripheral Interface.
BIDIROE:
Comunicación SPI a un solo HILO
El BIDIROE (Bidirectional Mode Output Enable) en el modo bidireccional de un
solo hilo (Bidirectional Single Wire Mode) sirve para habilitar la línea I/O SPI a un
solo hilo como salida.
BIDIROE = 0 --> Entrada BIDIROE = 1 --> Salida.
Master -- MOSI (se convierte en MOMI) / Slave-- MISO (en SISO)
SPCO(SPI Pin Control):
Selección entre “Single Wire Bidirectional Mode” o “Full Duplex Mode”.
Serial Peripheral Interface.
El dispositivo MASTER impone el Baud Rate de la comunicación !!!
Inter – Integrated Circuit Interface – I2C
MMIIC – Multi – Master I2C.
Módulo I2C en los HC9S08.....
Arquitectura
típica de una
red I2C...
Comunicación
sincrónica Half Duplex!!
SDA y SCL
son líneas
“Open Drain”
y hay que
utilizar R de
Pull _Ups !!!
SDA es la línea de
“Datos” común a
todos los dispositivos
SCL es la línea de
“Clock” a todos los
dispositivos.
Módulo I2C en los HC9S08.....
Características Principales del Módulo MMIIC en los HC9S08.
•Compatible con el bus estándar I2C.
•Modo de operación Multimaster.
•Programación por soft de hasta 64 frecuencias diferentes de reloj seriales.
•Manejo por interrupciones Byte a Byte en la transferencia de datos.
•Interrupción por pérdida de arbitraje con conmutación automática del modo
master al modo slave.
•Generación / Detección de las señales de START y STOP.
•Interrupción por identificación de Dirección (address).
•Repetición de Secuencias START.
•Generación / Detección del bit de Acknowledge (Ack).
•Detección de la ocupación del bus.
Capacidad máxima del BUS de 400 pF, Baud Rate máximo 100Kbps (Fbus / 20) !!
Módulo I2C en los HC9S08.....
Módulo pensado
como “Máquina
de Estados”
Diagrama en bloques del módulo MMIIC de un HC9S08.
Módulo I2C en los HC9S08.....
Protocolo I2C.
Módulo I2C en los HC9S08.....
Registro de Direccionamiento I2C (IIC1A).
Registro Divisor de Frecuencia (IIC1F).
Registro de Datos del I2C (IIC1D).
Registro de Control I2C (IIC1C).
Registro de Estado del I2C (IIC1S).
Memoria FLASH.
Memoria Flash en los HC9S08...
Registros de manejo de la FLASH en RAM
Registros de manejo de la FLASH en FLASH
Mapa de memoria del MC9S08AW60 y los registros asociados al manejo de la FLASH.
Memoria Flash en los HC9S08...
FLASH Clock Divider register (FCDIV):
Con este registro se fija la
frecuencia de trabajo del
circuito de escritura de la
Flash entre 150 y 200 khz...
VALOR CRITICO !!!!
Existe un registro de protección de la FLASH contra
escrituras involuntarias similar al disponible en los HC908
La protección contra accesos no autorizados (hackers) se efectúa por
un “Security Password” como en los HC908 y un “BackDoor Key”
en el modo “Secured” exclusivo de los HC9S08....
FLASH Option Register – FOPT (en RAM, $1821).
Memoria Flash en los HC9S08...
Registro de estado de la FLASH (FLASH Status Register - FSTAT).
Las rutinas de grabación / Borrado se almacenan
en FLASH, pero el código se ejecuta en RAM por
una limitación constructiva de la FLASH.
Borrado / Grabación de la FLASH por
medio de una máquina de estados.
Registro de Comandos de FLASH – FCMD (FLASH Commads).
5 Comandos para
manejar la FLASH!!
Background Debug Mode (BDM)
Modo de Emulación Integrado en el Chip.
Background Debug Mode (BDM)...
Dentro de todos los MCUs
HC9S08 hay dos módulos
que facilitan la depuración
de código:
BDM (Background Debug Mode)
On – Chip In Circuit Emulator (On – Chip ICE)
BDM ... Interface a un solo hilo que permite comunicar al MCU con el mundo exterior, ver
registros, Breakpoints, modificar valores en RAM, etc...
On - Chip ICE... Emulador en Tiempo Real integrado al chip que permite introducir
breakpoint por hardware, disparos lógicos, y un Buffer de captura de eventos relacionados a
los estados lógicos, como lo haría un Emulador Externo !!
El pin BKGD es el
nuevo pin disponible en
la familia HC9S08.
El pin “Vprog” es un pin casi sin uso. Algunos
viejos dispositivos MC68HC12 usaban este pin
como fuente externa de tensión de
programación ( + 12V). Hoy no se usa!!
Background Debug Mode (BDM)...
Comandos del Módulo BDM.
•Comandos “Sync” permiten detectar la velocidad de
comunicación.
Provee la habilidad de adaptar automáticamente la
velocidad a la del MCU.
•Comandos “No – Intrusivos” (con un programa de
aplicación corriendo).
Pin Out del conector BDM 6 para los
RS08/HC9S08/V1 ColdFire/HCS12(x)
-Lee o Escribe memoria.
-READ_STATUS – lee el estado del registro de estado y control del BDC.
-WRITE_CONTROL – Escribe el registro de estado y control del BDC.
-BACKGROUND – Habilita el modo Background Activo.
-Configura los puntos de parada por Hardware.
-Habilita / deshabilita el Handshaking por hardware en la comunicación.
•Comandos Background Activos (Active Background).
-Lee o escribe los registros del CPU.
-GO – devuelve el contador del programa a la dirección en curso del programa de Aplicación
(ejecuta el programa del usuario).
-Trace1 – Ejecuta una instrucción del usuario por vez.
- Lee o escribe posiciones de memoria y autoincrementa el puntero de dirección.
Background Debug Mode (BDM)... Herramientas de Hard & Soft
Sistema “R(S)_POD” de
EduDevices
Sistema “U_POD” de EduDevices
Sistema “USBMULTILINKBDME” de P&E
Sistema CodeWarrior y sus aplicativos de
análisis de código.
Background Debug Mode (BDM)... Herramientas de Hard & Soft
Ventana de Código (Source Window) y de Análisis (Trace Windows).
Sistemas de Baja Tensión y Bajo Consumo.
LVLP Systems (Low Voltage, Low Power).
Sistemas de Baja Tensión y Bajo Consumo.
Modos de Bajo Consumo (Low Power Modes):
Incremento en Funcionalidad
•Stop 1.
•Stop 2.
•Stop 3.
•Wait.
El más bajo consumo!!!
Modo Stop 1.
Verdadero “Power – Down” del MCU con una corriente típica de solo 20 nA!! a 2V.
Se sale de este modo SOLO con el pin de IRQ o por medio del pin de Reset.
Ventajas:
-El más bajo consumo posible.
-Despierta por eventos externos por flancos o nivel.
-Se activa el flag PDF el MCU para indicar que se recupera desde un Stop1 en lugar desde un P.O.R
Limitaciones:
-Todo el contenido de la RAM se PIERDE.
-Todos los registros son inicializados como si ocurriera un P.O.R. (tienen el mismo contenido).
Sistemas de Baja Tensión y Bajo Consumo.
Modo Stop 2.
Power Down parcial del MCU con una corriente típica de 400nA a 2V.
Se sale de este modo con una IRQ externa, por Reset o por RTI (Interrupción periódica de tiempo
real).
Ventajas:
-Se mantiene el bajo consumo de energía.
-Se mantiene el contenido de la RAM y los estados de los puertos I/Os.
-El bit PPDF =1, indica luego de la recuperación que hubo un STOP2 en lugar de un P.O.R.
-Se puede usar la función RTI para despertar al MCU sin un evento externo.
Limitaciones:
-Se resetean los valores de los registros, por lo que se requiere reinicialización de estos.
-Se pueden salvar los valores de los registros en RAM y luego reponerlos.
Sistemas de Baja Tensión y Bajo Consumo.
Modo Stop 3.
Es equivalente al modo Stop del HC908 con una corriente típica de entre 500 nA / 700 nA a 2V.
Se sale con cualquier interrupción activa (IRQ, KBI, LVD, RTI o Reset.
Se puede emplear el oscilador externo para la función RTI obteniendose mayor precisión en
los tiempos.
Ventajas:
-Se mantiene el bajo consumo d e energía.
-La RAM y los registros mantienen sus valores originales.
-Se puede usar el oscilador externo para una mayor precisión del RTI.
Limitaciones:
- No tiene tan bajo consumo como en los modos Stop 1 y Stop 2.
Sistemas de Baja Tensión y Bajo Consumo.
Modo WAIT:
-El reloj del Bus permanece activo (FBus Activo).
-Idd = 300 uA @ 2V y 1Mhz de FBus.
-El CPU tiene el reloj deshabilitado, pero el resto de los periféricos disponen del FBUS.
Ventajas:
-Mucho menor consumo que en modo RUN.
-No hay tiempo de recuperación, ya que las interrupciones o el Reset es atendido en
forma inmediata.
-Un modo de reducir el ruido en la conversión A/D.
Limitaciones:
- El regulador permanece encendido, lo que aumenta el consumo de energía respecto de los modos Stop1, 2 o 3.
FIN !!
EduDevices - www.edudevices.com.ar
e-mail: info@edudevices.com.ar
e-mail: soporte@edudevices.com.ar
e-mail: ventas@edudevices.com.ar
e-mail: educacion@edudevices.com.ar