Desarrollo de Herramientas de
Programación de Alto Nivel y Aplicaciones
de Conectividad y Almacenamiento para el
Microcontrolador MSP430
Memoria presentada por
Carlos Pablo Silva Lütty
Comisión:
Wolfgang Freund Grunewaldt
Tomás Arredondo Vidal
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Introducción
El mercado de la microelectrónica
Usos y aplicaciones
La industria nacional
Características y periféricos
Microcontrolador MSP430
Microcontrolador MSP430
Ideal para aplicaciones de bajo consumo
Capacidad de procesamiento digital y análogo
Periféricos Integrados
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Módulo de Relojes
Relevancia de este módulo
Fuentes y Señales de reloj
Diseño de un Driver
Módulo de Relojes
Módulo de Relojes
¿Por qué un driver?
Reducción de código
Tiempos de desarrollo
Abstracción del hardware
Módulo de Relojes CLK_IE: Habilitar las interrupciones del módulo
CLK_ID: Deshabilitar las interrupciones del módulo
CLK_CF: Fijar en valor 0 el flag de falla del oscilador
XT2_ON: Alimentar con Vcc el cristal XT2 de 8 [MHz]
XT2_OFF: Quitar la alimentación del cristal XT2
SMCLK_DCO: SMCLK alimentado por el DCO
SMCLK_XT1: SMCLK alimentado por el XT1
SMCLK_XT2: SMCLK alimentado por el XT2
MCLK_DCO: MCLK alimentado por el DCO
MCLK_XT1: MCLK alimentado por el XT1
MCLK_XT2: MCLK alimentado por el XT2
MAX_DCO: DCO con frecuencia máxima
MIN_DCO: DCO con frecuencia mínima
ACLK_FREC: ACLK con frecuencia FREC en Hertz.
Valores válidos para FREC: 32768, 16384, 8192, 4096
SMCLK_FREC: SMCLK con frecuencia FREC en Hertz.
Valores válidos para FREC: 8M, 4M, 2M, 1M, 32768, 16384, 8192, 4096
MCLK_FREC: ACLK con frecuencia FREC en Hertz.
Valores válidos para FREC: 8M, 4M, 2M, 1M, 32768, 16384, 8192, 4096
Init_Osc();
Alimenta con Vcc el cristal XT2 y espera
hasta que la señal de reloj sea estable en
amplitud y frecuencia.
Set_DCO_4096_(DELTA)
Fija la frecuencia del DCO a múltiplos de
4096 utilizando el timerA en modo captura.
Los rangos admitidos para DELTA están
entre 20 y 1170.
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Bajo consumo de energía
Aplicaciones de bajo consumo de energía
Velocidad y rendimiento
Bajo consumo de energía
FABRICANTE EXPERIMENTAL
¿Por qué hay diferencias?
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Comunicación serial asíncrona
Generación de Tasas de Baudios no estándar
Comunicación serial asíncrona
Modelo de programación lineal entera
Variables: m0, m1, m2, m3, m4, m5, m6 y m7.
Función Objetivo: MINIMIZAR el Máximo error por bit en valor absoluto.
Sujeto a: m0, m1, m2, m3, m4, m5, m6 y m7 son binarios.
ratebaud
BRCLKN
_
1
0
1 n
i
imn
UxBRN
1
0
1_
n
i
imn
UxBR
BRCLK
N
BRCLKratebaud
%100)1()1(_
[%]1
0
jmUxBRjBRCLK
ratebaudERROR
n
i
i
Comunicación serial asíncrona
Contraste de resultados
Complemento “Solver”
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Memorias SD
Tarjetas SD
Protocolo SPI
Módulo MSP430-SD
Driver MSP430-SD
Biblioteca I/O MSP430-SD
Memorias SD – Tarjetas SD
Memoria flash
Bloques de 512 Bytes
Seguridad, capacidad y desempeño
Bus SD – Bus SPI
Memorias SD – Protocolo SPI
Serial Sincrónico
Cliente – Servidor
Orientado al Byte (8 cliclos)
2 líneas de comunicación
1 línea de control
Memorias SD – Módulo MSP430-SD
Se dispone de 3.3 [V], 5 [V] y GND común.
La alimentación de la tarjeta SD debe ser controlada por el MSP430.
Se debe proporcionar un bus SPI entre la MSP430 y la tarjeta SD.
El MSP430 debe detectar la presencia o ausencia de una tarjeta SD.
Se deben utilizar 2 Leds indicadores de lectura/escritura y error.
Se debe proporcionar la protección necesaria para compatibilidad de hardware.
Memorias SD – Módulo MSP430-SD
Memorias SD - Driver MSP430-SD
CS señal de Chip Select del host a la tarjeta
CLK señal de reloj del host a la tarjeta
DataIn señal de datos del host a la tarjeta
DataOut señal de datos de la tarjeta al host
Memorias SD - Driver MSP430-SD
Escructura de los comandos
Estructura de las respuestas
Memorias SD - Driver MSP430-SD
Inicialización:
Alimentar Vcc de la tarjeta SD con 3.3 [V].
Enviar 10 ráfagas de 8 ciclos de reloj. (80 ciclos)
Fijar la señal CS en 0.
Enviar el comando reset. (0x 40 00 00 00 00 95)
Esperar respuesta. (0x 01)
Enviar comando de inicialización. (0x 41 00 00 00 00 ff)
Esperar respuesta. (0x 00)
Memorias SD - Driver MSP430-SD
Lectura:
Fijar el valor de la señal CS en 0.
Enviar el comando de lectura.
Esperar la respuesta 0x00.
Esperar el data token 0x0fe.
Leer 512 bytes de datos.
Leer 2 bytes de CRC.
Fijar el valor de la señal CS en 1.
Memorias SD - Driver MSP430-SD
Escritura:
Fijar el valor de la señal CS en 0.
Enviar el comando de escritura.
Esperar la respuesta 0x00.
Enviar el data token 0xfe.
Enviar 512 bytes de datos.
Enviar 2 bytes de CRC.
Recibir la respuesta XXX00101 b
Esperar que la tarjeta finalice la escritura internamente.
Fijar el valor de la señal CS en 1.
Memorias SD - Biblioteca I/O
bloques de datos condicionan las operaciones de
lectura y escritura a 512 bytes consecutivos.
Open, Close, Seek, Read y Write.
Suponer que el bloque actual es el 4 y que el offset
dentro del bloque es 348, esto es se requieren
leer 1692 bytes.
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Bridge WiFi / RS-232
Bridge WiFi / RS-232
MSP430
BRIDGE
PC
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Aplicación
Almacenamiento masivo de datos
Centralización de la información
Disponibilidad de los datos
MSP430 + SD + Sensores + Actuadores Servidor: Base de datos + Cliente TCP
Módulo WiFi
Aplicación – MSP430
Aplicación – Plataforma de Gestión
Esquema de la presentación
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones
Resultados de este trabajo
Se creó un driver que maneja el módulo de relojes del microcontrolador MSP430 que permite a los usuarios abstraerse del uso de los registros y acelera los tiempos de desarrollo.
Se documenta el uso de los modos de bajo consumo de energía.
Se realizó un modelo de programación lineal entera que minimiza el error de transmisión y recepción de la comunicación serial asincrónica. El modelo se deja en formato Excel para su utilización con el complemento Solver.
Resultados de este trabajo
Se desarrolla un driver de hardware y de software para el almacenamiento de datos en una memoria SD. Adicionalmente se desarrolla una biblioteca de entrada/salida para el uso de memorias SD que permita a los usuarios trabajar en alto nivel, sin necesidad que conozcan el funcionamiento interno de las memorias SD.
Se desarrolló el driver necesario para controlar un Bridge RS-232 a WiFi con el microcontrolador MSP430.
Se desarrollo en JAVA una plataforma de gestión que permite ilustrar la conectividad del microcontrolador MSP430 con bases de datos.
Conclusiones
Dada las características del microcontrolador MSP430, se puede decir que éste cumple con las exigencias de la industria actual, permitiendo realizar tareas de carácter análogo o digital, ya sea en aplicaciones de control o telemetría.
Se mostró con este trabajo que el microcontrolador MSP430 puede ser utilizado en aplicaciones que requieran almacenamiento masivo de información, ya sea de manera local (en el sistema embebido) o remota (una base de datos externa), a través de una conexión a Internet, ya sea cableada o inalámbrica.
Conclusiones
Se puede resumir que el microcontrolador
MSP430 cumple con los requisitos de
conectividad, bajo consumo y capacidad de
almacenamiento que lo posicionan como uno de
los microcontroladores más utilizados en el
mundo entero para tareas que requieran bajo
consumo de energía.
Consultas
Introducción
Microcontrolador MSP430
Módulo de relojes
Bajo consumo de energía
Comunicación serial asíncrona
Memorias SD
Bridge WiFi / RS-232
Aplicación
Conclusiones