|
Время записи в SD-card, Почему разное время записи |
|
|
|
Apr 28 2011, 19:09
|
Частый гость
 
Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335

|
Всем привет. Столкнулся с такой проблемой: время записи данных в SD-card разное. Опишу все по порядку:
ядро: AT91SAM3U4E SD-card: SanDisk 2GB
Данные пишет ARM3 в SD-card, используя библиотеку от Чена. Размер буфера для записи 16кБ. Перед функцией записи ножку ARMа устанавливаю в "1" после сбразываю в "0", тем самым определяю время записи. Запуск записи ручной в железе от кнопки (не в дебагере). С 1 по 31 итерацию время записи 3 мС, 32 итерация длится 40 мС, далее цикл повторяется. Вот такая засада.
Кто сталкивался или знает, что происходит во время 32 итерации записи? Первое, что приходит в голову - это размер буфера в SD-card, примечательно, что 16*32=512, и вполне возможно буфер в SD-card равен 512 кБ. Когда он заполняется, то контроллер, который стоит в SD-card, переписывает его в память. Конечно, сильно притянуто за уши, тем более, что запись во флеш идет постраничная, а размер станиц равный 512кБ я нигде не встречал.
|
|
|
|
|
 |
Ответов
|
Jun 27 2011, 17:59
|
Частый гость
 
Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335

|
Цитата Расчитывайте буфер на указанное в документации время записи до 250мс и будете спать спокойно! Нет возможности сделать такой буфер. Цитата Повесите в рамочке на стену? При чем тут стена? Я же говорю, что новая ведет себя вполне достойно! Если перед каждым использованием проделывать процедуру приведения в первоначальное состояние, меня бы это устроило. Цитата Как только начнете использовать карту - сразу возникнут задержки. Еще раз, на совершенно новой SD-card прописал 1GB, задержек было очень мало и они были короткие, моя буферизация это выравнивала.
|
|
|
|
|
Aug 31 2011, 11:49
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-10-08
Пользователь №: 41 123

|
Цитата(*rust* @ Jun 27 2011, 21:59)  Нет возможности сделать такой буфер.
Еще раз, на совершенно новой SD-card прописал 1GB, задержек было очень мало и они были короткие, моя буферизация это выравнивала. *Rust* - в итоге все же было бы очень интересно знать как Вы разрешили свою проблему. Т.е. какой буфер Вы используете (32К) ? Как он устроен? Как кольцевой или обычное карамысло(2 области попеременно заполняемые и соответственно вычитываемые)? Как часто Вы закидываете данные в карту? У моего сотрудника похожая ситуация: ядро: AT91SAM3U4E, происходит опрос датчиков с частотой 2 милисекунды, за этот же период времени необоходимо закинуть на SD карточку 2кбайт данных, используем карамысло - 2 области по 4кбайт каждая (попробуем увеличить буфер, но думаю это возможно не более чем в 2 раза, в виду нагруженности другими задачами) . В результате работы имеем пропуски в записи на карту. Очень хочется решить проблемму имеющимися средствами, и очень не хочется вешать дополнительные внешние буфера памяти (хотя пока и не уверен что это возможно....). Спасибо!
|
|
|
|
|
Sep 1 2011, 05:06
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(bels @ Aug 31 2011, 15:49)  и очень не хочется вешать дополнительные внешние буфера памяти Из собственного опыта записи на SD - советую не надеяться на чудо, а начинать думать, как навесить буфера...
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Sep 1 2011, 15:37
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-10-08
Пользователь №: 41 123

|
Цитата(Lotor @ Sep 1 2011, 09:06)  Из собственного опыта записи на SD - советую не надеяться на чудо, а начинать думать, как навесить буфера...  А каков гарантированный минимальный размер этого буфера(ов)? Немного не по теме... я бы хотел (если это конечно возможно) проконсультироваться более подробно с *Rust*( e-mail или Skype), но когда начинаю пытаться ему сбросить сообщение через форум - система выдает: "...Вам запрещено использовать личные сообщения на форуме...". Простите, но другой возможности как писать сюда у меня просто нету  ( Модераторы, жду Вашей помощи... Спасибо!
|
|
|
|
Сообщений в этой теме
*rust* Время записи в SD-card Apr 28 2011, 19:09 aaarrr Цитата(*rust* @ Apr 28 2011, 23:09) Кто с... Apr 28 2011, 20:55 *rust* ЦитатаПроблемой такое поведение не является, и сре... Apr 29 2011, 06:02 _3m Цитата(*rust* @ Apr 29 2011, 10:02) Да ка... Apr 29 2011, 07:20 VslavX Цитата(*rust* @ Apr 29 2011, 09:02) Да ка... Apr 29 2011, 13:33  shishka [quote name='VslavX' date='Apr 29 2011... May 17 2011, 08:16   VslavX Цитата(shishka @ May 17 2011, 11:16) Так ... May 17 2011, 09:03    shishka Цитата(VslavX @ May 17 2011, 15:33) CMD42... May 17 2011, 10:01     VslavX Цитата(shishka @ May 17 2011, 13:01) 1. К... May 17 2011, 10:40     aaarrr Цитата(shishka @ May 17 2011, 14:01) Еще ... May 17 2011, 10:44      shishka Спасибо за ответы.
Для VslavX: По поводу команды ... May 17 2011, 11:53       VslavX В-общем, проделал я такие тесты:
CODE
Карта Transc... May 17 2011, 14:33        shishka Ну вот - теперь у Вас почти совсем как и у меня May 20 2011, 07:48 *rust* ЦитатаБуферизируйте.
Это как???
Сейчас полазил п... Apr 29 2011, 07:47 AlexandrY Цитата(*rust* @ Apr 29 2011, 10:40) Это к... Apr 29 2011, 07:49 klen Цитата(*rust* @ Apr 29 2011, 11:47) Сейча... Apr 29 2011, 08:08 *rust* ЦитатаЧто-то непонятна ваша проблема. Вы вообще с ... Apr 29 2011, 10:11 aaarrr Цитата(*rust* @ Apr 29 2011, 14:11) Далее... Apr 29 2011, 10:28 *rust* Понятно, смысл ясен. Спасибо всем участникам обсуж... May 2 2011, 15:16 *rust* У AT91SAM3U есть поддержка MMC Specification V4.3,... May 5 2011, 11:58 aaarrr Цитата(*rust* @ May 5 2011, 15:58) У AT91... May 5 2011, 17:38 *rust* Понял Вас, спасибо. May 6 2011, 11:12 *rust* В очередной раз убедился, что абсолютно новая карт... Jun 27 2011, 10:54 _3m Цитата(*rust* @ Jun 27 2011, 14:54) Как п... Jun 27 2011, 14:14 scifi Цитата(*rust* @ Jun 27 2011, 21:59) Нет в... Jun 27 2011, 21:53    Lotor Цитата(bels @ Sep 1 2011, 18:37) А каков ... Sep 1 2011, 20:01    aaarrr Цитата(bels @ Sep 1 2011, 19:37) А каков ... Sep 2 2011, 11:24     bels Я понимаю что по спецификации задержка может дости... Sep 2 2011, 16:27      aaarrr Цитата(bels @ Sep 2 2011, 20:27) А ни у к... Sep 2 2011, 17:35 Alex11 Есть еще некоторые карточки, которые (даже полност... Jun 27 2011, 21:43 Lotor Класс карточки не влияет на озвученную задержку (д... Sep 5 2011, 10:47 toretto С какого адреса можно начинать чтение данных с SD-... Oct 11 2011, 13:48 Lotor Цитата(toretto @ Oct 11 2011, 17:48) С ка... Oct 11 2011, 13:52 toretto а каким образом я могу узнать способ адрессации ка... Oct 12 2011, 08:56 Lotor Цитата(toretto @ Oct 12 2011, 12:56) а ка... Oct 12 2011, 09:42 toretto спасибо, попробую. если мне действтельно удастся ч... Oct 12 2011, 10:49 Lotor Цитата(toretto @ Oct 12 2011, 14:49) если... Oct 12 2011, 10:53 toretto хех.. значит читать можно только целыми секторами... Oct 12 2011, 11:26 Lotor Цитата(toretto @ Oct 12 2011, 15:26) хех.... Oct 12 2011, 12:33 *rust* По задержкам.
Я перепробовал огромное количество ... Oct 13 2011, 11:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|