Перейти к содержанию
    

Спецификации (все) на SD карты нужны)

Добрый день!

 

Друзья, если у кого есть именно все спецификации на карты, выложите пожалуйста :rolleyes:

 

У меня сейчас есть 1.0 от 2001 года, и 3.01 с официального сайта.

 

Слышал, что еще есть 2.xx, которой у меня нет

 

Дело в том, что где-то слышал, что на тривильную CMD0 карта должна ответить 0x01 (в IDLE режиме). Но новейшая спецификация с сайта sdcard.org говорит о том, что ответа не будет. У меня под руками пока одна SD на 4Гб. Она не отвечает на CMD0. На CMD8 отвечает 1AA, что соответствует новой спецификации, но не соответствует старой.

 

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

 

То, что есть в инете не устраивает: задержки в виде пустых циклов, где-то нет проверок ошибок и откликов. Да и пишу я на Си++ с использованием ООП, да под замечательную РТОС scmRTOS :bb-offtopic:

 

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело в том, что где-то слышал, что на тривильную CMD0 карта должна ответить 0x01 (в IDLE режиме). Но новейшая спецификация с сайта sdcard.org говорит о том, что ответа не будет. У меня под руками пока одна SD на 4Гб. Она не отвечает на CMD0. На CMD8 отвечает 1AA, что соответствует новой спецификации, но не соответствует старой.

не совсем так - на тривиальную CMD0 карта отвечает 0x01 в SPI-режиме, в SD-режиме ответа не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем так - на тривиальную CMD0 карта отвечает 0x01 в SPI-режиме, в SD-режиме ответа не будет

Ну вот... тогда у меня все правильно, т.к. MCI модуль позволяте работать в "нативном" режиме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем так - на тривиальную CMD0 карта отвечает 0x01 в SPI-режиме, в SD-режиме ответа не будет

Только добавить, что с некоторых пор SPI режим не у всех карт, и чем дальше, тем меньше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только добавить, что с некоторых пор SPI режим не у всех карт, и чем дальше, тем меньше

Откуда такие сведения? Согласно спецификации на физический уровень SD-карты (вплоть до 4й версии спецификации включительно) режим SPI является обязательным и должен присутствовать во всех картах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если делать опознание версии карты согласно диаграмме в спецификации 3.01, этого достаточно?

 

(вплоть до 4й версии спецификации включительно)

О! А где эту спецификацию взять? На базе не предлагают :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Откуда такие сведения? Согласно спецификации на физический уровень SD-карты (вплоть до 4й версии спецификации включительно) режим SPI является обязательным и должен присутствовать во всех картах

вроде бы микро-SD могут быть без SPI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спецификацию 3й версии (не упрощённую) видел в закромах. в ней описываются карты до 32х ГБ со скоростями DS,HS,UHS-1. В 4й версии добавляются XC-карты размером от 64 ГБ (и все предыдущие версии) со скоростями UHS-II и ниже - такие карты только начали разрабатывать и в широком доступе их пока очень мало. Полная версия спецификации стоит 2k$ приобрести можно у sdcard.org. "бесплатную версию" в интернете не видел.

 

для микроSD режим SPI также является обязательным и в текущей версии спецификации ничего не сказано о том, что его будут исключать в следующих версиях

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 4й версии добавляются XC-карты размером от 64 ГБ

Чтож, такие объемы нам не светят. Буду искать полную 3 версию в закромах. Если не найду, упрощенная тоже пойдет.

Спасибо!

Upd: ага, есть полная третья спецификация, и еще куча всего)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем!

 

Все обсуждение переносится в ветку "программирование".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Подскажите, как определить объём подключаемой SD карты. какой командой CMD?

А то в интернете особо не нашёл. Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Подскажите, как определить объём подключаемой SD карты. какой командой CMD?

А то в интернете особо не нашёл. Заранее благодарен.

Я пока не знаю :rolleyes: Еще не дошел до этого пункта.

 

:maniac: Всем новичкам типа меня : не ждите правильной CRC от ACMD41. Ее нужно просто игнорировать. Промаялся часов 5, пока не нашел на просторах интернета подсказку о том, что ответ R3 содержит поле КС 'reserved'. Интересно, почему?

 

Заранее благодарен.

Товарищ, а Вы зачем кросс-постингом занимаетесь? Размещение одного и того же вопроса в нескольких темах форума строго карается по закону (правилам форума) :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, я застрял(

 

Инициализирую так: cmd0, cmd8, acmd41, cmd2, cmd3, cmd7 и здесь все "виснет".

После команды 7 карта говорит, что она в stand-by режиме, хотя должна быть в trans.

 

Команда 7 отрабатывается успешно. Но после нее попытка дать любую команду оборачивается таймаутом.

 

Карта определилась как SDHC (вроде так и должно быть, это сдшка на 4 Гб).

 

Почему cmd7 не переводит карту в режим trans? Почему после этого все замирает?

 

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага!

Исправил!

 

ACMDx это CMD55 + CMDx. Так вот, я посылал команду 55 с аргументом 0, а там должен быть RCA. Это я на первых порах, когда RCA не получал, поставил заглушку.

 

Просьба к модераторам. Пожалуйста, разрешите мне здесь делится достижениями, даже если я просто буду цитировать свои ошибки.

 

Я вижу много тем по SD картам. Может быть кому-либо моя тема поможет. Буду рад) Фактически, это "хождение по-мукам в онлайне")))

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя нет, все равно странно. В tran карту выводит не CMD7, а ACMD6 (установка 4 битного интерфейса)...

 

А вот уже после этого CMD7 "деселектирует" карту (RCA = 0) и выбирает (RCA = полученному от карты значению).

 

Резюме: CMD7 работает в 4-х битном режиме только?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...