Gast
#2911152
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?
|
Anzeige
|
SD-Karte an Atmega48/88
Gast
#2911152
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?
Gast
#2911160
im prinzip ja, es kann nur sein das der Flash/RAM des µC zu klein ist
Gast
#2911187
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
Gast
#2911200
µ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:
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
Gast
#2911207
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.
Gast
#2912178
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.
Gast
#2912197
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?
Gast
#2912208
Hi
>Also brauchste AVRs mit 1kB aufwärts an RAM.
Esgibt ja auch noch ATMega168/328.
MfG Spess
> 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.
Gast
#2912255
µ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
Gast
#2912333
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.
Gast
#2912365
µ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
Gast
#2913090
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? Die gibs auch als DIL28, wie den Mega8.
Gast
#2913107
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. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|