|
SD CARD в SD MODE, Проблема ответа карты. |
|
|
|
Feb 1 2018, 10:44
|
Группа: Новичок
Сообщений: 4
Регистрация: 1-02-18
Пользователь №: 101 486

|
Всем доброго времени суток. Пытаюсь работать с SD картой в SD моде, даю 80 клоков, отсылаю CMD0 - нет ответа. Отсылаю 100 клоков. CMD8- есть ответ( 0x01 0 0 0x01 0xaa), ACMD41 - кручу в цикле, до получения бита busy status "1". Потом отсылаю CMD2- Получаю длинный ответ, выводил его на монитор и переводил этот SID, вроде все верно. Дальше отсылаю CMD3, получаю ответ и в в битах от 12 до 9 получаю 0X05 - data mode. И все, дальше после отправки CMD9 или CMD13 - тишина, карта не отвечает. Что самое интересное, я испробовал около 20 карт, и только 1 отвечает на CMD3 - 0x04 в статус битах - tran. . И после этого дает ответ на CMD9 и CMD13. Что только не пробовал, остальные карты молчат. С CMD3 отсылаю - 0x43 00 00 00 00 0x21, с CMD13 - 0x4D 0xDA 0x71 00 00 0xBB, CMD9 - 0x49 0xDA 0x71 00 00 0x19..... Кто чем может подсказать, что то вообще понять не могу в чем беда то =((
Все карточки SDHC 2.0. и та карточка которая отвечает - тоже, более того у меня есть 4 таких же карточки, единст отличие это в Manufacture date, она на пару месяц свежее остальных
Сообщение отредактировал JeezyWonder - Feb 1 2018, 10:44
|
|
|
|
|
 |
Ответов
|
Feb 1 2018, 16:57
|
Группа: Новичок
Сообщений: 4
Регистрация: 1-02-18
Пользователь №: 101 486

|
Цитата(adnega @ Feb 1 2018, 17:13)  А какой card_rca вы передаете в параметрах команд CMD3 и CMD9? В остальном порядок команд правильный. Карты в ПК работают? Спасибо за ответ, есть рабочий программатор для работы с карточками(пишет,читает. вообщем весь функционал делает), карты все он эти читает, по командам та же последователость,данные в цмдках такие же как и у меня, и RCA в CMD3 у там нули как я понял, потмоу что он отсылает в CMD3 0x43 00 00 00 00 0x21 - 4 байта в поле данных это же RCA? И там ответ yна CMD3 всегда одни и те же биты на любую карту, все 32 бита от RCA до CARD STATUS и CRC ( 0x03, 16 бит RCA, 0x04 в битах статуса(12:9)) и после этого там отсылается CMD9 и CMD13 с соответсв. ответами, но у меня же выставляется 0x05 в битах статуса на CMD3, и другой RCA и дальше карта просто молчит, кроме вот одной единственной карты(у нее такой же ответ на команду CMD3 как и в программаторе,наверное поэтому и робит). Дополнительный клок из 8 бит между командами выставляю задержки между командами в 4 милисекунды, задежка между командой и ответом на нее 100микросекунд, вообще задержки пробывал разные и увелич. и уменьшал - толку ноль. Я не могу понять от чего зависит этот статус карты и RCA, в ответе на CMD3, как он выставляется, судя по даташиту RCA генерируется случайным образом, каждый раз на CMD3? CMD9 это же запрос на получение CSD, как он влияет на RCA, или я что то не понимаю?
Сообщение отредактировал JeezyWonder - Feb 1 2018, 16:54
|
|
|
|
|
Feb 1 2018, 19:53
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(JeezyWonder @ Feb 1 2018, 19:57)  CMD9 это же запрос на получение CSD, как он влияет на RCA, или я что то не понимаю? Вы передаете карточке в CMD3 нулевой RCA, в ответ карточка вернет в старших 16 битах новый RCA, который нужно передавать в качестве аргумента в последующие CMD9, CMD13 и т.п. В вашем очень подробном первом посте не хватает ответа на CMD3. Получается, что RCA=0xDA 0x71. Мне это подозрительно. Я за RCA не следил, но мне кажется там должно быть что-то типа 0x0001.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|