SASE 2012 Vybrid - sase.com.ar · NAND Q SPI ADC DAC EBUS PWM FlexTimer TD ... – En sistemas...
Transcript of SASE 2012 Vybrid - sase.com.ar · NAND Q SPI ADC DAC EBUS PWM FlexTimer TD ... – En sistemas...
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 enlazarlocon 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 signalprocessor) 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.
KinetisMicrocontrollersDesign 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– 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.
i.MX Applications ProcessorsYour Interface to the World.
Industry-leading scalable, versatile and secure solutions from 500 Mhzto 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
¿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.
Rich Apps in Real Time
Unprecedented System IntegrationEnsure peace of mind for applications requiring secure real-time control and rich human-machine interaction
Optimal System PerformanceDrive 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
Total System SolutionEverything you need at your fingertips to go from concept to market faster and easier
Introducing the Introducing the
New New VybridVybridController SolutionsController Solutions
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 graficosde 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 detiempo real como ser MQX en el mismo dispositivo.
A5
• High Level OS i.e. Linux
• Human machine interfaces–Display, Camera, keypad
• Connectivity–Ethernet, WiFi, USB
M4
• Real-Time OS i.e. MQX–Power Mgmt–Control of I/O peripherals
–ADC control–Audio control for Alarm
IP Camera
Sensors
Keypad
LAN
Wi-Fi
USB
Tamper Detection
Touch Screen
Audio CODEC
Audio In
DDR USB
USB
ADC
DAC
ENET
SDIO
UART
I2C
CAN
GPIO
NAND
Q SPI
ADC
DAC
EBUS
PWM FlexTimer
TD
Core CoreARM®
Cortex-A5Up to 500
MHz
ARM®
Cortex-M4Up to 167
MHz
Display and ImagingAudio
Analog
Quad SPI
DDR-C
NAND-C
External Bus
Memory I/F
UART
CAN
Security
SDIO
Ethernet
USB Host
USB OTG
I2C
GPIO
Communication
Manejo centralizado de edificios
Keypad
LAN
Wi-Fi
USB
Tamper Detection
Trigger
Touch Screen
Motor Control
Audio Out
Audio CODEC
Audio In
DDR USB
USB
ADC
DAC
ENET
SDIO
UART
I2C
CAN
GPIO
NAND
Q SPI
ADC
DAC
EBUS
PWM FlexTimer
TD
Core CoreARM®
Cortex-A5Up to 500
MHz
ARM®
Cortex-M4Up to 167
MHz
Display and Imaging
Audio
Analog
Quad SPI
DDR-C
NAND-C
External Bus
Memory I/F
UART
CAN
Security
SDIO
Ethernet
USB Host
USB OTG
I2C
GPIO
Communication
A5
• High Level OS i.e. Linux
• Human machine interfaces–Display, Camera, keypad
• Connectivity–Ethernet, WiFi, USB
• Security–TrustZone, Boot M4
• Real-Time OS i.e. MQX–Power Mgmt–Control of I/O peripherals–ADC/PWM for motor control
–Audio control for Alarm & information
ePos Multimedia
Non-Critical Code(Host OS)
Non-Critical Code(Host OS)
Cortex-A5
Inter-Processor Calls
EventsEventsCritical-CodeCritical-Code
Cortex-M4
Linux communication stacksDLL, graphics, everything else ...
Custom algorithmsMeasurement Signal biasing acquisition
Only “Critical Code”
subjected to FDA approval
• 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 andb) Critical sections
• 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 real-time functions of patient critical health parameters, while the Cortex-A5 is ideal for applications processing of the HMI
Monitor Hospitalario PortátilEjemplo de arquitectura de multiprocesamiento
asimétrica
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
PerformancePerformance
IntegrationIntegration
i.MX35ARM® 11i.MX35i.MX35ARM® 11
Kinetis MCUsARM
Cortex-M4
KinetisKinetis MCUsMCUsARMARM
CortexCortex--M4M4
i.MX2xxARM 9
i.MX2xxi.MX2xxARM 9
Vybrid Controller Solutions
VybridVybrid Controller Controller SolutionsSolutions
ARM Cortex-A5
ARM Cortex-M4
i.MX5xARM Cortex-A8
i.MX5xi.MX5xARM Cortex-A8
i.MX6 SeriesARM Cortex-A9
i.MX6 Seriesi.MX6 SeriesARM Cortex-A9
Soluciones ARM de Freescale
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 intruccionestipo 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 Dhrystonees 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 lenguajesde 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-bitMAC
– Single cycle dual 16-bit MAC
– 8,16-bit SIMD arithmetic
– Hardware Divide (2-12 Cycles)
• Cortex A5– ARM
– Thumb®-2 / Thumb
– DSP & SIMD extensions
– VFPv4 FloatingPoint (optional)
– NEON™ AdvancedSIMD (optional)
– Jazelle® DBX andRCT
Bus de comunicaciones
Arquitectura Von Neumann
Arquitectura Harvard
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 pipeliney 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 memoriason 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-waySA
– SystemCache = 32 KB, 2-way SA
– 32 byte cache line size (4 beat, 64-bit burst)
– TCML(ower) = 32 KB– TCMU(pper) = 32 KB
Accesses from othermasters 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
variable (L1+L2),
MMU+TrustZone
no cache,
MPU optional.
Cache (I/D)/
MMU
300-950+Mhz
50-200Mhz
Velocidad de core
Core Arq. Características
Consumo del core
MIPS @ MHz
Cortex-M4 ARMv7-ME (Harvard)
3-stage + branch
speculation
Thumb, Thumb-2,
Floating PointUnit, DSP.
157 µW/MHz - 8 µW/MHz 1.25 DMIPS/MHz
Cortex-A5
40nm
ARMv7-A
(Harvard)
8-stage, single issue, In order
ARM,VFP,
NEON,Thumb, Thumb-2.
13 DMIPS/mW1.57 DMIPS/MHz
por núcleo (hasta 4)
32-bitMCUs
ColdFire & Kinetis ®
ARM Cortex-M4
8-bit MCUs
PowerQUICC&
QorIQ
ARMMPUs
i.MXARM Cortex-A9, A8
& ARM11, ARM9
Software & Development Tools
Up to 150 MHz
Flash128 KB to 512 KB
USB, Ethernet, CAN, LCD, ADC, PWM, SPIConnectivity, Security,Motion Control, HMI,Industrial Automation
Up to 50 MHz
Flash1 KB to 128 KB
Analog I/O, ADCLCD, USB, RF
Measurement,Sensing, motor
control
16-bit MCUs
Up to 130 MHz
Flash, RAM1KB to 1MB
PWM, ADC, CAN, SPI, I2C
Motor Control, Digital Power,
Lighting, Green Energy
QorIQQonverge
MultimodeSolutions for
Small and LargeCell mkts
CacheRAM, ROM
Antenna interfaceapplication accelerators
Wireless Infrastructure and
small cell
StarCore™DSP
400MHz to >1GHz
Cache, RAM, ROM
USB, CAN, SATA,LCD, PCIe, Ethernet
Industrial Automation, POS & Consumer,
Medical
6GHz of processing
power
CacheRAM, ROM
sRIO, GbEPCIe
Telecom,media gateways,base stations
300MHz to >2GHz
CacheRAM, ROM
USB, GbE, PCIe, SATA, sRIO
Networking, P&IIndustrial
Porfolio de productos Freescale
32-bitMCUs
ColdFire & Kinetis ®
ARM Cortex-M4
8-bit MCUs
PowerQUICC&
QorIQ
ARMMPUs
i.MXARM Cortex-A9, A8
& ARM11, ARM9
Software & Development Tools
Up to 150 MHz
Flash128 KB to 512 KB
USB, Ethernet, CAN, LCD, ADC, PWM, SPIConnectivity, Security,Motion Control, HMI,Industrial Automation
Up to 50 MHz
Flash1 KB to 128 KB
Analog I/O, ADCLCD, USB, RF
Measurement,Sensing, motor
control
16-bit MCUs
Up to 130 MHz
Flash, RAM1KB to 1MB
PWM, ADC, CAN, SPI, I2C
Motor Control, Digital Power,
Lighting, Green Energy
QorIQQonverge
MultimodeSolutions for
Small and LargeCell mkts
CacheRAM, ROM
Antenna interfaceapplication accelerators
Wireless Infrastructure and
small cell
StarCore™DSP
400MHz to >1GHz
Cache, RAM, ROM
USB, CAN, SATA,LCD, PCIe, Ethernet
Industrial Automation, POS & Consumer,
Medical
6GHz of processing
power
CacheRAM, ROM
sRIO, GbEPCIe
Telecom,media gateways,base stations
300MHz to >2GHz
CacheRAM, ROM
USB, GbE, PCIe, SATA, sRIO
Networking, P&IIndustrial
32-bitVybrid
HeterogeneousArch
Unique ArchApps + Real-Time
1.5MB SRAM
USB, Ethernet, CAN,
Video , LCD, DDR
Industrial Automation,
Medical, POS, HMI
Porfolio de productos Freescale
Cortex-A5 OnlySingle Core
Cortex-A5 + Cortex-M4Multicore
Fea
ture
Inte
grat
ion
Performance
VF3xx - Up to 266 MHZWQVGA LCD, Audio, Secure Boot, Tamper Detect, USB OTG w/HS PHY, Dual Ethernet, L2 Switch, Dual Quad-SPI, NAND Flash Controller
VF4xx - Up to 500 MHzSVGA LCD, Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTGw/HS PHY, Ethernet, NAND Flash Controller
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
VF5xx - Up to 500 MHzSVGA LCD, Camera Interface, OpenVG, Stereo Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Dual Ethernet, L2 Switch
VF6xx - Up to 500 MHz
Dual Heterogeneous Cores, XGA LCD, Camera Interface, OpenVGGPU, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Dual Ethernet, L2 Switch
Controladores Vybrid
Flash Controller
UARTS
Secure Fuses
Timers
ToolsTools
Bundled IDE
Bundled OS
Application Software
Ind. Protocols, Peripheral Drivers,
HMI, USB, VoIP
Broad Third-Party Ecosystem
Support
CRC 12-bit ADC
Low Voltage,Low Power
Multiple Operating Modes, Clock
Gating(1.71 to 3.6V)
Secure RAM
ESAI
SRAM
I2C 12-bit DAC
CRC Secure JTAG
eSDHC
DMA
Programmable Delay Block
Common Platform,Common Platform,Analog and DigitalAnalog and Digital
Controladores Vybrid
• 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
UART x6
DSPI x4
CAN x2
IEEE 1588
Ethernet X2
USB OTG + PHY
LS/FS/HS
Secure Digital x2
I2C x4
Communication
Boot ROM
Quad SPI x2
1.0MB SRAM
NAND Flash
Controller
Memory
Memory
Interfaces
Clocks
Analog
12-bit ADC x2
12-bit DAC x2
Clock Monitors
Internal
Reference
clocks
Low/High Freq
Oscillators
PLL
Power
Mgmt
Regulators
TrustZone
™ Address
Controllers
DMA
Up to 64ch
Interrupt
Router
Internal &
External
Watchdog
System
External Bus
Interface
Display
TFT LCD
Video
Video Interface
w/ cameraDDR Controller
Security
Secure RTIC
Secure RAM
Secure Fuses
Secure WDOG
Secure JTAG
Cryptography
Module
Secure RTC
Tamper Detect
GIC
Cortex-A5
Upto 500 MHz
DP-FPU
Trace/Debug
L1 I/D-CACHE
Core
NEON
L2 CACHE
USB Host + PHY
LS/FS/HS
SAI x 4
ASRC
Audio
ESAI
L2 Switch
SPDIF
NVIC
DSP
Trace/Debug
I/D-CACHE
Core
Cortex-M4
Upto 167MHz
SP-FPU
Trace
JTAG
Debug & Trace
Low Power Timers
FlexTimer (8ch)
IEEE 1588
TimersPeriodic Interrupt
Timers
Timers
FlexTimer (2ch)
FlexTimer (2ch)
FlexTimer (8ch)
AMBA NIC
OpenVG GPU
Segment LCD
Video ADC
TCM
Diagrama en bloques Vybrid
• 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.
Boot ROM
Quad SPI x2
1.0MB SRAM
NAND Flash
Controller
Memory
Memory
Interfaces
External Bus
Interface
Display
TFT LCD
Video
Video Interface
w/ cameraDDR Controller
SAI x 4
ASRC
Audio
ESAI
SPDIF
OpenVG GPU
Segment LCD
Video ADC
Subsistema de memoria y Display
CoreUp to 266 Hz ARM Cortex-A5 with TrustZone
HMITFT LCD up to XGA resolution Segment LCD
Memory32 KB I and D L1 Cache 512 KB L2 cacheOn Chip: up to 1 MB SRAM . ECC support on 512 KB NAND flash controller with 32b ECC
Analog2 x 12-bit ADC (12-ch), 2 x 12-bit DAC
Communication4 x UART, 2 x CAN, 3 X SPI, 2 X I2C, Ethernet MAC with IEEE 1588USB2.0 OTG with PHY
Audio3 x SAI for full-duplex serial interfaces like I2S, AC97, Enhanced serial audio interface (ESAI)VideoVideo Interface unit with parallel camera interfaceSecurityTamper detect, high assurance boot, True RNGPower ManagementInternal regulator (PMIC)
VF3xx
CoreUp to 500 MHz ARM Cortex-A5 with TrustZone
HMITFT up to XGA resolution
Memory32KB I and D L1 Cache, 512KB L2 CacheOn Chip: up to 1.0MB SRAM . ECC support on 512KBOn Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller with 32b ECC
Analog2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC
Communication6 x UART, 2 x CAN, 4 X SPI, 4 x I2C, 1 Ethernet MAC with IEEE1588HS/FS/LS USB2.0 HOST and OTG with PHY
Audio4 x SAI for full-duplex serial interfaces like I2S, AC97, ESAI –Enhanced Serial Audio Interface
VideoVideo Interface unit with parallel camera interface
SecurityTamper Detect, High Assurance Boot, True RNG
Power ManagementInternal regulator (PMIC)
VF4xx
CoreUp to 500MHz ARM™ Cortex-A5 with, TrustZone
HMITFT LCD up to XGA resolution
Memory32KB I and D L1 Cache, 512KB L2 CacheOn Chip: up to 1.0MB SRAM . ECC support on 512KBOn Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller
Analog2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC
Communication6 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
Audio4 x SAI for full-duplex serial interfaces like I2S, AC97ESAI – Enhanced Serial Audio Interface, SPDIF
VideoVideo Interface unit with parallel camera interface, OpenVG GPU
SecurityTamper Detect, High Assurance Boot, True RNG
Power ManagementInternal regulator (PMIC)
VF5xx
CoreUp to 500MHz ARM™ Cortex-A5 with TrustZoneUp to 167MHz ARM™ Cortex-M4
HMITFT LCD up to XGA resolution
Memory32KB 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 controllerNAND Flash Controller
Analog2 x 12-bit ADC (16-Ch), 2 x 12-bit DACCommunication6 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
Audio4 x SAI for full-duplex serial interfaces like I2S, AC97ESAI – Enhanced Serial Audio Interface, SPDIF
VideoVideo Interface unit with parallel camera interface, OpenVG GPU
SecurityTamper Detect, High Assurance Boot, True RNG
Power ManagementInternal regulator (PMIC)
VF6xx
CoreUp to 500MHz ARM™ Cortex-A5 with TrustZoneUp to 167MHz ARM™ Cortex-M4
HMIDual TFT LCD up to XGA resolution
Memory32KB I and D L1 Cache for A5, 16KB I and D for M4512KB L2 Cache and 64KB TCM for M4On Chip: up to 1.0MB SRAM . ECC support on 512KBOn Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller
Analog2 x 12-bit ADC (16-Ch), 2 x 12-bit DAC
Communication6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 1 Ethernet MAC with IEEE1588, Dual USB2.0 HOST and OTG with PHY
Audio4 x SAI for full-duplex serial interfaces like I2S, AC97ESAI – Enhanced Serial Audio Interface, SPDIF
VideoVideo Interface unit with parallel camera interface and analog input, OpenVG GPU
SecurityTamper Detect, High Assurance Boot, True RNG
Power ManagementInternal regulator (PMIC)
VF7xx
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
• 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 FreescaleSeminars
• 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
On-Demand SupportOnOn--Demand SupportDemand Support Development ToolsDevelopment ToolsDevelopment Tools Tower Dev BoardsTower Dev BoardsTower Dev Boards
• Reference designs and Demos
• A modular development
platform for 8/16/32-bit MCUsand 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
Ecosistema de Desarrollo
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
Tower System
http://arduino.cc/en
http://arduino.cc/en
http://arduino.cc/en
SDK Management
http://arduino.cc
/en
PeripheralDrivers & Init
PeripheralDrivers & Init
ApplicationStore
KnowledgeDatabase
Entornos de desarrollo
• Asymmetrical OS support
• Low-latency message
passing API between Linux
and MQX domains
• Connectivity stacks like
WiFi, ZigBee® and USB
• Media Framework to
leverage display and
graphics capabilities
• Full trace and debug
capability for ease of code
developmentM
ulti
OS
Con
figur
atio
n &
Bui
ld T
ool
Dev
elop
men
t & D
ebug
Too
lsBootloader
Tower Board
JTA
G
App on MQX
Linux Kernel
App on Linux
Message passing between domains
MQX
App on Linux
Tower Drivers
Tower Drivers
Connectivity middleware - stacks
Deb
ug T
ools
Software MulticoreFramework
Professional software development toolkit for the Freescale Vybrid Platform
� Integrated environment with pre-configured support for the Vybrid platform
� Highly optimizing bare metal compiler for Cortex-A5 & M4
� Bring-up tools, JTAG debug and ETM/PTM trace
� Linux driver and multi-thread application debug
� Streamline system-level Linux performance analyzer
Eclipse IDE
Streamline Analyzer
Project ManagerARM Compiler
DS-5 Debugger
Connection to Hardwareand Virtual Targets
DS-5
DevelopmentStudio 5 forVybrid
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
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 Vybridwith 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
Beneficios de DS-5 para Vybrid
Host running DS-5
USB
TCP/IP (Ethernet or USB)
Connection Connects to Purpose
USB On-board debug MCU via CMSIS-DAP 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.
Conexión del Toweral DS-5
Select a device, and go!
JTAG debug over direct USBconnection to Tower System
DSTREAM for fast connectionand 4GB trace buffer
Powerful debug features withtrace support
DS-5 Debugger
Linux OS counters
Processor counters,aggregated, or per core
System counters
Visual annotations
Process/thread heat map
Text annotations
Profiling reports
Type a TCP/IP address, and go!
StreamlinePerformanceAnalyzer
www.freescale.com/vybridwww.freescale.com/beyondbits
https://www.freescale.com/go/vybridcontrollersolutions