Hallo, werde aus den Datenblatt nicht ganz schlau. Mit welcher Datenrate kann ich maximal beim vollständigen Beschreiben rechnen? Weürde einen ATMEGA32 mit 16MHz verwenden. Steffen
Wenn Du abwechselnd beide Buffer beschreibst, ist das DataFlash schneller, als Dein ATMega es je sein kann.
Danke Knut für die Abschätzung. Wie sieht es mit der Limitierung bei einem Buffer aus? Steffen
Steffen schrieb: > Wie sieht es mit der Limitierung bei einem Buffer aus? Was sagt denn das Datenblatt dazu?
"werde aus den Datenblatt nicht ganz schlau." gelesen? Ganz am Anfang? Steffen
Wenn Du nur einen Buffer benutzt (den Sinn sehe ich jetzt nicht), musst Du nach dem Abschicken jeder Page rund 3..6ms warten, da Du den Buffer während des Flashens nicht anfassen darfst. Das passiert dann alle 512/528 Bytes. Wenn Du beide Buffer verwendest, musst Du nicht warten, da Du, währen die Page aus dem einen Buffer flasht, den anderen nachladen kannst.
@ Knut Ballhause >Du nach dem Abschicken jeder Page rund 3..6ms warten, da Du den Buffer >während des Flashens nicht anfassen darfst. Das passiert dann alle >512/528 Bytes. > Wenn Du beide Buffer verwendest, musst Du nicht warten, >da Du, währen die Page aus dem einen Buffer flasht, den anderen >nachladen kannst. Macht dann aber immer noch gerade mal 528 Bytes/3ms, macht ~ 172kB/s bzw. ~1,4 Mbit/s. Das schafft der AVR leicht.
Falk Brunner schrieb: > ~1,4 Mbit/s. Das schafft der AVR leicht. Die Daten muss der AVR aber auch irgendwo herholen und in das SPI schreiben. Da dafür mit Sicherheit mehr als 8 Zyklen (alleine für den Interruptservice) verbraucht werden, schafft er es nicht. Zumal das SPI gerade mal mit 8Mhz als Maximum laufen kann.
@ Knut Ballhause >> ~1,4 Mbit/s. Das schafft der AVR leicht. >Die Daten muss der AVR aber auch irgendwo herholen und in das SPI >schreiben. Sicher, das ist aber ein anderes Problem. Datendurchsatz im Gesamtsystem. Wenn man aber nur mal einen Burst machen will/muss, schafft das der AVR. > Da dafür mit Sicherheit mehr als 8 Zyklen (alleine für den >Interruptservice) verbraucht werden, SPI bei hohen Datenraten läuft ohne Interrupt, zumindest nicht auf Byteebene. >schafft er es nicht. Zumal das SPI >gerade mal mit 8Mhz als Maximum laufen kann. 10, viele AVRs gehen bis 20 MHz. MfG Falk
Also ums lesen braucht man auch keine Buffer, wohl eher beim schreiben... Lesen geht über die Funktion recht fix (aus eigenen Benchmarks =) ) Continuous read capability through entire array Grüße Basti
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.