Main Site Documentation

SD Card speed - playing with pullup resistors


#1

Today I did some test and the results are interesting.

Test equipments:

G120SOM, Sd speed is 30MHz, memeory clock is overdrived

Test file size: 1177027 bytes

File transfer is done using usb-cdc, data protocol is custom

Usb file transfer time is constantly 2.4sec so actual storage time is 2.4sec lesser than
measured time - program has special functionality to perform a “dumb” data copy and usb transfer speed is measured.

One file fragment size is 0xFFFE bytes

All time measurements are made in PC application - counter starts before first file fragment is sent and counter stops after “file saved” answer.

Used cards:

Class 4 Cards - 2Gb and 8Gb
Class 6 Card - 4Gb
Class 10 Card - 16Gb

Test results:

Test 1 - Pullup resistors 22Kohm

Clock speed is not measurable -trying this will cause sd card communication errors

Class 4 Cards

Usb transfer + file saving time ~62 sec, 2Gb card is sligthly faster

Class 6 card

Usb transfer + file saving time ~18 sec

Class 10 card

Can’t mount card

Test 2 - Pullup resistors 10Kohm
Clock speed is not measurable -trying this will cause sd card communication errors

Class 4 Cards

Usb transfer + file saving time ~30 sec, 2Gb card is sligthly faster

Class 6 card

Usb transfer + file saving time ~12 sec

Class 10 card

Can’t mount card

Test 3 - Pullup resistors 5,6Kohm
Measured clock speed - 30MHz

Class 4 Cards

Usb transfer + file saving time ~25 sec, 2Gb card is sligthly faster

Class 6 card

Usb transfer + file saving time ~11 sec

Class 10 card

Can’t mount card

Test 4 - Pullup resistors 1.5Kohm
Measured clock speed - 30MHz

Class 4 Cards

Usb transfer + file saving time ~24 sec

Class 6 card

Usb transfer + file saving time ~10 sec

Class 10 card

Can’t mount card


Class 10 card is my android phone card, multiple partitions probably causes mount error. Tomorrow I will buy new class 10 card and will make some additional tests.

Why I tried changing pullup resistors - I have a long experience with PiC MCUs and there I found that pullups lower than 10Kohm gives better performance. Ok, sd card interface was SPI.

This test shows that pullup resistors may affect sd card writing speed, bigger difference was between 22kohm and 10Kohm. But this is only first test, maybe there is a some other problem that causes sd card communication speed issues…

What else, trying RLP, different boards? Or dump that question and say - netmf sdcard is slow…but usable.