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

 
 
 
Reply to this topicStart new topic
> Отказ SD, SD SDIO Cortex-M
IlyaSergeev
сообщение May 17 2016, 07:55
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 29-11-14
Пользователь №: 83 894



Приветствую!

Разрабатываю устройства на связке Cortex-M4, SDIO, uSD, FatFS.
Столкнулся с тем, что в редких случаях SD-карточка выходит из строя.

Симптомы отказа: штатные запросы к SD происходят нормально, но если считать сектор, записанный после отказа, то будет считан буфер нулей. Информация, записанная на карту до отказа - сохраняется, в т.ч. файловая система и содержимое файлов. Считал CSD и CID с двух карточек (исправной и неисправной) одной партии - отличия только в серийниках и дате производства.

Таких карточек накопилось уже штук 5. Похожие симптомы были у товарища, который работал с другим МК и по SPI. Карточки были разного объема и разных производителей. Какой-то системы с отказами не обнаружил. Не исключено, что были отказы устройства в целом - сбои по питанию, перезагрузки. SD запитана через ключ, соответственно при сбросе контроллера она теряет питание (в т.ч. во время выполнения операции).

Поделитесь, куда копать.
Go to the top of the page
 
+Quote Post
adnega
сообщение May 17 2016, 11:14
Сообщение #2


Гуру
******

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



Цитата(IlyaSergeev @ May 17 2016, 10:55) *
Поделитесь, куда копать.

Смотреть, что вам сообщает модуль SDIO. "Поношенные" карточки становятся очень медленными.
Может, у вас по таймауту команда приостанавливается, а в буфере нули (или мусор), а не реальные данные с сектора SD-карты.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение May 17 2016, 11:57
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Похожая беда: Cortex-M4 + SDIO, через некоторое время отказывается писать, только читать можно. Уже несколько таких.
Пишу/читаю сектора. Без TRIM.
В CSD и CID ничего интересного не добавляется.

Может их стереть жёстко, через secure? Кто какие команды посоветует?
Go to the top of the page
 
+Quote Post
adnega
сообщение May 17 2016, 14:43
Сообщение #4


Гуру
******

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



Цитата(_4afc_ @ May 17 2016, 14:57) *
отказывается писать

А как проявляется отказ? SDIO выдает ошибку? Или все ок, но данные физически не пишутся.
У меня беда была: если сразу же после записи попытаться считать, то карта не выходила из состояния "trans".
Помогал только пересброс питания карты. Если снизить частоту CLK (до единиц МГц) или вставить задержку
между предыдущим чтением и записью (~1мс), то все ок, но карту до дыр не затирал.
Шины питания и сигнальные линии в порядке.
Такое впечатление, что при чтении карта потребляет значительный ток, по какой-то причине внутренний повышающий преобразователь
сбивается, а при попытке записи повышенное напряжение не готово и происходит какой-то клин внутри.
Go to the top of the page
 
+Quote Post
IlyaSergeev
сообщение May 18 2016, 10:23
Сообщение #5





Группа: Участник
Сообщений: 9
Регистрация: 29-11-14
Пользователь №: 83 894



Цитата(adnega @ May 17 2016, 17:14) *
Смотреть, что вам сообщает модуль SDIO. "Поношенные" карточки становятся очень медленными.
Может, у вас по таймауту команда приостанавливается, а в буфере нули (или мусор), а не реальные данные с сектора SD-карты.


Пользуюсь "родным" драйвером SDIO из состава библиотеки STM32F4xx HAL Drivers.
Обмен с отказавшей карточкой происходит штатно, все статусы завершения операций приходят нормальные.
Вот низкочастотная диаграмма обмена - видно, что отказавшая карточка возвращает нули.
Прикрепленное изображение


Кроме того, при подключении через адаптер к PC та же история - карточка нормально открывается, можно создать файл с содержимым, но при переподключении карточки файл пропадает. Ладно бы, если это был единичный отказ. Но оно регулярно возникает снова..

И еще, вопрос до кучи: есть ли возможность узнать оставшийся ресурс SD-карточки на запись? Вдруг я ее действительно затер до дыр.

Сообщение отредактировал IlyaSergeev - May 18 2016, 11:42
Go to the top of the page
 
+Quote Post
petrov
сообщение May 18 2016, 11:47
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(IlyaSergeev @ May 18 2016, 13:23) *
Кроме того, при подключении через адаптер к PC та же история - карточка нормально открывается, можно создать файл с содержимым, но при переподключении карточки файл пропадает. Ладно бы, если это был единичный отказ. Но оно регулярно возникает снова..


Чисто из практики бытового использования, впечатление, что 99% карточек контрафакт, но есть исключения, например у сандиск в поддержке по серийному номеру подтверждается подлинность, гарантия 10 лет, в случае неисправности крточка отправляется по почте, присылается новая в течении 10 дней, вот такие карточки в быту без вопросов работают.
Go to the top of the page
 
+Quote Post
mantech
сообщение May 24 2016, 19:29
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(adnega @ May 17 2016, 14:14) *
Смотреть, что вам сообщает модуль SDIO. "Поношенные" карточки становятся очень медленными.
Может, у вас по таймауту команда приостанавливается, а в буфере нули (или мусор), а не реальные данные с сектора SD-карты.


Работал с imx6s именно такие вещи и были - задал маленькие таймауты, в результате более "путевые" карты, типа кингстона, трансенда и пр. работали хорошо, а вот всякие смартбэи и др. шлак - выдает ошибку. Исправил таймауты все стало нормально.

Цитата(petrov @ May 18 2016, 14:47) *
Чисто из практики бытового использования, впечатление, что 99% карточек контрафакт,

Вы просто не умеете их готовить biggrin.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение May 24 2016, 19:50
Сообщение #8


Гуру
******

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



Цитата(mantech @ May 24 2016, 22:29) *
Вы просто не умеете их готовить biggrin.gif

+1
Я коллекционирую "SD-уродцев". Карточки используются в серийной продукции, а пока всего два "достойных" экземпляра.
У одного: CID и CSD нулевые. У второго: работают только первые 128 МБ из 2ГБ.
Есть несколько карточек, у который готовность к чтению более 50 мс.
Прицепил статистику.
Для речевых информаторов с малым буфером важно воспроизведение в реальном времени.
Буфер из 256 байт должен прочитаться за 5.8мс; из 8192 байт за 185 мс.
Видно, что карта "2" не справляется. Позже начала тормозить и "16G".
Одиночное превышение условия реального времени не так критично, т.к. проигрывается предыдущий семпл.
Но есть карточка, которая периодически тормозит при этом в течение секунды все сектора считываются с >50 мс задержкой.
Прикрепленные файлы
Прикрепленный файл  SDIO_stat_1.pdf ( 51.48 килобайт ) Кол-во скачиваний: 36
 
Go to the top of the page
 
+Quote Post
mantech
сообщение May 27 2016, 18:38
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(adnega @ May 24 2016, 22:50) *
Есть несколько карточек, у который готовность к чтению более 50 мс.


Интересно, почему чтение такое тормозное у них? Запись - понимаю, сам процесс записи занимает много времени, плюс выравнивание износа и т.п. Но чтение rolleyes.gif
Go to the top of the page
 
+Quote Post

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

 


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


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