Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение MMC/SD/CF/USB Flash
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
singlskv
Собственно вопрос в следующем:
Необходимо подключить какую-нибудь карточку массовой памяти (MMC/SD/CF/USB Flash) через
интерфейс внешней памяти к Atmega64/128....
Файловая системма не нужна, интересует только чтение блоков памяти из карточки на
максимальной скорости и выдача в порт.

Бывает ли такое чудо в природе ?

Связь по SPI не предлагать !
Нужно чуть быстрее...

Варианты с FPGA пока не рассматривал, но если кто-то что нибудь подходящее подскажет,
буду благодарен
prottoss
Цитата(singlskv @ May 29 2007, 06:32) *
Необходимо подключить какую-нибудь карточку массовой памяти (MMC/SD/CF/USB Flash) через
интерфейс внешней памяти к Atmega64/128....
Про USB могу сказать, что, ИМХО, на AVR, это будет очччень хлопотно, ибо, надо реализовывать функции ХОСТА, а для этого надо подключить к шине М64/128 USB-OTG контроллер. Имя таковых не знаю, не интересовался, но Гугль в помощь.



По остальным типам карточек. Они же, вроде бы, все с последовательным интерфейсом. Как их на 8-и разрядную параллельную шину посадить??? Если только через отдельный контроллер. Тогда вопрос. Зачем контроллер через шину, если есть встроенный SPI/USART/просто GPIO?
IgorKossak
Цитата(prottoss @ May 29 2007, 07:54) *
Про USB могу сказать, что, ИМХО, на AVR, это будет очччень хлопотно, ибо, надо реализовывать функции ХОСТА, а для этого надо подключить к шине М64/128 USB-OTG контроллер. Имя таковых не знаю, не интересовался, но Гугль в помощь.

PDIUSBD12 от Philips (NXP).
prottoss
Цитата(IgorKossak @ May 29 2007, 14:33) *
PDIUSBD12 от Philips (NXP).
Это шутка??? На сколько я знаю, а я с этим контроллером общался непосредственно, и тем паче с USB - PDIUSBD12 реализует только USB-функцию. USB-флэш - это тоже USB-функция. Для связи же двух устройств по USB одно должно иметь на борту USB-хост, второе USB-функцию.
m16
AT90USB647, AT90USB1287 - USB On-The-Go (OTG) Microcontroller.
http://atmel.com/dyn/general/advanced_sear...mp;target=90usb
afad
Может я и не прав, но на мой взгляд наиболее просто подключить через интерфейс внешней памяти CF. Кто-то возразит?
Вот пример подключения: http://www.telesys.ru/ftp/plt/vrec-sch.pdf
Усли работа только с CF, то FPGA там не нужна.
prottoss
Кстати, счас в продаже есть универсальные кард-ридеры, у нас, допустим, вот не плохой вариант

http://bth-group.ru/?page=price&id=080...ice=price070529

Подключается через USB. Опять же, то, о чем я говорил выше. Требуется ЮСБ он-ту-гоуsmile.gif ИМХО, лучше АРМ..
GDI
Для подключения MMS и SD нужен SPI интерфейс, для USB flash нужен USB host или USB OTG, CF - единственная имеет параллельный интерфейс совместимый с АТА, примеры подключения к атмеге есть в сети, но от реализации АТА интерфейса никто не освобождает при этом. Поправьте меня , если я не прав...
При этом доступ к внешней памяти происходит за 4 цикла, а максимальная частота SPI - XTALL/2, при том что SPI еще и полнодуплексный. Будет ли ожидаемый прирост производительности?
prottoss
singlskv ???
TomaT
Ну с параллельным есть еще xD-card и SmartMedia (SM это вообще просто NAND Flash в формфакторе карточки), SD тоже вообще то параллельная, 4-бита правда.
prottoss
а чем не нравится дисковод за 250 рублей, причем Российских?:-) Там все интерфейсы вместе в USB заведены. ИМХО не плохо...
TomaT
Цитата(prottoss @ May 29 2007, 16:10) *
а чем не нравится дисковод за 250 рублей, причем Российских?:-) Там все интерфейсы вместе в USB заведены. ИМХО не плохо...

Человеку нужно просто с карты читать сектор и выкидывать в порт на М64/128 (даже без ФС не нужна), а Вы ему предлагаете организовать там USB-host. С функцией то хидовской полгода будешь разбираться...
ЗЫ Еще б эзер предложил... smile.gif
singlskv
На самом деле больше всего интересовали микрухи для подключения SD Card(4bit mode) на паралельную шину, но видимо таких нету
С USB OTG не очень хочется связываться.
Скорее всего буду пробовать Compact Flash, мне кажется что он будет
все-таки быстрее чем MMC/SD в SPI режиме.
Спасибо всем ответившим!
prottoss
Цитата(TomaT @ May 29 2007, 20:31) *
Человеку нужно просто с карты читать сектор и выкидывать в порт на М64/128 (даже без ФС не нужна), а Вы ему предлагаете организовать там USB-host. С функцией то хидовской полгода будешь разбираться...
ЗЫ Еще б эзер предложил... smile.gif
Хм, 250 рэ в розницу то, что нужно... Можно и езернет прикрутить)))
prottoss
Цитата(singlskv @ May 29 2007, 20:31) *
На самом деле больше всего интересовали микрухи для подключения SD Card(4bit mode) на паралельную шину, но видимо таких нету
С USB OTG не очень хочется связываться.
Скорее всего буду пробовать Compact Flash, мне кажется что он будет
все-таки быстрее чем MMC/SD в SPI режиме.
Спасибо всем ответившим!
А чем OTG не нравится? По моему, есть ARM-ы с OTG на борту
zltigo
Цитата(singlskv @ May 29 2007, 15:31) *
Скорее всего буду пробовать Compact Flash, мне кажется что он будет
все-таки быстрее чем MMC/SD в SPI режиме.

Что за рассуждения медленнее/быстрее? С какой скоростью-то нужно "в порт кидать"???
Это все и определит. SPI работающий на 1/2 тактовой Вашего конторллера уже НЕ МЕДЛЕННОЕ устройство по отношению к ВОЗМОЖНОСТЯМ контроллера.
singlskv
Цитата(zltigo @ May 29 2007, 18:13) *
Что за рассуждения медленнее/быстрее? С какой скоростью-то нужно "в порт кидать"???
Это все и определит. SPI работающий на 1/2 тактовой Вашего конторллера уже НЕ МЕДЛЕННОЕ устройство по отношению к ВОЗМОЖНОСТЯМ контроллера.

нужно как всегда, чем больше тем лучше
примерно 1мбайт/сек (более точно пока не знаю)

да, еще в догонку вопросик для тех кто подключал Compact Flash:
Правильно ли я понял что после того как я настрою в регистрах карточки
адрес сектора и дам команду чтения, все 512 байт сектора будут считываться
подряд просто чтением ?
zltigo
Цитата(singlskv @ May 29 2007, 18:05) *
нужно как всегда, чем больше тем лучше
примерно 1мбайт/сек (более точно пока не знаю)

На такой скорости не всякая карточка отдавать будет, не говоря уже скромных возможностях AVR.
Цитата
все 512 байт сектора будут считываться
подряд просто чтением ?

Да.
GDI
мне кажется что если надо с такой скоростью работать, то можно сделать что то типа ПДП.. т.е. контроллер выдает команды на карту для начала чтения и вместе с запуском чтения сектора( или чего там...) каким либо коммутатором просто подключать шину данных на целевое устройство.
singlskv
Цитата(zltigo @ May 29 2007, 19:13) *
На такой скорости не всякая карточка отдавать будет, не говоря уже скромных возможностях AVR.

Да.

Спасибо.
Посмотрел еще сюда http://elm-chan.org/fsw/ff/img/rwtest.png
Они там почти мегабайт/сек получают при использовании FAT.
Пошел покупать CF карточку.

Кстати, никто не подскажет наименование производителей/продавцов
разъемов под CF Card ?
aai_m
Пользуюсь разъемами(под SD и MMC, вполне нормальные по качеству) фирмы AUK, для CF посмотрите здесь:
http://www.aukconnector.com/SeriesDtl.asp?...amp;Serial=1201

Может знаете кто производит разъемы под микро SD? Подскажите, буду благодарен.
oran-be
Такой дискурс... Чем не нравится SPI? 1 Мбайт на 16 Мгц. Почти предел для ЮСБ на полной скорости. Правда, еще некоторая нагрузка на управляющие байты. Но если уже очень сильно хочется параллельную шину, можно поставить обычную микросхему флеш памяти, например датафлешку AT45 на 64 мбит - она и параллельный режим поддерживает. Стоимость одного метра возрастает в этом случае безмерно, правда. По сравнению с карточками.
m16
Цитата(aai_m @ May 30 2007, 07:02) *
Может знаете кто производит разъемы под микро SD? Подскажите, буду благодарен.

ITT , есть в терраэлектронике
sensor_ua
Может, всё-таки проц сменить - на LPC23xx? Там контроллер SD на борту
aai_m
Довольно долго искал разъемы под microSD Card, сегодня удалось приобрести. Предполагаю, что следующая информация будет интересна разработчикам по производителю разъемов под microSD Card:
http://www3.alps.co.jp/alpscom/.
А вот такой разъем доступен живьем (у поставщиков он "обзывается" APLS3633):
Duduka
Привет, всем посетителям форума!
Интересует тема именно чтения SD карты по SPI!
Для начала сделала попытку связать 2 AVR-ки по данному интерфейсу (mega128 и mega16), в режиме Master работают все как надо (проверяла оба), но вот в режиме главный-подчиненный не выходит. С mtga16(Slave) не приходит ответ. В чем тут дело?Если нужно приложу программки...
Заранее спасибоsmile.gif
Duduka
Вопрос снимаю!разобраласьsmile.gif
yarunt
Цитата(zltigo @ May 29 2007, 18:13) *
Что за рассуждения медленнее/быстрее? С какой скоростью-то нужно "в порт кидать"???
Это все и определит. SPI работающий на 1/2 тактовой Вашего конторллера уже НЕ МЕДЛЕННОЕ устройство по отношению к ВОЗМОЖНОСТЯМ контроллера.

без FAT,просто читать блоки .На частоте 22мгц ,1мб за 2-3 секунды можно.Запись примерно в два раза дольше.Можно еще быстрее еслиб контроллер не делал вычисление начало следующего сектора.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.