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
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.
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
ISP: In System Programmer; die SPI-Schnittstelle und der Programmieradapter teilen sich diese Schnittstelle.
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
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
>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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.