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?
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 :(
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.
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
Konkret: zwei SDCs an einem ATmega1284P mit 22 MHz (eine an SPI, eine an USART0): das Kopieren von 40 MByte benötigt 35 s.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.