Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение USB флешки к сомодельному прибору
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
MMos
Насколько сложно (и реально) подключить USB флешку к прибору собственного изготовления?
Может, для этого есть какие-либо готовые решения? Поделитьесь опытом, пожалуйста.
Kirill Trusov
опыта не много, но насколько я знаю для флешки нужен хост, т.е микроконтроллер с хостом .... незнаю, но может сд карту или ммс проще будет по спи?
MMos
Какой микроконтроллер?, если можно полное название. И для случая SD и MMC тоже.
Что именно подключать - большой разницы нет (пока). Принципиально нужно закачать в полевых (самолётных) условиях кучу информации с измерительного прибора, чтобы потом (на земле) проанализировать на компьютере. Буду благодарен за любые намёки.
Николай Z
Цитата(MMos @ Jan 9 2008, 16:12) *
Какой микроконтроллер?, если можно полное название. И для случая SD и MMC тоже.
Что именно подключать - большой разницы нет (пока). Принципиально нужно закачать в полевых (самолётных) условиях кучу информации с измерительного прибора, чтобы потом (на земле) проанализировать на компьютере. Буду благодарен за любые намёки.

Тогда Вам в приборе(вернее в микроконтроллере, которым он управляется) кроме Вашей программы, которая хочет что-то записать в файлы на флэшке, придется реализовать USB-хост и еще драйвер MassStorage-девайса+файовую систему - коль скоро Вы сробираетесь записанное на флэшку потом читать на PC.
rv3dll(lex)
в случае с sd можно писать подряд сектор за сектором
а потом массив с помощью винхекса скинуть в двоичный файл
MMos
Цитата(Николай Z @ Jan 9 2008, 15:24) *
придется реализовать USB-хост и еще драйвер MassStorage-девайса+файовую систему

Я думал (по глупости своей), что меня здесь не поймут. Однако, поняли. Примерно то же самое я предвидел (на уровне подсознания). Я понимаю, что предстоит перелопатить массу новой информации. Но меня это не пугает. Можете произвести пинок (как сказал в этом форуме один новичёк) в нужную сторону?

Цитата(rv3dll(lex) @ Jan 9 2008, 15:31) *
в случае с sd можно писать подряд сектор за сектором

А можно про это где-нибудь поподробнее?
Сергей Борщ
Цитата(MMos @ Jan 9 2008, 15:42) *
Можете произвести пинок в нужную сторону?
Не использовал, но есть такая микросхема VNC1L.
MMos
Цитата(Сергей Борщ @ Jan 9 2008, 15:50) *
есть такая микросхема VNC1L.

Челюсть отвисла, слюна капает, руки чешутся. КРУТО!!!
А что там с SD и MMC?

Спасибо всем откликнувшимся, но я надеюсь, что продолжение будет.
rezident
Цитата(MMos @ Jan 9 2008, 19:57) *
Челюсть отвисла, слюна капает, руки чешутся. КРУТО!!!
А что там с SD и MMC?

Спасибо всем откликнувшимся, но я надеюсь, что продолжение будет.

Для начала я бы посоветовал вам самому поискать ответы в форуме. Тема-то весьма "заезженная" wink.gif
Николай Z
Цитата(MMos @ Jan 9 2008, 16:42) *
Я думал (по глупости своей), что меня здесь не поймут. Однако, поняли. Примерно то же самое я предвидел (на уровне подсознания). Я понимаю, что предстоит перелопатить массу новой информации. Но меня это не пугает. Можете произвести пинок (как сказал в этом форуме один новичёк) в нужную сторону?

Если Вы действительно желаете попробовать реализовать запись на USB-то могу...
Пинаю: http://en.wikipedia.org/wiki/USB_mass_storage_device_class
Отсюда начинайте и все Вам будет...

Там еще внизу есть ссылки. Главная вот эта: http://www.usb.org/developers/devclass_doc...verview_1.2.pdf

Ну а если нужны детали операций - как-то:
- нумерация,
- работа с конечными точками и т.д. и т.п. - cпрашивайте...
WEST128
Карты MMC очень просты в использовании как запоминающие устройства, особенно при работе в режиме SPI. Исходников в сети по данному поводу море, да и самому написать не сложно, если внимательно читать документацию. USB Flash удобнее, ведь не на каждом ПК есть кард-ридер.
Николай Z
Цитата(WEST128 @ Jan 10 2008, 00:04) *
Карты MMC очень просты в использовании как запоминающие устройства, особенно при работе в режиме SPI. Исходников в сети по данному поводу море, да и самому написать не сложно, если внимательно читать документацию. USB Flash удобнее, ведь не на каждом ПК есть кард-ридер.


USB-flash - это есть теперь на любом компе... Это обычный USB-накопитель втыкаемый в обычный USB-разъем... Card-reader - это немного другие девайсы...
Amper25
Вообщем, если необходимо сделать проще, быстрее и на любом MCU, то одназначно надо брать MMC, SD а не USB. Ведь SPI в самом крайнем случае можно делать програмным методом. Никакой периферии и пр. не требуется, дешево и сердито.

Ну а сложность софта для организации файловой системы будет примерно одинакова как для MMC, так и для USB storage.
rezident
Цитата(Николай Z @ Jan 10 2008, 02:51) *
USB-flash - это есть теперь на любом компе... Это обычный USB-накопитель втыкаемый в обычный USB-разъем... Card-reader - это немного другие девайсы...
Опять умничаете? WEST128 именно это и сказал. О том, что card-reader нужен для подключения MMC или SD через USB к PC. Встроенные card-reader в десктопах не делают, только в ноутбуках.
rv3dll(lex)
Цитата(rezident @ Jan 10 2008, 01:42) *
Опять умничаете? WEST128 именно это и сказал. О том, что card-reader нужен для подключения MMC или SD через USB к PC. Встроенные card-reader в десктопах не делают, только в ноутбуках.


в десктопы картридер уже очень часто ставится в отсек флоппи диска вместо этого самого диска
в конце концов есть решение усб картридер для карточки в формате флешки - стоимость 2х устройств карты и ридера не превышает стоимость усб флешки, а учитывая то что карточки значительно менее габаритные выводы надо делать и из этого

вопрос цены микро сд карта - 10*10*1миллиметр 2 гигабайта стоит уже меньше 500 рублей
Andy Great
Sandisk Ultra II Plus - два в одном. У меня такая.
Николай Z
Цитата(rezident @ Jan 10 2008, 01:42) *
Опять умничаете? WEST128 именно это и сказал. О том, что card-reader нужен для подключения MMC или SD через USB к PC. Встроенные card-reader в десктопах не делают, только в ноутбуках.
Кто бы и что бы не сказал, и кто бы и как бы это не понял - в любом случае Ваша агрессивность неуместна и не по теме...

Что же каксается деск-топов та на них давно уже ставят кард-ридеры - Вы немного отстали от жизни... Уж лет 5-7 минимум как делают. Уменя вообще девайс совмещенный - пара разных кард-ридеров и флопик...
one_man_show
Уважаемый Николай Z, прошу Вас, воздержитесь от развития темы в направлении выяснения отношений. Вы ткунили пользователя носом (невнимательно прочитав его пост), потом Вас одернули, затем Вы делаете замечание по поводу агрессивности ткнувшего Вас, потом сами не в силах удержаться, чтобы не щелкнуть по носу аппонента. Ну это просто "детский сад", а не технический диспут. Прошу Вас, просто умоляю, общайтесь так, чтобы Вы не вызывали ассоцииаций скандалиста или зануды, заранее прошу прощения за грубость.

Ведь можно просто давать технческие рекомендации, как Вы часто это и делаете, но воздержавшись от поучений, которые вызывают соответствующую реакцию у Ваших собеседников.
TBI
Цитата(MMos @ Jan 9 2008, 15:33) *
Насколько сложно (и реально) подключить USB флешку к прибору собственного изготовления?
Может, для этого есть какие-либо готовые решения? Поделитьесь опытом, пожалуйста.


Есть готовые решения собственного изготовления.
E-mail: tbi-ex@rambler.ru
Николай Z
Цитата(one_man_show @ Jan 12 2008, 13:53) *
Уважаемый Николай Z, прошу Вас, воздержитесь от развития темы в направлении выяснения отношений.

Да вообще-то это и есть мое намерение. Здесь не оффтоп а техническая тема. Потому - на мой взгляд - симпатии-антипатии совершенно непричем. Технический совет дать могу. Возможно не лучший, но могу.
=AK=
Цитата(Сергей Борщ @ Jan 9 2008, 23:20) *
Не использовал, но есть такая микросхема VNC1L.

Угу, http://www.vinculum.com/prd_vnc1l.html Недавно статью в журнале про нее прочел. Описывалось, как к PIC16F87 в пол-пинка прикрутить USB флэшку. Круто! Ребята из FTDI опять отожгли классный чип.
Alex B._
Цитата(=AK= @ Jan 13 2008, 04:03) *
Ребята из FTDI опять отожгли классный чип.

если б он еще работал нормально...
zltigo
Цитата(=AK= @ Jan 13 2008, 03:03) *
Описывалось, как к PIC16F87 в пол-пинка прикрутить USB флэшку

При этом стоимость этого чипа, не говоря уже парочке с основным контроллером превышает стоимость нормального ARM контроллера с Host USB на борту. Так сказать, налог на любителей.
=AK=
Цитата(zltigo @ Jan 13 2008, 21:12) *
При этом стоимость этого чипа, не говоря уже парочке с основным контроллером превышает стоимость нормального ARM контроллера с Host USB на борту. Так сказать, налог на любителей.

Они находятся в традиционной для FTDI рыночной нише чипов для устройств с небольшим объемом выпуска. Цена чипа не определяет всей картины. Есть еще время разработки, которое проявится и как оплата труда разработчика, и как упущенная выгода за счет растянутых сроков разработки.

Цитата(Alex B._ @ Jan 13 2008, 20:54) *
если б он еще работал нормально...

А что, есть нарекания? Расскажите, это интересно.
MMos
Почитал я тут "ответы".
Всем спасибо.
Ссориться не надо.
Появилась идея - обойти файловую систему. Опыт есть - в своё время написал работоспособный дисковый редактор для ПК (творил чудеса). Может ли кто-то подсказать, где найти информацию по работе с USB флешкой на физическом уровне.
Готовые решения - это здорово, но я предпочитаю иметь полный контроль над происходящим в моей аппаратуре. Готовые решения этого не позволяют. Да и добротности готовых решений не доверяю. Профессионалов в полном смысле, конечно, хватает. Но с другой стороны "программ без ошибок не бывает". Помогите, если можете.
Alex B._
Цитата(=AK= @ Jan 14 2008, 09:08) *
А что, есть нарекания? Расскажите, это интересно.

Да полно. SPI нормально так и не работатет до сих пор (насколько я знаю), часто просто виснет без видимых причин... Поищите тут, много это обсуждали. И еще тут:
http://pic.forum24.ru/?1-1-0-00000001-000-0-0-1192566700
Хотя тут такой момент - сам не пробовал, поэтому вполне допускаю криворукость... Но то, что там не все так просто и надежно - однозначно.
Николай Z
Цитата(MMos @ Jan 14 2008, 10:30) *
1) Появилась идея - обойти файловую систему. Опыт есть - в своё время написал работоспособный дисковый редактор для ПК (творил чудеса). Может ли кто-то подсказать, где найти информацию по работе с USB флешкой на физическом уровне.

2)Готовые решения - это здорово, но я предпочитаю иметь полный контроль над происходящим в моей аппаратуре. Готовые решения этого не позволяют.

1) Ну тогда вот Вам источник знаний - это собственно набор команд, которые Flash-ка получает по USB-шине и которые она отрабатывает: http://www.usb.org/developers/devclass_doc...bmass-ufi10.pdf

2) А вот это Вы зря... Во-первых готовые решения вполне позволяют иметь полный контроль над результатом, а во-вторых Вам все равно нужно будет повторить в Вашем устройстве весь минимально необходимый набор аппаратно-програмных средств для того, чтобы FLASH-ка Ваша заработала на Вашем специфическом девайсе и позволила бы Вам записать хотябы пару секторов. Сделаете это нестандартным способом (без файловой системы) - значит Вы просто перенесете проблему на PC - где это потом придется преодолевать.
one_man_show
Согласен с Николай Z в том, что уйдя от стандартов в начале, потом приходится за это платить либо стоимостью разработки или стоимостью конечного изделия.
TBI
Цитата(MMos @ Jan 14 2008, 10:30) *
Готовые решения - это здорово, но я предпочитаю иметь полный контроль над происходящим в моей аппаратуре. Готовые решения этого не позволяют. Да и добротности готовых решений не доверяю. Профессионалов в полном смысле, конечно, хватает. Но с другой стороны "программ без ошибок не бывает". Помогите, если можете.


Я предлагаю готовое решение, с помощью которого вы будете иметь полный контроль в Вашей аппаратуре. Запись данных осуществляется на SD (Secure Digital) карточку в виде файлов в формате FAT16. Впоследствии карточку вставляете в стандартный reader и переносите файлы на PC.
rv3dll(lex)
Цитата(TBI @ Jan 14 2008, 16:30) *
Я предлагаю готовое решение, с помощью которого вы будете иметь полный контроль в Вашей аппаратуре. Запись данных осуществляется на SD (Secure Digital) карточку в виде файлов в формате FAT16. Впоследствии карточку вставляете в стандартный reader и переносите файлы на PC.


а через год не будет карточек под фат 16
а именно останутся 4 8 16 и 32 гб
TBI
Цитата(rv3dll(lex) @ Jan 14 2008, 16:33) *
а через год не будет карточек под фат 16
а именно останутся 4 8 16 и 32 гб


Тогда будет FAT32
Николай Z
Цитата(rv3dll(lex) @ Jan 14 2008, 16:33) *
а через год не будет карточек под фат 16
а именно останутся 4 8 16 и 32 гб

А через 5-ть практически наверняка еще Windows-XP станет раритетом - ну так и что c того? biggrin.gif biggrin.gif biggrin.gif
А так же очень возможный вариант - исчезновение архитектуры Pentium, на которой товарищ собирается обработкой записанного заниматься...


Вообще - каждый из нас однажды исчезнет с лица земли - но это же не основание ничего не делать в связи с этим.
TBI
Насколько я понял, то устройство <i>MMos</i> не для обычного потребителя, а для своих целей. Ну тогда можно приобрести требуемое количество карточек и пользоваться. Тем более, что их стоимость (до 2 Gbytes) не так уж велика.
MMos
Почитал спецификации USB. Хорошо излагают, собаки! Идея хорошая и обдуманная и проработанная. И, бесспорно, реализуемая. Но как для моих целей сложновата. Мне нужно всего лишь технологическое устройство с небольшим сроком жизни. Тратить пол-года на разработку не хочется. Покупать чужое и пол-года разбираться, почему оно работает не так, как мне надо тоже не хочется.
Где-бы почитать про MMC, SD, SPI, чтобы попонятнее?
Конечyо можно сказать - Ищи сам, написано много. Действительно много, но 99,9% из того, что написано, лучше не читать. Если кто-то прошёл по пути, на котором я сейчас нахожусь, и достиг положительного результата - поделитесь.
zltigo
Цитата(TBI @ Jan 14 2008, 16:57) *
Ну тогда можно приобрести требуемое количество карточек и пользоваться.

1. Не вижу никаих причин не поддерживать и FAT32
2. Никто не запрещает форматироват и использовать карточку на часть емкости.
3. Использовние USB брелков не отменяет наличия файловой системы.

Цитата(MMos @ Jan 16 2008, 10:48) *
Ищи сам, написано много. Действительно много, но 99,9% из того, что написано, лучше не читать.

Ну это явное преувеличение в среднем около 90%. В интересных вещах общего назначения, типа файловых систем, стеков IP, операционных систем,.....того, чего стоит читать - заметно больше.
Цитата
Если кто-то прошёл по пути, на котором я сейчас нахожусь, и достиг положительного результата - поделитесь.

Если кто-то решил результаты своего труда выложить, но скорее всего он уже выложил и без Вашего призыва. Посему действительно приникать к первоисточникам, читать написанное другими толкователями первоисточников( при этом критически оценивая чужой труд), делать свое и.... принимать решение делиться или нет smile.gif
Николай Z
Цитата(MMos @ Jan 16 2008, 10:48) *
Почитал спецификации USB. Хорошо излагают, собаки! Идея хорошая и обдуманная и проработанная. И, бесспорно, реализуемая. Но как для моих целей сложновата.
Значит Вам нужен не USB, а что-то попроще - ну например вывод Ваших данных в UART, а далее - запись их в файл на ноутбуке к примеру или что-то аналогичное с простым интерфейсом с записью в КПК...

Цитата(MMos @ Jan 16 2008, 10:48) *
.... но 99,9% из того, что написано, лучше не читать. Если кто-то прошёл по пути, на котором я сейчас нахожусь, и достиг положительного результата - поделитесь.
Странный вывод для меня... Мои оценки совершенно другие - как минимум 60% из опубликованного может быть применено с большой эффективностью, но собственный труд и довольно большой - всегда будет нужен.
one_man_show
Может автору стоит выбрать следующий путь, раз времени в обрез и возможности/желания нет изучать глубину вопросв: по одному из известных производителей МК с USB (например, у SiLabs готовое решение с исходниками USB Mass Storage Reference Design ) приобретается кит (или изготавливается макет самостоятельно), скачивается софт для кита, проводится тестирование для получения минимальных знаний о происходящем, далее флаг в руки, то есть copy-paste из примеров в свой проект. Такой подход позволяет реализовать неизвестный фрагмент-интерфейс-протокол... в течение недели (со временем приобретения кита).
Николай Z
Цитата(one_man_show @ Jan 16 2008, 19:04) *
Такой подход позволяет реализовать неизвестный фрагмент-интерфейс-протокол... в течение недели (со временем приобретения кита).

Протокол работы с USB-flash-кой за неделю не реализуется никакими путями ни на каких чипах. Даже при наличии референсе-дизайна.
Товарищу надо с необходимостью от флэшки отказываться. Там как пространство не квантуй - все одно надо или формировать файл в файловой системе или научить PC - читать нестандартно(без файловой системы) - читать информацию с флэшки... Но даже поблочный обмен это достьаточно сложный прокол взаимодействия, на который все-таки уйдет намного больше времени, чем неделя - даже при условии, что он будет присутствовать в готовом виде в каком-нибудь референсе-дизайне.
one_man_show
Я привел пример, основанный на очень конкретном опыте: поручил задачу аспиранту, который хорошо знает МК, но первый раз работает с USB Mass Storage Device. Требовалось в существующий проект добавить функционал USB-флэшки, что он и сделал меньше, чем за неделю, воспользовавшись указанным референс-дизайном, то есть добавил в аппаратную часть необходимые доп.компоненты, а в исходники проекта добавил нужные куски из исходников реф.дизайна. В результате в проекте появилась поддержка файловой системы и доп. режим USB MSD, когда железка подключена к компьютеру
Николай Z
Цитата(one_man_show @ Jan 17 2008, 15:13) *
Я привел пример, основанный на очень конкретном опыте: поручил задачу аспиранту, который хорошо знает МК, но первый раз работает с USB Mass Storage Device. Требовалось в существующий проект добавить функционал USB-флэшки, что он и сделал меньше, чем за неделю, воспользовавшись указанным референс-дизайном, то есть добавил в аппаратную часть необходимые доп.компоненты, а в исходники проекта добавил нужные куски из исходников реф.дизайна. В результате в проекте появилась поддержка файловой системы и доп. режим USB MSD, когда железка подключена к компьютеру

Ну может быть... Вообще-то у меня не один проект был связан с USB...
И все до рабочего - пригодного к тиражированию вида доводились по 2-4 месяца - невзирая на наличие референс дизайнов.
Конечно сляпать как-нибудь - лишь бы дышало - нетрудно и можно и за 2-4 дня вполне... (пример - отечественный РУ-токен который использует 10% от пропускной способности Full-speed), но я такой вариант даже не рассматриваю.

В любом случае для вопрошаюшего товарища - планировать 1-2 недели на это дело было бы фантастикой... Мы уже тут неделю ему только ответы пишем. ;-)
one_man_show
По поводу сроков полностью с Вами согласен Николай Z smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.