HaJl4uk 0 22 февраля, 2021 Опубликовано 22 февраля, 2021 (изменено) · Жалоба Мне нужно осуществлять одновременный (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" должно хватить для звука. Изменено 22 февраля, 2021 пользователем HaJl4uk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 22 февраля, 2021 Опубликовано 22 февраля, 2021 · Жалоба 40 minutes ago, HaJl4uk said: Есть еще мысль создать псевдо-дуплексное соединение USB с временнЫм разделением, если это возможно. В интернете ничего не нашел по этому поводу. Оно так и работает. Книжку какую-нибудь про USB почитайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HaJl4uk 0 23 февраля, 2021 Опубликовано 23 февраля, 2021 (изменено) · Жалоба 1 час назад, aaarrr сказал: Оно так и работает. Книжку какую-нибудь про USB почитайте. В том то и дело, где эту книжку найти. Гугл по запросу "USB time division duplex" не выдает ничего по теме. Выдает только по отношению к радиосвязи bluetooth, wifi, LTE. А usb затрагивается лишь косвенно. Даже документаций никаких нет про это, не говоря уже про обучающие статьи. Может оно как то по-другому называется по отношению к проводным интерфейсам? Изменено 23 февраля, 2021 пользователем HaJl4uk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 февраля, 2021 Опубликовано 23 февраля, 2021 · Жалоба 21 minutes ago, HaJl4uk said: Даже документаций никаких нет про это Есть usb.org со всей возможной документацией. Да даже википедию достаточно полистать для получения общего представления о шине. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HaJl4uk 0 23 февраля, 2021 Опубликовано 23 февраля, 2021 · Жалоба 17 минут назад, aaarrr сказал: Есть usb.org со всей возможной документацией. Да даже википедию достаточно полистать для получения общего представления о шине. Я имею в виду найти информацию о том, предусмотрено ли такое разделение в самом протоколе или нужно самостоятельно менять направление передачи через определенные промежутки времени Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 февраля, 2021 Опубликовано 23 февраля, 2021 · Жалоба Эта информация представлена в обоих упомянутых источниках. Да, все предусмотрено протоколом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HaJl4uk 0 23 февраля, 2021 Опубликовано 23 февраля, 2021 · Жалоба Цитата Да, все предусмотрено протоколом Вы имеете в виду что необходимо будет попеременно создавать короткие транзакции изохорной передачи с чередующимся направлением IN/OUT? Или как? Можете подсказать конкретней, если не трудно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 23 февраля, 2021 Опубликовано 23 февраля, 2021 · Жалоба Передачи изохронные. Вам же уже посоветовали - читайте документацию по 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 Нашлось буквально за пару минут гугленья. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться