Cont 0 7 января, 2013 Опубликовано 7 января, 2013 · Жалоба Здравствуйте! Всех разработчиков с прошедшими! Прицепил данную корку (http://opencores.org/project,sdcard_mass_storage_controller). Программа зависает на стадии инициализации: зацикливается посылка (CMD55 + ACMD41). Причем ответы на команды есть, но не снимается бит BUSY, т.е. инициализация не проходит. шлются следующие команды: CMD0 CMD8 while(BUSY) { CMD55 ACMD41 } напряжение +3.3 кто-нибудь работал с SD? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба кто-нибудь работал с SD? Недавно делал, тоже были вопросы:тут спрашивал. После изучения кода, любезно предоставленного gk2 там же, все взлетело, заработало. Сейчас и файловая система пашет на этом ядре. Посмотрите, может полезно будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Недавно делал, тоже были вопросы:тут спрашивал. После изучения кода, любезно предоставленного gk2 там же, все взлетело, заработало. Сейчас и файловая система пашет на этом ядре. Посмотрите, может полезно будет. Спасибо) Нашел свою ошибку: ACMD41 нужно было посылать первый раз с нулевым параметром, а уже потом в цикле с указанием в параметре OCR напряжения питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 14 января, 2013 Опубликовано 14 января, 2013 · Жалоба В общем и целом ядро работает. Единственная проблема, если между посылками команд не вставлять задержки порядка 20 us sd-карточка зависает. В спецификации ничего такого не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 15 января, 2013 Опубликовано 15 января, 2013 · Жалоба В общем и целом ядро работает. Единственная проблема, если между посылками команд не вставлять задержки порядка 20 us sd-карточка зависает. В спецификации ничего такого не нашел. Не наблюдал, команды шлю одну за другой, проц ниос на 80 МГц, всяко меньше 20us. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Не наблюдал, команды шлю одну за другой, проц ниос на 80 МГц, всяко меньше 20us. Пока не разобрался с данным явлением. не понятно, кто зависает, ядро или sd-карта. Так же хотелось бы поинтересоваться какая у вас получилась скорость чтения/записи. (у меня порядка 1Мб/c - чтение и 200Кб/с - запись). Хотелось бы по быстрее. Мост wishbone - avalon делали сами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Пока не разобрался с данным явлением. не понятно, кто зависает, ядро или sd-карта. Так же хотелось бы поинтересоваться какая у вас получилась скорость чтения/записи. (у меня порядка 1Мб/c - чтение и 200Кб/с - запись). Хотелось бы по быстрее. Мост wishbone - avalon делали сами? Ну если это мост, то сам :) (картинка) Когда отлаживал на ките 3С25 ядро - был стабильный случай: При старте кит загружается своим приложением - application loader, оно ищет файлы на sd-карте. Если после того, как китовское приложение поищет файлы питание с флешки не снимешь (не выткнешь-воткнешь) то у меня инициализация не проходила ни за что (нет ответа карты). Если апликэйшн лодеру не давать лезти к карте (втыкать карту после того как сконфигурируешь ПЛИС), то все ок. И так на трех картах разных одно и то же. Залазит в какой-то режим видимо и перестает на все отвечать... Не разбирался глубже, потому как при работе глюков не наблюдал. Запись не тестировал, а чтение - 500 кбайт/сек. Не оптимизировал ничего. Сюда входит: отправка команды чтения сектора, чтение данных сектора в служебный буфер, копирование данных из служебного буфера в пользовательский. Все без ДМА. Командами memcpy. Проц 80 МГц, память внешняя 16бит асинхронная, хотя сделал подключение ядра к сопцу тупо - использую только 8 бит слова, остальные нули. Если причесать/прилизать - можно в 4 раза повысить, если карта позволит, но мне хватает выше крыши, поэтому не стремился сделать быстро. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться