µC und SD Karte - Datenlogging

Gast #2179093
Lesenswert?

Hallo Forengemeinde,

im Zuge meiner BA will ich ein einphasiges Leistungsmessgerät bauen, 
dass die momentane Leistung loggt. Hierzu möchte ich eine SD Karte 
verwenden und insbesondere eine bekannte FAT16/32 Bibliothek wie die von 
Roland Riegel. Die Daten über Schein-,Blind- und Wirkleistung stellt ein 
IC zur Verfügung wie z.b. der ADE7753. Bekanntermaßen werden diese 
ebenfalls über das SPI Interface mit dem µC verbunden.

Meine Frage daher: Wenn ich sagen wir mal alle 200ms auf die SD Karte 
schreiben möchte in der Größenordnung einiger bytes, wie lange dauert 
dann dieser Schreibvorgang? Oder anders ausgdrückt macht es Sinn das SPI 
des µC zu multiplexen um sowohl von dem IC zu lesen als auch auf die SD 
Karte zu schreiben. Oder sollte ich gleich zwei µC verwenden die über 
das USART miteinander kommunizieren. Der eine holt die Daten des IC, 
schickt sie an den zweiten, dieser schreibt sie dann auf die Karte.

Falls das ganze keinen Sinn macht bitte auch aufklären ;)

Welchen IC würdet ihr für obiges vorhaben verwenden?

Grüße,
Diseq
#2179130
Lesenswert?

Tach Diseq,

eine SD Karte sowie der ADE haben CS bits. SPI ist als multi slave BUS 
ausgelegt und kann daher ohne Probleme mehrere Teilnehmer verwalten. Die 
slaves können elektrisch stumpf parallel geschaltet werden. Nur für das 
CS brauchst du halt noch jeweils ein bit am Master. Wird wohl nicht das 
Problem sein.

Außerdem würde ich dir empfehlen einen Buffer im RAM zu erstellen, dass 
du nicht so oft schreiben musst. Es kommt halt darauf an wie viel RAM 
dir zur Verfügung steht.

Thor
#2179179
Lesenswert?

Ohha ein Problem gibt es aber noch.

Ich sehe grade, dass der ADE7753 ein 5V Fresser ist. Ab 4V macht der 
dicht. SD Karten erwarten aber einen Betriebsspannung von 3,3V. Das wird 
ohne getrickse also nichts.

Die einfachste Methode ist ein anderes chip mit 3V3 VDD zu nehmen. Wenn 
es unbedingt ein 5V Typ sein muss ist die saubere Methode BUStreiber mit 
3V3 Ausgängen zu nehmen.

Quick and dirty ist den ADE aus 5V zu versorgen, den µC und die SD aber 
aus 3V3. Das geht bei den Eingängen auf jeden Fall. Das logic high ist 
bei 2,4V zufrieden. Um zu verhindern, dass dir das DO bei nem high level 
den Ar*** aufreißt helfen ein paar kOhm in Reihe.

Thor
#2179185
Lesenswert?

> jeder IC hat einen CS Pin, der je nach angelegt High/Low ihn dazu
> veranlasst zuzuhören bzw. zu kommunizieren?

So sieht es aus. Das DO des ADE wird hochohmig und das interne 
shiftregister wird deaktiviert, wenn du CS auf high ziehst. Das gleiche 
passiert bei der SD.

Thor
Gast #2179198
Lesenswert?

Interessanter Einwand. Nachdem ich noch am Bauteile suchen bin hab ich 
daran noch garnicht gedacht ;)

Wäre es nicht auch möglich einen Pegelkonverter für die Kommunikation 
zwischen µC und SD Karte zu verwenden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren