реклама на сайте
подробности

 
 
> Много вопросов :) по USB Audio Devices Class 1.0
ua_97346
сообщение Apr 8 2009, 12:54
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 2-03-09
Пользователь №: 45 582



Дано: МК AT91SAM7S в качестве USBD.
Реализовано устройство класса USB Audio Device спецификации 1.0 с
довольно простой аудиофункцией (out terminal).

1) Я правильно понял, что имея ограничение максимальной длины пакета 64 байта
в режиме USBD_FS/isochnonous мы никогда не сможем прокачать по ОДНОМУ data enpoint данные
со скоростью выше, чем 64*1000 = 64KBps? Ехарный бабай!
Так какого фига тогда на всех углах Атмел кричит, что они поддерживают USB 2.0 в семействе SAM7S?
Они поддерживают с очень серьезными ограничениями по скорости.
USBD_FS это должно быть 1023*1000=1023KBps в изохронном режиме.
Как по мне о таком ограничении надо просто кричать на первых страницах даташита.

2) Исходя из ограничений, описанных в п.1 получаю максимальный сэмплрейт для TYPE I/PCM/16bit/2канала 16000KHz.
Что конечно же обидно т.к. мало-мальски качественный звук - это хотябы от 24 килосэмплов.
Не долго думая я захотел обойти это ограничения ценой потери одного канала. В соотв. дескрипторе
поменял число каналов на 1 (TYPE I/PCM/16bit/1канал), но моя WINDOWS XP/SP3 не захотела работать с таким устройством.
Дальше - больше: при попытке заявить конфигурацию TYPE I/PCM/8bit/2канала/1 байт на субаудиофрейм WINDOWS стабильно уходит
в BSOD. Собственно вопрос: а что при описании аудиофункции для ОС WINDOWS существуют какие то негласные
бизнесправила? Например в процессе отладки я насчитал ДНЕСЯТКИ конфигураций, удовлетворяющих USB Audio Devices Class 1.0, но
стабильно посылающие Виндоуз в BSOD sad.gif Себя перепроверял много раз - ошибки в дескрипторах нет.
Я дурак или виндоуз глючная?

3) На чем дальше вести разработку? Мне необходимо передавать/принимать аудиопотоки с сэмплрейтами 96 и 192 Ksps.
Поэтому надо будет выжать из USBD_FS практически все соки smile.gif
Делать мост МК-FTDI? Или может есть какой то другой дешевый МК с ARM ядром, поддерживающий USB 2.0 _полностью_?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
lebiga
сообщение Apr 8 2009, 17:43
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292



На LPC2148 (с USB 2.0) и подключенном через SSP кодеке PCM3002 я получал PCM 16 бит 2 канала 48 кГц sample rate.
20 бит тоже работало - но я вернулся на 16 - мне было достаточно.
Для повышения качества и уменьшения джиттера отказался от адаптивного тактирования и поставил внешний генератор для кодека. С записью проблем нет, с воспроизведением - нужно большой буффер для устранения кратких (но редких) перерывов в воспроизведении - виновата винда. Но - производительность не очень, лучше брать процессоры с встроенным I2S (типа LPC2368)
Обсуждалось начало разработки на
http://electronix.ru/forum/index.php?showt...3&hl=lebiga
Go to the top of the page
 
+Quote Post
ua_97346
сообщение Apr 9 2009, 15:04
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 2-03-09
Пользователь №: 45 582



Цитата(lebiga @ Apr 8 2009, 20:43) *
На LPC2148 (с USB 2.0) и подключенном через SSP кодеке PCM3002 я получал PCM 16 бит 2 канала 48 кГц sample rate.
20 бит тоже работало - но я вернулся на 16 - мне было достаточно.
Для повышения качества и уменьшения джиттера отказался от адаптивного тактирования и поставил внешний генератор для кодека. С записью проблем нет, с воспроизведением - нужно большой буффер для устранения кратких (но редких) перерывов в воспроизведении - виновата винда. Но - производительность не очень, лучше брать процессоры с встроенным I2S (типа LPC2368)
Обсуждалось начало разработки на
http://electronix.ru/forum/index.php?showt...3&hl=lebiga


Спасибо

Почитал. Ну ребята, знаете... такая охренительная динамика и интермодуляционные искажения нужна разве что применительно к
связной радиолюбительской аппаратуре. Нафига эта погоня за пикосекундным джитером применительно к звуку я не понимаю.
Особенно, если учесть, что большинство таких любителей хи-фи не способны в слепом тесте отличить звучание девайсов диаметрально противоположного класса.

Ну это все лирика.

У меня при попытке выставить pcm/2канала/1байт/8бит винда падает в BSOD.
Это как то обходится?

Кстати, а вариант написать свой драйвер, который бы доставлял аудиоконтент в режиме BULK? Кто то реализовывал? Если ссылки на проект?

Сообщение отредактировал ua_97346 - Apr 9 2009, 15:08
Go to the top of the page
 
+Quote Post
lebiga
сообщение Apr 23 2009, 11:02
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292



Цитата(ua_97346 @ Apr 9 2009, 18:04) *
Спасибо

Почитал. Ну ребята, знаете... такая охренительная динамика и интермодуляционные искажения нужна разве что применительно к
связной радиолюбительской аппаратуре. Нафига эта погоня за пикосекундным джитером применительно к звуку я не понимаю.
Особенно, если учесть, что большинство таких любителей хи-фи не способны в слепом тесте отличить звучание девайсов диаметрально противоположного класса.

Ну это все лирика.

У меня при попытке выставить pcm/2канала/1байт/8бит винда падает в BSOD.
Это как то обходится?

Кстати, а вариант написать свой драйвер, который бы доставлял аудиоконтент в режиме BULK? Кто то реализовывал? Если ссылки на проект?


Погоня за джиттером - это для измерения качества звукоизоляции, данные получаюся с микрофонов и считаются спектры.
Теперь о проблемах... Какая винда? Кабель какой применяется - USB2.0?
pcm/2канала/1байт/8бит - не понял, какая частота дискретизации? Чем проверяется устройство?
У меня в самом начале разработки PCM 1 канал 16 бит 48кгц (768 kbps) работал с загрузкой процессора около 55% - воспроизведение через винамп
Потом уже дописал и на 2 канала + управление через другие endpoint
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016