Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Lexar SDXC-карта застревает на инициализации (SPI-интерфейс)
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
RoadRunner
Всем доброго времени суток.
Имеется Lexar SDXC-карта на 128Гб класса UHS-I. Пробую с ней работать по SPI-интерфейсу. Проблема в том, что карта виснет на инициализации, т.е. на команду ACMD41 все время возвращает 0х01 и никогда 0х00. Ждал минуты две - думал может из-за большого объема инициализируется долго, не помогло.

Последовательность команд при инициализации следующая:
CMD0 -> ответ 0х01, т.е. карта в Idle state.
CMD8 с аргументом 0x000001AA -> ответ 0х01000001AA т.е. устанавливаю напряжение питания 3.3 В.
CMD58 с аргументом 0x00000000 -> ответ 0x0100ff8000.
CMD55 -> ответ 0x01.
ACMD41 -> ответ 0x01.

Последние две команды повторяю до тех пор, пока в ответ на ACMD41 не будет получено 0x00. Как я уже упомянул, этого никогда не происходит.

Попробовал ту же последовательность на SanDisk 2Gb класс скорости 2 - все работает, т.е. в ответ на ACMD41 возвращается 0x00.

Как думаете, в чем может быть проблема?
RoadRunner
Недоглядел. Аргумент у команды ACMD41 должен быть 0x40000000, т.е. бит HCS должен быть выставлен, если карта SDHC или SDXC. В доке в принципе все написано, тупо просмотрел.
Век живи - век учись! biggrin.gif

Проблема решена.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.