Sugerencias de memoria para MSP430

9

Estoy desarrollando una aplicación de medición con la TI MSP430 y me gustaría escuchar algunas sugerencias sobre qué tipo de memoria puedo usar.

La idea es usarlo para el registro durante un cierto tiempo y luego descargar los datos a una PC cuando el dispositivo está conectado a través de USB. La estimación es mantener hasta 5 MB de datos, cada muestra es alrededor de 25 bytes de datos.

¿Haría un simple chip EEPROM o hay algo mejor por ahí?

    
pregunta Padu Merloti

5 respuestas

7

He utilizado la serie AT45D de chips flash de serie. Tienen un búfer interno de SRAM para configurar una página para borrar / programar. Interfaz SPI para leer y extraer datos.

    
respondido por el Robert
5

5MByte es una gran cantidad de datos para almacenar. Leerlo por USB implica que está usando una de las partes nuevas con la interfaz del dispositivo USB incorporada. Si no, va a usar un convertidor de USB a serie (FTDI o similar) y estará limitado a la serie asíncrona Tasas de datos para leer los datos.

¿Ha considerado conectar una tarjeta de memoria SD al MSP, almacenar los datos y luego mover la tarjeta a la PC para leer los datos almacenados? No he escrito una interfaz para este dispositivo pero hay muchos que lo han hecho.

    
respondido por el uɐɪ
3

El flash serial es superior a la EEPROM en esta aplicación. Atmel hace una gran alineación . Su elección dependerá en gran medida de dos cosas: (1) Su necesidad de editar / sectorizar sus registros en la micro y (2) Su disponibilidad de RAM en el MSP430.

Flash, a diferencia de EEPROM, solo puede escribirse de 1 a 0. Cambiar los datos de 0 a 1 requiere borrar una sección de la parte, que normalmente solo está disponible para páginas o bloques de datos. Deberá almacenar esta página en la memoria RAM, borrar la página, hacer su edición en la memoria RAM y luego volver a escribirla si desea cambiar algo.

La serie AT45D, como ya se ha señalado, ofrece una serie de piezas que tienen memorias RAM en el chip para facilitar este proceso sin utilizar RAM en el microcontrolador.

Al final, toda la serie es compatible con el pin, así que solo deja una huella de 8-SOIC (150mil), y luego puedes cambiar las partes si necesitas diferentes opciones más adelante.

    
respondido por el Kevin Vermeer
2

Sugeriría la serie AT25D ya que parece un poco más fácil de usar que la AT45D. Aunque es un poco más lento y no ofrece tantas opciones de transferencia de datos ni los buffers SRAM. Tiene la ventaja de ser menos costoso y aún es lo suficientemente rápido para la mayoría de las aplicaciones, como el registro de datos.

Si necesita 5MB de datos, es poco probable que una EEPROM funcione, ya que vienen en < Los paquetes de 1Mbit por lo general. Los chips flash de Atmel admiten hasta 64 Mbits u 8 MB.

    
respondido por el mjh2007
1

[Esto es en respuesta a los comentarios que siguen a la respuesta de Ian].
Una tarjeta SD es solo un dispositivo SPI, por lo que no es necesario ningún chip / interfaz. Otros protocolos incluyen una interfaz de 2 cables (como I2C) y una interfaz de 4 cables (con un CRC complejo), pero SPI es el más utilizado.

Hay una nota de solicitud de tarjeta SD disponible para el MSP430 en TI aquí . Es breve, pero incluye código de ejemplo. Maneja la lectura y escritura en varios sectores de la tarjeta SD, que puede ser todo lo que deseas si no vas a conectarlo a una PC. También vea estas implementaciones en Foust (recomendado) o Evans de MSU.

Una vez que tenga las funciones básicas para leer y escribir un sector, puede abstraer un sistema de archivos personalizado y simple a través de USB o usar una biblioteca de sistemas de archivos existente. FatFS , EFSL , o DOSFs son todas las opciones para este último. Si la implementación de todas las funciones requeridas parece demasiado difícil, recuerde que todas menos unas pocas pueden ser talones.

Sin embargo, el sistema de archivos se extraerá a través de su interfaz USB hasta cierto punto. Esto será más fácil si tiene una biblioteca de sistema de archivos real y su tarjeta está en un sistema de archivos legible, pero eso requiere trabajo. Si desea escribir su propio "Sistema de archivos" y guardar trabajo / tiempo / memoria para la implementación de USB, puede hacer que su definición sea tan simple e inflexible como el registro 1 comienza en 0x0, el registro 2 comienza en 0x10 0000, el registro 3 en 0x20 0000 y registre 4 en 0x30 0000. Luego, puede enviar estos datos a través de USB.

La interfaz USB puede ser tan compleja como desee, desde la interfaz en serie hasta el dispositivo de almacenamiento masivo.

    
respondido por el Kevin Vermeer

Lea otras preguntas en las etiquetas