Все ли карты microSD поддерживают режим SPI?

Вы когда-нибудь сталкивались с SD-картой, которая не поддерживает режим SPI?

Я читал, что microSD не требуется, но я считаю, что все они поддерживают SPI.

РЕДАКТИРОВАТЬ: Информация о необязательности SPI, похоже, взята из Википедии и недавно была удалена ( здесь и здесь ).

Не могли бы вы сослаться на то, что вам известно, что карты microSD не требуются для поддержки SPI?
Я чувствую, что парень, который редактировал это, не был уверен в себе, основываясь на формулировках и внесенных изменениях.
OTOH, парень, добавивший эту информацию, никак не подкрепил ее (она появилась в одном большом редактировании всей статьи). Быстрый поиск в гугле также не выявил ничего, что поддерживало бы опциональность SPI.
Даже если этого требуют стандарты, я бы не ожидал, что некоторые дешевые карты из Китая будут соответствовать стандартам...

Ответы (3)

Согласно статье в Википедии, все семейства SD-карт поддерживают SPI, и, более того, большинство карт MMC тоже. В спецификации SD 2.00 [PDF] я не вижу ничего, что указывало бы, что это необязательно, хотя и ничего не говорило бы, что это обязательно.

Тем не менее, в спецификациях, по-видимому, разделены электрические свойства и механические форм-факторы (SD, miniSD, microSD), поэтому не должно быть никаких электрических различий между любым механическим корпусом SD-карты, если не указано отдельно (например, SD против SDHC).

Я добавил источник дополнительной информации SPI. Так что, наверное, ты прав. Я хотел бы подождать несколько дней, прежде чем принять ответ (если вы не возражаете), если кто-то найдет дополнительную информацию.

Самым основным требованием стандарта SD является то, что подсистема памяти ДОЛЖНА поддерживать режим передачи SPI. Вы можете поспорить, что устройство SD будет поддерживать режим SPI (включая microSD).

Я инженер по встраиваемым системам и реализовал microSD в ряде проектов в режиме SPI.

Кстати, какие-нибудь указатели на хорошо описанный процесс инициализации и возможные ошибки? Например, драйвер ядра Linux делает некоторые вещи, которые точно не описаны в документации для микроконтроллеров.

Часть 1 " Упрощенной спецификации физического уровня " SD-карт, версия 8.00 на стр. 263 (Рисунок 7-1: Диаграмма состояния карты памяти SD (режим SPI)):

Примечание. Карта SDUC, карта может оставаться в состоянии занятости и не отвечает хосту о готовности во время ACMD41, чтобы сообщить хосту, что карта SDUC не может использовать режим SPI.

РЕДАКТИРОВАТЬ: ... и толстый и подчеркнутый на странице 262:

Режим SPI не поддерживается картами SDUC.

Так что, по крайней мере, карты Secure Digital Ultra Capacity (SDUC) (я думаю,> 2 ТБ) не должны поддерживать SPI.

Я столкнулся с тем же явлением с несколькими SDHC-картами и пытаюсь выяснить, в чем проблема на данный момент. В проекте около 5 лет назад у меня также была проблема, что с библиотекой FatFs некоторые карты просто нельзя было использовать.

В двух словах: я бы не стал на это ставить. Попробуйте разные карты, а также рассмотрите возможность использования других типов памяти.

РЕДАКТИРОВАТЬ, через несколько дней/недель: Хорошо, наконец-то заработали все три SD-карты, которые у меня были от разных производителей. Я поделился шагами инициализации здесь: Как инициализировать/использовать SD-карты с SPI?