"Шина расширения" для USB - есть такие устройства?

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Kuiper, 21 янв 2014.

  1. Kuiper

    Kuiper Нуб

    Всем привет!
    Сейчас активно изучаю Ардуино, все нравится, но также интересен вариант, когда внешние устройства - реле, драйверы моторов, сенсоры подключались бы напрямую к компьютеру, через USB.

    Поясню подробнее - Ардуино это МК с обвязкой, стоит ~$10. Но также на рынке электроники есть так называемые "медиаплееры", маленькие микрокомпьютеры размером с большую флешку, которые гораздо мощнее Ардуино или других МК.
    Пришел с Китая вот такой красавец:
    [​IMG]
    По характеристикам: 1ГГц частота\1ГБ ОЗУ\видео Mali400\802.11 b\g\n, ОС Android 4 или Ubuntu 10.

    Такой микрокомпьютер я бы хотел поставить в робота, ведь, согласитесь, компьютер с полноценной ОС Android\Ubuntu может предоставить гораздо больше возможностей для робота.

    Но есть и "подводный камень" в таком решении с микрокомпьютером - это отсутствие цифровых или аналоговых входов-выходов, как на Ардуино или других МК - для сенсоров, реле, моторов или других модулей.

    Вот и возник вопрос - существуют ли на сегодняшний день какие-нибудь решения, вроде "платы расширения с USB-входом" или "шины на 64 пина входов-выходов" для подключения внешнего электронного "обвеса"?

    Конечно, можно применить для этого Ардуино, где она будет выступать как раз такой "платой расширения", но ведь компьютер может и сам обрабатывать цифровые\аналоговые сигналы, поступающие на его USB-порты, без использования еще одного МК. Да и быстрее это получится, чем если сначала Ардуино будет обрабатывать данные, потом через виртуальный COM-порт или HID передавать их на компьютер последовательно, плюс, у Ардуино ОЗУ 2 или 8 килобайт (против 1 гига у микрокомпьютера) и 8 или 12 бит против 32 битов микрокомпьютера (камень Cortex A10). Конечно, часто Ардуино хватает для решаемых задач, но все-таки разница в конфиге очень большая, согласитесь.

    Пожалуйста подскажите, как решают задачу подключения DIY-устройств, различных модулей, реле, драйверов, сенсоров через USB?
    Я поискал в китайских шопах такие устройства, но то ли неправильно формулирую название ("usb extension board"), то ли не в том направлении делаю поиск такого устройства.

    Заранее спасибо!
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Не может. По шине USB могут общаться только USB-устройства. В любом случае придется ставить на другом конце какой-то контроллер и придумывать какой-то протокол.
     
    Kuiper и acos нравится это.
  3. sanek1337

    sanek1337 Нерд

    Raspberi PI
     
    Kuiper нравится это.
  4. acos

    acos Официальный гик Администратор

    Помнится мне, FT232 умеет работать с некоторыми своими пинами как с I/O
    А вообще так и решают - ставят контроллер, который умеет USB
     
    Kuiper нравится это.
  5. Kuiper

    Kuiper Нуб

    Megakoteyka, sanek1337, acos, друзья, большое спасибо за ответы в теме!

    Если я правильно понял, пошерстив поиск, то такие устройства так и называются - "платы расширения" (extension board, expansion board). И еще новые незнакомые слова, которые сейчас буду гуглить: GPIO, IIC, I2C.

    Сделайте скидку на то, что я, к сожалению, дилетант в этой теме, простой кодер, "чистый софтверник", с железом никогда не работавший. Из всех знаний - только еще со школы сохранившиеся в памяти "как собрать детекторный приемник на диоде Д9" :)

    Такой вопрос - подскажите, а если взять переходник USB-to-LPT и на нем сделать входы-выходы?
    Ведь раньше применяли LPT, вроде он до 256 пинов может поддерживать?

    Спасибо!
     
  6. NE_XT

    NE_XT Гик

    Если мне не изменяет память, то на плате вашего девайса есть UART, на старых моделях точно был. Вот к нему можно (припаять разьем) прицепить Ардуино и рулить всем, чем хочется.
    Глючные эти "свистки" поигравшись подарил соседу.
    Санек в третьем посте правильно подсказал.
     
    Kuiper нравится это.
  7. geher

    geher Гуру

    Откуда 256? Там всего 25 контактов, из которых почти половина - земля. Данных всего 8.
     
    Kuiper нравится это.
  8. Unixon

    Unixon Оракул Модератор

    Прицепить независимо работающий МК и делегировать ему задачи по работе с голым железом все же намного проще, чем проломиться из юзерспейса многозадачной ОС к тому же самому железу, особенно с соблюдением временных задержек, не говоря уже об имитации встроенной в МК периферии, коей у ЦП компьютера в том же качестве и объеме просто не существует.
     
    Kuiper нравится это.
  9. Unixon

    Unixon Оракул Модератор

    Плюс ко всему есть бесценная возможность реализовать некоторую защиту от электрических неприятностей как в том же Ruggeduino.
     
    acos и Kuiper нравится это.
  10. Kuiper

    Kuiper Нуб

    NE_XT, спасибо!
    Напрягаю голову, чтобы вариант без Ардуино.
    Хотя, я тут цены на платы расширения GPIO посмотрел, Ардуино действительно дешевле получается, да еще куча периферии и шилдов расширения, с Ардуино отличный вариант будет :)

    geher, точно не скажу, просто в памяти что-то такое закрепилось. Может это виртуальные устройства или расширение через микрухи вроде pl-2303, не знаю :)

    Unixon, Вы правы, я сейчас почитал по интерфейсным шинам, покумекал и к такой же мысли пришел - Ардуино\STM32 удобнее получается :)

    Народ, всем большое спасибо за активность в теме, очень помогли сделать правильный выбор, вернее, одернули от неправильного решения, Ардуино в качестве "спинного мозга" робота рулит! :)