Tengo la intención de usar una tarjeta SD para registrar el movimiento (X, Y, C) de un animal con fines de investigación.
Estoy usando la plataforma de lanzamiento ARM Cortex-M4 TM4C123GH6PM de Texas Instruments junto con un adaptador de tarjeta Micro-SD de Sparkfun. Yo uso el protocolo SPI para escribir / leer la tarjeta micro SD.
Arriba hay una foto del adaptador micro SD específico que uso. Tenga en cuenta que este es un tipo de adaptador que no tiene resistencias, condensadores conectados a cualquier pin en él.
Quiero asegurar la confiabilidad de mi aplicación ya que es de importancia imperativa. Si la SD se corrompe dentro de los 14 días posteriores al montaje, se deberán gastar más fondos para volver a colgar al animal.
He hecho todo lo posible para garantizar la confiabilidad del software, pero a veces recibo errores cuando utilizo fprintf, fsync, en el que reinicio y arreglo el archivo para adjuntarlo nuevamente. Por fin, si nada funciona, restablecer el sistema completamente. Un reinicio generalmente monta el sistema de archivos nuevamente y generalmente funciona. Pero eso es algo que no quiero hacer.
Escribo diez de las siguientes cadenas por segundo y eso es todo lo que escribo en data.txt
1014067x3.97y-1.82z8.31x-0.02y-0.02z-0.01T5-45-28-900GPGLL, 0654.8824, N, 07958.3790, E, 171619.300, AB88,4030
He conectado este adaptador micro SD directamente a los pines MCU SPI. No hay resistencias, capacitores como circuito de soporte. Tenía este adaptador micro SD con resistencias pull-up, etc. y ya he notado una mejor confiabilidad con ese adaptador. Pero quiero saber con certeza si los circuitos adicionales pueden ayudar.
¿Alguien podría ayudarme a saber si las extensiones o cualquier otro circuito adicional harían que mis escrituras en SD sean más confiables?
En este momento, he notado que recibo aproximadamente 1-2 errores de una de las funciones de Fat-fs que uso cada 3-6 horas. El sistema debe funcionar durante 14 días y se espera que data.txt llegue a ser de 1.5GB después de 14 días.