Forum: Mikrocontroller und Digitale Elektronik SDCard, SPI, ATMega - Geschwindigkeit


von Oliver L. (ollil)


Lesenswert?

Hi,

ich habe gestern meine Schaltung mit einer SD-Card an einem ATMega1284P 
fertig gestellt. Ich setze als Software aktuell die Software von 
http://www.roland-riegel.de/sd-reader/ ein. Ich habe mal mithilfe des 
TCNT0 (Vorteiler 8) die Ausführungsgeschwindigkeit gemessen, 10MB in 
512Byte Blöcken von der SD-Card zu lesen (CMD_READ_SINGLE_BLOCK). Also 
raw - ohne FAT. Die CPU läuft mit 18.432MHz.
Ich komme auf eine Lesegeschwindigkeit von 271,69 KB/Sek.

Ist das in etwa so das was man erreichen kann, oder geht noch wesentlich 
mehr? Der Code ist recht modular aufgebaut was sicherlich auch zu Lasten 
der Performance geht. Was erreicht Ihr so mit Eurem ATMega bei ungefähr 
gleicher Taktfrequenz?

von Oliver L. (ollil)


Lesenswert?

Ich hatte in der Vergangenheit auch meine eine Seite im Netz gefunden, 
wo jemand mit dem LA und den compilierten C Quellen seines Programmes 
die Abarbeitung auf dem SPI Bus untersucht hat, und dann den C-Code so 
umgestellt hat, das der Compiler Assembler Code erzeugt hat welcher 
wesentlich performanter in der SPI-Kommunikation war (die Schleifen 
anders angeordnet usw usw....) Leider finde ich die Seite nur nicht mehr 
:(

von der alte Hanns (Gast)


Lesenswert?

Als SPI-Takt ist der halbe CPU-Takt möglich, also 9.2 Mbit/s.
Real sollte also doch sicher 1 Mbyte/s machbar sein.

von Schiko (Gast)


Lesenswert?

der alte Hanns schrieb:
> Als SPI-Takt ist der halbe CPU-Takt möglich, also 9.2 Mbit/s.
> Real sollte also doch sicher 1 Mbyte/s machbar sein.

..solange Du die Daten nicht verarbeiten willst,
den Overhead außer Acht lässt, Ok!
Willst Du einen WOM-Speicher (Write only memory) bauen?
Den gibt es schon.

Schiko

von der alte Hanns (Gast)


Lesenswert?

Konkret: zwei SDCs an einem ATmega1284P mit 22 MHz (eine an SPI, eine an 
USART0): das Kopieren von 40 MByte benötigt 35 s.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Ich glaub das haste gesucht fürn SPI Speedup:
http://www.matuschek.net/atmega-spi/

von Oliver L. (ollil)


Lesenswert?

Jo - das hatte ich gesucht - Danke!

Sind nun 270 KB/sec von ner SD-Card Lesen via SPI wesentlich zu langsam?

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.