Placa de CPU con arquitectura Atmel AVR: características ...

7
ARGENTINA 9400 Rio Gallegos Santa Cruz Teófilo de Loqui 58 (fdo) L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] T. DE LOQUI 58 - 9400 RIO GALLEGOS INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA Placa de CPU con arquitectura Atmel AVR: características de la CL2bm1 y periferico M4/E Ing. Rafael Oliva - L&R Ingeniería 1. Introducción: La placa CL2bm1 es una evolución del un sistema registrador anterior (DLCy - basado en la familia PSoC 1 [PSoC 1, 2011]) según la concepción de tener un registrador mas avanzado con amplia capacidad de almacenamiento a través de tarjetas extraíbles tipo SD, como sustitución de las versiones importadas que se utilizaron en las primeras unidades de equipos para registro de curva de potencia de aerogeneradores PWRC (2005-6). Dichas funciones son sobre todo las relativas a la captura de datos analógicos, la comunicación a través del puerto serie RS232 o a través de USB, el funcionamiento del teclado, el funcionamiento del reloj de tiempo real (RTC), el display LCD, el almacenamiento confiable en tarjetas SD y el desarrollo de funciones lógicas de E/S propias o a través de placas de expansión. Las pruebas realizadas en el marco del proyecto ANR/SC03 han permitido determinar y evaluar estas capacidades y sentar las bases para un modelo comercial con unos pocos agregados, que se viene utilizando en aplicaciones aisladas desde octubre de 2010. En la Figura 1 puede verse un diagrama en bloques de esta versión. ATMega644P +B nr +5Vcc RTC I2C 1 2 MAX232 RS232/COM0 SD CARD LCD CONN. DATA PC.2:7 PB4:7 ISP KBDin ANLG IN ANin PA.0:7 PD select PC.0:1 PD.0:1 CL2_b Proto (AtMega32/644/1284) Rev5F-2010 (C) R.Oliva - L&R Ing. 2009/10 B 3V CTRL PD7 I2C 5V/3.3V SD Socket 4050 +3V3 USB USB XTAL o TXCO PB.0:3 MAX232 RS232/COM1 PD.2:3 RS485 RS485 EXTER. I2C PCA9538 2 SD_PWR 5XEXP 8b I/O AVCC (644P) Fuente Lineal LM2937-5 / 7805 AVCC LPF 6P/10P +5Vcc +5Vcc +5Vcc LCD_BL SD_PWR PMOS SD_STATUS SD_STATUS 2 ATMega32 X8 7.3728E6 XTAL OSC 2X8 +5Vcc 10x2 y 17x2 PD5 JTAG ATMega1284P Figura 1 - Diagrama en bloques de la placa CL2bm1 – Construida a partir de 2010

Transcript of Placa de CPU con arquitectura Atmel AVR: características ...

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

Placa de CPU con arquitectura Atmel AVR: características de la

CL2bm1 y periferico M4/E

Ing. Rafael Oliva - L&R Ingeniería

1. Introducción: La placa CL2bm1 es una evolución del un sistema registrador anterior (DLCy

- basado en la familia PSoC 1 [PSoC 1, 2011]) según la concepción de tener un registrador

mas avanzado con amplia capacidad de almacenamiento a través de tarjetas extraíbles tipo

SD, como sustitución de las versiones importadas que se utilizaron en las primeras unidades

de equipos para registro de curva de potencia de aerogeneradores PWRC (2005-6). Dichas

funciones son sobre todo las relativas a la captura de datos analógicos, la comunicación a través del puerto serie RS232 o a través de USB, el funcionamiento del teclado, el

funcionamiento del reloj de tiempo real (RTC), el display LCD, el almacenamiento confiable en

tarjetas SD y el desarrollo de funciones lógicas de E/S propias o a través de placas de

expansión. Las pruebas realizadas en el marco del proyecto ANR/SC03 han permitido

determinar y evaluar estas capacidades y sentar las bases para un modelo comercial con

unos pocos agregados, que se viene utilizando en aplicaciones aisladas desde octubre de

2010. En la Figura 1 puede verse un diagrama en bloques de esta versión.

ATMega644P

+B nr +5Vcc

RTC

I2C

1 2

MAX232 RS232/COM0

SD CARD

LCD CONN.

DATA PC.2:7

PB

4:7

ISP

KB

Din

ANLGIN

ANin

PA

.0:7

PD

sele

ct

PC.0:1

PD.0:1

CL2_b Proto (AtMega32/644/1284) Rev5F-2010(C) R.Oliva - L&R Ing. 2009/10

B 3V

CTRL PD7

I2C

5V/3.3V

SD Socket

4050

+3V3

USB USB

XTAL o TXCO

PB

.0:3

MAX232 RS232/COM1PD.2:3

RS485 RS485

EXTER.I2C

PCA9538

2

SD_PWR

5XEXP

8b I/O

AVCC

(644P)

Fuente LinealLM2937-5 / 7805

AVCC

LPF

6P/10P+5Vcc

+5Vcc

+5Vcc LCD_BL

SD_PWR

PMOS

SD_STATUS

SD_STATUS2

ATMega32

X8

7.3728E6XTAL OSC

2X8

+5Vcc

10x2 y 17x2

PD

5

JTAG

ATMega1284P

Figura 1 - Diagrama en bloques de la placa CL2bm1 – Construida a partir de 2010

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

La versión utilizada en las aplicaciones mas recientes cuenta con un procesador de 8 bits

ATMega1284P, el cual cuenta con 128 KB de memoria Flash, 16 KB de RAM y dos puertos

serie. Puede funcionar a 7.3 o 14.4 MHz. Es pin a pin compatible con las versiones reducidas

del ATMega de menor costo, que cuentan con menos memoria interna y solo un puerto serie

adicional. Los componentes de dicho circuito son las siguientes:

a) Fuente de Alimentación con reguladores lineales LDO para +5 y 3.3V.

b) Entradas Analógicas

c) Interfase para teclado de membrana de 4 contactos

d) Display LCD alfanumérico convencional.

e) Interfase I2C y Reloj de tiempo real con TXCO. f) Interfase a tarjetas SD

g) Interfase Serie RS232, RS485 y USB (en módulo con zócalo)

h) Interfase PCA9538 de E/S programable.

La utilización del bus I2C de Philips (o TWI para Atmel) es una parte fundamental del módulo

CL2bm1 [Oliva y Cortez, 2011]. Se desarrolla tanto en lo relativo al acceso al RTC (PCF8563)

como en la utilización de servicios de E/S (PCA9538), y además se utiliza una placa M4/E

(descripta más adelante) basada en un controlador PSoC 1 como “periférico” para conectar

dicho dispositivo al CL2bm1, implementando la función “I2C-Hardware-Slave” del PSoC, y el

CL2b como actuando como Maestro en la comunicación I2C. La interfase I2C conectada al

reloj (RTC) permite mantener una hora precisa con un TXCO DS32kHz, oscilador

compensado por temperatura, que reduce significativamente la deriva. En la Figura 2 se

muestran los primeros ensayos de dicha implementación a inicios de 2010.

Figura 2 - Ensayo inicial de placa CL2bm1 – versión de producción

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

2. Programación: El controlador ATMega1284P de la CL2bm1 se programa en general en

lenguaje C a través de alguno de los cross-compiladores que soportan su arquitectura, para

las aplicaciones más habituales se utiliza el CodevisionAVR de HPInfoTech [HPI,2012] , o la

cadena AVR Studio 6 provista por Atmel, fabricante del controlador. Los programas se

compilan en una PC estándar y se descargan a la memoria Flash interna del controlador, a

través de dos conectores posibles de ISP: uno de 10 pines y el más convencional de 6 pines,

compatible con la interfaz USB de bajo costo ATAVRISP2, producida por Atmel. Asimismo

pueden guardarse a través de la misma interfaz los contenidos de la EEPROM (típicamente

configuración y constantes de calibración), lo cual permite hacer "upgrades" o cambio de versiones en el campo sin tener que retirar el equipo de su lugar de operación.

La interfase que aparece al programador es como se muestra en la Figura 3 (izq), y traduce

en cierta medida los bloques de hardware indicados en la Figura 1. Los canales de A/D tienen

una resolución de 10 bits, y para aplicaciones que requieren mayor resolución se utilizan los

canales de la placa de expansión M4/E de 13 bits, a través de I2C. Se prevén 4 entradas para

un teclado sencillo, la interfase SPI con la tarjeta SD, un LCD alfanumérico convencional con

backlight conmutable, el bus I2C y una entrada de interrupción configurable. El puerto COM0

se puede rutear hacia el módulo FT232/USB o hacia una mitad de interfase DS14C232

convencional, el otro puerto COM1 hacia la otra mitad DS14C232 o hacia una interfase RS485

con Driver Enable opcional por hardware.

PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0

CH0CH1CH2CH3CH4CH5CH6CH7Canales A/D

MAPA LOGICO E/S – CL2bm1 / AtMega1284P

PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0

KB-IZQ

KB-ARR

KB-

ABJ

KB-DER

-CS

/SD

MOSI/

SDSD-CARDMISO/

SD

SCK/

SD TECLADO

PC.7 PC.6 PC.5 PC.4 PC.3 PC.2 PC.1 PC.0

SCLSDARSR/-WDB4DB5LCD

DB6DB7I2C

PD.7 PD.6 PD.5 PD.4 PD.3 PD.2 PD.1 PD.0

RxD0PD4_INT

OLED

OLED

BL_INTP

LCD_E SERIALRxD1 TxD0TxD1

USB/RS232#0USB/RS232#0

RS485/RS232#1RS485/RS232#1

-INT1/CKOUT/IRQ_CKOUT

L&R Ingeniería –

R.Oliva

Rev. 7-7-2010

PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0

CH0CH1CH2CH3CH4CH5CH6CH7Canales A/D

MAPA LOGICO E/S – CL2bm1 / AtMega1284P

PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0

KB-IZQ

KB-ARR

KB-

ABJ

KB-DER

-CS

/SD

MOSI/

SDSD-CARDMISO/

SD

SCK/

SD TECLADO

PC.7 PC.6 PC.5 PC.4 PC.3 PC.2 PC.1 PC.0

SCLSDARSR/-WDB4DB5LCD

DB6DB7I2C

PD.7 PD.6 PD.5 PD.4 PD.3 PD.2 PD.1 PD.0

RxD0PD4_INT

OLED

OLED

BL_INTP

LCD_E SERIALRxD1 TxD0TxD1

USB/RS232#0USB/RS232#0

RS485/RS232#1RS485/RS232#1

-INT1/CKOUT/IRQ_CKOUT

L&R Ingeniería –

R.Oliva

Rev. 7-7-2010

Figura 3 Mapa de lógica E/S Placa CL2bm1, y salida compilador C CodevisionAVR de HPInfotech

Las aplicaciones son basadas en interrupciones y no utilizan un sistema operativo subyacente,

sinó una programación secuencial, básicamente por que las funciones de registro y control

abordadas no han requerido una elevada velocidad. Se ha explorado y es técnicamente viable

la utilización de FreeRTOS en implementaciones basadas en la línea ATMega1284P, aunque la orientación fundamental de este sistema operativo es hacia controladores de mayor

capacidad.

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

3. Aplicaciones: Varias de estas placas comenzaron a trabajar desde octubre de 2010 en

puestos aislados de petroleras en condiciones sumamente rigurosas (Figura 4), para control

de sistemas híbridos eólicos/fotovoltaicos para suministro de 220VCA a bombas de

dosificación, y continúan prestando servicio.

Figura 4 Placa CL2bm1 (izq) en control de sistema híbrido para bombas de dosificación – Paraje

Boleadoras/Campo Indio (Santa Cruz)

También se han utilizado en los sistemas actuales de registro de curva de potencia para

aerogeneradores PWRC, conocidos como PWRC2. Los mismos utilizan placas CL2bm1,

medición de potencia con convertidor TRIADC simultáneo de 13bits para canales de corriente

y tensión, mejoras significativas en la calidad del sensado de corriente y tensión y evolución

del software. Estos sistemas registran en forma simultánea mediciones ambientales de

velocidad y dirección de viento, temperatura y presión atmosférica, a través de un módulo externo (METEO, basado en PSoC 1 ) que se comunica a través de RS485 con la placa

CL2bm1. El objeto del sistema es el registro en un archivo .CSV de datos para la construcción

de una nube de puntos con los promedios de 1 minuto de velocidad de viento y potencia

eléctrica de salida del aerogenerador, bajo la norma IEC 61400-12-1 (2005) Annex H.

En la Figura 5 puede verse una imagen de los sistemas mas recientes PWRC2, en este caso

los utilizados para el Campo de Pruebas del INTI en Cutral-Có / Neuquén. El bus externo de

alimentación de los PWRC es de 24V, reducido mediante módulos Switching (LM2576) a

10.5V para funcionamiento de las placas CL2bm1, M4E, sensores y al METEO exterior

(compartido con otro PWRC2, Figura 6). La alimentación de los 24V y de 14.4V para una

estación de referencia Secondwind Nomad2 exterior proviene de una UPS-CC, con backup de

baterías y carga desde 220V y dos paneles fotovoltaicos exteriores de 20W c/u.

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

Figura 5: Vista parcial del sistema de medición basado en CPU CL2bm1 y expansión M4/E en el Campo de

Pruebas Cutral-Có del INTI-Neuquén. Arriba (izq) SCADA elemental de acceso vía Modbus.

Figura 6: Implementación de METEO v1.1 (octubre de 2012) e instalación en Campo Pruebas INTI Cutral-Có

4. Placa periférica M4/E de E/S con PSoC 1 como esclavo I2C: La interfase I2C favorece la

modularidad, y se utiliza asimismo para el acceso a una expansión de entradas y salidas con

OVP, en una placa adicional M4/E (compatible con gabinetes DIN840) realiza las funciones de

acondicionamiento y adquisición de entradas de sensores de tensión ó corriente y RPM de un

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

aerogenerador. Esta placa de L&R Ingeniería se basa en el controlador Cypress PSoC I (línea

29466) trabajando con la interfase I2C-esclavo en hardware. La misma ha sido ensayada

extensamente en los mismos entornos que la CL2bm1 (Figura 9), y su diagrama en bloques

se muestra en la Figura 7. Para las entradas analógicas se puede reconfigurar internamente el

ADC de 13bits multiplexado, de acceso secuencial, o utilizar el módulo TriADC de 13bits, que

muestrea en forma simultanea hasta 3 canales. Esto último es utilizado para muestrear

simultáneamente tensión y corriente, en el caso de los PWRC2 del INTI (Figura 5). Asimismo

es posible configurar entradas y salidas de tipo discreto, y un port serie de monitoreo (Figura

8).

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_OK

P1.2OUT OUT1=BUZZ

P1.2OUT OUT2

+14.4V

+14.4V

Figura 7: Diagrama de M4/E, placa auxiliar modular con conexión I2C a la CL2bm1.

5. Referencias:

[HPI,2012] HP InfoTech S.R.L. http://www.hpinfotech.ro/

[Oliva y Cortez, 2011] Oliva, R. y Cortez, N. “Aspectos de implementación en una interfaz I2C

para controladores PSoC y AVR” II Congreso de Microelectrónica Aplicada 2011, F.I. UNLP, 7

al 9 de setiembre de 2011, pp. 84, ISBN 978-950-34-0749-3.

[PSoC 1, 2011] Cypress PSoC 1 architecture http://www.cypress.com/psoc/

ARGENTINA

9400 Rio Gallegos Santa Cruz

Teófilo de Loqui 58 (fdo) L&R INGENIERIA

www.lyr-ing.com

TE: 54 (0) 2966 430923FAX: 54 (0) 2966 430923 - 431081

e-mail: [email protected]

T. DE LOQUI 58 - 9400 RIO GALLEGOS

INGENIERIA

ELECTRONICA, MICROPROCESADORES, ENERGIA

Figura 8: Diagrama lógico de E/S de la placa M4/E

Figura 9 - Foto en detalle del M4/E, en conexión con la CL2bm1 a través de I2C.