Hallo Ausgangssituation: Mit dem Atmel Xplaind Board ist eine Art Datenlogger realisiert worden. Der Xmega128a1 nimmt Daten über seine ADC's auf, speichert sie zwischen und schickt sie auf anfrage des At32uc3b an diesen weiter. Dieser schickt die Daten wiederum über USB an den PC weiter. Dabei ist der UT32 am PC als USB Composite Device ,HID und Massenspeicher(angeschlossene SD Karte), angemeldet. Die SD Karte ist über SPI am At32 angeschlossen. Nun werden die vom Xmega geschickten Daten vom UT32 nicht nur an den PC weitergeleitet, sondern zusätzlich noch in eine Textdatei auf der SD Karte geschrieben . Dies ist mit dem Atmel Filesystem realisiert. Allerdings treten dabei immer wieder Fehler auf, die nicht reproduzierbar sind und ich vermute die Ursache darin, das zwei Dateisystem gleichzeitig auf die SD Karte zugeifen. Ist es möglich vor dem Schreiben der Daten durch den At32 nur den Massenspeicher Teil des Composit Devices zu trennen, um sicherzustellen, dass zu dieser Zeit nur das AtmelFileSystem zugreift? Der HID teil der Verbindung muss bestehen bleiben, damit die Daten auch weiterhin zum PC geschickt werden könne. Gruß Jochen
> Ursache darin, das zwei > Dateisystem gleichzeitig auf die SD Karte zugeifen Gaaanz schlecht, denn der PC hat einen Cache für Daten der SD Karte. Er bekommt von Änderungen inbesondere der FAT also nix mit. > Massenspeicher Teil des Composit Devices zu trennen Es geht einfacher, wenn der Massenspeichr (USB Mass Storage) sich als "entfernbares Medium" - removable Media - ausgibt, also als "leeren" SD Schacht. Dann meldet man dem PC einfach dass kein Medium eingelegt ist, wenn das µC Logger Programm auf der SD schreibt. Bessere USB Mass Storage Implementationen bieten diese Möglichkeit an. Man könnte die SD Karte für den PC auch als "Read Only" markieren, aber dann bekommt der PC die Änderungen u.U. nicht mit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.