Bir SD karta veri depolamak için Microchip MDDFS kitaplığını kullanan bir aygıt üzerinde çalışıyorum. Kaydedici her dakika maksimum 1 giriş (56bayt) hızında veri kaydedecektir. Sorun, cihazın herhangi bir zamanda, potansiyel olarak bir yazma dizisinin ortasında güç kaybedebilmesidir. Verilerimi yolsuzluğa karşı korumanın en iyi yolunun ne olduğunu merak ediyorum. Güç kaybolduğunda dosya açıksa, son dosya kapatıldıktan sonra dosyaya yazılan tüm verilerin kaybolduğunu gördüm. Yazma dizisinin ortasında güç kaybolursa, aynısının geçerli olup olmadığını bilmiyorum.
Yazma yordamı çok sık gerçekleşmediği için, verileri her açtığımda dosyayı açabilir, verileri yazabilir ve sonra dosyayı kapatabilirim. Bu yaklaşım sd karta zamanla zarar verir mi?
Başka bir yaklaşım dosyayı açık tutmak olabilir, ancak her 10 veya 50 yazımdan sonra dosyayı kapatabilir ve sonra tekrar açabilirim.
Ben de bellekte veri arabelleğe olabilir, daha sonra bazen bir kbyte ya da öylesine sonra verileri yıkayın.
Son fikrim, devremde, dosyayı hızlı bir şekilde kapatmak için güç kesildikten sonra yeterince uzun bir süre boyunca pic / sd kartıma güç sağlayacak büyük bir kapasitör ekleyebilirdim. Bu yaklaşımdaki sorun, dosyayı kapatmak ve / veya veri kaydetmek için geçen sürenin çok tutarsız olmasıdır. Anladığım kadarıyla, bu sefer dosyanın bulunduğu flash sayfadaki geçerli yere bağlı olabilir.
Her neyse, siz ne önerirsiniz?