Re: Schreibgeschwindigkeit SD-Card Kategorie: Programmierung C (von UlliS - 4.09.2015 16:24) | |
Als Antwort auf Re: Schreibgeschwindigkeit SD-Card von Joerg - 4.09.2015 14:09
| |
> > > > > > > > > > Hallo, > > > > > > > > > > > > > > > > > > > > ich verwende den Mega128CAN mit SD-Kartenmodul, Display usw. > > > > > > > > > > Bei meiner Anwendung werden alle 10ms 5 Bytes vom CAN gelesen und mit 5 weiteren Bytes (also > > > > > > > > > > insgesamt 10 Bytes) in ein geöffnetes File der SD-Karte geschrieben. Das funktioniert auch > > > > > > > > > > für ein paar Sekunden, dann dauert der Schreibvorgang über 10ms und das gesamte Programm kommt > > > > > > > > > > durcheiander. Ich vermute das passiert immer wenn 512 Bytes voll sind und der Sektor physikalisch > > > > > > > > > > geschrieben wird. > > > > > > > > > > Ich habe den SPI-Bus auf max Datenrate konfiguriert (fosz/4). Damit müssten bei 16MHz 4 kByte/ms > > > > > > > > > > übertragen werden. Ich habe schon alle möglichen Abläufe mit SDC_FSync (auch nach jedem 10 Byte- > > > > > > > > > > Paket) versucht. Damit kann ich zwar die �bertragungszeit beeinflussen, komme jedoch nicht unter > > > > > > > > > > 10ms. > > > > > > > > > > Es kann doch nicht sein, dass für schlappe 512Bytes mehr als 40kBytes Strukturdaten gesendet werden - > > > > > > > > > > oder mache ich einen Granatenfehler??? > > > > > > > > > > > > > > > > > > > > Ich bin für jede Hilfe dankbar - mir gehen echt die Ideen aus! > > > > > > > > > > > > > > > > > > > > Danke im Voraus > > > > > > > > > > Volker > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hallo Voker > > > > > > > > > speichere deine Daten doch erst mal im RAM. > > > > > > > > > Wenn dann mal Zeit ist, können die Daten auf die SD geschrieben werden. > > > > > > > > > Gru� Daneie > > > > > > > > > > > > > > > > Hallo Daneie, > > > > > > > > > > > > > > > > danke für den Tip. Es fallen jedoch zu viele Daten für das RAM an: Die Messung muss bis 20Min ohne > > > > > > > > Unterbrechung funktionieren. D.h. es fallen bei 10Bytes/10ms -> 1kBytes/Sec -> 60kBytes/min -> > > > > > > > > 1,2MBytes/20Min an. Deshalb kam ich auf die Idee mit der SD-Card. Dass die Datenübertragung so lange > > > > > > > > dauert hatte ich mir jedoch nicht träumen lassen. > > > > > > > > Gru� Volker > > > > > > > > > > > > > > Hallo, > > > > > > > > > > > > > > und wie ist das, wenn man immer 512Byte im RAM sammelt und die Daten in einem thread oder verschickt? > > > > > > > > > > > > > > Grü�e Joerg > > > > > > > > > > > > Hallo, > > > > > > wie sehen deine Daten aus? > > > > > > �ndern die sich alle 10ms oder hast du auch 50-mal hintereinander den gleichen Wert. > > > > > > Wenn das so ist könntest du die Daten komprimieren. > > > > > > Man kann 50-mal eine Null (50 Byte) senden oder man kann sagen jetzt kommen 50 Nullen (5 Byte). > > > > > > Das gleiche geht auch mit gleichen Datenfolgen. > > > > > > Gru� Daneie > > > > > > > > > > > Hallo Joerg und Daneie, > > > > > bei dem Gerät handelt es sich um einen sogen. Tripmaster, der in einem Rallye-Fahrzeug dem Beifahrer > > > > > hauptsächlich Wegstrecken, Zeit und einige Stoppuhren zur Verfügnung stellt. Nebenbei will ich > > > > > Betriebsdaten vom CAN mitloggen. Diese Daten sind also nicht konstant. Es würde vielleicht reichen > > > > > nur alle 100ms zu speichern, aber auch dafür reicht das RAM nicht über die Messzeit. > > > > > An das �bertragen in einem separaten Threat habe ich auch schon gedacht jedoch bisher noch nie mit > > > > > Threats gearbeitet. So wie ich das verstanden habe kann man jedoch nicht in den gleichen 10ms > > > > > in einem Threat die Daten erfassen und die Anzeige bedienen und im zweiten Threat Daten übertragen. > > > > > Die Datenerfassung muss aber zwingend alle 10ms erfolgen sonst stimmen Uhren und Strecken nicht. > > > > > Wenn jedoch in den gleichen 10ms zwei Threats bearbeitet werden könnten wäre das die Lösung - nur > > > > > brauche ich dazu einen Tip ob das geht. Sonst fällt mir nur noch ein die Daten mit einem selbst > > > > > programmierten Protokoll an die SD-Card zu schicken. Sie lägen dann aber nicht in einem FAT-System > > > > > vor und wären nicht mit Windows auslesbar. > > > > > > > > > > Also wenn Euch noch etwas einfällt - Danke! > > > > > Volker > > > > > > > > SD-Karten und Timing ist immer problematisch. > > > > Schau dir mal SPI SRAM Bausteine an z. B. > > > > > > > > http://www.conrad.de/ce/de/product/651222/NVSRAM-nichtfluechtiges-SRAM-23LCV1024-IST- > > > > TSSOP-8-Microchip-Technology?ref=searchDetail > > > > > > > Hallo Ulli, > > > gute Idee. Muss dann zwar die Datenrate reduzieren um 20 Min messen zu können und das Layout > > > überarbeiten aber so kann es gehen. > > > Ich danke Euch allen für Eure Tipps. Schade finde ich nur, dass sich vom Entwicklerteam niemand > > > meldet. Die müssten doch wissen was an Daten ausgetauscht wird. Mit einer kurzen Antwort wäre dann > > > klar ob ich den aktuellen Weg verlassen muss. Aber irgendwie habe ich den Eindruck die C-Control > > > stirbt aus. > > > Volker > > > > Hi Volker, > > > > in der C-Control wir eine Art von http://elm-chan.org/fsw/ff/00index_e.html SD-Card Lib. verwendet. > > Leider sind die Timings bei SD-Cards unterschiedlich und für deine Anwendung nicht so wirklich geeignet. > > Ich würde den "Umweg" über den SRAM machen, evtl. auch nur um die Daten zu puffern (Ringpuffer). > > SD-Cards halten auch nicht wirklich lange, wenn Sie so oft beschrieben werden. In den meisten Anwendungen > > werden die Daten nur 1x am Tag auf die SD geschrieben (Langzeit Aufzeichnungen). > > > > Hallo UlliS, > > > >SD-Cards halten auch nicht wirklich lange, wenn Sie so oft beschrieben werden. > >In den meisten Anwendungenwerden die Daten nur 1x am Tag auf die SD geschrieben > >(Langzeit Aufzeichnungen). > > das stimmt nicht so ganz: > > http://ccpro.cc2net.de/forum/lesen.php?eintrag=9269 > > Ich selbst habe auch schon mal wochenlange Tests mit SD Karten und sekündlichen > Schreiben und Lesen durchgeführt. > Die Kontroller achten schon darauf, immer alles schön zu verteilen. > Selbst bei einer fast vollen Karte habe ich nie Probleme festgestellt. > > Grü�e Jörg > Meiner Erfahrung nach sind die SD-Cards nach ca. 2 bis 3 Jahren kaputt. | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum