Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с SD (Secure Digital)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
RHnd
Встала сейчас задача реализовать работу с SD карточкой на плате CyclonII Starter Kit - есть там карман для нее. Документацию прочитал, вроде разобрался, теперь хочу посоветоваться. Сам я в разработке цифровых устройств новичок, больше по другим направлениям, а этим занимаюсь для освоения и создания наработок на будущее. поэтому вопросы могут показаться странными. smile.gif

Управлять работой с SD будет Nios, соответственно нужно делать компонент для него. А теперь основная проблема: никак не могу все это системно представить - какую часть задач возложить на ниос, а какую на компонент? Можно сделать компонент совсем простым - на уровне послать/принять один бит, а все остальные задачи оставить ниосу. Можно компонент усложнить. Протокол SD для меня, как новичка, достаточно сложный, посему пока не удается красиво разделить обязанности ниоса и компонента. Или я дурью маюсь? Поделитесь опытом/советом, пожалуйста! Если кто-нить имеет наработки в этой области и готов ими поделиться (r h n d [гав] m a i l . r u), то было бы вообще замечательно! help.gif К сожалению, в слове SD всего две буквы, поэтому поиск по форуму затруднен. На опенкорес вообще ничего не нашел. sad.gif
aaarrr
Совсем простым компонент делать я бы не стал. На него стоит, по крайней мере, возложить подсчет CRC (а он в четырехбитном режиме получается слишком навороченным для софта), работу с командами (послать команду - принять ответ) и блоками данных.

Можно посмотреть описания встроенных в МК SD-контроллеров - станет яснее, где "проложить границу".
blackfin
Ищите по SanDisk.
Там и Ваших постов полно.. smile.gif

Напомнить? => RHnd wink.gif
RHnd
Цитата(aaarrr @ Sep 19 2007, 19:49) *
Можно посмотреть описания встроенных в МК SD-контроллеров - станет яснее, где "проложить границу".

Интересная идея, спасибо!

Цитата(blackfin @ Sep 19 2007, 20:03) *
Напомнить? => RHnd wink.gif

Спасибо за напоминание smile.gif, но в этой теме ответа нет. Зато поиск по SanDisc очень помог - открыл много нового, пошел читать. smile.gif



Кто имеет опыт - поделитесь, а каковы реальные недостатки использования spi по сравнению с однобитным режимом? Ведь если они малы, то, наверное, будет проще сделать SPI и работать с картой с его помощью?
aaarrr
Цитата(RHnd @ Sep 19 2007, 20:32) *
Кто имеет опыт - поделитесь, а каковы реальные недостатки использования spi по сравнению с однобитным режимом? Ведь если они малы, то, наверное, будет проще сделать SPI и работать с картой с его помощью?

По сравнению с однобитным режимом, у SPI особых недостатков, пожалуй, нет. Использовать можно, но это все-таки low-end решение, высокой производительности добиться не получится.
ClockworkOrange
Цитата(aaarrr @ Sep 19 2007, 19:49) *
Можно посмотреть описания встроенных в МК SD-контроллеров - станет яснее, где "проложить границу".

to RHnd
отличный совет! прислушайтесь..
сам когда писал AES-core смотрел как сделаны ускоритель AES в SAM7X (в итоге позаимствовал оттуда разблюдовку регистров и значения конф.бит - и не маялся после с высасыванием из пальцев этих всех имён и значений)
RHnd
Цитата(aaarrr @ Sep 19 2007, 20:48) *
По сравнению с однобитным режимом, у SPI особых недостатков, пожалуй, нет. Использовать можно, но это все-таки low-end решение, высокой производительности добиться не получится.

Ну, учитывая, что я, как начинающий разработчик, сам нахожусь на уровне low-end, то вполне можно использовать более простые варианты для начала. А уже потом, разобравшись с карточкой по spi, делать SD-протокол. Или посоветуете сразу за полный протокол браться?


Цитата(aaarrr @ Sep 19 2007, 19:49) *
Можно посмотреть описания встроенных в МК SD-контроллеров - станет яснее, где "проложить границу".

А если конкретизировать, то кого именно и где именно посоветуете посмотреть?
aaarrr
Цитата(RHnd @ Sep 19 2007, 21:01) *
Ну, учитывая, что я, как начинающий разработчик, сам нахожусь на уровне low-end, то вполне можно использовать более простые варианты для начала. А уже потом, разобравшись с карточкой по spi, делать SD-протокол. Или посоветуете сразу за полный протокол браться?

Разобраться, конечно, стоит. Можно даже на другой какой-нибудь железке отладить работу в режиме SPI - это очень поможет при реализации своего SD-host.

Цитата(RHnd @ Sep 19 2007, 21:01) *
А если конкретизировать, то кого именно и где именно посоветуете посмотреть?

TMS320VC5509A, AT91SAM9261, еще можно посмотреть NXP (и бывший Sharp и собственные).
RHnd
Цитата(aaarrr @ Sep 19 2007, 21:45) *
Разобраться, конечно, стоит. Можно даже на другой какой-нибудь железке отладить работу в режиме SPI - это очень поможет при реализации своего SD-host.

А зачем на другой?На этой же и сделаю. Сначала SPI - и с самой картой разберусь, не сильно зацикливаясь на возможных ошибках в интерфейсе (надеюсь smile.gif), и решение готовое будет, ежели вдруг понадобится. А потом уже, поднабравшись опыта, и SD- интерфейс реализую. Вообщем, примерно так пока решил, так делать и буду, ежели не отговорят. smile.gif
Образцов работы с SD по spi на форуме прилично, будет где посмотреть. Есть плюс, что spi-интерфейс буду делать чисто под SD, так что можно дополнительные опции в модуль добавить: поменять частоту на лету, ожидать нуля (стартового бита), ожидать отпускание бита busy. Ну и типовые типа передать команду и получить ответ. Вообщем, буду думать. smile.gif
toretto
Какую скорость чтения можно получить в четырехбитном режиме и SPI? Требуется 2 Мбайта/сек.
bav
Цитата(toretto @ Apr 29 2011, 18:17) *
Какую скорость чтения можно получить в четырехбитном режиме и SPI? Требуется 2 Мбайта/сек.

4-х битный режим, частота 25 (или 50) МГц. если не учитывать расходы на команды, примерно 12,5 МБайт/с. но это только пропускная способность интерфейса. если внутри карточки запаяна медленная флешка, то скорость будет меньше. читайте доку на конкретную карточку.
Джеймс
Цитата(toretto @ Apr 29 2011, 18:17) *
Какую скорость чтения можно получить в четырехбитном режиме

8 - 9 MB/sec в режиме 4-bit SD, Read Multiple, при частоте тактирования 20MHz.

Цитата(bav @ Apr 29 2011, 18:37) *
если внутри карточки запаяна медленная флешка, то скорость будет меньше. читайте доку на конкретную карточку.

Так а что читать, Speed Class крупно указан уже на упаковке.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.