Witam,
Mam następujący problem.
Chciałbym próbkować dane z akcelerometru, żyroskopu oraz magnetometru z częstotliwością 1 KHz, przez okres 7 sekund. Dane te chciałbym zapisać na karcie SD.
Dotychczas aby zapisać dane na kartę SD korzystałem z biblioteki Fatfs (SDIO). Teraz jest to dość problematyczne, ze względu na czas realizacji zapisu.
Dane muszą być próbkowane z dokładnym odstępem czasu( całkowanie danych z żyroskopu), więc realizowałem to na przerwaniu od SysTicka. O ile odczyt sensorów nie jest jest problematyczne, to zapis nie jest już tak trywialny.
Co oczywiste nie mogę zapisywać danych na kartę SD w tym samym przerwaniu co odczyt sensorów.
Myślałem o gromadzeniu danych w tablicy i następnym zapisie. To jednak wymaga odpowiedniej wielkości pamięci mikroprocesora.
7s = 7000 próbek
9 DOF( 3 osie akcelerometru, żyroskopu oraz magnetometru), zapis w int. Więc jedna próbka 9 ×int32 = 9×4 bajty= 36 bajtów
przez 7 sekund 252 000 bajtów !
Ktoś ma może pomysł jak zrealizować takie zagadnienie?
Mam następujący problem.
Chciałbym próbkować dane z akcelerometru, żyroskopu oraz magnetometru z częstotliwością 1 KHz, przez okres 7 sekund. Dane te chciałbym zapisać na karcie SD.
Dotychczas aby zapisać dane na kartę SD korzystałem z biblioteki Fatfs (SDIO). Teraz jest to dość problematyczne, ze względu na czas realizacji zapisu.
Dane muszą być próbkowane z dokładnym odstępem czasu( całkowanie danych z żyroskopu), więc realizowałem to na przerwaniu od SysTicka. O ile odczyt sensorów nie jest jest problematyczne, to zapis nie jest już tak trywialny.
Co oczywiste nie mogę zapisywać danych na kartę SD w tym samym przerwaniu co odczyt sensorów.
Myślałem o gromadzeniu danych w tablicy i następnym zapisie. To jednak wymaga odpowiedniej wielkości pamięci mikroprocesora.
7s = 7000 próbek
9 DOF( 3 osie akcelerometru, żyroskopu oraz magnetometru), zapis w int. Więc jedna próbka 9 ×int32 = 9×4 bajty= 36 bajtów
przez 7 sekund 252 000 bajtów !
Ktoś ma może pomysł jak zrealizować takie zagadnienie?