clase 5 - unrobotica

Download Report

Transcript clase 5 - unrobotica

UNIDADES DE DESARROLLO
SON LOS EQUIPOS QUE PERMITEN IMPLANTAR SOFTWARE EN LOS MICROCHIPS
PARA CADA FABRICANTE SE OFRECEN DIVERSOS MODULOS
•
•
•
•
•
•
•
•
•
MICROCHIP
ATMEL
TEXAS
PHILIPS
INTEL
STÁNDAR TECHNOLOGIES
MOTOROLA
SIEMENS
SAMSUNG
ALGUNOS ENTUSIASTAS PUBLICAN DISEÑOS PERSONALES EN LA WEBB.
PARA ATMEL
NO SIEMPRE SE PROGRAMA UN CHIP
A VECES SE DESEA PROGRAMAR UN MODULO ENSAMBLADO
VENTAJAS
• SOPORTE RELATIVO
• ESTABILIDAD
• ARQUITECTURA PROBADA
ALGUNOS CASOS
• RABIT (COMERCIAL Y SOFTWARE PROPIETARIO)
• ARDUINO (LIBRE)
• BLACKBERRY (LIBRE EN LINUX)
• CUBRIEBOARD (LIBRE EN LINUX)
• MOTOROLA ARM COREX KINETICS (BUENO BONITO MUY BARATO)
COMPILADOR QUE CORRE EN LA WEBB
MUCHOS EJEMPLOS Y SOPORTE UNA OPCION MUY INTERESANTE
Raspberry Pi es un computador de bajo coste que llegó con la idea
de revolucionar el sector educativo y que, en muy poco tiempo, se
ha convertido, junto a Arduino, en un exponente del hardware
libre y en la base de un buen número de proyectos
http://www.raspberrypi.org/
El sistema operativo
http://www.raspbian.org/
Comandos basicos de linux
http://www.jeremymorgan.com/tutorials/raspberry-pi/how-to-linux/
Guia de Instalacion el sistema operativo en la memoria SD
http://www.tuelectronica.es/tutoriales/raspberry-pi/instalar-sistema-operativo-araspberry-pi.html
Formateo inicial de la SD..bajar este software
https://www.sdcard.org/downloads/formatter_4/eula_windows/
Guia de linux y muchas maniobras (lectura obligada)
http://deeiivid.wordpress.com/2013/02/23/guia-completa-raspberry-pi-espanol/
Nueva placa ARM, la Cubieboard 2
Specification
Dual core ARM cortex-A7 processor, NEON, VFPv4,
512KB L2 cache
Mali400mp2, OpenGL ES GPU
1GB DDR3 @480MHz
HDMI 1080p Output
100M Ethernet
4Gb Nand Flash
2 USB Host, 1 micro SD slot, 1 SATA, 1 ir
96 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FMIN, ADC, CVBS, VGA, SPDIF-OUT, R-TP..
Running Android, Ubuntu and other Linux distributions
serie Kinetis L de microcontroladores ARM
Cortex-M0+
La serie Kinetis L es una combinación de eficiencia energética,
escalabilidad, valor y facilidad de uso que revolucionará el mercado
de microcontroladores de nivel básico. Ofrece a los usuarios de
arquitecturas heredadas de 8 y 16 bits una ruta de migración hacia
la gama de microcontroladores Kinetis de 32 bits y les permite
aumentar el rendimiento y ampliar la funcionalidad de sus
productos finales sin incrementar el consumo de energía ni los
costes del sistema.
http://www.geekytheory.com/freescale-freedom-kl25z-una-alternativa-barata-a-arduino/
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z
https://mbed.org/
Ejemplos
https://mbed.org/cookbook/Homepage
TUTORIAL
http://mcuoneclipse.com/2012/09/30/tutorial-touching-the-freedom-kl25z-board/
VIDEOS
http://www.tecbolivia.com/index.php/articulos-y-tutorialesmicrocontroladores/62-tutorial-de-freedom-kl25z-con-mbed
La serie Kinetis L se compone de cinco familias de
microcontroladores: KL0, KL1, KL2, KL3 y KL4.
Cada familia combina excelentes corrientes dinámicas y de parada
con una capacidad extraordinaria de procesamiento, una amplia
selección de memorias flash y una gran variedad de opciones
analógicas, de conectividad y de periféricos HMI.
La familia KL0 es compatible en pines con la familia S08Px de 8 bits
(lo que tiende un puente entre el desarrollo de 8 bits y la cartera
Kinetis) y compatible en software con otras familias de la serie
Kinetis L.
Las familias KL1, KL2, KL3 y KL4 presentan una compatibilidad
mutua en hardware y software, además de ser compatibles con
sus equivalentes de la serie Kinetis K basada en el Cortex-M4 (KL1
-> K10, KL2 -> K20…). De este modo, los desarrolladores disponen
de una ruta de migración ascendente/descendente hacia
mayor/menor rendimiento, memoria y funcionalidad integrada, lo
que les permite reutilizar el hardware y el software en todas las
plataformas de productos finales y reducir el tiempo necesario
para la comercialización. Las primeras familias disponibles en el
mercado serán KL0, KL1 y KL2 a finales de septiembre de 2012. La
disponibilidad de las familias KL3 y KL4 está prevista para el primer
trimestre de 2013.
Procesador ARM Cortex-M0+
El procesador ARM Cortex-M0+ ofrece niveles más altos de
eficiencia energética y de rendimiento y es más fácil de usar que su
antecesor, el Cortex-M0. En cuanto a las instrucciones, mantiene
plena compatibilidad con todos los demás procesadores de la clase
Cortex-M (Cortex-M0/3/4), por lo que los desarrolladores pueden
reutilizar sus compiladores y herramientas de depuración
existentes.
Video
https://www.youtube.com/watch?v=qp_gFlDPnRw
Principales características:
1,77 coremarks/MHz: entre 2 y 40 veces más que los
microcontroladores de 8/16 bits, un 9 % más que el Cortex-M0.
Coremarks/mA: entre 2 y 50 veces más que los microcontroladores
de 8/16 bits, un 25 % más que el Cortex M0.
Pipeline de 2 etapas: reducidos ciclos por instrucción (CPI), lo que
permite instrucciones de bifurcación y entradas ISR más rápidas.
MTB (Micro Trace Buffer): solución ligera y no intrusiva; la
información del rastreo se guarda en una pequeña área de la SRAM
del microcontrolador (tamaño definido por el programador), lectura
a través de SWD/JTAG.
Amplio soporte para el entorno ARM.
Acceso E/S monociclo: frecuencia de conmutación de la interfaz
GPIO un 50 % más alta que la de la E/S estándar, lo que mejora el
tiempo de respuesta a eventos externos y permite manipular bits
(bit-banding) y emular protocolos de software.
Espacio de direcciones lineal de 4 GB: elimina esquemas de
paginación complejos y simplifica la arquitectura de software.
Solamente 56 instrucciones: mayoritariamente codificadas en 16
bits; opción para MUL rápida de 32 x 32 bits en un ciclo.
Conjunto de instrucciones: totalmente compatible con el
procesador Cortex-M0, subconjunto de instrucciones del procesador
Cortex-M3/4. La mejor densidad de códigos de su categoría en
comparación con arquitecturas de 8/16 bits; menor tamaño de
memoria flash y reducción del consumo de energía; mayor
rendimiento que sus equivalentes de 8 y 16 bits.
Acceso a la memoria del programa; reducción del consumo de
energía.
Familias de microcontroladores de la serie Kinetis L
Los microcontroladores de la serie Kinetis L se basan en la
funcionalidad del procesador ARM Cortex-M0+, que presenta un
diseño de plataforma de bajo consumo energético así como modos
operativos y dispositivos periféricos que ahorran energía. El
resultado es un microcontrolador que ofrece la mejor eficiencia
energética de la industria, consume menos de 50 μA/MHz en el
modo VLPR (Very Low Power Run) y puede despertarse rápidamente
desde el estado de reposo, procesar datos y restablecer el modo de
reposo, lo cual alarga la vida útil de la batería en las aplicaciones.
Para ver una demostración de la eficiencia energética de la serie
Kinetis L, visite www.freescale.com/ftf.
Familias de microcontroladores:
Familia KL0: la puerta de entrada a la serie Kinetis L;
microcontroladores de 8-32 kB y de 24-48 pines, compatibles en
pines con la familia S08P de 8 bits y en software con todas las demás
familias de la serie Kinetis L.
Familia KL1: microcontroladores de 32-256 kB y de 32-80 pines con
comunicaciones adicionales y periféricos analógicos, compatibles en
hardware y software con todas las familias de la serie Kinetis L y con
la familia K10 (CM4) de la serie K.
Familia KL2: microcontroladores de 32-256 kB y de 32-121 pines con
USB 2.0 de máxima velocidad tipo host/device/OTG, compatibles en
hardware y software con todas las familias de la serie Kinetis L y con
la familia K20 (CM4) de la serie K.
Características comunes a todas las familias de microcontroladores
de la serie Kinetis L:
Procesamiento extremadamente eficiente
Procesador ARM Cortex-M0+ de 48 MHz
Tecnología flash de bajo consumo de energía: 90 nm
Funciones de manipulación de bits
< 50 μA/MHz; 35,4 coremarks/mA
Barra cruzada de puente periférico
Controlador de memoria flash con estado de espera cero
Modos de consumo de energía ultrabajo
Tecnología flash con baja fuga: 90 nm
Múltiples modos RUN, WAIT y STOP
Activación en 4,6 μs desde el modo de reposo profundo
Bloqueo de reloj y de potencia (clock & power gating), opciones
de arranque con bajo consumo de energía
Reloj VLPR: precisión con un 3 % máximo de margen de error,
que normalmente es del 0,3-0,7 %
Consumo de corriente en modo de reposo profundo: 1,4 μA con
retención de registros; LVD activo y activación en 4,3μs
Visión de conjunto
El FROM-KL25Z ha sido diseñado por Freescale en colaboración
con mbed para prototipos de todo tipo de dispositivos, en
especial aquellos que requieren el tamaño y el precio ofrecido
por Cortex-M0 + y el poder del USB Host y Device. Se
empaqueta como una placa de desarrollo con los conectores de
romper a despojar bordo y tablero, e incluye un built-in USB
FLASH programador.
Periféricos que ahorran energía
Los periféricos funcionan en modos de reposo profundo y son
capaces de tomar decisiones inteligentes y de procesar datos
sin despertar al núcleo: ADMA, UART, temporizadores,
convertidor analógico-digital (ADC), pantalla LCD con
segmentos, sensores táctiles...
ADC de 12/16 bits
Convertidor digital-analógico (DAC) de 12 bits
Comparadores analógicos de alta velocidad
Temporizadores de alta capacidad para una gran variedad de
aplicaciones, incluyendo el control de motor
Se basa en el Freescale KL25Z, con un brazo de 32 bits Cortex-M0 +
núcleo funcionando a 48MHz. Incluye 128KB FLASH 16KB RAM y un
montón de interfaces de host, incluyendo USB, dispositivo USB, SPI,
I2C, ADC, DAC, PWM, sensor táctil y otras interfaces I / O.
El FROM-KL25Z es totalmente compatible con la plataforma mbed,
por lo que tiene acceso a las herramientas gratuitas y SDK que
proporciona a los desarrolladores integrados con experiencia en
herramientas potentes y productivos para la construcción de
prueba de conceptos. Para los desarrolladores de nuevos
microcontroladores de 32 bits, mbed proporciona una solución de
prototipos accesibles para que los proyectos creados con el apoyo
de bibliotecas, recursos y apoyo compartido en la comunidad
mbed.
Características
Freescale KL25Z Kinetis KL2 MCU (MKL25Z128VLK4)
Alto rendimiento ARM ® Cortex ™-M0 + Core
48MHz, 16KB RAM, 128KB FLASH
2xSPI, 2xI2C, 3xUART, 6xPWM, 6xADC, sensores táctiles, GPIO
FROM-KL25Z Onboard periféricos
MMA8451Q - acelerómetro de 3 ejes
PWM controlado RGB LED
Sensor táctil capacitiva
Factor de forma Evalution
81mm x 53mm
5V o USB 4.5-9V fuente
USB incorporado drag-and-drop FLASH programador
mbed.org Web Developer
Ligero Compiler Online
Alto nivel de C / C + + SDK
Libro de cocina de las bibliotecas y los proyectos publicados
Herramientas y software
Todo el hardware mbed habilitado el soporte de la página web de
desarrollador mbed.org, incluyendo un compilador de línea ligera y
herramientas de desarrollo de trabajo se convertía en Windows, Linux
o Mac OS X.
Obtenga más información sobre el compilador de línea mbed
También se incluye una C / C + + SDK para programación productiva de
alto nivel de los periféricos. Combinado con la riqueza de las
bibliotecas y los ejemplos de código que se publican por la comunidad
mbed, la plataforma proporciona un entorno productivo para hacer las
cosas.
El mbed FRDM KL25Z es uno de una variedad de plataformas de
hardware compatibles con el SDK mbed . Incluye una interfaz de
programación USB incorporado que es tan simple como usar una
unidad flash USB. Basta conectarlo, colocar en un programa binario
ARM, y su marcha!
Primeros pasos con el FROM-KL25Z en mbed
Para utilizar el FROM-KL25Z con mbed, lo primero que tendrá que
hacer es poner el firmware mbed. Las instrucciones completas están
aquí:
Introducción a la mbed FRDM KL25Z
Referencia técnica
Potencia
Desarrollado por USB o 5.0V - 9.0V aplica VIN
Pines IO digitales son 3.3v, 4 mA cada uno, 400 mA máximo total de
Clavijas
Vin - Fuente de alimentación externa a la tarjeta
5.0V-9.0V, 100mA
REINICIAR - pin activo bajo restauración con funcionalidad idéntica a
la del botón de reinicio.
Esquemas y Hojas de Datos
mbed FRDM-KL25Z
FRDM KL25Z Manual del usuario
FRDM KL25Z Esquemas
Freescale KL25Z MCU
Kinetis KL2x MCU
Kinetis KL25 Hoja de datos
Kinetis KL2 Resumen del producto
Véase también
Solicite un FRDM-KL25Z
Introducción a la mbed FRDM KL25Z
Ejemplos de programas para FRDM-KL25Z
Explora la plataforma mbed
Un bootloader es un firmware para permitir la
rápida descarga de programas en los microcontroladores.
En el caso de los PIC, el bootloader permite descargar
programas directamente desde el PC sin necesidad de
utilizar ningún tipo de grabador.
La descarga se hace a través del puerto serie. También
funciona con el USB conectando un conversor USB-serie.
Un bootloader es un programa que facilita la
programación del microcontrolador.
El bootloader es un programa que se graba en el microcontrolador
una sola vez. El proceso de grabación de un microcontrolador
puede ser un poco engorroso con un grabador tradicional, porque
hay que extraer el micro de su zócalo y volver a insertarlo una vez
grabado. La programación mediante Bootloader simplifica este
proceso, ya que el microcontrolador se puede grabar rápidamente
sin retirarle de la placa de desarrollo.
La función de un bootloader es recibir datos de un programa desde
un ordenador y grabar esos datos en el microcontrolador. Una vez
grabado el programa de usuario en el microcontrolador, este se
ejecuta y puede utilizar el mismo canal de comunicación para
enviar y recibir datos del PC.
Elementos de un Bootloader:
Además del programa bootloader incluido en el microcontrolador,
es necesario un programa residente en el ordenador personal que
envíe los datos y programas. Además, los programas destinados al
microcontrolador necesitan unos pequeños cambios para que se
adapten a la presencia del programa bootloader.
Por lo tanto para trabajar con bootloader es necesario manejar los
siguientes elementos:
Firmware: Programa bootloader residente en el microcontrolador.
Aplicación Host: Programa para el ordenador personal que envía
los datos al microcontrolador.
Instrucciones o plantilla para adaptar el programa de usuario al
microcontrolador.
Bootloader USB
Existen múltiples bootloaders que utilizan el USB como canal de
comunicación para enviar el programa al microcontrolador.
En este caso se ha adaptado un bootloader de la empresa
Microchip que utiliza la especificación USB-HID Class. Este es un
estándar de comunicación mediante USB para Dispositivos de
Interface con Humanos. Este estándar USB es utilizado por los
ratones, teclados, trackball, joysticks y otros dispositivos
semejantes que se conectan con USB al ordenador.
La ventaja del HID Bootloader consiste en que todos los sistemas
operativos actuales lo reconocen y no necesita instalar un
controlador.
Características del HID-Bootloader:Tamaño del
bootloader desde dirección 0x0000 hasta 0x0FFF (4095 bytes, 12,5%
de la memoria)
Dirección de reset del usuario: 0x1000
Dirección de vector de interrupción de alta prioridad: 0x1008
Dirección de vector de interrupción de baja prioridad: 0x1018
1 pulsador que permite entrar en el programa de usuario en
RC7 (Puerto SPI)
2 Led que muestran el estado de conexión USB en RB0 y RB1 (Puerto
SPI)
https://sites.google.com/site/picuino/picuino-18f2550/bootloader