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

Подскажите пожалуйста почему не все карточки на ARMе отзываються на команды CMD10 и CMD9 и можноли это как то обойти?

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


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

Подскажите пожалуйста почему не все карточки на ARMе отзываються на команды CMD10 и CMD9 и можноли это как то обойти?

Список в студию!

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


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

Список в студию!

Не надо списков - когда кто-пишет, что "на ARMе не отзываються " .... или подобные "диагнозы", то список ни сном ни духом.

Кроме того надписи с наклеек ничего не значат - под одинаковами наклейками могут быть самые разные начинки от партии к партии.

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


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

Не надо списков - когда кто-пишет, что "на ARMе не отзываються " .... или подобные "диагнозы"

Чего к словам придираться, на команды CMD9 и CMD10 не меняют 11 байт SD Kingston и Panasonic, SD samsung и MMC Kingston работают нормально. В чем может быть причина?

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


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

Чего к словам придираться,

Если эти слова ничего не значили, то тогда их просто не надо было произносить :-E. И не помещать вопрос в раздел ARM.

на команды CMD9 и CMD10 не меняют 11 байт

Это на каком языке написано?

Эти команды ничего не меняют - они предназначены для считывания 16байтовых (не 11, а 16(0x11) байт ) информационных блоков. При этом, как всегда должны отрабатываться ожидания готовностей, контроль завершения исполнения команды перед тем, как считывать блок данных. При считывании блока, естествено, 100ms таймаут и контроль token.

SD Kingston и Panasonic, SD samsung и MMC Kingston работают нормально. В чем может быть причина?

Работает на всех вышеперечисленных и многчисленных не перечисленных. В чем может быть причина? :) :) :)

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


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

Написано на С, команды действительно 16-ти байтиные, а в случае успешного завершения 11-ый байт должен с 0xFF поменяться на 0x00. Общение осуществляется через DMA, поэтому проблем с таймоутом быть не может (проверка байта выполняется после соответствующего прирывания) однако всеравно не работает

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


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

Написано на С, команды действительно 16-ти байтиные, а в случае успешного завершения 11-ый байт должен с 0xFF поменяться на 0x00. Общение осуществляется через DMA, поэтому проблем с таймоутом быть не может (проверка байта выполняется после соответствующего прирывания) однако всеравно не работает

Если кто-то поймет, что Вы написали, то возможно ответит.

 

 

P.S.

Волшебное DMA никоим образом не может обеспечить контроль за завершением операции карточкой и соответственно обеспечение ожиданий и таймаутов.

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


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

насчёт SPI режима не скажу - на всех раттах которые попадали в руки в SD режиме читались

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


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

С причиной неработоспособности я разобрался, работают только те карточки, которые понимают протокол ММС, а где бы посмотреть, как общаться с карточками, которые его не понимают?

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


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

С причиной неработоспособности я разобрался, работают только те карточки, которые понимают протокол ММС, а где бы посмотреть, как общаться с карточками, которые его не понимают?

 

не понял??? sd и mmc имеют немного различный командный интерфейс различие незначительное

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


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

С причиной неработоспособности я разобрался, работают только те карточки, которые понимают протокол ММС, а где бы посмотреть, как общаться с карточками, которые его не понимают?

Предположение: по "протоколу SD"

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


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

Предположение: по "протоколу SD"

Это понятно, что по протоколу SD, где его спецификацию взять?

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


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

по "протоколу SD"

Перечисленные команды понимают и SD и MMC. Причина неработы, насколько можно понять, в попытке тупо через DMA вычитать 16 байт без ожидания готовности к передаче ожидаемых 16 байт.

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


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

С работоспособностью разобрался, задержка не причем, просто у одних карточек в 11-том быйте результат, а в других в 12-ом. Вот теперь такой вопрос, как определить какой байт смотреть?

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


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

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

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

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

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

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

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

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

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

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