EDU- CIAA, programación y aplicaciones de la placa...

31
Parte I (Introducción) Mg. Ing. Rafael Oliva, Ing. Esp. Magdalena Flores, Ing. Esp. Nestor Cortez Instituto de Tecnología Aplicada (ITA-UARG) JORNADAS DE INFORMÁTICA 2016 – UNPA /UARG 25 DE OCTUBRE 2016 EDU- CIAA, programación y aplicaciones de la placa industrial versión educativa de la Computadora Industrial Abierta Argentina

Transcript of EDU- CIAA, programación y aplicaciones de la placa...

Parte I (Introducción)

Mg. Ing. Rafael Oliva, Ing. Esp. Magdalena Flores, Ing. Esp. Nestor CortezInstituto de Tecnología Aplicada (ITA-UARG)

JORNADAS DE INFORMÁTICA 2016 – UNPA /UARG25 DE OCTUBRE 2016

EDU- CIAA, programación y aplicaciones de la placa industrial versión educativa de la Computadora Industrial

Abierta Argentina

CONTENIDOS (1ra Parte):

• Sistemas embebidos - antecedentes• La Computadora Industrial Abierta Argentina - Introducción• Desarrollo, componentes, objetivos y capacidades• Versión educativa EDU-CIAA• Programación – conceptos básicos

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 2

Que es un sistema embebido?

“Un sistema embebido (embedded ) es cualquier aplicación en que una computadora dedicada se construye como parte del sistema”

(Jack Gannsle - The Art of Programming Embedded Systems)

MicroondasCelulares

Instrumental

Vehículos Alarmas

COMPONENTES DE UN MICROCONTROLADOR ELEMENTAL

Memoria de Programa(EPROM ó Flash)

RAM ó Registros

Timer

Entrada/Salida

xtal

CHIPCHIPCHIPCHIP

Que es un sistema embebido?

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 4

Que es un sistema embebido?

µCEEPROMEEPROMEEPROMEEPROM

)) SonidoSonidoSonidoSonido

TENSION=0.2

V 00:00:00

Interfase con el Exterior

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 5

Que es un sistema embebido?

SOFTWARE RESIDENTE (O “FIRMWARE”): ¿LAZO ELEMENTAL O UN SISTEMA OPERATIVO DE TIEMPO REAL (RTOS)?

√ En el caso de Sistemas Sencillos se trabaja con un único lazo de control. Casi todos los sistemas utilizan un compilador de lenguaje C (raramente ya Assembler).

√ Para complejidades intermedias, se utiliza C ó lenguajes de mayor nivel (Java, C++).

√ A partir de complejidad media, y sistemas con componente de tiempo crítico, es deseable el uso de un Sistema Operativo RTOS ó KERNEL para lograr:

a) Mayor confiabilidad

b) Facilidad de cambios y mantenimiento

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 6

Antecedentes:

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 7

Sistemas embebidos – antecedentes• Inicios -> 8051 y familias / 8 bits (1992-1997)• PC/104 / familia 80c188 y uC/OS 2 / 16 bits (1997-)• Cypress PSoC-1 / 8 bits (2002) – placa CPU 2005• (Indirecto) TS7260 con ARM9 (EP9302) CPU, TS-Linux (2008)• Atmel AVR / 8 bits (2004) placa CPU Cl2bm1 2010• ARM Cortex M (2013), -M3 y luego M4/M0 (CIAA, EDU-CIAA)

Herramientas: • Línea de comandos / compilador C51 de Keil (DOS)• Borland C / C++ 5.2 con PC/104 • IDE PSoC Designer para PSoC / Cypress• Codevision AVR – IDE y Atmel Studio• Eclipse a través de NXP (LPCXpresso) y luego a través de CIAA-

Eclipse

Inicios:

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 8

1995- 9m Tower at Uni

1999 New Enclosure

C2-UNPA

• Primeros proyectos: 1995 a 1999 -> C2 logger de medicion de viento, basado en 80C537 (familia 8051 / 8bits) diseño iniciado en 1994, programado in Keil C51, memoria EPROM “de ventana” 27C256 (borrado UV).

• Usaba sensores calibrados NRG• Resultados publicados en Wind

Engineering 06-1997

FOTOGRAFÍA DEL SISTEMA EN ARMADO

SISMED-01/24

Placa CPU

Placa

Fuente 24V

PlacaAuxiliar

Placa Entrada Señales

Primeros Sistemas – ejemplo SISMED01/24 (UMAG) 2001

• CPU Micro/Sys SBC1190 – Procesador Intel 80C188EB / 16 bits a 25MHz• Memoria a) programas: 512K Flash ROM b) 512K de SRAM c) 128K deNVRAM (No Volatil).

• WatchDog Timer, RTC Dallas, Puerto Ethernet (no utilizado).• Convertidor A/D MAX197 (12 bits) 8 canales - E/S a través de 82C55• Kernel uC/OS ii – programado en Borland C/C++ 5.2

Presentado en las I (2001) y II (2002)Jornadas Informática UNPA!

Interfase a PC en BorlandC++Builder

Antecedentes en sistemas embebidos..

SISMED01/48 en Escuela Rural Las Vegas 1999-2002

SISMED01/24 en Escuela Rural Agua Fresca (Chile) 2001

Adquisición de Datos para sistema de bombeo de agua Solar y Eólico (Chile) 2014

Medicion en UNPASan Julian 2 013

Sistemas AVR-AtMega1284P(CPU)

IDE: CodeVision C AVR 3.04

(HP Infotech)or

ó AtmelStudio 6.1 (free)

IDE: CodeVision C AVR 3.04

(HP Infotech)or

ó AtmelStudio 6.1 (free)

CPU Schem. / PDF: http://www.lyr-ing.com/DocumentosLyR/CL2bm1/V5g_CL2bProto_17-2-2010_Schematic%20Prints.pdf

(5 Hojas)

Inicio pruebas 07-2010

IDE: CodeVision C AVR 3.04

(HP Infotech)

ó AtmelStudio 6.1 (gratis)

Diseño

2009

Software

M4/E: PSoC1(29466) Placa de E/S (2010)

M4/E firmware con PSoC

Designer 5.x (gratis)

METEO – placa

sensado viento

PSoC (2012)

PSoC

Power Supply+B =+5Vcc

RS485RS485

RELAY

KAUX -> DRY CONTACT

P0.4,6

M4-EXPANSION - BOARD(C) R.Oliva - L&R Ing. 2010

P0.2

P0.0

ANLG

VIN1ANi1

VIN2ANi2

VIN3ANi3

TEMPVT(TC1047A)P0.1

P0.3

P0.5

P0.7

-IO3

-IO4

-IO5

-IO6

-IO7

A CL2B

A CL2B

RELAYK2 -> DRY CONTACT

-IO3

-IO4IN12

-IO5IN11

-IO6IN6

-IO7IN5

SDASCL

-INT I2C

P1.5P1.7

OUT

IN

IN

IN

IN

IN

IN

IN

IN

IN4P1.3

IN17P2.6

IN16P2.4

IN15P2.2

IN14P2.0

IN

IN3P2.1

IN

IN2P2.3

IN

IN1P2.5

IN

IN0P2.7

IN

P1.2

OUT

OUT OUT0=PWR_OKP1.2

OUT OUT1=BUZZP1.2

OUT OUT2

+14.4V

+14.4V

M4/E Schem. / PDF: http://www.lyr-ing.com/DocumentosLyR/M4E/M4EFinal_28-8-10_Schematic%20Prints.pdf

ISSP

(usd 30 FOB)

Módulo de 13-bit TRIADCPSoC (V,I)

Sistemas PSoC-1 (Periféricos)

Jon Sumanik-Leary / WindEmpowermentvisita RG y San Julian (2014)

INTI CutralCo -Neuquen Campo de Pruebas (2012 - ) y FabricantesRedes y vinculaciones..

Redes y vinculaciones..Pasantía de Jean Alinei – red WindEmpowerment – Software y hardware controlador MPPT (2016), y becaria local C.Fuentes

Medidor presión manométrica

con PIC 16F88

Sistemas Microchip (Ing. N.Cortez)

MCP3905 PIC 16F877A

PIC 16f84APIC 18F4520

LCD DISPLAY

MEMORIA

RS232 - PC

BUS SPI

FN

CARGA

RTC 1307

MCP3905 PIC 16F877A

PIC 16f84APIC 18F4520

LCD DISPLAY

MEMORIA

RS232 - PC

BUS SPI

FN

CARGACARGA

RTC 1307

Medidor potencia activa con PIC

16F877y MC3509

ORIGENES DE LA CIAA

La Computadora Industrial Abierta Argentina(CIAA) se comenzó a gestar en julio de 2013,cuando el Ministerio de Industria de la Nacióny la SPU convocaron a la Asociación Civilpara la Investigación, Promoción y Desarrollode los Sistemas Electrónicos Embebidos(ACSE) y a la Cámara de IndustriasElectrónicas, Electromecánicas yLuminotécnicas (CADIEEL) a participar en unplan para incorporar tecnología nacional en lacadena de producción, específicamente en lospuntos en que se importa casi todo (PLCs,Controladores especiales).

Características: Diseño colaborativo, Licenciaabierta en hardware y software, participaciónde Universidades e Instituciones Técnicas detodo el país.

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 16

Prototipo en funcionamiento hacia fines de

2014

CARACTERÍSTICAS DE LA CIAAEs INDUSTRIAL porque dispone de diferentes mecanismos de protección eléctrica contra fallas osobrecargas. De esta forma brinda una base para diseñar sistemas capaces de considerar cuestionesde disponibilidad, confiabilidad, verificación, validación y seguridad intrínseca (1) además de laposibilidad de certificar normas internacionales como las IEC 61131 y la IEC 61508, contemplandocriterios de robustez ante interferencia electromagnética, sobrecarga de las salidas, vibracionesmecánicas, estrés térmico, perturbaciones en la tensión de alimentación y variabilidad de loscomponentes, entre otras.

Es ABIERTA porque toda la información sobre su diseño está gratuitamente disponible en la web(diagrama esquemático, diseño del circuito impreso, código fuente del firmware y del software, diseñodel gabinete), para que sea usada sin restricciones por empresas y profesionales en sus productos yprocesos productivos, sin que sea necesario notificar en forma alguna sobre su uso, y pudiendo cadauno modificar libremente el diseño publicado para adaptarlo a sus propias necesidades.

Es ARGENTINA porque es una plataforma desarrollada por PyMEs, profesionales y docentes, sinrecurrir al aporte directo del estado o de corporaciones multinacionales, lo que permite ofrecerversiones basadas en distintos procesadores, a partir del uso combinado de capas de abstracción dehardware (HAL) y de una interfaz de programación de aplicaciones (API) pensadas para su usoconjunto con un sistema operativo de tiempo real, siguiendo una estructura de funciones tipo POSIX.

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 17

Precio aprox. $3200+iva (2016)http://www.proyecto-ciaa.com.ar/

Primeras versiones:CIAA y EDU-CIAA-NXP (LPC4337 – NXP ARM Cortex M4/M0)

• Procesador dual core ARM-Cortex M4/M0

• Orientado a aplicaciones de control

• Desde 2015 se han adquirido varias EDU-CIAA entre docentes e Investigadores UNPA

EDU-CIAA – Version Educativa ($600 a $800)

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 19

CIAA –NXP Componentes en

bloque – lado frontalCIAA –NXP

Componentes en bloque – vista desde atras

CIAA –NXP (fab. Probattery

Argentina) adquirida 10-2016

Premios recibidos

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 20

CIAA

- HARDWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 21

CIAA - HARDWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 22

CIAA –NXP Mi aporte!

CIAA - HARDWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 23

Salidas a relé y entradas

optoacopladas, similar a un PLC

CIAA - HARDWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 24

EDU-CIAA

- HARDWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 25

CIAA - FIRMWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 26

CIAA - FIRMWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 27

Solo para uso de OSEK

(sistema operativo -RTOS)

CIAA - FIRMWARE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 28

CIAA - IDE

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 29

Variantes en desarrollo de la CIAA

- CIAA-FSL (Freescale) Casi en producción

- CIAA-Safety (La CIAA-Safety es una versión de la CIAA siguiendo las prácticas recomendadas por los estándares internacionales (IEC 61508 ) de seguridad funcional para aplicaciones críticas- ej. aviación, aerogeneradores, centrales de generación) RM48L952-PGE ARM Cortex R4F, formato PC/104.

- CIAA-ACC (Alta Capacidad de Cómputo) / Zynq 7000, (2 x Cortex A9)

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 30

Gracias por su atención!

ITA / UNPA – UARG / EDU-CIAA Prog+Aplicaciones (1ra Parte) – Hoja 31