Tipos de Dispositivos Controladores PLC Allen Bradley Siemens Schneider OMRON PC & Software LabView Matlab Visual.NET (C++, C#) FPGAS Xilinx Altera Híbridos Procesador + FPGA (altas prestaciones) µcontrolador y DSPs Freescale Texas Instruments Microchip NXP (Phillips) Atmel ARM 1
PLC: Aplicaciones Industriales 2
PLC: Estructura El PLC es un dispositivo electrónico digital basado en microprocesador especializado en intercambiar señales I/O de forma cíclica, rápida y robusta en un entorno industrial. Es un sistema expandible de concepción modular. Se añaden módulos en función de las necesidades de control. Se pueden añadir módulos en forma local y remota mediante el uso de comunicaciones industriales Software de usuario de fácil manejo y comprensión con edición en varios lenguajes. Una vez transferido el programa desde el PC el PLC se mantiene en ejecución de forma autónoma. No está pensado para controlar procesos que requieren una enorme velocidad de computación como imagen o robots avanzados si bien coexisten con este tipo de procesadores rápidos como Microcontroladores de altas prestaciones, DSPs o FPGA s. 3
Microcontrolador PIC 8 bits: Arquitectura Es un dispositivo que alberga el sistema mínimo dentro de un único chip, esto es, incluye CPU, buses, reloj, memoria FLASH, memoria RAM, E/S, otros periféricos tales como conversores A/D, temporizadores (timers), PWM, Comunicaciones etc. (Microcontrolador PIC16F887) 4
Microcontrolador Arduino Programación en Lenguaje C Aprendizaje Rápido Iniciación a la electrónica programable Versiones con diferentes micros. Tarjetas de ampliación modulares enchufables (módulos BlueTooth, memoria SD ) 5
Microcontroladores Cómo se hace un programa en C? Se inicializan los periféricos a utilizar mediante configuración (escritura) en los registros internos del microcontrolador. A esta función de usuario le llamaríamos InitBoard(); Se crea un bucle indefinido: for(;;){ } o while(1){ } Dentro del bucle se utilizan las sentencias de control if( ){ } else if( ){ }; minibucles while( ){ } o for(;;) { } indicando para cada condición o fase del programa las operaciones a realizar. Los COMPILADORES (los programas que traducen el código C a código máquina hexadecimal) proporcionan librerías de funciones para manejar (las operaciones a realizar de lectura/escritura) los periféricos del micro. 6
Microcontroladores: Microchip MPLAB IDE 7
Microcontroladores MCUs: Familias http://www.ti.com/lsds/ti/microcontroller/overview.page 8
Microcontroladores 8/16 bits vs32 bits 9
Microcontroladores ARM: Familias http://www.ti.com/lsds/ti/arm/overview.page 10
Microcontroladores ARM: Aplicaciones 11
Procesadores Multimedia http://www.youtube.com/watch?v=de5tizoz9ni&list#t=7m07 12
Procesadores Multimedia: Capacidades Gráficas 13
Procesadores Multimedia: Arquitectura 14
Procesadores Multimedia: Especificaciones Ojo al dato 15
Procesadores Multimedia: Tarjetas Desarrollo SABRE Lite Board (i-mx6quad) Cuánto costarán? MARS Board (i-mx6dual) http://www.youtube.com/watch?v=ugrcfflcz3q http://www.embest-tech.com/shop/star/marsboard.html?utm_source=adwords&utm_medium=marsboard&utm_term=marsboard&utm_content=marsboard&utm_campaign=marsboard 16
FPGA: Field Programmable Gate Arrays El procesado de gran cantidades de datos a muy altas velocidades requiere electrónica rápida con capacidad de procesamiento en paralelo en vez de secuencial. (Geometrías de proceso 28nm(2011)<>20nm(2013)) Originalmente la lógica rápida de puertas de las FPGA se utilizaban como coprocesador (acelerador de hardware) auxiliar de un procesador. Actualmente son unos sistemas completos que contienen procesadores, memoria, comunicaciones y lógica rápida. Además, son reconfigurables a medida. 17
FPGA: Estructura Interna Las FPGAs han evolucionado desde la lógica rápida incorporando recursos de memoria y periféricos como un microcontrolador. El usuario los crea a medida para su sistema (RECONFIGURABLE) Un chip FPGA contiene EMBEBIDO: Bloques lógicos combinacionales y secuenciales de las FPGA Procesadores: Hardware: núcleos ARM, PowerPC Software: Creados a base de bloques lógicos (IP cores Picoblaze, MicroBlaze) Bloques de Memoria RAM Periféricos al estilo de las MCUs: Comunicaciones, I/O, Imagen/video. Se conocen como IP cores hardware (más eficientes) o software (con bloques lógicos) Bloques DSP de Aritmética avanzada: MAC ( multiply-accumulate ) 18
FPGA: CUSTOMIZACION Dentro de una misma serie o plataforma FPGA hay diferentes familias cada una de ellas caracterizada por estar optimizada para una de las cuatro tareas básicas: 1. Procesador EMBEBIDO, 2. Conectividad rápida 3. Lógica combinacional-secuencial 4. Aritmética DSP 19
FPGA Como es el lenguaje de programación fuente? : Esquemático Código VHDL 20
FPGA: Plataformas de desarrollo 21
FPGA: ISE Design de Xilinx 22
Y LA RASPBERRY? 23
Y LA RASPBERRY? 24