|
USBAUDIO.SYS, Сколько входных каналов он поддерживает? |
|
|
|
Apr 14 2008, 14:11
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Устройство аналогового ввода-вывода. 4 ADC + 2 DAC. То есть 4 входа и 2 выхода. Прикидывается USB Audio. Выходы описаны как SPEAKER, входы - MICROPHONE. Все было хорошо пока использовался Linux. Но понабилось и Windows. Так вот Windows видит только 2 ADC а остальные 2 в упор не видит. Все программы для работы со звуком знают только mono и stereo, а попытки воспользоваться звуковым WinAPI дают ошибки при указании числа входных каналов больше 2. Для тестирования прописал в устройстве 4 выхода и вывел 2 лишних на последовательный порт. Windows 4 выхода видит и медиаплеер играет на все 4 канала. Так что, USBAUDIO.SYS не поддерживает 4 микрофона? Как его заставить видеть все 4 входа? Спецификация USB Audio Class Devices 1.00 имеет только определения для разных вариантов микрофона, типа MICROPHONE SET и никаих других вариантов для входов не остается. Во всяком случае я не нашел других типов входов. Или я не там смотрел? Поможет ли переход на USB Audio Class Devices 2.00? Ориентируюся на WinXP и Vista. Дескриптор прилагается.
Прикрепленные файлы
desc.txt ( 7.36 килобайт )
Кол-во скачиваний: 74
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
 |
Ответов
|
Apr 20 2008, 12:50
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(amw @ Apr 20 2008, 16:12)  Ну во первых у меня не HID а AUDIO. Это я понял. Цитата(amw @ Apr 14 2008, 18:11)  Устройство аналогового ввода-вывода. 4 ADC + 2 DAC. То есть 4 входа и 2 выхода. Прикидывается USB Audio. Я вообще-то предлагал вам "прикинуться" не USB Audio, а USB HID. А чтобы обеспечить такую-же скорость передачи данных - составным HID. Из 6 интерфейсов, или 12 если скорость такая нужна. Кроме того в этом случае будет гарантироваться доставка. Цитата(amw @ Apr 20 2008, 16:12)  Основная проблема заключается в том, что крайне нежелательно иметь собственный драйвер. Плюс Windows, как оказалось, в этом вопросе (USB Audio) сильно ограниченная. Работают очень мало вариантов комбинаций конфигурации. В случае HID, собственного драйвера под Win не нужно. А насчёт глюков с конфигурацией - верно. Заметил, что почему-то под Win MassStorage в составе составного устройства работет ТОЛЬКО если у его интерфейса N=0. Но с 12 интерфейсами HID работает. Хотя для этого 12 EP нужно. Если, как я сейчас понял, вы на LPC2378 делаете, то у него вроде столько нет. Хотя м.б. и можно одну (с одинаковым адресом) Interrupt In EP или Ineterrupt Out EP в нескольких интерфейсах использовать. Я не пробовал, мне EP хватало.
|
|
|
|
|
Apr 20 2008, 13:13
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(galjoen @ Apr 20 2008, 15:50)  Я вообще-то предлагал вам "прикинуться" не USB Audio, а USB HID. А чтобы обеспечить такую-же скорость передачи данных - составным HID. Из 6 интерфейсов, или 12 если скорость такая нужна. Кроме того в этом случае будет гарантироваться доставка. Что-то я не понял идеи с HID. Если я сделаю свои АЦП/ЦАП как HID (что конечно в принципе реализуемо, но нужно в корпусе  ), разве будет, например, Windows Media Player проигрывать на мой HID музыку? Что то я сильно сомневаюся. Сомневаюся также что через HID можно "прокачать" 4вх + 2вых каналов по 16 бит и дискретизацией 10кГц. И это только минимальные характеристики. Сейчас прорабатываем вариант с 4вх + 4вых все по 16бит и дискретизация от 8кГц до 48кГц. Собственно USB Audio и выбрал потому, чтоб можно было использовать существующий софт для обработки данных. Сам софт я не разрабатываю, клиенты сами решают что им больше подходит, но в большинстве случаев используются программы работы со звуком, имеющиеся в почти каждом дистре Linux. Очень желательно получить тот-же результат и с Windows.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Apr 20 2008, 14:18
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(amw @ Apr 20 2008, 17:13)  Что-то я не понял идеи с HID. Если я сделаю свои АЦП/ЦАП как HID (что конечно в принципе реализуемо, но нужно в корпусе  ), разве будет, например, Windows Media Player проигрывать на мой HID музыку? Что то я сильно сомневаюся. Сомневаюся также что через HID можно "прокачать" 4вх + 2вых каналов по 16 бит и дискретизацией 10кГц. И это только минимальные характеристики. Сейчас прорабатываем вариант с 4вх + 4вых все по 16бит и дискретизация от 8кГц до 48кГц. Собственно USB Audio и выбрал потому, чтоб можно было использовать существующий софт для обработки данных. Сам софт я не разрабатываю, клиенты сами решают что им больше подходит, но в большинстве случаев используются программы работы со звуком, имеющиеся в почти каждом дистре Linux. Очень желательно получить тот-же результат и с Windows. 1. Как музыку конечно проигрывать HID конечно никто не будет 2. Через HID "прокачать" 4вх + 2вых каналов по 16 бит и дискретизацией 10кГц можно. Для этого (4+2)*2*10=120 байт/мСек нужно будет 2 HIDа. Или вроде даже 1го хватит, но пользоваться неудобно будет. 3. HID это максимум 64 байта/мСек с гарантированной доставкой через КАЖДУЮ In In и In Out EP (контрольный канал не учитываем) в обе стороны. Т.е. для 16 бит это 32 кГц на каждую EP. 4. Составное устройство (в т.ч. HID) может иметь до 16 EP, и общую скорость передачи (в обе стороны) 16*64=1024 байт/мСек, что является максимальным для full speed. Но в этом случае ошибки будут приводить к уменьшунию скорости передачи. Если сделать меньше EP, например 12, то ошибки будут исправляться, не приводя к уменьшению скорости. 5. Случай (4вх+4вых)*2байта*48выборок/мСек=768байт/мСек. Т.е. вам нужно 12 EP 768/64=12. Из них 6 EP In In и 6 In Out. Для этого достаточно 6 HID устройств (в каждом по одной In In EP и одной In Out EP). Т.е. USB девайс с 6 HID интерфейсами. Хотя конечно распределять 4 вх/вых на 6 EP, а потом всё это собирать... Думаю в принципе реализовать такое можно, но нужно-ли? Это от задачи зависит. Ваша, на мой взгляд, как-то не очень ложится. Тем более, что софт для компьютера придётся разрабатывать. А вот у меня задача есть, которая отлично на 12 HIDов ложится. Если договоримся с заказчиками - так сделаю.
|
|
|
|
|
Apr 20 2008, 15:03
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(galjoen @ Apr 20 2008, 17:18)  1. Как музыку конечно проигрывать HID конечно никто не будет 2. Через HID "прокачать" 4вх + 2вых каналов по 16 бит и дискретизацией 10кГц можно. Для этого (4+2)*2*10=120 байт/мСек нужно будет 2 HIDа. Или вроде даже 1го хватит, но пользоваться неудобно будет. 3. HID это максимум 64 байта/мСек с гарантированной доставкой через КАЖДУЮ In In и In Out EP (контрольный канал не учитываем) в обе стороны. Т.е. для 16 бит это 32 кГц на каждую EP. 4. Составное устройство (в т.ч. HID) может иметь до 16 EP, и общую скорость передачи (в обе стороны) 16*64=1024 байт/мСек, что является максимальным для full speed. Но в этом случае ошибки будут приводить к уменьшунию скорости передачи. Если сделать меньше EP, например 12, то ошибки будут исправляться, не приводя к уменьшению скорости. 5. Случай (4вх+4вых)*2байта*48выборок/мСек=768байт/мСек. Т.е. вам нужно 12 EP 768/64=12. Из них 6 EP In In и 6 In Out. Для этого достаточно 6 HID устройств (в каждом по одной In In EP и одной In Out EP). Т.е. USB девайс с 6 HID интерфейсами. Хотя конечно распределять 4 вх/вых на 6 EP, а потом всё это собирать...
Думаю в принципе реализовать такое можно, но нужно-ли? Это от задачи зависит. Ваша, на мой взгляд, как-то не очень ложится. Тем более, что софт для компьютера придётся разрабатывать. А вот у меня задача есть, которая отлично на 12 HIDов ложится. Если договоримся с заказчиками - так сделаю. Спасибо за разъяснения. Но, к сожалению, такой вариант мне не подходит.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
Сообщений в этой теме
amw USBAUDIO.SYS Apr 14 2008, 14:11 KolyanV Ничего не могу сказать по поводу USBAUDIO.SYS, но ... Apr 19 2008, 13:24 amw Цитата(KolyanV @ Apr 19 2008, 16:24) Ниче... Apr 19 2008, 15:23  khach Цитата(amw @ Apr 19 2008, 17:23) Т.е. зап... Apr 19 2008, 16:50   amw Цитата(khach @ Apr 19 2008, 19:50) Вроде ... Apr 19 2008, 18:12  KolyanV Цитата(amw @ Apr 19 2008, 18:23) Т.е. зап... Apr 19 2008, 19:04   amw Цитата(KolyanV @ Apr 19 2008, 22:04) WinA... Apr 20 2008, 11:32    galjoen Цитата(amw @ Apr 20 2008, 15:32) Буду про... Apr 20 2008, 11:50     amw Цитата(galjoen @ Apr 20 2008, 14:50) А по... Apr 20 2008, 12:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|