Ciao
Mi chiedevo, qual'è la velocità di lettura dalla sd card sulla ethernet shield ufficiale?
Utilizzo la eth shield come web server e per l'sd log ed ho notato che un file di log da 64k viene giù a 5k al secondo. Un po' lentino. E' normale?
Inizializzo la card a piena velocità con la lib SdFat.h
if (!card.init(SPI_FULL_SPEED, 4)) error("card.init failed!");
DanielaES:
Mi chiedevo, qual'è la velocità di lettura dalla sd card sulla ethernet shield ufficiale?
Utilizzo la eth shield come web server e per l'sd log ed ho notato che un file di log da 64k viene giù a 5k al secondo. Un po' lentino. E' normale?
Il collo di bottiglia è Arduino, più di tanto non può fare, la lettura della SD e la gestione della ETH avvengono entrambe attraverso la SPI che deve essere condivisa tra questi due device.
Prima Arduino legge la SD 512 byte per volta, un blocco dati, e deve fare vari accessi solo per leggere la fat, poi deve accedere al file vero e proprio per poterlo inviare, sempre 512 byte per volta, ogni blocco dati va inviato alla ETH che a sua volta deve inviarlo in rete con tutte le latenze del caso.
Alla fine anche se Arduino può dialogare con la ETH e la SD a circa 250 kBs reali, da non confondersi con la velocità massima della SPI, per via delle varie operazioni intermedie e le latenze della rete ecco che difficilmente vai oltre i 5/10 kBs come transfer rate reale sul network.
astrobeed:
Sono poco meno di 17 kBs, insomma siamo sempre li
Io per ora sto sui 5k al secondo, pablos ha una mega io una 2009, cambia qualcosa?
Ad occhio direi che non dovrebbe cambiare nulla sulla velocità di esecuzione/download, però chiedo.
Cmq ho capito che la lentezza è la norma
Anche se passare dai 5kBs al secondo ai 17kBs non mi dispiacerebbe
Cambia qualcosa la formattazione della sd fat12 o fat32?
tra mega e 2009 non so cosa cambia, non so risponderti.... però i passaggi dei dati dipendono dalle diverse librerie che vai a impegnare tra letture e trasmissioni, trattamento dei dati ecc ecc, la velocità la determina il software oltre ai limiti fisici che di più non puoi avere.
Avevo fatto delle prove con un mp3 da 6mb circa usavo le librerie <ethernet.h> <SdFat.h> <SPI.h> della 0022 con 1.0 non ho provato
ciao