Страница 1 из 1

SD-card SPI mode, опыт использования

Добавлено: Ср апр 02, 2014 20:13:38
YS
Добрый вечер всем.

Эта тема - вопрос к людям, которые, как и я, используют SD-карты с мелкими контроллерами в режиме SPI. Вопрос такой: по вашему опыту, насколько это стабильный и повторяемый метод?

Все дело в том, что в этой тематике я наткнулся на кучу граблей. Описанное в статье по ссылке не самое страшное, как выяснилось. Некоторые карточки (отличие только в производителе, объем одинаковый) вообще не инициализируются в режиме SPI, а у тех, что работают, в процессе работы периодически слетает адресация и т.п.

У меня есть подозрение, что эти приключения вызваны проблемами с контактами и наводками вследствие специфического монтажа карты (под спойлером фото, вместо тысячи слов).
СпойлерКачество фото не особо, но, надеюсь, смысл понятен. Если что, конденсатор по питанию карты на плате есть (с обратной стороны). Вместо честного держателя используется комплектный переходник - заказчик просил максимально удешевить конструкцию...
Изображение
Итак, вопрос: уйдут ли мои проблемы, если карточка будет втыкаться в честный держатель, или все дело в том, что производители и правда забивают на те части стандарта, которые относятся к SPI-режиму?

Re: SD-card SPI mode, опыт использования

Добавлено: Ср апр 02, 2014 21:42:05
E71
Мне кажется, что дело в корректном воспроизведении стандарта SPI на стороне контроллера. Если проводки короткие как на фото, а не по пол метра, то при правильной отработке последовательности изменения сигналов всё будет корректно работать. Иначе производители давно разорились бы.

Re: SD-card SPI mode, опыт использования

Добавлено: Ср апр 02, 2014 22:01:02
YS
Хм, теоретически возможно - драйвер самописный. Правда, писан он с тесной оглядкой на материал Elm Chan'а и стандарт.

С другой стороны, если бы и правда была ошибка в драйвере, то, по идее, карты вообще не должны были бы работать, никакие - последовательность команд регламентирована строго. А тут наблюдаются именно эпизодические глюки - работает-работает, а потом начинаются призвуки (проект связан с воспроизведением звука) и прочее.

Например, в лабораторных условиях я вообще не мог воспроизвести глюки на одном устройстве, работало идеально, а когда отдал "в поле", то глюки и вылезли.

Может быть, по питанию стоило поставить не только 0.1 мкФ, но и, скажем, 4.7 мкФ, особенно учитывая пиковое потребление карты и то, что питается устройство от батарей с достаточно высоким внутренним сопротивлением?..
Иначе производители давно разорились бы.
Так в 99% устройств карта работает в режиме SDIO. :) SPI - не основной.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 09:29:42
master19
использовал sd-карты, более 150шт, основная партия приличные, типа трансенда, оптом брали, позже добавлялись разного типа. fatfs, режим spi на pic24, подтяжки внутренние - давно это было уже лет 5 все работает. проблем не было. условия - подстанции.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 12:03:25
YS
master19, спасибо, это склоняет меня в сторону отказа от соплей и установки держателя.

Кстати да, Transcend и правда оказались достаточно безглючными. Лучше только Silicon Power.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 12:55:28
master19
YS писал(а):master19, спасибо, это склоняет меня в сторону отказа от соплей и установки держателя.

Кстати да, Transcend и правда оказались достаточно безглючными. Лучше только Silicon Power.
держатель конечно нужно, и подтяжки лучше все-таки внешние :)

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 20:38:38
YS
Вот насчет внешних подтяжек - ЕМНИП они нужны только в режиме SDIO. Зачем что-то куда-то подтягивать в режиме SPI? Там на линиях всегда четкий логический уровень, выходы-то типа push-pull.

Или со стороны карточки выходы - открытый коллектор? Тогда многое становится понятно... :shock:

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 21:53:51
master19
YS писал(а):Вот насчет внешних подтяжек - ЕМНИП они нужны только в режиме SDIO. Зачем что-то куда-то подтягивать в режиме SPI? Там на линиях всегда четкий логический уровень, выходы-то типа push-pull.

Или со стороны карточки выходы - открытый коллектор? Тогда многое становится понятно... :shock:
выходы не ОК, но подтяжки нужны обязательно, их отсутствие - место культового посещения граблей :) я тоже в том поле был, благо на макетке, еще пока игрался с картами :) в общем в обязательном порядке подтяжки на DAT1_RSV, DAT2, CD/DAT3_CS, из них первые два не задействованы в spi режиме, ну на на CS - это вообще положено.
еще желательно между выводами мк и сд-картой резисторы ома на 33-100 поставить, звона не будет, и защита от статики при подключении карты, но это уже для тяжелых условий. хотя я всегда ставлю резисторы между мк и цепями, торчащими наружу.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 22:24:17
YS
их отсутствие - место культового посещения граблей
О-о-о! Так вот оно чего! :beer: Нету у меня их, нету. Подтягивать к питанию?
благо на макетке, еще пока игрался с картами
Вот не поверите, на макетке все работало (и работает) как часы. :dont_know:
подтяжки на DAT1_RSV, DAT2, CD/DAT3_CS
Да, для режима SDIO я это видел, но чего-то не допер, что в режиме SPI железо-то физически остается то же, что и для SDIO. :)))
ну на на CS - это вообще положено
Я верю, что так будет лучше, но чисто для общего развития - зачем? Ведь контроллер жестко держит этот уровень своим двухтактным выходом.

master19, спасибо огромное, в следующей версии все учту! А на этой железке пока просто попытаюсь включить софтовую подтяжку.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 22:59:01
master19
YS писал(а):
ну на на CS - это вообще положено
Я верю, что так будет лучше, но чисто для общего развития - зачем? Ведь контроллер жестко держит этот уровень своим двухтактным выходом.
а пока контроллер еще не инициализировался и состояние на этих выводах определяется погодой на марсе, питание уже подано - как себя поведет контроллер sd-карты? поэтому подтяжка CS к питанию на всех ведомых SPI-девайсах строго обязательна. другие упомянутые выводы - они в spi-режиме не задействованы, соответственно болтаются в воздухе, что тоже не добавляет определенности контроллеру sd-карты. у меня проявлялось в том, что карта не каждая карта не всегда инициализировалась без этих подтяжек. сандисковый даташит тоже утверждает что подтяжки нужны везде кроме линии clock, все подтяжки к +питания.

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 23:27:06
HHIMERA
Мда... Похоже в доки никто не заглядывает... все за собственное зрение переживают... не говоря уже об исходниках Чена...

Re: SD-card SPI mode, опыт использования

Добавлено: Чт апр 03, 2014 23:52:47
master19
HHIMERA писал(а):Мда... Похоже в доки никто не заглядывает... все за собственное зрение переживают... не говоря уже об исходниках Чена...
ну почему все - большинство задающих вопросы на радокоте, так тут целевая аудитория такая - быстрые поделки для себя.

Re: SD-card SPI mode, опыт использования

Добавлено: Пт апр 04, 2014 00:23:42
urry
Ну имхо, ладно...
Возможно разрушение файловой системы на карточке при записи (при чтении - не проверял) в случае уменьшения напряжения питания ниже какого-то уровня.
Причем не со стороны контроллера - при этом напряжении он еще дышит - а со стороны карточки.