Left Radio 0 4 октября, 2013 Опубликовано 4 октября, 2013 · Жалоба Невозможность сконфигурировать 2 EP с одним номером, но с разными направлениями. Это не позволило запустить ввод с SDR-Widget с драйверами от других UAC2 карт, при том, что вывод работает. А вот это интересно, хорошо что в STM так можно, собственно сейчас у меня у IN и OUT один номер, значит можно будет надеяться прикрутить драйвера других карт, и работать в обеих направлениях B). 512 байт конечно печально, а я то думаю почему только 48 для UAC1, когда в исходниках лазил. По поводу HS PHY, прикручу USB3320, когда конечно нет предпочтений возможно действительно проще, всё равно ведь изучать, так лучше уж то что больше подходит :), а мне проще внешний прикрутить чем переходить сейчас на LPC. Единственный пока недостаток - невозможность работы с форматом 24 BCK на фрейм, только 16/32, правда не знаю умеет ли это LPC, но при большой необходимости можно завести данные в ПЛИС, а там уже получить любой формат не проблема. Плюс ПЛИС даст еще кучу всяких возможностей, например соединиться по параллельной шине и получить сколько нужно I2S выходов а не только 2. Но это если и буду делать, то не сейчас, хотя EPM570 уже прикупил :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikkov 0 4 октября, 2013 Опубликовано 4 октября, 2013 · Жалоба А вот это интересно, хорошо что в STM так можно, собственно сейчас у меня у IN и OUT один номер, значит можно будет надеяться прикрутить драйвера других карт, и работать в обеих направлениях B). 512 байт конечно печально, а я то думаю почему только 48 для UAC1, когда в исходниках лазил. По поводу HS PHY, прикручу USB3320, когда конечно нет предпочтений возможно действительно проще, всё равно ведь изучать, так лучше уж то что больше подходит :), а мне проще внешний прикрутить чем переходить сейчас на LPC. Единственный пока недостаток - невозможность работы с форматом 24 BCK на фрейм, только 16/32, правда не знаю умеет ли это LPC, но при большой необходимости можно завести данные в ПЛИС, а там уже получить любой формат не проблема. Плюс ПЛИС даст еще кучу всяких возможностей, например соединиться по параллельной шине и получить сколько нужно I2S выходов а не только 2. Но это если и буду делать, то не сейчас, хотя EPM570 уже прикупил :). У LPC тоже 8/16/32 у I2S, но это вроде не проблема, т.к. почти все ЦАП-ы поддерживают 32BCK, а если нет, то либо ПЛИС, либо что-то типа AD1896 должно подойти. Кстати, чем еще интересен LPC43XX, это режимом SGPIO, который позволяет реализовать многоканальный I2S. Немного на-оффтопил я тут , но тема лично мне интересная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_z 0 4 октября, 2013 Опубликовано 4 октября, 2013 · Жалоба У меня нет опыта работы ни с LPC, ни с STM, поэтому мне проще (с АВР32 его тоже не было), а выбор LPC обусловлен наличием HS PHY. А Вы могли бы более подробно описать свой проект? Т.е. какой юсб стек используете, планируете аудио входы, интересна ли мнимизация задержки, сколько каналов и т.д.? У меня в данный момент есть лпс1768, стм32ф407 и лпс4337. На сегодняшний день у меня работает лпс1768 как юсб лупбек. Режим синхронизации - асинхронный, пробовал и експлисит и имплисит. В принципе я сейчас принимаю решение, переходить на 4337 или все же закончить с 1768. Сейчас я работаю с Кейловским юсб стеком. Пробовал изохронную передачу на LPCUSB. В будущем планирую перебраться на NXP USB стек. Особо интересует минимизация задержки по входу и выходу. Возможно вы помните, я как то обращался к вам по почте, интересовался вашим дайвером для UAC2. В финале было бы интересно сравнить коммерческие драйвера для вин, ваш драйвер и встроенные в мак и линукс. ПС может вы знаете/подскажете более активные форумы по теме разаработки юсб аудио. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikkov 0 4 октября, 2013 Опубликовано 4 октября, 2013 · Жалоба А Вы могли бы более подробно описать свой проект? Т.е. какой юсб стек используете, планируете аудио входы, интересна ли мнимизация задержки, сколько каналов и т.д.? У меня в данный момент есть лпс1768, стм32ф407 и лпс4337. На сегодняшний день у меня работает лпс1768 как юсб лупбек. Режим синхронизации - асинхронный, пробовал и експлисит и имплисит. В принципе я сейчас принимаю решение, переходить на 4337 или все же закончить с 1768. Сейчас я работаю с Кейловским юсб стеком. Пробовал изохронную передачу на LPCUSB. В будущем планирую перебраться на NXP USB стек. Особо интересует минимизация задержки по входу и выходу. Возможно вы помните, я как то обращался к вам по почте, интересовался вашим дайвером для UAC2. В финале было бы интересно сравнить коммерческие драйвера для вин, ваш драйвер и встроенные в мак и линукс. ПС может вы знаете/подскажете более активные форумы по теме разаработки юсб аудио. Да пока нечего описывать. Просто хочу доделать нормальную реализацию USB Audio. АВР32 не совсем для этого годен, поэтому выбрал для себя LPC. На данный момент ничего нет, кроме плат собственной разработки с LPC1837 и LPC4337, да китайского кита open4337 на том же LPC4337. В качестве ЦАП-а и АЦП на момент разработки хочу использовать небольшой модуль на UDA1380 который можно подключить и к моим платам (как и его же Ethernet). Выбор стеков еще впереди, т.к. пока нет времени заняться программированием, да и жду выхода LPCOpen 2. Мой ASIO драйвер хорош только тем, что он open-source / бесплатный, ну и данные выводятся в обход звуковой подсистемы виндовс, поэтому никакие микшеры на него не влияют. Ну и он пока единственный легальный бесплатный способ вывести под Windows через USB 192 кГц/24 бит. Коммерческие драйверы для Windows от Thesycon гораздо лучше, так как это полноценные драйверы с поддержкой ASIO, но они не бесплатны. У Linux и мака с UAC2 проблем нет. Самый активный форум по этой тематике - это была группа Audio-Widget в гугл-групп. Но сейчас там затишье, основной разработчик, Alex Lee, делает (даже можно сказать сделал) реализацию на ezdsp5535, его интересовал, прежде всего, многоканальный вывод. Ну а те, кто делает коммерческие разработки, тот информацией делиться не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_z 0 4 октября, 2013 Опубликовано 4 октября, 2013 · Жалоба Просто хочу доделать нормальную реализацию USB Audio. АВР32 не совсем для этого годен, поэтому выбрал для себя LPC. На данный момент ничего нет, кроме плат собственной разработки с LPC1837 и LPC4337, да китайского кита open4337 Спасибо, понятно. У меня тоже опен4337-с в полной комплектации. Выбор стеков еще впереди, т.к. пока нет времени заняться программированием, да и жду выхода LPCOpen 2. А что такого предполагается в LPCOpen 2, по сравнению с текущей версией? Коммерческие драйверы для Windows от Thesycon гораздо лучше, так как это полноценные драйверы с поддержкой ASIO, А как это выглядит с технической точки зрения? Стабильнее, меньше грузят систему, проще в настройке или еще что то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikkov 0 5 октября, 2013 Опубликовано 5 октября, 2013 · Жалоба А что такого предполагается в LPCOpen 2, по сравнению с текущей версией? Больше примеров, меньше ошибок . А как это выглядит с технической точки зрения? Стабильнее, меньше грузят систему, проще в настройке или еще что то? Так как это полноценные драйверы, то они реализуют звуковое устройство и все программы Windows могут работать с ними. С моим же драйвером могут работать только те программы, которые поддерживают ASIO. Для остальных программ звукового устройства просто не существует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Проясните каким образом хост увеличивает количество байт в посылке? Дело в том что при воспроизведении время от времени проскакивают слабозаметные щелчки, скорость выдачи байт я засинхронизировал, тут проблем нет, думаю не может быть причина в том, что теперь ведь посылки с хоста не равны 384 байт (это для 16/96), а при заполнении буфера, если посылка например 388 байт и она не умещается в конец буфера, то я ее режу на две, одну часть в конец, все что не влезло в начало. Разрезается естественно только по 2 байта(16), но может ли хост выдать нечетное количество байт, из-за чего и появляются щелчки? Буфер читает DMA по кругу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikkov 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Проясните каким образом хост увеличивает количество байт в посылке? Дело в том что при воспроизведении время от времени проскакивают слабозаметные щелчки, скорость выдачи байт я засинхронизировал, тут проблем нет, думаю не может быть причина в том, что теперь ведь посылки с хоста не равны 384 байт (это для 16/96), а при заполнении буфера, если посылка например 388 байт и она не умещается в конец буфера, то я ее режу на две, одну часть в конец, все что не влезло в начало. Разрезается естественно только по 2 байта(16), но может ли хост выдать нечетное количество байт, из-за чего и появляются щелчки? Буфер читает DMA по кругу. Драйвер USB Audio под Windows не слишком точно отслеживает изменение размера данных, т.е. относительно небольшие отклонения от нормального размера он просто не успевает отрабатывать. Поэтому в *-widget экспериментально подбирали ту дельту, на которое скачком изменялось значение передаваемое через FB EP. С той стратегией, что там сейчас работает проблем вроде нет, хотя на первых этапах были. Код там несложный для понимания, находится в файле uac1_device_audio_task.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Спасибо, поизучаю, а буфер там циклический, точно так же по DMA отправляется в I2S? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikkov 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Спасибо, поизучаю, а буфер там циклический, точно так же по DMA отправляется в I2S? Да, там циклический буфер из 2-х частей, в один пишется то, что принимается по USB, из другого читает DMA. Части лежат в памяти друг за другом. При равенстве скоростей приема и отдачи расстояние между указателем чтения и указателем записи должны быть равны размеру одной части. Если расстояние уменьшается или увеличивается, до идет коррекция размера пакета от хоста Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Хм..., у меня абсолютно такой же алгоритм, разве что буфер общий и поэтому расстояние удерживается в половину буфера, ладно буду разбираться, спасибо еще раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxis 0 16 декабря, 2015 Опубликовано 16 декабря, 2015 · Жалоба Реализую всё тоже самое что и у автора, но только на другом чипе и HighSpeed. Может кто-нибудь подскажет почему после каждой записи фитбека происходит URB Sync Reset Pipe and Clear Stall? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 29 сентября, 2019 Опубликовано 29 сентября, 2019 (изменено) · Жалоба Проверил UAC2 аудиоустройство с W10. Получил трески рассинхронизации звука при передаче из устройства в компьютер. Обратно все идет нормально (есть проблемы при попытке использования feature unit, но это не сейчас). Я пытаюсь без выделенной feedback EP решить - в UAC1 нормально. На OUT направлении работает ресэмплинг. ВОПРОС...В UAC1 можно было сказать о двух допустимых форматах передачи (16/48000/стерео или 24/96000/стерео). Тут же можно задать отдельно допустимые сэмпл рейт и формат. В результате получаю в windows выбор из трех опций - 16/48000/стерео, 24/48000/стерео или 24/96000/стерео. Вторая не нужна. Как быть? Топология аудиоустройства во всех альтернативных конфигурациях только одна на всех. Изменено 29 сентября, 2019 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться