auf diesem link http://www.ulrichradig.de/home/index.php/avr/mmc-sd wird eine SD-Karte an einen Atmega32 angeschlossen. Funktioniert das auch mit einem Atmega88 mit der SD-Karte?
Bei anderen Projekten läuft SD-Software sogar auf einem ATmega8. Also nur Mut. http://www.dharmanitech.com/2009/01/sd-card-interfacing-with-atmega8-fat32.html
µC-Bastler schrieb: > Bei anderen Projekten läuft SD-Software sogar auf einem ATmega8. Aber Du hast schon gesehen, das da relativ schnell auf einen ATmega32 gewechselt wurde. Hier der Grund:
1 | Right now flash is 99.9% full |
Abgesehen davon ist da m.E. im Schaltplan ganz schön gemurkst worden (z.B. ATmega IO's mit 5V gehen direkt auf die SD-Karte) August
August schrieb: > Abgesehen davon ist da m.E. im Schaltplan ganz schön gemurkst worden Woraus entnimmst du, dass der µC mit 5V betrieben werden soll. VCC ist im Schaltplan mit 3V3 angegeben.
liegt das dann an der Größe des Datenpuffers, den man zum Schreiben auf die SD-Karte im uC braucht, der dann so viel Speicher verbraucht? Angenommen, man hat nur alle 30 Sekunden einen Temperaturwert, der gesichert werden soll, oder wäre das auch schon zu viel?
Bei ner SD Karte musste nen Cluster von 512byte zwischenspeichern und jetz guck mal wie groß der RAM deiner Vorschläge is. OPS! Also brauchste AVRs mit 1kB aufwärts an RAM.
Martin Wende schrieb: > Bei ner SD Karte musste nen Cluster von 512byte zwischenspeichern und > jetz guck mal wie groß der RAM deiner Vorschläge is. > OPS! Dass heisst auch - theoretisch - ich sammel erst so viel Messwerte, bis der 512byt-große Cluster voll ist und uebertrage den dann in einem Zug zu der SD-Karte?
> Bei ner SD Karte musste nen Cluster von 512byte zwischenspeichern [...] Das ist nicht in jedem Fall nötig: Petit FAT FS (http://elm-chan.org/fsw/ff/00index_p.html) braucht keinen Sektor Puffer - dafür braucht man aber SPI Funktionen mit Offset. Ein Sektor Puffer macht aber vieles leichter, besonders beim Schreibem von Daten auf die SD.
Peter Binder schrieb: > Dass heisst auch - theoretisch - ich sammel erst so viel Messwerte, bis > der 512byt-große Cluster voll ist und uebertrage den dann in einem Zug > zu der SD-Karte? Kannst auch 512byte auslesen, ein Bit ändern und wieder raufschreiben ;) Aber ja so kann mans machen, ist dann eben nur ohne Dateisystem. Wenns am PC shcnell auslesbar sein soll, wird das Dateisystem noch oben drauf benötigt. Brauchst aber trotzdem mehr als 512byte RAM, hast ja noch Systemvaiablen und den STack im RAM rumgeistern.
µC-Bastler schrieb: > August schrieb: >> Abgesehen davon ist da m.E. im Schaltplan ganz schön gemurkst worden > > Woraus entnimmst du, dass der µC mit 5V betrieben werden soll. VCC ist > im Schaltplan mit 3V3 angegeben. Von welchem Schaltplan reden wir? In dem ersten Schaltplan mit dem ATmega8 ist zwar alles auf 3.3V, aber AVCC ist nicht beschaltet und der MAX232 ist nicht für 3.3V ausgelegt. Stattdessen könnte man dafür einen MAX3232 nehmen. Im Schaltplan mit der Versionsnummer 2.4 werden zwar 5V und 3.3V erzeugt, aber der AVR wird mit 5V Spannung versorgt. Damit sind auch die Ausgänge (IO-Pins) auf einem Pegel von 5V. Und die gehen ohne Pegelwandler direkt auf die 3.3V Eingänge der SD-Karte. Das ist Murks. August
August schrieb: > Von welchem Schaltplan reden wir? Na, von dem SD-Card Interface am ATmega8. Mit dem MAX232 hast du´wohl Recht. Der Rest der µC-Beschaltung ist sowieso rudimentär, da etliche Dinge nicht eingezeichnet sind (Beschaltung von AVCC, AGnd, Reset). Wegen der Genauigkeit der Baudrate der RS232 sollte man besser auch einen ext. Quarz vorsehen.
µC-Bastler schrieb: > Na, von dem SD-Card Interface am ATmega8. Ok. Wird sicher trotzdem knapp im Flash. Je nachdem, was Du noch alles damit machen willst. Trotzdem darauf achten, daß bei 3.3V die maximale Taktfrequenz auf 16 MHz begrenzt ist (siehe Datenblatt ATmega88). August
Spess53 schrieb: > Esgibt ja auch noch ATMega168/328. Hab ich gesehen. Aber diese uCs sind alle sooooo klein, die kann ich nicht mehr auf meinem Steckbrett draufstecken, ausserdem kann ich so kleine Sachen garnicht löten. Idealerweise muss ich mir dann einen solchen uC bestellen, der schon irgendwie auf einer Platine draufgelötet ist und wo Kontaktstifte zum Ausgang vorhanden sind. Aber mit meinem AVRISP mKII müsste ich diese größeren ja auch programmieren können?
ich hab grad nochmal in einer Liste geschaut: Atmega88: BootMemor 8, DataMem 1024, eeprom 512 Atmega168 BootMem 16, DataMem 1024, eeprom 512 Also wäre der Atmega168 wirklich "besser" für SD-Schreibkram geeignet? So viel mehr Speicher DataMem hat der uC doch garnicht.
Peter Binder schrieb: > Also wäre der Atmega168 wirklich "besser" für SD-Schreibkram geeignet? > So viel mehr Speicher DataMem hat der uC doch garnicht. Beim Atmega88 und Atmega168 ist die RAM-Größe identisch. Wenn Dir 1K nicht reicht, nimmst Du halt den Atmega328, der hat 2K RAM. Ausserdem bekommt man den 328er oft schon billiger als den 168er... liegt wohl an den vielen Arduinos draußen.
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.