реклама на сайте
подробности

 
 
> Пропадают данные с microSD, пропадает часть данных при зависании
scout
сообщение May 9 2018, 06:37
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 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. Какого размера внутренние буферы записи у карты? Т.е интересует сколько данных
может теоретически потеряться при внезапном пропадании питания.

Кто что может посоветовать?


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scout
сообщение May 10 2018, 09:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



iosifk, аппаратно все вроде нормально. Частота и так достаточно низкая.
Устройство где используются эти карты не новое, проблема именно с этой партией.

_4afc_, что значит делать паузы? В документации я ничего не нашел по этому поводу.
Каждую отдельную операцию чтения/записи я и так делаю внутри своего цикла CS.
Данные пишу с cmd24, читаю c помощью cmd17.
Никаких проблем не было, пока не поставили эти карты mirex. Самое неприятное,
что пропадают уже записанные данные, зависания не так критичны. В новой партии мы, конечно,
будет ставить другие карты, а в старом тираже хотелось бы решить проблему программно, по крайней мере временно.

jcxz, а как записывать внутри блока, если адресация блочная? Вот и приходится
читаю блок, модицифировать данные и писать его снова.


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 10 2018, 14:50
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scout @ May 10 2018, 12:10) *
jcxz, а как записывать внутри блока, если адресация блочная? Вот и приходится
читаю блок, модицифировать данные и писать его снова.

Вы что-то путаете: блок стирания - это блок размером обычно несколько десятков КБ (64 или больше), а страница для записи - это обычно 512 байт.
Блок содержит много страниц. Если его стереть заблаговременно, то читать ничего не надо. И если у вас последовательная запись (типа кольцевого буфера на SD), то как раз и можно стирать блоки перед началом буфера и писать целые страницы.

Цитата(mantech @ May 10 2018, 16:24) *
Дык смысл есть, как бы ФС так и делает вообще-то, если нужно что-то поменять внутри 512и байтного сектора считывает в оконный буфер модифицирует и записывает обратноrolleyes.gif
Попробуйте записать на сдшку, скажем только 16 байт?? wink.gif

Я так понял: автор пишет в последовательную цепочку страниц, раз в секунду по 256 байт. Если заранее стереть блоки перед головой записываемой цепочки, то читать ничего не надо.
И в чём проблема записать хоть 16 хоть 1 байт если заранее известно, что пишем в стёртую область?
Go to the top of the page
 
+Quote Post
adnega
сообщение May 10 2018, 14:57
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ May 10 2018, 17:50) *
И в чём проблема записать хоть 16 хоть 1 байт если заранее известно, что пишем в стёртую область?

1. Адрес должен быть выровнен на границу сектора.
2. Записать можно только сектор целиком.
3. При записи сектора нужно передать 16 бит контрольной информации.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 10 2018, 15:02
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ May 10 2018, 17:57) *
1. Адрес должен быть выровнен на границу сектора.
2. Записать можно только сектор целиком.
3. При записи сектора нужно передать 16 бит контрольной информации.

и что?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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, 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 20:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016