dispositivo RAM que se conecta a la ranura microSD?

5

Tengo un par de pequeños dispositivos de acelerómetro de 3 ejes con registro automático que funcionan con baterías, cada uno de los cuales utiliza un dispositivo flash microSD para almacenamiento (el GCDC X250-2 ). Desafortunadamente, los dispositivos no almacenan en búfer las escrituras microSD, por lo que los datos registrados tienen huecos frecuentes.

Me gustaría encontrar / crear un dispositivo portátil que tenga un cable que se conecte a una ranura microSD y se conecte a un caché de memoria RAM grande, por lo que las escrituras pueden continuar sin demora. Lo ideal es que este dispositivo se coloque en una tarjeta SD u otro almacenamiento permanente.

Hay muchos microcontroladores disponibles que pueden comunicarse con el bus SPI, simular una tarjeta SD y escribir datos en la RAM. También debería ser posible programar una pequeña PC con Linux para hacer esto, emulando efectivamente una tarjeta SD. ¡El problema es encontrar un cable o algo que se pueda conectar a una ranura microSD!

¿Alguna idea para un sistema completo o los componentes necesarios para construir uno?

    
pregunta BobC

4 respuestas

6

El producto tiene una tasa de actualización máxima de 512 Hz, que es realmente lenta. Entiendo que usa una marca de tiempo, toma tres lecturas, almacena en búfer para la traducción del sistema de archivos FAT y lo escribe todo en formato ASCII / CSV, lo que parece mucho. Sin embargo, una tarjeta SD configurada para escritura sostenida debería poder hacer al menos 2 megabytes por segundo, y las tarjetas de clase 10 pueden manejar 10 megabytes por segundo. A 512 Hz, el problema es no la tarjeta SD.

En tu comentario, mencionaste:

  

El fabricante sabe todo sobre el   problema, y es incapaz de solucionarlo con   los recursos de hardware disponibles (es   Sólo un 8051 que realmente respira   difícil). Todas las pausas parecen deberse a a)   FAT sobrecarga, y / o b) borrar flash   ciclos.

Agregar un búfer a la tarjeta SD no resolverá este problema. El cuello de botella es el flujo ascendente de la tarjeta SD. Las preguntas frecuentes del fabricante leen:

  

Tengo un acelerómetro viejo, ¿puedo   actualizar el firmware?

     

Sí. Por favor contacta con nuestras ventas.   departamento de instrucciones sobre cómo   devuelva la unidad a GCDC. Lo haremos   actualizar el firmware y devolver el   dispositivo a la brevedad.

A menos que haya trabajado con ellos, le escribirán un paquete de firmware que no realiza ninguna traducción del sistema de archivos FAT / búfer y acordó mutuamente un protocolo para un flujo de datos más rápido y sin huecos, agregando una RAM El dispositivo que se conecta a una ranura SD no resolverá su problema.

Sin embargo, solo porque la tarea es llevar a sus 8051 de rodillas no significa que este sea un problema irresoluble. Un microcontrolador más rápido, más potente y más moderno podría manejar el flujo de datos. La memoria RAM integrada en un micro decente debería ser suficiente para almacenar los datos. La mayoría de los micros pequeños se ejecutarán a 20 MHz o más, lo que probablemente sea bastante rápido, especialmente porque tendrán periféricos de hardware que pueden manejar las tareas de DMA, SPI y ADC para usted. Por supuesto, hay otras personas que han intentado resolver el mismo problema: eche un vistazo a esta pregunta de SO sobre el registro de datos a 96 kB / s.

Tienes algunas opciones:

  • Dead-bug un microcontrolador de mayor rendimiento en la PCB existente, y escribe algún firmware que maneje la tarea. Si el 8051 no es capaz de hacerlo, un ATmega probablemente lo es y un Cortex-M3 ciertamente lo es. Podría considerar ignorar el sistema de archivos FAT y escribir un archivo plano simple, y simplemente emular una unidad USB con el microcontrolador.
  • Haz que el fabricante original haga esto por ti. No veo ninguna mención de este problema en el sitio web, por lo que probablemente podrían estar motivados para solucionar el problema. Ya tienen todos los esquemas y controladores escritos, por lo que probablemente podrían hacer esto sin demasiados problemas.
  • Construye tu propio. Puede tener la velocidad de registro ininterrumpido que desee, con la precisión que desee y con la cantidad de DOF que desee: solo tiene que pagar por lo que desea. El cielo es el límite en este tipo de proyecto (y los presupuestos reflejan esto). No recibirá este paquete tan bonito por tanto dinero, pero no estoy seguro de cuáles son sus requisitos.
  • Compre uno diferente. Hay muchos registradores de datos que pueden manejar flujos en serie más rápidos sin espacios vacíos, y muchos acelerómetros tienen velocidades de actualización más rápidas o más rápidas. Sin embargo, el rango de +/- 250 g y +/- 28 g en este es inusual.
respondido por el Kevin Vermeer
2

Hay más acelerómetro + tarjeta SD peces en el mar:

Si el tuyo no funciona correctamente, recupera tu dinero.

Dicho esto, la SD debe guardar escrituras en búfer. Parece que su biblioteca FAT está vaciando el archivo después de cada escritura. Sería interesante solucionarlo si le proporcionan el código fuente de su firmware. De lo contrario, comenzarás de cero y estarás mejor con tu propio hardware también.

    
respondido por el markrages
0

Una opción es simplemente soldar el conector y agregar cables en su lugar. Puede conectarlo a otra placa directamente o pasar por otra que tenga tanto el conector como los conectores a los que se puede conectar el búfer.

    
respondido por el Trygve Laugstøl
0

Yo sugeriría usar un MSP430 ** para hacer el búfer. Use algo como this para establecer una interfaz con la unidad de usuario. Dependiendo de cómo implemente el búfer en el software, este artículo Puede ser útil.

** preferencia personal pero cualquier microcontrolador podría funcionar.

    
respondido por el jsolarski

Lea otras preguntas en las etiquetas