Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Скорост SPI <-> SD карта
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=9896
Страница 1 от 1

Автор:  @@@ [ Пон Фев 20, 2012 5:09 pm ]
Заглавие:  Скорост SPI <-> SD карта

Здравейте. Интересува ме следният въпрос: каква скорост на достъп може да се постигне по SPI (1 bit) с SD карта? Знам че отговорът е "зависи", но все пак някаква средна стойност би могло да се каже - да не казвам максимална теоретична, защото трудно би се постигнала на практика.

Автор:  velio [ Пон Фев 20, 2012 5:23 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

Пишеше го някъде из спецификацията на SD стандарта. Мисля че клока беше 25MHz максимум в тоя режим. Значи <3MB/s . Вероятно по-реалистично е да се каже към 2МВ.

Автор:  bateAz [ Пон Фев 20, 2012 6:36 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

Зависи :D

Ако ще ползваш файлова система може да слезе надолу до под 100к / сек. На някои карти е било даже до 20. Неприятният момент е, че понякога върви добре и бързо и в един момент спре за стотина милисекунди, през това време връща "заето". След това си се оправя и си продължава нормално.

Автор:  t_i_t_o [ Пон Фев 20, 2012 7:03 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

При нас го докарва около 2 МВ/с.

Автор:  miro_atc [ Пон Фев 20, 2012 11:38 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

Първо зависи от това какъв SPI клок се ползва. На практика всички нови карти поддържат 25MHz, но зависи и от платката. При нас на една от платките дето същия SPI се ползва и за дисплей и ходи по разни кабели се наложи да ограничим <16MHz.

Второ зависи от операциите. Повечето карти имат поддръжка за мултипле read/write, т.е. като имаш последователни блокове от 512 байта почти няма "заето" и в крайна сметка се постига почти 100% от клока. Примерно при 16 MHZ клок имаш почти 2MB/s.
Но при пръснати операции на всяка команда има заето (което доста зависи от картата). Зависи също дали предпочиташ да полираш постоянно или леко да поспиваш...

Зависи също дали ползваш файлова система и каква... Даже много зависи от това. Особено ако правиш малки файлчета, некратни на 512 байта. Тогава скоростта може да падне в много много пъти, щото първо се чете целия сектор, променя се в паметта и се връща целия. Примерно ако променя файл с размер 10 байта, ще имаш трансфер на 1024+ (поне).

Автор:  bateAz [ Вто Фев 21, 2012 11:24 am ]
Заглавие:  Re: Скорост SPI <-> SD карта

Проблемите идват със записа, ако само четеш, нещата са доста по-розови. Но при запис бъди готов да се появят "почивни дни" и да ти се налага да чакаш.

Автор:  @@@ [ Вто Фев 21, 2012 11:38 am ]
Заглавие:  Re: Скорост SPI <-> SD карта

bateAz написа:
Проблемите идват със записа, ако само четеш, нещата са доста по-розови. Но при запис бъди готов да се появят "почивни дни" и да ти се налага да чакаш.

Предполагам това са повече особености на SD картата (флаш паметта) отколкото на SPI връзката. С FAT32 ще се ползва.

Автор:  head_up [ Вто Фев 21, 2012 12:25 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

@@@ написа:
bateAz написа:
Проблемите идват със записа, ако само четеш, нещата са доста по-розови. Но при запис бъди готов да се появят "почивни дни" и да ти се налага да чакаш.

Предполагам това са повече особености на SD картата (флаш паметта) отколкото на SPI връзката. С FAT32 ще се ползва.


Ако не ти трябва над 2Г по-добре 16-ката. FAT32 вкарва не малко закъснение при запис. Да не кажа двойно. То не, че това е работа на SPI, за където ти е въпроса, но все пак си отбележи, да не се чудиш после.

Автор:  @@@ [ Вто Фев 21, 2012 1:18 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

Ясно ми е, но все пак е въпрос на размер на клъстера. При големи клъстери FAT32 и FAT16 са едно и също от гледна точка на размер на FAT-а и бавенето.

Автор:  [ Сря Фев 22, 2012 8:11 pm ]
Заглавие:  Re: Скорост SPI <-> SD карта

PIC32 на 80MHz, SPIclk=20MHz ( 80MHz/4 ), FatFs код за FAT32, по спомен ми даваше четене на буфер от 1940 байта между 700us и 1.5ms, което е 2.7Mbps и 1.293Mbps. Записа не съм го мерил. Няма ги записките пред мен, мога и да бъркам де.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/