Jump to content
Vaffanculo

Передать USB трафик по радио

Recommended Posts

Всем привет!

Встала передо мной задача передать USB трафик по радио.
Хочется сделать что-то типа USB-донгла, который вставляется в компьютер и общается с ответым устройством по радио.
К ответному устройству своим родным кабелем должен подключаться существующий USB-девайс.
Функционал USB-хаба не требуется, работа идет только с одним конечным устройством.
Задача минимум - поддержать Low Speed режим.

Вопросов много, начну с главного.

  1. Реально ли сделать все это не занимаясь разбором USB пакетов, а просто передавая их как есть?
    То есть МК в режиме девйса получает от хоста пакет, вырабатывает прерывание, обработчик которого
    забирает буфер и выдает команду радиомодулю на передачу содержимого буфера. Со стороны устройства все
    то же самое, только МК работает в режиме хоста. Ну и в обратном направлении подобным же образом.
  2. Выбор микроконтроллера. Он должен позволять работать с голыми пакетами напрямую, чтоб не было всяких
    фокусов с прибитыми гвоздями VID и PID.
    Насколько я понимаю, не каждый МК с поддержкой USB умеет работать в режиме хоста. Поскольку это нужно
    только на одном конце, получается, что микроконтроллеры могут быть разными для донгла и для девайса.
    Ну и цена вопроса имеет значения. STM32 внезапно подорожали в разы. Присматриваюсь к китайскому CH559
  3. Подойдет ли для радиообмена NRF24L01? Он вроде бы не сильно много потребляет по сравнению с WiFi.
    Если нет, то что вместо него?

По блютусу делать не хочу, там не получится сделать так, чтобы компьютер видел конечное устройство ровно так,
как он его видит при подключении кабелем, то есть драйвера устройство не опознают. Или я не прав?

Спасибо.

Share this post


Link to post
Share on other sites
Posted (edited)
1 час назад, Vaffanculo сказал:

Хочется сделать что-то типа USB-донгла, который вставляется в компьютер и общается с ответым устройством по радио.

Сначала вам придётся решить вопрос, что делать с передаваемой полосой частот сигнала USB. Для USB 1 полоса должна быть не менее 12 МГц, для USB 2 - не менее пол-гигагерца, для USB 3 -... ну вы поняли. :)

Решить вопрос с передачей сигнала подключения - отключения - определения версии USB устройства (резистор подтяжки на линии D+ или D_) можно очень просто, если использовать микросхему USB-хаба типа TUSB2036 и подобные.

Но сначала почитайте про Wireless USB.

Edited by Lexter

Share this post


Link to post
Share on other sites

Вам шашечки или ехать? Если второе, то купите подобный девайс, подключите его через WiFi или иным способом в вашу сеть и пользуйтесь.

Share this post


Link to post
Share on other sites

Вебинар «Новинки и решения Traco для промышленных и отраслевых приложений» (28.10.2021)

Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.
Подробнее

27.06.2021 в 13:18, Lexter сказал:

Сначала вам придётся решить вопрос, что делать с передаваемой полосой частот сигнала USB. Для USB 1 полоса должна быть не менее 12 МГц, для USB 2 - не менее пол-гигагерца

Поправка: для USB1 нужно 1.5 Мб/с, для USB2 либо 12, либо 480 Мб/с в зависимости от стандарта FS/HS.

Причем если все-таки заморочиться разборкой пакетов, скорость можно снизить.


Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Share this post


Link to post
Share on other sites

LM – семейство недорогих источников питания в кожухе от Mornsun

Компания Mornsun разработала и серийно производит новый вид продукции – источники питания в перфорированном кожухе, монтируемые на шасси. Новое семейство AC/DC-преобразователей LM выпускается в диапазоне мощности 15…350 Вт на стандартные выходные напряжения 3,3…48 В, в зависимости от серии. Источники питания характеризуются невысокой стоимостью и при этом имеют компактные размеры, хорошие показатели КПД и ЭМС, устойчивы ко входному напряжению до 305 В и обладают изоляцией «вход-выход» 3000/4000 В.

Подробнее

1 час назад, COKPOWEHEU сказал:

Поправка: для USB1 нужно 1.5 Мб/с

поправка.

1,5 МБ/с - это 12 Мегабит в секунду, то есть, 12 МГц,  чем и было сказано выше.


Мудрость приходит вместе с импотенцией...

Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.

Share this post


Link to post
Share on other sites

Bourns – надежное решение для защиты блоков питания базовых станций

Телекоммуникационные базовые станции часто подвергаются ударам молний и выходят из строя из-за короткого замыкания. Компания Bourns предлагает решение, позволяющее обеспечить надежную защиту от перенапряжения и перегрузки по току с помощью гибридного компонента GMOV™, PTVS-диодов PTVS1-380C-TH и плавких предохранителей SF-3812F-T. Рассмотрим это решение
Подробнее

Оно не будет работать. Никогда. :-) 

Банально по той причине, что передача по радио крайне ненадёжна по своей сути. Кто-то где-то включил вай-фай, блуютус, просто прошёл мимо. Молния бахнула в конце концов. И всё, пакет потерян или искажён. Возможности USB в детектировании ошибок крайне ограничены. Если мне не изменяет память, там CRC-5 используется как минимум для части пакетов. 

А ещё придётся реализовывать перестройку частоты, ибо в одних условиях будет менее захламлён один диапазон, а в других — другой.

А ещё надо будет потратить время на отправку по радио, а потом ещё раз отправить по USB уже целевому устройству, а потом всё повторить в обратном порядке. И уложить это всё аккурат в те тайм-слоты в которых хост будет ожидать данных. Не забыв заранее его уведомить, что данные надо будет ожидать в следующий раз (может быть).

Ну и так далее и тому подобное. ;-)

 

Share this post


Link to post
Share on other sites

Будущее сегодня с TE Connectivity: мезонинные соединители высокой плотности COM Express со скоростью 16G+

Компания TE Connectivity выпустила на рынок серию 16G 0.5mm FH с поддержкой стандарта COM Express – самые миниатюрные соединители в портфеле TE Connectivity на сегодняшний день, обеспечивающие скорость передачи данных более 16 Гбит/с. По сравнению с более ранней версией, рассчитанной на 8 Гбит/с, версию 16G отличают улучшенные показатели качества передаваемого сигнала.
Подробнее

Posted (edited)
7 минут назад, El-Shang сказал:

Оно не будет работать. Никогда.

Ну где же вы были, когда люди мучались над вот этим?

27.06.2021 в 13:18, Lexter сказал:

почитайте про Wireless USB.

Свяжитесь с ними, может быть ещё не поздно. А то зря мучаются... :D

Edited by Lexter

Share this post


Link to post
Share on other sites
Posted (edited)

@Lexter, хорошо, я внесу уточнение.

В том виде, как автор себе представляет работать не будет. Не удастся ему в кустарных условиях на двух микроконтроллерах (даже тип указан NRF24L01) напрямую передать данные между двумя узлами посредством радио без промежуточной обработки данных. 

Сравнение же с Wireless USB некорректно. 

Edited by El-Shang

Share this post


Link to post
Share on other sites
3 часа назад, El-Shang сказал:

Сравнение же с Wireless USB некорректно. 

Корректно. Если собрался что-то делать, посмотри, как это делают другие. А эта команда ничего лишнего в систему просто так напихивать не будет. Там описаны и все проблемы, требующие решения. После изучения чужого опыта станет более понятно, насколько не продуман предлагаемый подход. :)

Share this post


Link to post
Share on other sites
27.06.2021 в 14:07, Vaffanculo сказал:

USB трафик по радио.

Какой трафик ? Чем тебя не устраивает стандартный Wi-FI ? В Wi-FI проходит всё что можно передать по USB.


С уважением, Дмитрий

Share this post


Link to post
Share on other sites

Ему хочется, чтобы компьютер видел всю эту систему, как будто в его реальный порт втыкают реальный целевой девайс, без дополнительных заморочек.


"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites

А не проще сделать это на базе беспроводной мыши?

Share this post


Link to post
Share on other sites
16 hours ago, Lexter said:

Корректно. Если собрался что-то делать, посмотри, как это делают другие.

Да как сказать. Приводить в качестве примера технологию, на которую были потрачены годы и миллионы (если не десятки миллионов) долларов? Очевидно же, что человек, которые приходит на радиолюбительский форум с таким вопросом даже близко не понимает, что необходимо для решения надуманной им проблемы. Иначе бы он:
  а) искал бы готовое решение и в итоге бы пришел к упомянутому Вами стандарту;
  б) изменил бы свой подход к решению обозначенной задачи;
Так что "нет и никогда" вполне достаточно. :-)

1 hour ago, Candid said:

А не проще сделать это на базе беспроводной мыши?

Проще поставить два готовых блютуса. И написать "мост", реализующий обмен между двумя (или сколько там) узлами. Мышки имеют мерзкое свойство работать по проприетарному протоколу по радио — у одних производителей он один, а у других — другой. Плюс на стороне USB там HID-устройство, а оно довольно неторопливое по своей сути. Хотя для низкоскоростного обмена вполне покатит.

 

Share this post


Link to post
Share on other sites
21 час назад, Starichok сказал:
23 часа назад, COKPOWEHEU сказал:

Поправка: для USB1 нужно 1.5 Мб/с

поправка.

1,5 МБ/с - это 12 Мегабит в секунду, то есть, 12 МГц,  чем и было сказано выше.

Не путайте биты и байты. Мб это именно мегабиты. vusb на такой скорости работает.

То есть если делать на контроллерах общего назначения, то vusb позволяет общаться только на USB1 - скорость 1.5 Мб/с. Контроллеры с аппаратным USB - на USB2(FS), 12 Мб/с. А для больших скоростей уже придется искать специальные микросхемы.

21 час назад, El-Shang сказал:

Банально по той причине, что передача по радио крайне ненадёжна по своей сути.

Так никто и не предлагает по воздуху посылать сырые байты. Тем более что по USB физически идут отнюдь не только байты.

21 час назад, El-Shang сказал:

А ещё надо будет потратить время на отправку по радио, а потом ещё раз отправить по USB уже целевому устройству, а потом всё повторить в обратном порядке. И уложить это всё аккурат в те тайм-слоты в которых хост будет ожидать данных. Не забыв заранее его уведомить, что данные надо будет ожидать в следующий раз (может быть).

Запас по времени там огромный, около 1 мс по стандарту, а на практике единицы и даже десятки секунд.

21 час назад, El-Shang сказал:

Не удастся ему в кустарных условиях на двух микроконтроллерах (даже тип указан NRF24L01) напрямую передать данные между двумя узлами посредством радио без промежуточной обработки данных.

Так он вроде и хочет с промежуточной обработкой. Он в высокоуровневый протокол лезть не хочет, а отдельные пакеты разобрать несложно. Правда, придется реализовывать и USB-device и USB-host, пусть и примитивные.

3 часа назад, Candid сказал:

А не проще сделать это на базе беспроводной мыши?

Каким образом? Она же в системе всегда видна как мышь, другими устройствами прикидываться не умеет.


Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Щупы для мультиметра со сменными насадками

  • Similar Content

    • By iiwanc
      Здравствуйте!
      Простите, если не сюда пишу.
      Не подскажите маркировку кабеля для USB?
      Мне нужно спаять USB кабель для телефона. Зарядка и передача данных.
      Не спрашиваю где его взять, от каких устройств и т.д. Мне нужно купить новый кабель.
      Подойдут с сечением 24, 22 AWG.
      Если с экранированием, то вообще будет огонь. 
      Если еще и мягкий, то круче огня будет 
       
      Интересует зарубежная и отечественная маркировка.
       
      Буду благодарен советам!
    • By Viktor_Z
      Здравствуйте, у меня вопрос по правильной распиновке для прошивки приставки
      1) Видел вариант с "прямой", то есть 5В на 5В, D+ на D+ и т.д.
      https://www.youtube.com/watch?v=3SgPDCK_HW4
      https://www.frontx.com/pro/c526p3.gif
      Спаял как раз по нему (фото прилагается), при подключении приставки загорается индикатор, ток есть, но данные не передаются (никакие usb порты при подключении не сгорели)
      1) Также вариант с "зеркальной", 5В на GND, D+ на D-
      https://www.youtube.com/watch?v=QITmktkameg
      Хотел спросить у сведущих людей, как все-таки правильно.
      Приставка TANIX TX9S.
       
       

    • By Михаил Дементьев
      Всем добрый день! Понимаю, что тема далеко не новая, но к моему сожалению, мне так и не удалось найти дельной информации по данному вопросу. А вот сам вопрос: «Как связать устройство в котором стоит переходник UART-CP2102(USB) с Stm32?”
      Понимаю, что можно просто припаяться к RX TX контактам устройства, но это будет самое последнее дело, т.к. не хочу случайно его испортить. 
    • By sunjob
      добрый день
      проект v-usb
      выкус из спецификации/инета/форумов:
      - реализация не полностью соответствует стандарту
      - работа на 100% не гарантируется
      - питание по USB / с компа может провалиться до 4-4.5В (а F_CPU идет в "притирочку" ...)  :))
      у всех рекомендованных схем подключения (3 шт) имеются те или иные очевидные минусы.



      как следствие стабильно может работать только при "определенных условиях"
      в планах поработать с библиотекой.
      для начало решил "набросать" альтернативный вариант. (так сказать, попытаться закрыть все возможные дыры в подключении)


       
      достаем помидоры, баркова, мысли, высказываемся (заранее благодарен)
      tag: v-usb, usb, avr, atmega328p, avr-gcc, linux/mac-osx
      NO atmega32u4, NO arduino pro micro etc...

    • By Игорь Аксенов
      1.Не будет ли конфликта питания при одновременном подключении к ПК  stlink(UART) 3.3V и usb 5V (Узнал , что внешнее(5V)  недопустимо с USB).
         А про USB+stlink(UART)  честно долго искал, но так и не нашел.
      2. На USB: кто будет хабом(ПК или микроконтроллер) , а кто устройством.
×
×
  • Create New...