26
10/05/2011 1 Agenda Introducción Presentación de la Familia Cortex M3 Arquitectura de los Cortex M3 Repertorio de Instrucciones y Ejemplos Sistema de Memoria Excepciones, Interrupciones y el NVIC La familia NXP LPC17xx 1 Cortex LPC17xx Subfamilias NXP Subfamilia Cortex M3 - NXP Características principales Compatibilidad pin a pin con la familia ARM7 LPC23xx Introducción de: MPU NVIC WIC Acelerador de Flash DMA 15 comunicaciones serie Muy bajo consumo (Múltiples modos) 4 Cortex LPC17xx

Cortex Vers 3 - Parte 3

Embed Size (px)

Citation preview

10/05/2011

1

Agenda

• Introducción

• Presentación de la Familia Cortex M3

• Arquitectura de los Cortex M3

• Repertorio de Instrucciones y Ejemplos

• Sistema de Memoria

• Excepciones, Interrupciones y el NVIC

• La familia NXP LPC17xx

1Cortex LPC17xx

Subfamilias NXP

Subfamilia Cortex M3 - NXP Características principales

• Compatibilidad pin a pin con la familia ARM7 LPC23xx

• Introducción de:• MPU

• NVIC

• WIC

• Acelerador de Flash

• DMA

• 15 comunicaciones serie

• Muy bajo consumo (Múltiples modos)

4Cortex LPC17xx

10/05/2011

2

Características Principales

• MPU: Permite la protección de zonas de memoria de la acción indeseada de programas

• NVIC: permite la generciación y priorización de interrupciones y minimiza la latencia de las interupciones.

• WIC: permite la rápida entrada en ejecución de programa luego de un estado de bajo consumo.

• Acelerador de flash: Que permite ejecutar el programa sin wait states (ver Cap 3) superando las limitaciones tecnológicsde las memorias Flash.

• DMA: Muchos dispositivos pueden acceder a realizar trasnferencias entre sí o con memoria.

5Cortex LPC17xx

Integrantes y características

6Cortex LPC17xx

Compatibilidad

Se ha buscado facilitar la transición de desarrollos realizados con microsDe la Familia ARM2300 haciendo que los componentes Cortex 176x seanCompatibles pin a pin con aquellos

7Cortex LPC17xx

17xx Diagrama en bloques – Parte 1

8Cortex LPC17xx

10/05/2011

3

17xx Diagrama en bloques – Parte 2

9Cortex LPC17xx

Matriz de buses multicapa AHB

10Cortex LPC17xx

Matriz de buses multicapa AHB

• Las matrices de comunicaciones permiten realizar múltiples actividades simultáneamente a través de los buses.

• Por ejemplo, el procesador puede estar buscando un código de operación y ejecutándolo simultáneamente a que esta accediendo a la comunicación con el exterior (p. ej USB, ethernet o DMA ) a plena velocidad

11Cortex LPC17xx

17xx Diagrama en bloques – Parte 3

•15 canales serie•Las partes sombreadas pueden ser manejadas por DMA•Dos controladores distintos para manejar dispositivos independientemente

12Cortex LPC17xx

10/05/2011

4

Repaso e implementación de la Manipulación de Bits

13Cortex LPC17xx

Manejo de Bits

• El manejo de bits de los ARM7 es bastante primitivo y requiere las acciones de read-modify-write típicas de los microprocesadores

• En la familia Cortex se rescató la filosofía del bit set – bit clear de los microcontroladores.

• Buscando no crear nuevas instrucciones se asociaron palabras de una zona de memoria con bits de periféricos. Es llamado Bit Band

14Cortex LPC17xx

Bit Band

15Cortex LPC17xx

Bit Band

16Cortex LPC17xx

10/05/2011

5

Bit Band

17Cortex LPC17xx

LPC17xx Regiones de bit band

18Cortex LPC17xx

Áreas de bit band

19Cortex LPC17xx

Operación

20Cortex LPC17xx

10/05/2011

6

Manejo de Memoria

21Cortex LPC17xx

Mapa de Memoria•Muy sencillo mapa de memoria lineal de 4GB•Las particiones de la BUS matrix acceden a memoria mediante los buses AHB y PPB

Mapa de Memoria

23Cortex LPC17xx

Mapa de Memoria

24Cortex LPC17xx

10/05/2011

7

Mapa de memoria

25Cortex LPC17xx

Mapa de Memoria LPC1768

Periféricos mapeados como memoria

Periférico APB0 Dirección de base Nombre del Periférico0 0x4000 0000 Watchdog Timer1 0x4000 4000 Timer 02 0x4000 8000 Timer 13 0x4000 C000 UART04 0x4001 0000 UART15 0x4001 4000 reservada6 0x4001 8000 PWM17 0x4001 C000 I2C08 0x4002 0000 SPI9 0x4002 4000 RTC10 0x4002 8000 GPIO interrupts11 0x4002 C000 Pin Connect Block12 0x4003 0000 SSP113 0x4003 4000 ADC14 0x4003 8000 CAN Acceptance Filter RAM15 0x4003 C000 CAN Acceptance Filter Registers16 0x4004 0000 CAN Common Registers17 0x4004 4000 CAN Controller 118 0x4004 8000 CAN Controller 219 a 22 0x4004 C000 a 0x4005 8000 reservada23 0x4005 C000 I2C124 a 31 0x4006 0000 a 0x4007C000 reservada

27Cortex LPC17xx

Tipos de memoria

• Normal: el procesador reordenar transacciones para mejorar eficiencia, o realizar lecturas especulativas.

• Dispositivo: El procesador conserva el orden de las transacciones en relación con otras operaciones a dispositivos o memoria fuertememente ordenada (Strongly-ordered memory).

• Fuertemente ordenado: El procesador conserva el orden de las transacciones en relación con todas los demástransacciones (o sea se deshabilita el buffer de memoria).

28Cortex LPC17xx

10/05/2011

8

Atributos de la memoria

• Compartible: Utilizada para albergar colas y semáforos a ser compartidos por varias actividades (p. ej. Programa principal y DMA). Las zonas de memoria fuertemente ordenadas son siempre compartibles.

• Ejecutar nunca (XN): El intento de acceder a buscar una instrucción a esa zona de memoria, generará una excepción.

29Cortex LPC17xx

Zonas de memoria

30Cortex LPC17xx

Memoria

Al estar sobre3 ramas distintasDe la matriz deBuses, puedenSer accedidassimultáneamente

Flash512 KB Encargada

de la ISP

31Cortex LPC17xx

Acelerador de memoria Flash

32Cortex LPC17xx

10/05/2011

9

Acelerador de memoria Flash

•Permite ejecutar programas desde flash a máxima velocidad• Hasta 100MHz sin introducir Wait States

•Provee interfaces separadas a los buses I-code y D-code•Optimiza la interacción con los buffers de pre-búsqueda del Cortex-M3.•Operación transparente para el usuario. Se programa a través del registro FLASHCFG con el que se puede graduar la aceleración.

128 bits

33Cortex LPC17xx

Secuencia de arranque

•ISP = In system Programming. Se carga todo el programa desde la PC•IAP = In Application Programming. Se modifica la memoria flash en tiempo de ejecución.

Ejecución Normal

In System Programming

Seguridad

34Cortex LPC17xx

Unidad de Protección de Memoria (MPU)

35Cortex LPC17xx

MPU

36Cortex LPC17xx

10/05/2011

10

MPU

• Permite dividir la memoria en regiones y asignarles ubicación, tamaño, atributos y permisos de acceso.

• Son 8 zonas numeradas de 0 a 7. Permite organizar zonas de memoria separadas o superpuestas (overlapping) con permisos individuales.

• En las zonas compartidas, vale los atributos de la zona de mayor número (ej. 7 sobre 5)

• Una región de memoria denominada background, tiene los mismos atributos de acceso default del sistema y sólo puede ser accedida con acceso privilegiado.

• Los sistemas operativos (OS) pueden cambiar dinámicamente la configuración de las zonas acorde a los requerimientos de las tareas.

37Cortex LPC17xx

Relojes

38Cortex LPC17xx

Características de los tres distintos relojes

1. Oscilador RC interno (IRC) (Default)• Fuente de reloj para el watchdog y/o el reloj que excita al PLL y

subsecuentemente a la CPU. • La frecuencia normal del IRC es de 4 MHz con una exactitud de ±1% en todo el entorno de temperatura y tensión

2. Oscilador Principal• Fuente de reloj de la CPU usando o no el PLL• El oscilador principal también provee la fuente de reloj para el

PLL dedicado del USB.• Opera a frecuencias desde 1 MHz a 25 MHz

3. Oscilador del RTC• Fuente de reloj para el bloque del RTC, el PLL principal y

subsecuentemente la CPU• Clock de 1 Hz al RTC

39Cortex LPC17xx

Características detalladas de los distintos relojes (1/2)

PLL Principal (PLL0)

• Frecuencia de entrada en el rango de 32 kHz a 25 MHz

• Puede utilizar el oscilador principal, el oscilador RC interno o el oscilador del RTC

• Frecuencia de salida: de 10 MHz a la máxima de la CPU

PLL Secundario (PLL1)

• Dedicado a proveer el reloj con la precisíón requerida por la interfaz USB. Agrega flexibilidad al PLL Principal. Recibe el PLL0 y genera 48 MHz para USB

Registro(s) de selección del Reloj de Periféricos

• Utilizados para controlar la señal de reloj que será utilizada para los periféricos individualmente

• Cada periférico tiene sus ajuste individual de reloj y que puede ser llevado a ser igual al de la CPU o puede ser dividido desde la misma

40Cortex LPC17xx

10/05/2011

11

Características detalladas de los distintos relojes (2/2)

Funcíones de salida de Reloj

• Desde la frecuencia generada por el oscilador, se puede dividir para disminuir la potencia consumida al disminuir la frecuencia de trabajo

• Usada para sincronizar dispositivos externos con el reloj de la CPU

• Usada durante el proceso de desarrollo para permitir verificar el funcionamiento del oscilador principal, el reloj IRC, el reloj RTC, el reloj de la CPU (cclk), o el reloj de USB

41Cortex LPC17xx

Ampliación del funcionamiento

Cualquiera de las tres puede ser usada para generar cclk

La combinación de ambos permiten generar cclk

42Cortex LPC17xx

Ampliación del funcionamiento

Derivados de cclk y pudiendo excitar 4 periféricos

43Cortex LPC17xx

Ampliación del funcionamiento

Fuentes del

watchdog clock

44Cortex LPC17xx

10/05/2011

12

Ampliación del funcionamiento

Opción 1

Opción 2

45Cortex LPC17xx

Salida de Reloj

Puede ser empleada

para excitar otros

dispositivos o bien para test

46Cortex LPC17xx

Controlador de interrupciones anidadas NVIC

47Cortex LPC17xx

Interrupciones

• LPC 17xx soporta 35 interrupciones vectorizadas con 32 niveles de prioridad programables para cada interrupción• Se agruparán los valores de campos de prioridad en grupos y

subgrupos de prioridades

• NMI = Interrupción externa no enmascarable

• Latencia de interrupciones determinística

• Características avanzadas• Prioridad de pre-vaciado

• Tail chaining (encadenado de colas)

48Cortex LPC17xx

10/05/2011

13

Terminología (a ser ampliada)• Determinístico: Que es predecible. Dado un conjunto de

entradas, siempre producirá las mismas salidas pasando por la misma secuencia de estados.

• Prevaciado (preemption) Habilidad de un sistema operativo o programa similar de detener la ejecución de una tarea programada a favor de una tarea de mayor prioridad.

• Tail chaining: Forma de encolar los retornos de interrupciones anidadas, de forma de optimizar el tiempo total de ejecución.

• Latencia de interrupciones: Demora experimentada desd que se genera una interrupción hasta que es atendida

49Cortex LPC17xx

Latencia de Interrupciones del NVIC

Latencia de interrupciones determinística• Cortex-M3 tiene una latencia de interrupción de 12

ciclos y 12 ciclos para retornar de la ISR• ARM7 tiene una latencia de interrupción entre 24 y

42 ciclos y 16 de retorno. NO ES DETERMINÍSTICO

50Cortex LPC17xx

Tail Chaining

En el caso de que una interrupción de mayor prioridad interrumpa una de menor prioridad, se abreviará el proceso de salida y nueva entrada a interrupción (Tail Chaining)

51Cortex LPC17xx

Tipos de Excepciones en Cortex M3

Pro

pias

de

núcl

eo C

orte

x

52Cortex LPC17xx

10/05/2011

14

Tabla de Vectores

Comienza en dir 0 �Pero puede ser reubicado en RAM programando el NVIC

Direcciones (no programa)

53Cortex LPC17xx

Priorización de la interrupción

• Cada fuente de interrupción tiene un valor de prioridad de 5 bits

• Controladas por los registros del NVIC Reset Contro Reg y el campo PRIGROUP del registro Application Interrupt

54Cortex LPC17xx

Application Interrupt and Reset Control Register del NVIC

55Cortex LPC17xx

Conjunto de bits PRIGROUP

Define cuantos bits son utilizados para el grupo y cuántos para el sub-grupo

56Cortex LPC17xx

10/05/2011

15

Ejemplo

57Cortex LPC17xx

GPIO

58Cortex LPC17xx

Entradas y Salidas (GPIO)

• 70 GPIOs de alta velocidad (LQFP100) y 52 GPIOs (LQFP80)

• Todas las patas tienen pull-ups, pull-downs, o ninguna.

• Todas las patas pueden ser configuradas como open drain

• Los registros de los GPIO estan ubicados en el bus de periféricos AHB para accesos rápidos a E/S

• Los registros de GPIO son accesibles por medio del GPDMA

• Entradas externas de interrupción

• 46 entradas de interupción sensibles a flanco

• 4 entradas de interrupción sensibles a nivel o a flanco

• Opcionalmente pueden despertar al procesador desde el Power-down

59Cortex LPC17xx

GPIO e Interrupciones Externas

• Se pueden seleccionar (programando los pines) hasta 46 entradas de interrupción sensibles a flancos (42 GPIO + 4 EINT).

• Las entradas de interrupción pueden ser opcionalmente utilizadas para despertar al procesador de los modos de Power down

60Cortex LPC17xx

10/05/2011

16

Timers

61Cortex LPC17xx

Timers del LPC1769

Tem

poriz

ador

es

Timers

• Cuatro timers de propósito general

• Watchdog

• Timer generador de interrupciones repetitivo

• PWM (Operación del timer)

• Systick

63Cortex LPC17xx

Timer (0, 1, 2, y 3), Watchdog

Timers/counters de 32-bit

• 8 entradas de captura externa

• 4 salidas externas de coincidencia (match)

• Modo de temporización o de conteo

• Soporte de controlador GPDMA

• Peremite transferencias de memoria a memoria temporizadas

Watchdog Timer

• Tiempo programable de 32-bits

• Temporizado por el reloj IRC o por el de periféricos

• Puede ser utilizado para despertar al sistema en los modos de bajo consumo

• NO puede ser deshabilitado por programa

64Cortex LPC17xx

10/05/2011

17

Particularidades de los Timers

Timer de interrupción repetitiva (RIT)

• Timer de 32-bits

• Astable (Free-running)

• Reset on Match Interrupt

• Útil para eventos repetitivos definidos por el usuario

Timer SYSTICK (parte del NVIC)

• Timer decreciente de 24 bits dedicado de 10 ms.

• Temporizado desde el reloj de la CPU o desde una pata(STCLK)

• Útil para sistemas operativos o despachadores de tareas

65Cortex LPC17xx

Real-Time Clock (RTC)

Ultra-low power 32 kHz oscillator provides 1 Hz clock to the RTC

Separate battery power supply

Uses CPU power supply, when present

Calibration mechanism

±1 second per day

Battery-backed registers -20 bytes

Alarm function generates interrupts

Wakes CPU from reduced power modes

1 second resolution

Extremely low power consumption

390 nA (typical @ 25ºC)

Calendar function does not require CPU involvement

RTC works with Vbatas low as 2.1 V

66Cortex LPC17xx

Systick

• Timer de 24 bits que se decrementa a 0 y provee 10 ms entre interrupciones (a 100 MHz de CPU)

• Puede utilizar como base de tiempo el clock de la CPU o STCLK

67Cortex LPC17xx

Modulación del ancho de pulso

(PWM)

Bloque estandar PWM

• Resolución de 32-bits

• 6 salidas PWM single-edge ó 3 double-edge

• Mecanismo de Latch sombreado

• Operación sin glitches

Bloque PWM con operación de contador o de timer

• Fuente de reloj: Reloj de periféricos o entradas de captura

• Puede ser usado como timer/contador de propósito general

68Cortex LPC17xx

10/05/2011

18

PWM para control de motores trifásicos

69Cortex LPC17xx

Bloque de control de Motores

• Soporte para motores trifásicos de AC y DC• Tres pares de salidas PWM

• Cada una con polaridades opuestas

• Alineadas al flanco o al centro

• Inserción de banda muerta programable

70Cortex LPC17xx

Reloj de tiempo Real (RTC)

71Cortex LPC17xx

RTC

72Cortex LPC17xx

10/05/2011

19

DMA

73Cortex LPC17xx

Controlador de DMA de propósito General (GPDMA)

74Cortex LPC17xx

Controlador de DMA de propósito General (GPDMA)

Soporta transferencias de periféricos de

alta velocidad como transferencias de

memoria a memoria

• 32-bit master bus width (soporta transferencias de 8-, 16-, or 32-bits)

• 8 Canales de DMA, cada uno con una FIFO de 4 palabras

• 16 línes de requerimiento de DMA

Transferencias soportadas:

• Memoria a Memoria

• Memoria a Periférico

• Periférico a Memoria

• Periférico a Periférico75Cortex LPC17xx

Controlador de DMA de propósito General (GPDMA)

• DMA soporta los siguientes periféricos:• ADC de 12-bits

• DAC de 10-bits

• Pueden ser disparados por una Timer match condition

• Todas las UARTs

• SSP

• I2S

• GPIO

• Señales de solicitud de DMA simple y DMA en ráfagas

76Cortex LPC17xx

10/05/2011

20

Periféricos del LPC1769

Com

unic

acio

nes

serie

Los

regi

stro

s gr

isad

os s

onA

cces

ible

s po

r DM

A

DMA

78Cortex LPC17xx

Interfaces Serie

79Cortex LPC17xx

Interfaces serie

80Cortex LPC17xx

10/05/2011

21

SPI y SSP(0 y 1)Controlador SPI (Serial Peripheral Interface)

• Comunicación sincrónica, serie y full Duplex.

• SPI master ó slave

• Transferencia de 8 ó 16 bits

• Reloj con polaridad y fase programables para operaciones de recepción/transmisión

• Máxima velocidad (master/slave) 12.5 Mbps

Controlador SSP (Synchronous Serial Communication)

• FIFOs de 8 tramas tanto para Transmisión y Recepción y capacidad de multiprotocolo

• Transferencias de datos de 4 a 16-bits

• Soporte de DMA

• Maxima velocidad

•50 Mbps (Master Mode)

•8 Mbps (Slave Mode)

81Cortex LPC17xx

I2C (0, 1, & 2)I2C Bus interface (Inter-Integrated Circuit)

• Satisface la interfaz I2C

• Puede ser configurado como Master, Slave o Master/Slave

• Transferencia de datos bidireccional entre Masters y Slaves.

• Puerto compatible con Fast-mode Plus I2C (1 Mbit/sec) (I2C0)

• Reloj Programable para permitir el ajuste de las tasas de transferencia I2C

• Reconcimiento opcional de hasta 4 distintas direcciones de esclavo

• Modo de monitoreo del bus

82Cortex LPC17xx

Interfaz I2S (Inter-IC Sound)• Entrada o salida de audio digital con control de velocidad fraccionario.

• Suporta conexiones combinadas de transmisión o recepción de 3 ó 4 cables

• Entrada/salida de reloj de audio Master (utilizada por muchos CODECs I2S)

• La entrada y salida I2S pueden operar independientemente como master o slave.

• Soporta tanto los flujos de datos mono o estereo sobre un amplio rango de frecuencias de muestreo que pueden variar de 16 a 96 kHz

• El soporte GPDMA permite el flujo de datos de audio sobre la interfaz I2S

83Cortex LPC17xx

Interfaces Serie UART (0, 1, 2, y 3)UART (Universal Asynchronous Receiver/Transmitter)

• FIFO de 16 bytes para Recepción y Transmisión con soporte de DMA

• Divisor fraccionario para control del baud rate , capacidad de auto-baud, e implementación de control de flujo por hardware o software.

• La UART1 soporta EIA-485/RS-485 y operaciones con 9-bits.

• Permite tanto la detección de la dirección por software y detección automática de la dirección por medio de la comunicación de 9 bits.

• Control automático del sentido de la comunicación (Auto Direction)

• Linea de Control RTS/DTS para habilitar o deshabilitar el driver

• El Software levanta la línea RTS antes de comenzar la transmisión a fin de habilitar lel driver, posteriormente baja la línea RTS luego de completar la transmisión.

• Soporte para el control de modem (UART1)

• Soporte de comunicaciones infrarrojas IrDA (UART3)

• Velocidad máxima posible de la UART ~ 6 Mbps

84Cortex LPC17xx

10/05/2011

22

CAN (1 y 2), Ethernet, USB Controlador CAN 2.0B (Controller Area Network)

• Compatible con la especificación CAN 2.0B

• Velocidades de hasta 1 Mbps en cada bus

• Filtro de aceptación por hardware que reconoce identificadores de 11 y 29-bit Rx

Interfaz Ethernet

• MAC Ethernet con interfaz RMII (Reduced Media Independent Interface)

• Soporta dispositivos con PHY de 10 o 100 Mbps

• Controlador dedicado de DMA

• Completamente compatible 802.3x Full Duplex Flow Control y Half Duplex back pressure

Bloque USB

• USB 2.0 Full Speed (12 Mbps) Device, Host, OTG

• On-chip PHY para implementar funciones tanto como Host o dispositivo

• Controlador dedicado de DMA

85Cortex LPC17xx

USB

• USB 2.o Full Speed (12 Mbps) como Device e interfaz de control On-the-Go/Open Host

• Phy incorporada para funciones Device/Host/OTG

• Controlador de DMA dedicado

86Cortex LPC17xx

Bloques Analógicos

87Cortex LPC17xx

Conversor A/D

12-bit ADC (Analog-to-Digital Converter)

• Max. Velocidad de conversión a 12 bits: 200 kHz.

• Ocho entradas analógicas

• Soporte para el controlador GPDMA

• Modo de bajo consumo

• Rango de entradas al ADC: VREFN hasta VREFP

• Modo de conversión en ráfagas para una o varias entradas

• Conversión con la transición de la entrada o por timer

• No linealidad integral (INL) ±3 LSB

• No linealidad diferencial (DNL) ±1 LSB

88Cortex LPC17xx

10/05/2011

23

DAC (Digital-to-Analog Converter)

de 10 bits• Salida Analógica desde VREFN hasta VREFP en 1024

pasos

• Soporte del controlador GPDMA

• Tiempo de conversión = 2.5 μs con una excitación de 350 μA

• Tiempo de conversión = 1 μs con una excitación de 700 μA

89Cortex LPC17xx

POR y BOD

• Power on reset

• BOD: Si la tensión de alimentación cae debajo de 2,95 V se puede generar una interrupción que permita salvar registros y variables en algún medio no volátil

90Cortex LPC17xx

Modos de baja energía consumida

91Cortex LPC17xx

Modos bajo consumo

92Cortex LPC17xx

10/05/2011

24

Alimentaciones

• 3,3 V (2,4 a 3,6 V)

• Vdd (reg) (3V3) – regulador interno

• Vdd (3V3) – Pads de E/S

• Vbat (2,1 V a 3,6 V)

• Alimenta sólo al RTC

• No alimenta RAM

• Alimenta 20 bytes de registros de backup

• Conversor A/D de 12 bits

• Vdda (parte analógica)

• Vrefp

93Cortex LPC17xx

Opciones de energía

Modos de energía reducida

• Amplio rango de fuentes de reloj

• Posibilidad de dividir o apagar relojes a los periféricos on-chip en forma individual

• Ireg= 45 mA a 100 MHz (Típico a@ 25ºC)

• Potencia activa de Cortex-M3 ~ 500μA/MHz

• Potencia activa de ARM7 ~ 700μA/MHz

94Cortex LPC17xx

Modos de energía reducida (1/2)Sleep

• Se suspende la ejecución de la CPU

• Los periféricos continúan trabajando

• (Similar al modo Idle del ARM7)

• Ireg= 2.28 mA (valores típicos@ 25ºC)

Deep-Sleep

• El oscilador principal y todos los relojes internos excepto el IRC son detenidos

• La memoria Flash está en standby, lista para uso inmediato

• Ireg= 276 μA (valores típicos@ 25ºC)

95Cortex LPC17xx

Modos de energía reducida (2/2)

Power-down

• Igual que en el modo Deep-Sleep excepto que se apagan Flash e IRC

• Se recupera por medio de algunas interrupciones

• Se preserva el estado

• Ireg= 51 μA (valores típicos@ 25ºC)

Power-down Profundo

• Todos los relojes, incluyendo el IRC son detenidos y la tensión interna es desconectada

• Se pierde completamente el estado dels sistema, sólo se preservan los registros del dominio del RTC

• Se reactiva por medio de Reset, señal externa o alarma del RTC

• Ibat= 390 nA (valores típicos@ 25ºC)

) 96Cortex LPC17xx

10/05/2011

25

Wakeup Interrupt Controller (WIC)

• Permite despertar de los modos Deep Sleep y Power down (sin utilizar el NVIC).

• Completamente controlada por hardware (no requiere programación)

• Interrupciones empleadas

• NMI, Interrupciones externas EINT0 a EINT3, interrupciones de GPIO, Interrupción de despertado por Ethernet, Alarma del RTC, CAN ó USB.

• Watchdog despierta al modo Deep sleep si utiliza el oscilador IRC

97Cortex LPC17xx

Herramientas

Standard

CMSIS define para un sistema Cortex-Mx:

• Un modo común de acceder a registros de periféricos y un modo común de acceder a vectores de excepción

• Los nombres de los registros de los periféricos del núcleo y los nombres de los vectores de excepción del núcleo

• Una interfaz independiente del dispositivo para kernels de los RTOS, incluyendo un canal de depuración

• Interfaces para componentes middleware (TCP/IP Stack, Flash File System)

98Cortex LPC17xx

Consumo de Energía

99Cortex LPC17xx

Herramientas

100Cortex LPC17xx

10/05/2011

26

Emulación y depuración

• Las funciones de depuración y trazado están integradas en el ARM Cortex-M3

• Estandar JTAG (5 patas)

• Serial wire debug (SWD) (dos patas)

• Interfaz para la Embedded Trace Macrocell (ETM) para trazado en tiempo real

• Soporta hasta ocho breakpoints y cuatro watchpoints

101Cortex LPC17xx

Herramientas

• Utilizando componentes de software compatibles con CMSIS, el usuario puede reutilizar la plantilla de código.

• CMSIS esta dirigido a permitir la combinación de componentes de software de múltiples vendedores de middleware

102Cortex LPC17xx

Referencias

http://event.on24.com/clients/default/presentation/default.html?titlecolor=000000&eventid=143900&sessionid=1&username=&partnerref=&format=rmaudio&key=4B2981D839231C9C19F8AF717E67D193&text_language_id=en&playerwidth=1020&playerheight=685&eventuserid=46875874&contenttype=A&mediametricsessionid=40306582&mediametricid=358721&usercd=46875874&mode=launch

http://ics.nxp.com/support/training/cortex-m.intro/

http://ics.nxp.com/support/training/lpc1700.overview/

103Cortex LPC17xx

That’s All Folks

104Cortex LPC17xx