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.