Использую: отладочную плату Altera со встроенным SD интерфейсом, плис - Cyclone 2, карта SDHC 10 класс 8 gb, режим SPI. После удачно посланной команды cmd17, т.е. приходит респонс от карты 0x00, карта отказывается посылать данные, ничем не аргументируя(ошибки не шлёт). Обрисую, как я к этому пришел: 1) Втыкаю карту, смотрю CS(жду пока устаканится напряжение), после чего жду еще 1.2 мс, и начинаю давать clk 80 тактов частотой где-то 350 kHz. 2) Следующем шагом опускаю CS в ноль, и шлю команду CMD0-----> карта отвечает, что всё хорошо, т.е. 0x01. 3) Шлю команду CMD8 ---> получаю ответ, т.е. карта поняла команду, а значит, что она 2-ой версии. 4) Потом шлю команды CMD55 и ACMD41(с установленным флагом HCS), до тех пор пока она не ответит 0x00---> ответила. 5) Меняю делитель частоты, подняв его до 20 Mhz и шлю ему CMD16 (блок 512 байт)---> отвечает 0x00. 6) Шлю CMD17 (c нулевым адресом) ---> ответ 0x00 и всё.... Карты пробывал разные, везде одно и тоже, только чуть изменял инициализацию. Думаю, что ответ где-то рядом...Может кто-то сталкивался с такой проблемой?
|