Jump to content

    
Sign in to follow this  
HaJl4uk

Полнодуплексная передача по USB type-c на Android

Recommended Posts

Мне нужно осуществлять одновременный (full duplex) прием-передачу данных (аудио поток) между Android смартфоном и МК именно по usb. Однако как я понял, с использованием 2-х диф. пар от usb 3.0 этого добиться не получится, поскольку во первых нет контроллеров (дешевых тем более), которые поддерживали бы usb 3.0, а во вторых режим OTG использует только одну пару D+/- от более старого стандарта 2.0, то есть только 1 канал. Отсюда возникает вопрос - есть ли вообще этот полный дуплекс в type-c? Может его и нет, а 2 физических канала нужно для обеспечения наивысшей скорости передачи при их одновременной работе?

Так вот, собственно как решить задачу? В type-c есть целых 2 по 12 выводов. Через него передают и звук. И аналоговый и цифровой. Должен быть и вход для микрофона организован, только он скорее всего аналоговый. Если например с хоста выдавать цифровой звук по D+/- и одновременно на вход принимать аналоговый как бы с микрофона, но не с микрофона, а с ЦАП микроконтроллера. То есть должен получится своеобразный "телефон" между смартфоном и МК, работающий в реальном времени. Но тут возможно будут проблемы с реализацией такого через апи андроида, поскольку девайс не может быть одновременно и микрофоном и чем-либо еще. То есть устройство с микрофоном может быть гарнитурой - иметь аналоговый вход динамика и аналоговый выход микрофона, но не более. Или я ошибаюсь, так как сам протокол (а тем более тайпа) знаю плохо и не разбирался еще в инициализациях, передачах, пакетах и т. д. Мне бы сначала понять, можно ли это сделать в принципе.

Есть еще мысль создать псевдо-дуплексное соединение USB с временнЫм разделением, если это возможно. В интернете ничего не нашел по этому поводу. А так вроде пропускной способности "full speed" должно хватить для звука.

Edited by HaJl4uk

Share this post


Link to post
Share on other sites
40 minutes ago, HaJl4uk said:

Есть еще мысль создать псевдо-дуплексное соединение USB с временнЫм разделением, если это возможно. В интернете ничего не нашел по этому поводу.

Оно так и работает. Книжку какую-нибудь про USB почитайте.

Share this post


Link to post
Share on other sites
1 час назад, aaarrr сказал:

Оно так и работает. Книжку какую-нибудь про USB почитайте.

В том то и дело, где эту книжку найти. Гугл по запросу "USB time division duplex" не выдает ничего по теме. Выдает только по отношению к радиосвязи bluetooth, wifi, LTE. А usb затрагивается лишь косвенно. Даже документаций никаких нет про это, не говоря уже про обучающие статьи. Может оно как то по-другому называется по отношению к проводным интерфейсам?

Edited by HaJl4uk

Share this post


Link to post
Share on other sites
21 minutes ago, HaJl4uk said:

Даже документаций никаких нет про это

Есть usb.org со всей возможной документацией. Да даже википедию достаточно полистать для получения общего представления о шине.

Share this post


Link to post
Share on other sites
17 минут назад, aaarrr сказал:

Есть usb.org со всей возможной документацией. Да даже википедию достаточно полистать для получения общего представления о шине.

Я имею в виду найти информацию о том, предусмотрено ли такое разделение в самом протоколе или нужно самостоятельно менять направление передачи через определенные промежутки времени

Share this post


Link to post
Share on other sites
Цитата

Да, все предусмотрено протоколом

Вы имеете в виду что необходимо будет попеременно создавать короткие транзакции изохорной передачи с чередующимся направлением IN/OUT? Или как? Можете подсказать конкретней, если не трудно?

Share this post


Link to post
Share on other sites

Передачи изохронные.

Вам же уже посоветовали - читайте документацию по USB и в частности - по USB классу Audio.

Общее описание хорошее и на русском: Михаил Гук "Шины PCI, USB и FireWire".

И конкретно по аудио-классу: https://www.usb.org/sites/default/files/audio10.pdf

или: https://www.silabs.com/documents/public/application-notes/AN295.pdf

Нашлось буквально за пару минут гугленья.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

Sign in to follow this