Download Cortex A5 + Cortex M4

Document related concepts
no text concepts found
Transcript
Electrocomponentes S.A.
SASE 2012
Vybrid
Dual Core ARM CortexTM A5-M4
Freescale
Agenda
• Microcontroladores vs. Microprocesadores.
• Aplicaciones.
• Comparacion de Arquitecturas.
– Arquitectura Cortex A5.
– Arquitectura Cortex M4.
• Línea de productos Vybrid.
• Herramientas de programación y entornos
de desarrollo.
¿Qué es un Microprocesador?
• Un Microprocesador (uP) es un circuito integrado que incorpora en su
interior una unidad central de proceso (CPU) y todo un conjunto de
elementos lógicos que permiten enlazarlo con otros dispositivos como
pueden ser memorias y puertos de entrada y salida (I/O). Es un sistema del
tipo “ABIERTO”.
¿Qué es un Microcontrolador?
• Un microcontrolador (uC) es un circuito integrado que nos ofrece las
posibilidades de un pequeño computador. Es decir, que en su interior
podemos encontrar un procesador, memorias, y varios periféricos (puertos
I/O, A/Ds, D/A, etc.).
Bonus
•
Un procesador digital de señales o DSP (sigla en inglés de digital signal
processor) es un sistema basado en un microprocesador que posee un
juego de instrucciones, un hardware (MAC) y un software optimizados para
aplicaciones que requieran operaciones numéricas a muy alta velocidad.
Debido a esto es especialmente útil para el procesado y representación de
señales analógicas en tiempo real.
¿Donde usar un
microcontrolador?
• Microcontroladores
– Aplicaciones de media y baja gama, donde
habitualmente se requiere Flash embebida.
– Aplicaciones portátiles y de bajo consumo.
– Donde se necesite manejo rápido de
puertos de entrada y salida.
– Donde se necesite una respuesta en
“tiempo real”, es decir baja latencia en las
interrupciones.
– Aplicaciones típicas pueden ser:
• Medidores de consumo (Metering)
• Aplicaciones medicas e instrumentación.
• Automatizacion de facbricas y control de
edificios.
• Linea blanca, accesorios de PC y
aplicaciones de consumo.
Kinetis
Microcontrollers
Design Potential. Realized
Scalable solutions from 50 to 200 MHz
built on ARM® Cortex™-M4
• Up to 4 MB flash / 512 KB SRAM
• Ethernet & USB HS
• Support for DDR and NAND
• Segment or graphics LCD
• Real-time, deterministic operating systems
like MQX, Micrium uC/OS-III, FreeRTOS,
ThreadX, embOS
¿Donde usar un
microprocesador?
• Microprocesadores
i.MX Applications
Processors
Your Interface to the World.
Industry-leading scalable,
versatile and secure solutions from 500 Mhz
to 1.2 GHz built on ARM® ARM9 ™,
ARM11™, Cortex™-A8 and Cortex ™-A9
• Single, dual and quad core
• Triple play graphics
• Up to four displays
• Mobile, PC, auto and industrial interfaces
• Linux
• Android
• Windows
• QNX
– Aplicaciones de alta gama, donde se
requiera interfases de usuario
avanzadas y el manejo de multimedia
una alta definición.
– Donde se necesite trabajar con
sistemas operativos.
– Donde se necesite Cuando se necesite
trabajar con protocolos de multimedia
como ser MP3, MPG4, etc.
– Aplicaciones típicas pueden ser:
• Soluciones de eReader
• Sistemas de infotainment (información y
entretenimiento)
• Equipos de diagnostico por imágenes.
• Redes (Networking), Router, Switch.
• Maquinas de juego.
¿Y el resto de las
aplicaciones?
• Aplicaciones en tiempo Real que requieren graficos en 2D y
Gráficos Vectoriales Redimensionables (scalable vector
graphics - SVG)
• Soluciones optimizadas de audio para aplicaciones
automotrices y de consumo.
• Preciso control de motores.
• Bus de comunicaciones Ethernet industrial
• Puntos de venta.
Introducing the
New Vybrid
Controller Solutions
Total System Solution
Rich Apps
in Real
Time
Everything you need at your fingertips to go from concept to market faster and
easier
Unprecedented System Integration
Ensure peace of mind for applications requiring secure real-time control and
rich human-machine interaction
Optimal System Performance
Drive optimal power and performance through a portfolio of products that
provide the right levels of applications processing and real-time control for a
range of systems
Vybrid
• Son dispositivos basados en una arquitecuta de multiprocesamiento
asimetrica usando cores ARM® cores. El portfolio de Vybrid ofece al
mercado el unico, sistema de bajo consumo que provee a los clientes
un camino para combinar aplicaciones que requieren display graficos
de alta resolucion y conectividad en tiempo real determinista. Esto
permite al cliente crear sistema que simultaneamente corren un sistema
operativo de alto nivel como ser Linux y un sistema operativo de
tiempo real como ser MQX en el mismo dispositivo.
Manejo centralizado de
edificios
A5
Sensor
s
• High Level OS i.e.
Linux
• Human machine
interfaces
–Display, Camera,
keypad
• Connectivity
–Ethernet, WiFi,
USB
Analog
ADC
ADC
PWM
FlexTimer
DAC
Core
ARM®
Cortex-A5
Up to 500
MHz
Core
ARM®
Cortex-M4
Up to 167
MHz
DDR
NAND
EBUS
UART
I2C
I2C
CAN
CAN
Security
TD
SDIO
SDIO
Wi-Fi
Ethernet
ENET
LAN
USB Host
USB
USB OTG
USB
GPIO
GPIO
Quad SPI
DDR-C
Audio
Display and Imaging
NAND-C
External
Bus
M4
• Real-Time OS i.e.
MQX
–Power Mgmt
–Control of I/O
peripherals
–ADC control
–Audio control for
Alarm
UART
DAC
Memory I/F
Q SPI
Communication
IP
Camera
Audio
CODEC
Touch
Screen
Audio In
Tamper
Detection
USB
Keypa
d
ePos Multimedia
A5
Motor
Control
• High Level OS i.e.
Linux
• Human machine
interfaces
–Display, Camera,
keypad
• Connectivity
–Ethernet, WiFi, USB
• Security
–TrustZone, Boot
Analog
ADC
Audio
Out
ADC
PWM
FlexTimer
DAC
Core
ARM®
Cortex-A5
Up to 500
MHz
Core
ARM®
Cortex-M4
Up to 167
MHz
DDR
NAND
EBUS
M4
• Real-Time OS i.e. MQX
–Power Mgmt
–Control of I/O peripherals
–ADC/PWM for motor
control
–Audio control for Alarm
& information
UART
UART
I2C
I2C
CAN
CAN
Security
TD
SDIO
SDIO
Wi-Fi
Ethernet
ENET
LAN
USB Host
USB
DAC
Memory I/F
Q SPI
Communication
Quad SPI
DDR-C
Audio
NAND-C
Display and
Imaging
External
Bus
USB OTG
USB
GPIO
GPIO
Trigge
r
Audio
CODEC
Touch
Screen
Audio
In
Tamper
Detectio
n
USB
Keyp
ad
Monitor Hospitalario Portátil
Ejemplo de arquitectura de multiprocesamiento
asimétrica
Cortex-A5
Non-Critical Code
(Host OS)
Cortex-M4
Events
Critical-Code
Inter-Processor
Calls
Linux communication stacks
DLL, graphics, everything else ...
• Importance of HMI in medical is becoming more
important, however FDA approval is lengthy
even for minor changes to the product
• With a single-chip, dual-core device, medical
customers can segment the main application
code into
a) Non-critical sections and
b) Critical sections
Only “Critical
Code”
subjected to
FDA approval
Custom algorithms
Measurement Signal
biasing acquisition
• Changes to critical sections can require FDA
approval. Approval process can be minimized for
changes to non-critical section (i.e. integrating a
new communication interface)
• Cortex-M4 core is ideally suited to handle realtime functions of patient critical health parameters,
while the Cortex-A5 is ideal for applications
processing of the HMI
Arquitecturas ARM
• ARM posee un gran numero de arquitecturas, las mas difundidas son:
– ARMv4T (ARM7TDMI y ARM9T)
– ARMv5TEJ (ARM926EJ y ARM7EJ)
– ARMv6 (ARM11)
– ARMv6-M (Cortex-M0)
– ARMv7
• Perfil M, diseñado para aplicaciones de microcontroladores, un procesamiento
eficiente es tan importante como, el bajo consumo y un bajo costo.
• Perfil R, diseñado para aplicaciones embebidas de alta prestaciones, en los cuales un
desempeño en tiempo real es necesario.
• Perfil A, diseñado para correr sistemas operativos tales como Linux o Windows CE.
Arquitecturas ARM
Soluciones ARM de
Freescale
Performance
i.MX6
i.MX6 Series
Series
ARM
ARM Cortex-A9
Cortex-A9
i.MX5x
i.MX5x
ARM
ARM Cortex-A8
Cortex-A8
Vybrid
Vybrid Controller
Controller
Solutions
Solutions
ARM
Cortex-A5
ARM
Cortex-M4
i.MX35
i.MX35
ARM
ARM®® 11
11
i.MX2xx
i.MX2xx
ARM
ARM 99
Kinetis
Kinetis MCUs
MCUs
ARM
ARM
Cortex-M4
Cortex
Cortex-M4
Integration
Arquitectura
• La arquitectura de un procesador esta formada por:
– La arquitectura del set de instrucciones (ISA).
– El ó los buses de comunicaciones.
– La segmentación (pipeline).
– El soporte de memoria (virtual/protegida).
ISA – Tipo de
Instrucciones
• Cuando hablemos del set de instrucciones o mejor dicho la arquitectura del
set de instrucciones (ISA), se tendrá en cuenta varios elementos.
– El tipo de datos con que trabaja.
• En nuestro caso todas las arquitecturas que analizaremos son de 32 bits. Todas van a
soportar trabajar con datos 8, 16 y 32 bits. Y en el caso de los CortexTM-A también
con 64 bits.
– El tipo de instrucciones propiamente dicho.
– Los registros.
– Los modos de direccionamiento.
– Las excepciones/interrupciones y su manejo.
ISA – Tipo de
Instrucciones
• Los sets de instrucciones suele estar
comúnmente separados en dos grupos:
– RISC: Reduce Instuction Set Computer.
La filosofía de estos dispositivos se
concentra en reducir la complejidad de las
instrucciones desempeñadas por el
hardware, porque es fácil proveer
mayores flexibilidad e inteligencia en el
software que en el hardware, lo que
conlleva un aumento de la complejidad
del compilador.
– CISC:Complex Instruction Set Computer.
Esta filosofía se basa en aumentar la
complejidad del hardware para la
funcionalidad de las instrucciones, lo que
conlleva un set de instrucciones mas
complicado, pero produce que el
compilador utilice menos recursos.
ISA – Tipo de
Instrucciones
• Todas los procesadores ARM poseen un set de intrucciones tipo RISC.
• Las principales características de una arquitectura tipo RISC son:
– Gran cantidad y uniformidad de registros, que pueden almacenar datos y
direcciones. Actuando como memoria local de acceso rápido para todas las
operaciones de procesamiento de datos.
– Arquitectura Load-Store.
– Modos de direccionamiento simples, con todas las direcciones de load/store
siendo determinadas desde contenidos de registros y campos de instrucciones.
– Cantidad de campos y largos de instrucciones fijos, lo que facilita la
decodificación de la mismas.
– Reducido numero de instrucciones, las cuales debido a su simplicidad pueden ser
ejecutadas en un solo ciclo de maquina. El complilador sintetizara operaciones
complejas en múltiples operaciones sencillas.
• Estas características, generan un aumento del desempeño del procesador con
el costo de un aumento en el tamaño del código.
ISA – Terminos
• MIPS es el acrónimo de "millones de instrucciones por segundo". Es
una forma de medir la potencia de los procesadores. Sin embargo, esta
medida sólo es útil para comparar procesadores con el mismo juego de
instrucciones y usando benchmarks que fueron compilados por el
mismo compilador y con el mismo nivel de optimización.
• El Dhrystone es un pequeño benchmark sintético que pretende ser
representativo de programación entera de sistemas. Está basado en
estadísticas publicadas sobre uso de particularidades de los lenguajes
de programación, sistemas operativos, compiladores, editores, etc.
Set de Instrucciones
• Inicialmente los procesadores ARM solo tenían un set de instrucciones de 32
bits (set ARM).
• A partir de la arquitectura ARMv4T, se incorpora un set de instrucciones de
16 bits (set Thumb).
• Este nuevo set de instrucciones:
– Reduce las funcionalidades del procesador, ya que para reducir el largo de
instrucciones son eliminados de este los bits de ejecución condicional y uno de
los operadores que las instrucciones de 32 bits incluían.
– Aumenta la cantidad de instrucciones para realizar una tarea particular, pero
disminuye la densidad de código total.
– Esta reducción de funcionalidades produce una disminucion del desempeño, en el
caso de un ARM7TDMI de los 0.94 DMIPS/Mhz en modo ARM, pasa a 0.74
DMIPS/Mhz en modo Thumb.
– En sistemas donde los puertos o el ancho del bus es menor a 32 bits se consigue
un aumento de desempeño trabajando en modo Thumb respecto al modo ARM.
Set de instrucciones
• A partir del procesador ARM1156 (arquitectura ARMv6T2), se incorpora el
set de instrucciones Thumb 2.
• Segunda generación del set Thumb.
– Blended 16 bit y 32 bit set de instrucciones.
– 25% mas rapido que Thumb
– 30% mas chico que ARM.
• Incrementa el desempeño pero mantiene la densidad de código.
• Maximiza el cache y el uso de la memoria TCM.
Set de Instrucciones
• Cortex M4
– Thumb®-2 / Thumb
– Single cycle 16,32-bit
MAC
– Single cycle dual 16bit MAC
– 8,16-bit SIMD
arithmetic
– Hardware Divide (2-12
Cycles)
• Cortex A5
– ARM
– Thumb®-2 / Thumb
– DSP & SIMD
extensions
– VFPv4 Floating
Point (optional)
– NEON™ Advanced
SIMD (optional)
– Jazelle® DBX and
RCT
Bus de comunicaciones
Arquitectura Harvard
Arquitectura Von Neumann
Segmentación
• Segmentación: pipeline, es un
método por el cual se consigue
aumentar el rendimiento de
algunos sistemas electrónicos
digitales (microprocesadores).
La segmentación consiste en
descomponer la ejecución de
cada instrucción en varias
etapas para poder empezar a
procesar una instrucción
diferente en cada ciclo de
maquina y de esta forma
trabajar con varias
simultáneamente.
Segmentación
• Algunos microprocesadores tienen las siguientes etapas en una instrucción:
– IF: búsqueda
– ID: decodificación
– EX: ejecución de unidad aritmético lógica
– MEM: memoria
– WB: escritura
• Cada una de estas etapas de la instrucción usa en exclusiva un hardware
determinado del procesador, de tal forma que la ejecución de cada una de
las etapas en principio no interfiere en la ejecución del resto.
Segmentación
• Algunos procesadores poseen una segmentación que permite comenzar mas
de una instrucción por ciclo de maquina, es decir tiene “n” etapas de pipeline
y de esta forma conseguir mayor paralelismo.
• Existen dos tipos de arquitecturas para este tipo de segmentación:
– Superescalar
– VLIW (Very Long Instruction Word)
• La diferencia de estas arquitecturas radica en quien decide que instrucciones
se ejecutan en paralelo.
– Superescalar, lo decide el procesador en tiempo de ejecución.
– VLIW, lo decide el programador o el compilador.
Segmentación
• Cortex M4
– 3 etapas mas
predicción de salto.
– Arquitectura simple
– Unidades de ejecución
• SPFPU
• v7-ME (DSP+SIMD)
• Cortex A5
– 8 etapas mas
predicción de salto.
– Arquitectura
superescalar limitada
(ALU + Br)
– Unidades de ejecución
•
•
•
•
VFPv3 (SP + DP FPU)
NEON SIMD
MMU
TrustZone
Soporte de memoria
•
La o las unidades de soporte de memoria son dispositivos de Hardware formado
por un grupo de circuito integrados, responsable del manejo de los accesos a la
memoria por parte de la Unidad de Procesamiento Central (CPU).
•
Entre las funciones de estos dispositivos se encuentran la traducción de las
direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la
memoria, el control de caché y, en arquitecturas de computadoras más simples
(especialmente en sistemas de 8 bits), Bank switching.
•
En la actualidad muchos procesadores separan la funciones de traducción de
direcciones de memoria y de protección de memoria en dos unidades, llamando a la
primera MMU (VMSA como lo suele llamar ARM) y a la segunda MPU (PMSA
como lo suele llamar ARM).
•
Cache: Un caché es un sistema especial de almacenamiento de alta velocidad.
Puede ser tanto un área reservada de la memoria principal como un dispositivo de
almacenamiento de alta velocidad independiente.
•
TCM: Memoria fuertemente acoplada (en inglés: Tightly Coupled Memory), es la
memoria del tipo que tiene los microcontroladores, a la que se accede directamente.
La memoria en sistemas con cache no es este tipo de memoria, ya que esta entre la
memoria y el micro se encuentra el cache.
Soporte de Memoria
• Cortex M4
– CodeCache, SystemCache,
TCM (Lower, Upper)
– CodeCache = 16 KB, 2-way
SA
– SystemCache = 32 KB, 2way SA
– 32 byte cache line size (4
beat, 64-bit burst)
– TCML(ower) = 32 KB
– TCMU(pper) = 32 KB
Accesses from other
masters via backdoor port
• Cortex A5
– I-Cache, D-Cache
– I-Cache = 32 KB, 2-way
SA
– D-Cache = 32 KB, 4-way
SA
– 32 byte cache line size (4
beat, 64-bit burst)
– Optional L2 Cache
– L2-Cache = 512 KB, 8-way
SA
– 32 byte cache line size, (4
beat, 64-bit burst)
Comparación
Core
Arq.
Característic
as
Cache (I/D)/
MMU
Velocidad de
core
Consumo del
core
MIPS @ MHz
3-stage +
branch
speculation
Cortex-M4
ARMv7-ME (Harvard)
Thumb,
Thumb-2,
no cache,
50-200Mhz
157 µW/MHz - 8
µW/MHz
300-950+Mhz
13 DMIPS/mW
MPU optional.
1.25 DMIPS/MHz
Floating Point
Unit, DSP.
8-stage, single
issue, In order
Cortex-A5
ARMv7-A
variable
(L1+L2),
ARM,VFP,
40nm
(Harvard)
NEON,Thumb
, Thumb-2.
MMU+TrustZo
ne
1.57 DMIPS/MHz
por núcleo (hasta 4)
Porfolio de productos
Freescale
8-bit
MCUs
16-bit
MCUs
Up to
50 MHz
Up to
130 MHz
Flash
1 KB to 128 KB
Flash, RAM
1KB to 1MB
Analog I/O, ADC
LCD, USB, RF
Measurement,
Sensing, motor
control
32-bit
MCUs
ColdFire &
Kinetis®
ARM Cortex-M4
Up to
150 MHz
Flash
128 KB to 512 KB
ARM
MPUs
i.MX
ARM Cortex-A9, A8
& ARM11, ARM9
StarCore™
DSP
QorIQ
Qonverge
Multimode
Solutions for
Small and Large
Cell mkts
400MHz to
>1GHz
300MHz to >2GHz
6GHz of
processing
power
Cache,
RAM, ROM
Cache
RAM, ROM
Cache
RAM, ROM
Cache
RAM, ROM
USB, GbE,
PCIe, SATA, sRIO
sRIO, GbE
PCIe
Telecom,
media gateways,
base stations
Antenna interface
application accelerators
USB, CAN, SATA,
USB, Ethernet, CAN, LCD, PCIe, Ethernet
LCD, ADC, PWM, SPI
Connectivity, Security, Industrial Automation,
Motor Control,
POS & Consumer,
Motion Control, HMI,
Digital Power,
Lighting, Green Energy Industrial Automation
Medical
PWM, ADC,
CAN, SPI, I2C
PowerQUICC
&
QorIQ
Networking, P&I
Industrial
Software & Development Tools
Wireless
Infrastructure and
small cell
Porfolio de productos
Freescale
8-bit
MCUs
16-bit
MCUs
32-bit ARM
VybridMPUs
i.MX
ColdFire &Heterogeneous
ARM Cortex-A9, A8
Kinetis®
Arch
& ARM11, ARM9
32-bit
MCUs
PowerQUICC
&
QorIQ
StarCore™
DSP
QorIQ
Qonverge
ARM Cortex-M4
Unique Arch
Up to
50 MHz
Up to
130 MHz
Flash
1 KB to 128 KB
Flash, RAM
1KB to 1MB
Analog I/O, ADC
LCD, USB, RF
Measurement,
Sensing, motor
control
Up to Apps + Real-Time
400MHz to
150 MHz
>1GHz
Flash
Cache,
128 KB to 512 KB1.5MB SRAM
RAM, ROM
USB, CAN, SATA,
CAN,Ethernet
USB, Ethernet,USB,
CAN,Ethernet,
LCD, PCIe,
LCD, ADC, PWM,Video
SPI , LCD, DDR
Connectivity, Security, Industrial Automation,
Motor Control,
POS & Consumer,
Motion Control, HMI,
Digital Power,
Industrial Automation,
Lighting, Green Energy Industrial Automation
Medical
PWM, ADC,
CAN, SPI, I2C
300MHz to >2GHz
6GHz of
processing
power
Multimode
Solutions for
Small and Large
Cell mkts
Cache
RAM, ROM
Cache
RAM, ROM
Cache
RAM, ROM
USB, GbE,
PCIe, SATA, sRIO
sRIO, GbE
PCIe
Telecom,
media gateways,
base stations
Antenna interface
application accelerators
Networking, P&I
Industrial
Medical, POS, HMI
Software & Development Tools
Wireless
Infrastructure and
small cell
Controladores Vybrid
Cortex-A5 + Cortex-M4
Multicore
Cortex-A5 Only
Single Core
VF7xx - Up to 500 MHz
Dual Heterogeneous Cores, Dual XGA LCD, Camera Interface,
OpenVG GPU, Stereo Audio, DDR, Secure Boot, Tamper Detect, Dual
USB OTG w/HS PHY, Ethernet
VF6xx - Up to 500 MHz
Feature Integration
Dual Heterogeneous Cores, XGA LCD, Camera Interface, OpenVG
GPU, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY,
Dual Ethernet, L2 Switch
VF5xx - Up to 500 MHz
SVGA LCD, Camera Interface, OpenVG, Stereo Audio, DDR, Secure
Boot, Tamper Detect, Dual USB OTG w/HS PHY, Dual Ethernet, L2 Switch
VF4xx - Up to 500 MHz
SVGA LCD, Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTG
w/HS PHY, Ethernet, NAND Flash Controller
VF3xx - Up to 266 MHZ
WQVGA LCD, Audio, Secure Boot, Tamper Detect, USB OTG w/HS
PHY, Dual Ethernet, L2 Switch, Dual Quad-SPI, NAND Flash Controller
Performance
Controladores Vybrid
Common Platform,
Analog and Digital
CRC
Tools
12-bit ADC
Bundled IDE
I2C
12-bit DAC
CRC
Secure JTAG
Programmable
Delay Block
Secure Fuses
Timers
Flash Controller
Secure RAM
UARTS
Bundled OS
Application
Software
Ind. Protocols,
Peripheral Drivers,
HMI, USB, VoIP
eSDHC
Low Voltage,
Low Power
Multiple Operating
Modes, Clock
Gating
(1.71 to 3.6V)
ESAI
DMA
SRAM
Broad Third-Party
Ecosystem
Support
Diagrama en bloques
Vybrid
Debug & Trace
•
•
•
•
•
•
Unique heterogeneous architecture with
apps processor to run high-level OS (i.e.
Linux) and control processor to run
RTOS (i.e. MQX)
Ability to segment tasks that need
predictable latencies to execute on the
M4 and execute graphical and
connectivity tasks on A5
Secure boot and cryptographic algorithm
acceleration for sensitive applications
like payment systems
Multimedia hardware IP that offloads
pixels processing from the cores
Real time sub-system including PWM
and ADC for motor control
Error Correction Code (ECC) on-chip
SRAM, DDR controller and NAND flash
controller
Core
System
JTAG
Trace
Timers
FlexTimer (8ch)
FlexTimer (2ch)
Cortex-A5
Upto 500 MHz
DP-FPU
NEON
FlexTimer (2ch)
FlexTimer (8ch)
IEEE 1588
Timers
L1 I/D-CACHE
Periodic Interrupt
Timers
Trace/Debug
Low Power Timers
GIC
Core
AMBA NIC
12-bit ADC x2
Internal &
External
Watchdog
Interrupt
Router
DMA
Up to 64ch
12-bit DAC x2
Power
Mgmt
Regulators
L2 CACHE
Analog
Cortex-M4
Upto 167MHz
PLL
SP-FPU
Clocks
DSP
Clock Monitors
I/D-CACHE
TCM
TrustZone
™ Address
Controllers
Trace/Debug
NVIC
Internal
Reference
clocks
Low/High Freq
Oscillators
Communication
Memory
Display
Security
Boot ROM
TFT LCD
Cryptography
Module
UART x6
CAN x2
1.0MB SRAM
Segment LCD
Tamper Detect
DSPI x4
I2C x4
Memory
Interfaces
Video
Secure RTC
IEEE 1588
Ethernet X2
Video Interface
w/ camera
Secure RTIC
L2 Switch
DDR Controller
Video ADC
Secure RAM
USB Host + PHY
LS/FS/HS
OpenVG GPU
Secure Fuses
NAND Flash
Controller
Quad SPI x2
External Bus
Interface
Audio
ASRC
SAI x 4
ESAI
SPDIF
Secure WDOG
USB OTG + PHY
LS/FS/HS
Secure JTAG
Secure Digital x2
Subsistema de memoria y
Display
•
Single & Dual TFT LCD Capability
•
•
•
•
Nominal support for up to XGA with DDR3/LPDDR2
usage.
LCD controller is based on DCU. DCU is an image
composition engine, which is capable of aggregating many
sources/planes of data. Performance at a given resolution
can be dramatically affected depending on the number of
layers/planes and number of different memory interfaces
that are used to compose the image.
OpenVG 1.1 Hardware graphics processor can dramatically
reduce CPU overhead when creating rich content.
OpenVG can beused to render a subset of the screen and
let DCU merge that image with output from a software
render running on A5 or M4 or both cores.
Memory Subsystem offering pixel converters built on to
SRAM interface. This is for BOM cost challenged systems
with little or not DRAM. Can convert from one color depth
to another by just reading pixels from SRAM location. Zero
overhead and single cycle.
Memory
Display
Boot ROM
TFT LCD
1.0MB SRAM
Segment LCD
Memory
Interfaces
Video
DDR Controller
Video Interface
w/ camera
Video ADC
NAND Flash
Controller
OpenVG GPU
Quad SPI x2
Audio
External Bus
Interface
ASRC
SAI x 4
ESAI
SPDIF
VF3xx
Core
Up to 266 Hz ARM Cortex-A5 with TrustZone
HMI
TFT LCD up to XGA resolution Segment LCD
Memory
32 KB I and D L1 Cache 512 KB L2 cache
On Chip: up to 1 MB SRAM . ECC support on 512 KB NAND flash
controller with 32b ECC
Analog
2 x 12-bit ADC (12-ch), 2 x 12-bit DAC
Communication
4 x UART, 2 x CAN, 3 X SPI, 2 X I2C, Ethernet MAC with IEEE 1588
USB2.0 OTG with PHY
Audio
3 x SAI for full-duplex serial interfaces like I2S, AC97, Enhanced serial
audio interface (ESAI)
Video
Video Interface unit with parallel camera interface
Security
Tamper detect, high assurance boot, True RNG
Power Management
Internal regulator (PMIC)
VF4xx
Core
Up to 500 MHz ARM Cortex-A5 with TrustZone
HMI
TFT up to XGA resolution
Memory
32KB I and D L1 Cache, 512KB L2 Cache
On Chip: up to 1.0MB SRAM . ECC support on 512KB
On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller
with 32b ECC
Analog
2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC
Communication
6 x UART, 2 x CAN, 4 X SPI, 4 x I2C, 1 Ethernet MAC with IEEE1588
HS/FS/LS USB2.0 HOST and OTG with PHY
Audio
4 x SAI for full-duplex serial interfaces like I2S, AC97, ESAI –
Enhanced Serial Audio Interface
Video
Video Interface unit with parallel camera interface
Security
Tamper Detect, High Assurance Boot, True RNG
Power Management
Internal regulator (PMIC)
VF5xx
Core
Up to 500MHz ARM™ Cortex-A5 with, TrustZone
HMI
TFT LCD up to XGA resolution
Memory
32KB I and D L1 Cache, 512KB L2 Cache
On Chip: up to 1.0MB SRAM . ECC support on 512KB
On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller
Analog
2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC
Communication
6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 2 Ethernet MAC with IEEE1588
and L2 Switch, USB2.0 HOST and OTG with PHY
Audio
4 x SAI for full-duplex serial interfaces like I2S, AC97
ESAI – Enhanced Serial Audio Interface, SPDIF
Video
Video Interface unit with parallel camera interface, OpenVG GPU
Security
Tamper Detect, High Assurance Boot, True RNG
Power Management
Internal regulator (PMIC)
VF6xx
Core
Up to 500MHz ARM™ Cortex-A5 with TrustZone
Up to 167MHz ARM™ Cortex-M4
HMI
TFT LCD up to XGA resolution
Memory
32KB I and D L1 Cache for A5, 16KB L I/D cache for M4, 512KB L2
Cache for A5 & 64KB TCM for M4, On Chip: up to 1.0MB SRAM ECC
support on 512KB, On Chip: LPDDR2/DDR3 DRAM controller
NAND Flash Controller
Analog
2 x 12-bit ADC (16-Ch), 2 x 12-bit DAC
Communication
6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 2 Ethernet MAC with IEEE1588
with L2 Switch, Dual USB2.0 HOST and OTG with PHY
Audio
4 x SAI for full-duplex serial interfaces like I2S, AC97
ESAI – Enhanced Serial Audio Interface, SPDIF
Video
Video Interface unit with parallel camera interface, OpenVG GPU
Security
Tamper Detect, High Assurance Boot, True RNG
Power Management
Internal regulator (PMIC)
VF7xx
Core
Up to 500MHz ARM™ Cortex-A5 with TrustZone
Up to 167MHz ARM™ Cortex-M4
HMI
Dual TFT LCD up to XGA resolution
Memory
32KB I and D L1 Cache for A5, 16KB I and D for M4
512KB L2 Cache and 64KB TCM for M4
On Chip: up to 1.0MB SRAM . ECC support on 512KB
On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller
Analog
2 x 12-bit ADC (16-Ch), 2 x 12-bit DAC
Communication
6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 1 Ethernet MAC with IEEE1588,
Dual USB2.0 HOST and OTG with PHY
Audio
4 x SAI for full-duplex serial interfaces like I2S, AC97
ESAI – Enhanced Serial Audio Interface, SPDIF
Video
Video Interface unit with parallel camera interface and analog input,
OpenVG GPU
Security
Tamper Detect, High Assurance Boot, True RNG
Power Management
Internal regulator (PMIC)
Productos
•
PVF30GS10CLU26 == VF3xx @ Cortex-A5 = 266MHz
•
PVF40GS10CMK45 == VF4xx @ Cortex-A5 = 450MHz
•
PVF40GS10CMK50 == VF4xx @ Cortex-A5 = 500MHz
•
PVF50GS10CMK45 == VF5xx @ Cortex-A5 = 450MHz
•
PVF50GS10CMK50 == VF5xx @ Cortex-A5 = 500MHz
•
PVF60GS10CMK45 == VF6xx @ Cortex-A5 = 450 MHz and Cortex-M4 =150MHz
•
PVF60GS10CMK50 == VF6xx @ Cortex-A5 = 500 MHz and Cortex-M4 =167MHz
•
PVF70GS10CMK45 == VF7xx @ Cortex-A5 = 450 MHz and Cortex-M4 =150MHz
•
PVF70GS10CMK50 == VF7xx @ Cortex-A5 = 500 MHz and Cortex-M4 =167MHz
•
144LQFP : 20mm x 20mm, 0.5mm pitch
•
176LQFP : 24mm x 24mm, 0.5mm pitch
•
364 BGA : 17mm x 17mm, 0.8mm pitch
Ecosistema de Desarrollo
On
-Demand Support
On-Demand
• Human Support – Tiered
–
–
–
–
–
TIC
DFAE
Freescale FAE
Factory Apps
Design team
• WiKi for Product technical
questions
• ARM community forum
• Intuitive Web/Product Folder
• Documentation
– App Notes
– Extensive white papers
• Linux Community
– towergeeks.org
• Open Source Projects
– makeit challenge
• Training
– youTube short clips
– Webinars
– Designing with Freescale
Seminars
Development Tools
• OS support
–
–
–
–
Linux
MQX
Android
GHS – Integrity, VelOSity
• Tool Chain
–
–
–
–
DS5
CodeWarrior
Processor Expert Software
IAR
• Protocol Stacks
–
–
–
–
–
USB
TCP/IP
Wi-Fi
NanoSSL™/ NanoSSH™
BlueTooth
• GUI
– PEG Swell
– Qt
Tower Dev Boards
• Reference designs and Demos
• A modular development
platform for 8/16/32-bit MCUs
and MPUs
– Quickly combine Tower Modules
to build a prototype of your
application
– Modules sold individually or in kits
– Open Source: Build your own
Tower Module to integrate your IP
– Cost-optimized hardware
– Software support from Freescale
and Third Parties
– Community of Third Party
hardware support
– On-line community:
www.towergeeks.org
Tower System
Caracteristicas:
•VF600 364 BGA
•New Serial Interface debugger with SPI programming
•Integrated secure USB-JTAG Debuger (OpenSDA / CMSIS-DAP /
MSD)
•High Speed ETM Trace Port
•Dual USB on-board (one A and one micro-B)
•Test points for tamper detect
•Memories
•DDR3
•Dual Quad SPI
•NAND
•Standard Tower Features
•TWRPI socket
•Accelerometer (MMA8451Q)
•Potentiometer
•MicroSD Socket
•LED’s and push button switches
•Execute – in – place flash (Spansion)
•Compatible Modules (non-inclusive)
•TWR-SER2 for Dual Ethernet
•TWR-LCD-RGB for DCU
•TWR-Dock
•Powered via USB wall wart
•Battery back-up
•Consumer focused board (TWR-VF700) with more audio and SPI will
be released soon after.
Tower System
Entornos de desarrollo
http://arduino.cc/en
http://ar
duino.cc
/en
http://arduino.cc/en
SDK
Management
http://arduino.cc/en
Application
Peripheral
Drivers & Init
Store
Knowledge
Database
Software Multicore
Framework
• Asymmetrical OS support
App on
Linux
and MQX domains
• Media Framework to
leverage display and
graphics capabilities
• Full trace and debug
JTAG
WiFi, ZigBee® and USB
Debug Tools
• Connectivity stacks like
Development & Debug Tools
passing API between Linux
Multi OS Configuration & Build Tool
• Low-latency message
App on
Linux
App on MQX
Connectivity middleware - stacks
Linux
Kernel
Tower
Drivers
MQX
Message passing between domains
Bootloader
capability for ease of code
development
Tower
Drivers
Tower Board
Development Studio 5 for
Vybrid
Professional software development toolkit for the
Freescale Vybrid Platform
DS-5
Eclipse IDE
Integrated environment with
pre-configured support for the
Vybrid platform
Highly optimizing bare metal
compiler for Cortex-A5 & M4
ARM Compiler
Project Manager
Bring-up tools, JTAG debug
and ETM/PTM trace
DS-5 Debugger
Streamline
Analyzer
Connection to Hardware
and Virtual Targets
Linux driver and multi-thread
application debug
Streamline system-level
Linux performance analyzer
DS-5 para Vybrid
CADI is the debug interface to ARM Fast Models
TPIU (off-chip) trace is not supported by CMSIS-DAP, but requires a DSTREAM unit
Linux application debug and Streamline require a TCP/IP connection to the target
Beneficios de DS-5 para
Vybrid
• DS-5 for Vybrid: Make Vybrid more attractive by providing a low-cost
professional targeted toolkit
• DS-5 for Vybrid Tower System: Achieve a successful evaluation of Vybrid
with a free professional toolkit locked to the Tower System
• The shortest path to a successful evaluation of Vybrid is achieved
with a great out-of-the-box experience
– Fully integrated graphical development environment
– Pre-configured debug connections to Vybrid hardware and virtual platforms
– USB direct debug connection to Tower System – no JTAG probe required
– Automatic download & debug of Linux applications
– Linux and MQX kernel awareness
– Intuitive graphical performance analyzer
Conexión del Tower al DS5
Host running DS-5
USB
TCP/IP (Ethernet or USB)
Connection
Connects to
Purpose
USB
On-board debug
MCU via CMSISDAP I/F
JTAG debug and ETB trace of code
running on Cortex-A5 and Cortex-M4
TCP/IP (*)
Vybrid chipset
Linux application debug via gdbserver
TCP/IP (*)
Vybrid chipset
Linux system analysis with Streamline
(*) Both Linux application debug and Streamline require a TCP/IP connection to the target. In Linux, the TCP/IP
connection is normally implemented on Ethernet, but USB could be an alternative.
It is recommended that the Tower System provides both USB (for bare metal debug over CMSIS-DAP) and Ethernet (for
application debug) connections.
DS-5 Debugger
Select a device, and go!
Powerful debug features with
trace support
JTAG debug over direct USB
connection to Tower System
DSTREAM for fast connection
and 4GB trace buffer
Streamline Performance
Analyzer
Type a TCP/IP address, and go!
Linux OS counters
Processor counters,
aggregated, or per core
System counters
Visual annotations
Process/thread heat map
Text annotations
Profiling reports
www.freescale.com/vybrid
www.freescale.com/beyondbits
https://www.freescale.com/go/vybridcontrollersolutions