|
|
  |
Cyclone 2 и SDHC карта, Не читаются данные... |
|
|
|
Sep 17 2012, 19:33
|
Группа: Новичок
Сообщений: 3
Регистрация: 17-09-12
Пользователь №: 73 575

|
Использую: отладочную плату 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 и всё.... Карты пробывал разные, везде одно и тоже, только чуть изменял инициализацию. Думаю, что ответ где-то рядом...Может кто-то сталкивался с такой проблемой?
|
|
|
|
|
Sep 18 2012, 19:45
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 11-02-10
Пользователь №: 55 413

|
Цитата(CrazyEngineer @ Sep 17 2012, 23:33)  4) Потом шлю команды CMD55 и ACMD41(с установленным флагом HCS), до тех пор пока она не ответит 0x00---> ответила. А CMD58 не подаете? В протоколе указано CMD58 (Get CCS), после ACMD41. Кстати, а если частоту не менять, то работает?
Сообщение отредактировал Caxec - Sep 18 2012, 19:30
|
|
|
|
|
Sep 19 2012, 17:29
|
Группа: Новичок
Сообщений: 3
Регистрация: 17-09-12
Пользователь №: 73 575

|
Ну как я понял cmd58 не обязательно подавать, тем более результат я знаю: отвечает исправно на все команды, которые касаются регистров. На счет изменения частоты, пробовал не менять вроде работает, но опять же только до cmd17, а потом тишина. Вот прикрепил временные диаграммы, это во время cmd16 и cmd 17.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 22 2012, 10:16
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 9-05-11
Пользователь №: 64 879

|
Цитата(CrazyEngineer @ Sep 19 2012, 20:29)  Ну как я понял cmd58 не обязательно подавать, тем более результат я знаю: отвечает исправно на все команды, которые касаются регистров. На счет изменения частоты, пробовал не менять вроде работает, но опять же только до cmd17, а потом тишина. Вот прикрепил временные диаграммы, это во время cmd16 и cmd 17. Я когда-то давно делал корку для работы с SD. Только не по SPI интерфейсу(там немного другая инициализация). Да и на форуме где-то было. Посмотри файл - может поможет.
|
|
|
|
|
Sep 26 2012, 13:13
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 11-02-10
Пользователь №: 55 413

|
А ответа ждете достаточно долго? Эти флешки тормозные штуки.
Сообщение отредактировал Caxec - Sep 26 2012, 13:16
|
|
|
|
|
Sep 27 2012, 16:35
|
Группа: Новичок
Сообщений: 3
Регистрация: 17-09-12
Пользователь №: 73 575

|
Долго, 1-2 минуты, огорчает, что многие производители недостаточно соблюдают официальную спецификацию
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|