Цитата(ohmjke @ Jul 23 2014, 15:19)

Пишу на SDHC блок и после этого читаю его.
После записи сначала жду токена Data response со значением Data accepted - все ОК, получаю его сразу после второго байта CRC16. Затем, как я понял, карта шлёт busy байты в виде нулей, типа происходит запись из буфера в саму flash. Но эти busy заканчиваются только через 6-10 мс! Неужели, так и должно быть? Если так ждать после записи каждого байта, то получится максимальная скорость не более 100кБ/сек - бред.
Сейчас ещё раз глянул анализатором сразу после подачи питания - так busy длится вообще 20мс...
Ага. И при чтении может быть весело:
Цитата
SP uSD 16GB
<0.5ms – 4562197;
<1.0ms - 52698;
<2.0ms - 4683;
<5.0ms - 2;
<10 ms - 1;
<20 ms - 18;
<50 ms - 1971;
>50 ms - 4;
max - 59.9 ms
Карта непрерывно читается. Измеряется время ожидания начала данных. После тире указано число случаев для данного диапазона.
Для этой карты было 4 случая, когда данные были не готовы дольше 50 мс. Максимальное время ожидания почти 60 мс.
Самая беда в том, что чтение начинает тормозить в среднем по 46 мс но на протяжении секунды:
Цитата
<51254590:43.9ms-12075>
<+40:44.3ms-12147>
<+50:44.1ms-12123>
<+40:44.2ms-12139>
<+50:44.1ms-12113>
<+50:44.1ms-12091>
<+40:44.1ms-12111>
<+50:43.9ms-12057>
<+50:47.4ms-13023>
<+50:43.8ms-12001>
<+40:45.8ms-12577>
<+50:45.8ms-12573>
<+70:45.5ms-12501>
<+50:45.7ms-12541>
<+40:45.7ms-12551>
<+50:45.4ms-12467>
<+70:46.0ms-12649>
<+40:45.8ms-12573>
<+50:46.3ms-12711>
<+30:26.5ms-7271>
<+40:27.5ms-7541>
Тут формат такое <реальное время или смещение в мс от последнего события : время ожидания данных - число байт переданных в карту до момента ответа>