nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

Долбаные карточки

Вгоняют меня в уныние, тянут меня на дно (как и положено КИНГСТОНАМ), не работают заразы, причём две карты, что у меня есть, не работают ПО-РАЗНОМУ!




Та, что GERFFINS - успешно проходит CMD0 (возвращает R1 = 0x01), затем успешно CMD8 (возвращает R7 - 0x01, затем "эхо" посланного ей аргумента), успешно CMD55, а на ACMD41 не хочет выдавать нолик ("инициализация закончена"), и всё тут.

Kingston "продвигается" дальше - CMD0, затем CMD8, затем CMD55+ACMD41 - всё хорошо. После этого вроде как можно данные записывать или читать, но вот с чтением чего-то не ладится:



В ответ на команду CMD17 карточка выдаёт нулевой байт - ТАК И НАДО. Но потом должен появиться токен 0xFE, а за ним - 512 байт данных. В реальности всё тупо застревает на нулях на неопределённое время.

Сами по себе карточки рабочие - и в мобильном, и в кардридере, и в электронной книжке опознаются и читаются без проблем.

Проблема в том, что там они по другому интерфейсу работают, по "родному" интерфейсу SD, состоящему из тактовой частоты, 1-битной двунаправленной "командной" шины и 4-битной двунаправленной "шины данных", а ни одного готового устройства, которое бы их по SPI мучало, у меня тупо нет!

Не знаю, как быть. То ли ещё помучаться - я не выполнял опциональный шаг CMD58 перед инициализацией - он должен указать, какие напряжения поддерживает карточка, с точностью аж до десятых (2,7..2,8, 2,8..2,9 и т.д.) не знаю уж для чего, и по результатом этого шага мы либо продолжаем как ни в чём не бывало, либо громко ругаемся, что с такой карточкой работать не будем, не сошлись напряжениями!

И ещё один шаг я в самом конце пропустил - всё тот же CMD58, но теперь чтобы узнать, это карта HC или SC. Я какбы знаю, что это карта HC, так у неё на морде написано, но вдруг они решили, что только после СТРОГОГО выполнения последовательности посылок карта нормально запустится? С них станется...

Другой вариант действий - пойти и закупить толпу карточек от разных производителей, может не повезло мне так.

Третий - реализовать именно интерфейс SD. Он на самом деле не так уж страшен, при РЕАЛИЗАЦИИ НА ПЛИС. На GPIO обычного микроконтроллера это жуть жуткая, а на ПЛИС - красота. Он более упорядочен, пожалуй. Это потом уже ЕГО сколько-нибудь переложили на SPI, получив странный гибрид SPI и UART... Да и скорость получится развить повыше, 12,5 МБайт/с на 25 МГц и 25 МБайт/с на 50 МГц, это без всяких страшных дифференциальных режимов.

Четвёртый - забить пока на эту SD, у меня вон чего есть:


Статическая память (SRAM), 2 * 512 килобайт :) Один кадр влезет - а потом его потихонечку отправим по UART и будем анализировать, насколько правильно видеообработчик работает!



UPD. Настолько задолбался, что ПРИНЦИП НЕОПРЕДЕЛЁННОСТИ Герцена-Чернышевского обозвал ПАРАДОКСОМ. И сегодня же мучительно вспоминал, чьим именем называется парадокс, что с ростом степени многочлена интерполировать им становится всё хуже и хуже - он скачет между точками как угорелый. Оказывается, это ФЕНОМЕН Рунге! Это тот, который Рунге-Кутта.

Poll #2099255 Парадокс Герцена-Чернышевского

Вину возьму на себя. Но ЧТО ДЕЛАТЬ?

Домучать SD-карту по SPI
1(10.0%)
Закупиться других MicroSD
0(0.0%)
Освоить "родной" интерфейс SD
4(40.0%)
Поставить статическую память и не мучаться!
5(50.0%)
Tags: ПЛИС, программки, работа, странные девайсы
Subscribe

  • Нахождение двух самых отдалённых точек

    Пока компьютер долго и упорно мучал симуляцию, я пытался написать на ассемблере алгоритм захвата на ближней дистанции. А сейчас на этом коде можно…

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 1 comment