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

 
 
 
Reply to this topicStart new topic
> Много вопросов :) по 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
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
Kris2007
сообщение Apr 22 2009, 09:36
Сообщение #4


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

Группа: Участник
Сообщений: 75
Регистрация: 15-03-07
Пользователь №: 26 193



Но там же не один endpoint.
По 3-м прекрасно прокачается PCM 16/2/48 Кгц
Или я не прав?

Сообщение отредактировал Kris2007 - Apr 22 2009, 10:11
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 22 2009, 10:43
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Kris2007 @ Apr 22 2009, 13:36) *
Но там же не один endpoint.

Количество endpoint не увеличит пропускную способность канала USB.
Go to the top of the page
 
+Quote Post
lebiga
сообщение Apr 23 2009, 11:02
Сообщение #6


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

Группа: Свой
Сообщений: 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
vvu
сообщение Apr 23 2009, 21:28
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 2-12-04
Из: Kiev, Ukraine
Пользователь №: 1 294



Цитата(ua_97346 @ Apr 8 2009, 14:54) *
Дано: МК 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 в изохронном режиме.
Как по мне о таком ограничении надо просто кричать на первых страницах даташита.


USB 2.0 еще не значит High Speed автоматом.
Go to the top of the page
 
+Quote Post
shahr
сообщение Apr 25 2009, 07:35
Сообщение #8


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

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



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

3) На чем дальше вести разработку? Мне необходимо передавать/принимать аудиопотоки с сэмплрейтами 96 и 192 Ksps.
Поэтому надо будет выжать из USBD_FS практически все соки smile.gif


USB блок LPC214x и выше ограничений на изохронный режим передачи не имеет. В презентациях NXP на ограничения USB блоков конкурентов всегда указывается smile.gif


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
ua_97346
сообщение Dec 14 2009, 09:23
Сообщение #9





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



Цитата(vvu @ Apr 23 2009, 23:28) *
USB 2.0 еще не значит High Speed автоматом.


Да, это понятно.

Просто FS это полоса ~12M.
Ну, допустим в изохронном режиме никто не собирается утилизировать всю полосу.
Но хотябы 50-70% от полосы надо ведь дать?

А у них получается всего 64 KBps = 512 Kbps.

ИМХО на таком факте надо акцентировать внимание т.к. это резко сужает применяемость решения в некоторых
задачах.

Ну да ладно. Из SAM7 выжал давно все соки. Все работает как надо.
Но та же самая задача. С поправкой на сегодня.

Вот думаю что лучше:
Взять какой-нибудь процессор ARM/Cortex-M3 с поддержкой USB/FS/max isochronous?
Или не мучаться и поставить специализированную микросхему для USB интерфейса типа 13-го сайпруса ?
В сайпрусе "пугает" необходимость доп интерфейсинга и программинг USB на дополнительном процессоре.

Цитата(shahr @ Apr 25 2009, 09:35) *
USB блок LPC214x и выше ограничений на изохронный режим передачи не имеет. В презентациях NXP на ограничения USB блоков конкурентов всегда указывается smile.gif


Да вот как раз Кортекс от NXP рассматриваю как вариант.
Но там правда нет поддержки USB::HS.
USB::HS есть только в ATMEL-овском SAM3U, но что то на него пока демо бордов нейти не могу.
А самому из сэмплов макетницу делать так ломает...

Сообщение отредактировал ua_97346 - Dec 14 2009, 09:24
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:47
Рейтинг@Mail.ru


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