|
Пропадают данные с microSD, пропадает часть данных при зависании |
|
|
|
May 9 2018, 06:37
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
Возникла проблема с sd картой Mirex 2Gb в spi режиме.
Суть в следующем: карта нормально работает на запись в течении неск. часов, потом в какой то момент вообще перестает подавать признаки жизни (держит busy). Делаю reset по питанию, считываю данные. Вижу, что часть ранее записанных данных пропала, причем пропала не полностью, а кусками примерно по 64к, т.е часть данных есть, потом "дырка", потом снова идут данные. Т.o проблемы две - зависание карты и пропадание данных. В первую очерень хотелось бы разобраться с пропаданием данных.
Данные пишу раз в секунду порциями по 256 байт. Просадок по питанию во время работы нет, неиспользуемые линии через 10к подтянуты к +3.3В. Частота spi = 12,5МГц.
P.S. C картами других производителей такой проблемы не наблюдается. Дело в том, что часть устройств уже выпущена с этой картой, поменять ее можно, но это долго и затратно, поэтому хотелось бы найти программный способ решения проблемы.
P.S.S. Какого размера внутренние буферы записи у карты? Т.е интересует сколько данных может теоретически потеряться при внезапном пропадании питания.
Кто что может посоветовать?
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
 |
Ответов
|
May 10 2018, 09:10
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
iosifk, аппаратно все вроде нормально. Частота и так достаточно низкая. Устройство где используются эти карты не новое, проблема именно с этой партией.
_4afc_, что значит делать паузы? В документации я ничего не нашел по этому поводу. Каждую отдельную операцию чтения/записи я и так делаю внутри своего цикла CS. Данные пишу с cmd24, читаю c помощью cmd17. Никаких проблем не было, пока не поставили эти карты mirex. Самое неприятное, что пропадают уже записанные данные, зависания не так критичны. В новой партии мы, конечно, будет ставить другие карты, а в старом тираже хотелось бы решить проблему программно, по крайней мере временно.
jcxz, а как записывать внутри блока, если адресация блочная? Вот и приходится читаю блок, модицифировать данные и писать его снова.
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
May 10 2018, 14:50
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(scout @ May 10 2018, 12:10)  jcxz, а как записывать внутри блока, если адресация блочная? Вот и приходится читаю блок, модицифировать данные и писать его снова. Вы что-то путаете: блок стирания - это блок размером обычно несколько десятков КБ (64 или больше), а страница для записи - это обычно 512 байт. Блок содержит много страниц. Если его стереть заблаговременно, то читать ничего не надо. И если у вас последовательная запись (типа кольцевого буфера на SD), то как раз и можно стирать блоки перед началом буфера и писать целые страницы. Цитата(mantech @ May 10 2018, 16:24)  Дык смысл есть, как бы ФС так и делает вообще-то, если нужно что-то поменять внутри 512и байтного сектора считывает в оконный буфер модифицирует и записывает обратно  Попробуйте записать на сдшку, скажем только 16 байт??  Я так понял: автор пишет в последовательную цепочку страниц, раз в секунду по 256 байт. Если заранее стереть блоки перед головой записываемой цепочки, то читать ничего не надо. И в чём проблема записать хоть 16 хоть 1 байт если заранее известно, что пишем в стёртую область?
|
|
|
|
Сообщений в этой теме
scout Пропадают данные с microSD May 9 2018, 06:37 adnega Цитата(scout @ May 9 2018, 09:37) Кто что... May 9 2018, 07:06 scout Пишу в raw, размер сектора 512. Когда пишу порциям... May 9 2018, 16:48 _4afc_ Цитата(scout @ May 9 2018, 19:48) Пишу в ... May 9 2018, 22:08 jcxz Цитата(scout @ May 9 2018, 19:48) Пишу в ... May 10 2018, 05:01  mantech Цитата(jcxz @ May 10 2018, 08:01) А какой... May 10 2018, 13:24 mantech Цитата(scout @ May 9 2018, 09:37) Вижу, ч... May 9 2018, 16:59 scout Спасибо, попробую.
Только непонятно в каком режим... May 9 2018, 19:03 iosifk Цитата(scout @ May 9 2018, 09:37) Возникл... May 9 2018, 19:14 _4afc_ Цитата(scout @ May 10 2018, 12:10) _4afc_... May 10 2018, 14:20  adnega Цитата(jcxz @ May 10 2018, 17:50) И в чём... May 10 2018, 14:57   jcxz Цитата(adnega @ May 10 2018, 17:57) 1. Ад... May 10 2018, 15:02    adnega Цитата(jcxz @ May 10 2018, 18:02) и что?
... May 10 2018, 15:13     jcxz Цитата(adnega @ May 10 2018, 18:13) 1. Ад... May 10 2018, 15:22 scout jcxz, у меня буфер в ОЗУ размером с запись, т.е 25... May 11 2018, 08:29 jcxz Цитата(scout @ May 11 2018, 11:29) Может ... May 11 2018, 08:40 aaarrr Цитата(scout @ May 11 2018, 11:29) Может ... May 11 2018, 09:42 iosifk Цитата(scout @ May 11 2018, 11:29) Кстати... May 11 2018, 14:26 scout jcxz, под "паразитным" тактированием я и... May 11 2018, 13:44 aaarrr Цитата(scout @ May 11 2018, 16:44) aaarrr... May 11 2018, 13:51 scout Цитата(aaarrr @ May 11 2018, 16:51) Контр... May 11 2018, 14:32 jcxz Цитата(scout @ May 11 2018, 17:32) В посл... May 11 2018, 17:22 aaarrr А отдельно от своего устройства пробовали карты го... May 11 2018, 18:28 mantech Цитата(aaarrr @ May 11 2018, 21:28) А отд... May 12 2018, 10:49 scout ЦитатаЯ уже ранее предлагал это ТСу, проверить сам... May 15 2018, 15:37 aaarrr Цитата(scout @ May 15 2018, 18:37) Что зн... May 15 2018, 16:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|