Эмуляция USB флэшки при подключении к ПК

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Все доброго времени суток.

Есть такая задача:
AVR (пусть будет Atmega328) с подключенной SD-CARD по SPI. Пришет и читает на нее в автомономном режиме
При подключении к компьютеру карточка работает как USB-флэшка (пусть даже не очень быстрая)

Есть ли готовое аппапатное или программное решение?

Пока приходит на ум расотрошить дешевый карт-ридер и коммутировать контакты SD-карточки с него на SPI шину контроллера и обратно. Может быть запиться параллельно и при подаче 5В на USB просто отрубать питание AVR-ки, чтобы не мешал работе кртридера.

Второй вариант, ковыртья V-USB. Но готового проекта под свою задачу не нашел. 

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014
sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Вариант с тенесси в принципе неплох.

Все таки мне кажется аппаратное проще и дешевле будет разобрать картридер за $1 и вывести контакты карточки на SPI МК

Никто готовой микросхемы не встречал?

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sav13, в плеере за 1$ стоит микруха-ридер. Многие этого говна накупили после того обзора.. :)

zilibob4ik
Offline
Зарегистрирован: 02.06.2014

Привутствую.
Тоже стоит похожая задача.
Нашёл решение на Атмега8,
http://we.easyelectronics.ru/AVR/usb-fleshka-na-atmega8-i-v-usb-ot-idei-k-gotovomu-ustroystvu.html
но к сожалению не понятно как этот проект портировать в Ардуино ИДЕ.

Всё разбросано по куче папок.
может у кого-то будут мысли по этому поводу.

sav13, если получится портировать в Arduino IDE, поделитесь результатом пожалуйста.

 

dimax, про микруху ридер понятно, лично у меня задача другая.

В идеале мне не нужно читать флешку,
нужно эмулировать её наличие и выдать в виртуальный фат
один единственный маленький текстовый файлик с конфигурацией устройства.

Т.е когда виндовс попытается прочитать "флешку" ей выдаст виртуальные параметры из переменных,
и один единственный "файл" config.txt содержащийся в string.

И я даже нашёл решение,
http://we.easyelectronics.ru/STM32/emulyaciya-nositelya-fat32-na-stm32f4.html
но оно для stm32, с которым у меня как то не складывается (как и у многих)

 

ps
Не смотря на то, что ARM чипы при аналогичной стоимости порой в разы навороченней, чем AVR
с AVR микроконтроллерами проще, всё программирование сводится именно к программированию,
с STM  всё сводится к очень нудному конфигурированию чипа.
Это как вечное противоборство любителей Линукса и Виндовса.
Одни предпочитают комфортную работу и удобство, жертвуя быстродействием и какими то возможностями
другие вечное допиливание и поиски решения (порой надуманных) проблем,
но в итоге получая более  продвинутый вариант использования компьютера.

 

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

zilibob4ik, насколько мне известно arduino-friendly библиотек для таких задач не существует в природе. Так что либо ищите  аналогичные готовые реализации в инете, либо изучайте библиотеки  V-USB / LUFA, на которых всё это возможно :)

PS: кстати с аддоном stm32 для Arduino IDE никакого нудного конфигурирования, всё просто как с обычными дуинами, хотя конечно со своими особенностями.