Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Schreibgeschwindigkeit SD-Card Kategorie: Programmierung C (von Volker - 1.09.2015 23:13)
Als Antwort auf Re: Schreibgeschwindigkeit SD-Card von Daneie - 31.08.2015 16:00

> > > > > 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


    Antwort schreiben


Antworten:

Re: Schreibgeschwindigkeit SD-Card (von UlliS - 2.09.2015 9:30)
    Re: Schreibgeschwindigkeit SD-Card (von Volker - 3.09.2015 0:10)
        Re: Schreibgeschwindigkeit SD-Card (von UlliS - 3.09.2015 14:14)
            Re: Schreibgeschwindigkeit SD-Card (von Joerg - 4.09.2015 14:09)
                Re: Schreibgeschwindigkeit SD-Card (von UlliS - 4.09.2015 16:24)