Forum: Mikrocontroller und Digitale Elektronik RS232 -> SD-karte mit Auslesemöglichkeit während der Aufnahme


von Ben (Gast)


Lesenswert?

Hallo,

ich möchte mir einen "RS232-Logger" bauen, der die per RS232 empfangenen 
Zeichen auf eine SD-Karte speichert. Aber es soll während der 
Aufzeichnung möglich sein, die bisher aufgenomenen Daten oder aber einen 
älteren Datensatz auf den PC übertragen zu können. Bisher habe ich immer 
nur Projekte gefunden, bei denen die Aufnahme gestoppt werden musste, um 
dann die SD-Karte z.B. in einen Kartenleser einzulegen.

Dieses "Gerät" möchte ich zum universellen Langzeitdebuggen, universelle 
Möglichkeit zur Aufzeichnung von Messdaten aus einer Quelle mit 
RS232-Schnittstelle, ... nutzen.

Meine Ideen dazu:
SD-Karte an ATmega128, die eine UART dient zum Empfangen der 
aufzuzeichnenden Daten und die andere UART dient zur Kommunikation zum 
PC (Befehle vom PC empfangen und aufgezeichnete Daten an PC senden). 
Alternativ kann auch ein ATmega32 mit einer Software-UART eingesetzt 
werden.

Doch bevor ich mich an die Arbeit mache, wollte ich von euch hören, ob 
ihr schon so etwas ähnliches kennt und was ihr sonst noch für 
Anmerkungen habt.

Gruß
Ben

von Purzel H. (hacky)


Lesenswert?

Sicher sollte das moeglich sein. Mir waere der Mega128 zu muehsam. Diser 
controller hat das ISP auf der Seriellen. Da muss man mit Gattern 
tricksen. Ich wuerd den Mega644 empfehlen. Fuer die SD karte muss man 
ein paar Buffer haben. Dann sollte das gehen.

von Ben (Gast)


Lesenswert?

Hallo Pico Oschi,

ich denke auch, dass das mit nicht all zu viel Aufwand machbar ist.
Deinen Einwand habe ich jedoch nicht verstanden:

Pico Oschi schrieb:
> Diser controller hat das ISP auf der Seriellen. Da muss man mit Gattern
> tricksen.

Kannst du mir genauer sagen, was du mit "ISP auf der Seriellen meinst?"
ISP: MISO, MOSI, SCK, RESET
RS232: RXD0, TXD0, RXD1, TXD1
So weit ich das im Datenblatt (ATmega1284P) gesehen habe, gibt es keine 
Überschneidungen.

Gruß
Ben

von Paul Breitner (Gast)


Lesenswert?

ISP: In System Programmer;
die SPI-Schnittstelle und der Programmieradapter teilen sich diese 
Schnittstelle.

von Purzel H. (hacky)


Lesenswert?

Ich hab mich auf den Mega128 bezogen. Da war das noch so, glaub ich mich 
zu erinnern.
Man konnte die zwei modi aber auseinanderhalten, da das Programmieren 
bei Reset =0 geschieht.
ISP und SPI sind sowieso aufeinander, ausserbei diesem 128, eine kleine 
Fussnote unter Serial Programming

von Ben (Gast)


Lesenswert?

Bei anderen ATmegas ist das doch auch so oder etwas nicht?
Aber wo ist das Problem? Ich nehme zum Programmieren einfach die 
SD-Karte heraus... Oder habe ich etwas übersehen?

Gruß
Ben

von holger (Gast)


Lesenswert?

>Aber wo ist das Problem? Ich nehme zum Programmieren einfach die
>SD-Karte heraus... Oder habe ich etwas übersehen?

Ich nicht, ich nehm auch mein DOGM nicht raus, meinen VS1001
auch nicht, und meinen ENC28J60 auch nicht.

von Ben (Gast)


Lesenswert?

Ich habe nochmal nachgedacht. Ja, vermutlich habe ihr recht, ich werde 
es wohl auch so machen, dass ich die SD-Karte nicht herausnehmen muss. 
Vielen Dank für die Anregung.

Gruß
Ben

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Du musst jedoch die zu loggenden Daten im SRAM 
zwischenspeichern(puffern) während du die vom PC angeforderten Daten von 
der SD ließt, da du nur in einer Richtung Daten zur SD schicken oder von 
ihr lesen kannst.
und du solltest vor dem Lesen von SD aureichend Puffer allocieren.
ansonsten kannst du natürlich den Instream pseudosynchron (mulitplex) an 
die UART und die SPI senden.

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
Noch kein Account? Hier anmelden.