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

 
 
> Много вопросов :) по 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
Ответов
vvu
сообщение Apr 23 2009, 21:28
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 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
ua_97346
сообщение Dec 14 2009, 09:23
Сообщение #3





Группа: Участник
Сообщений: 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 Текстовая версия Сейчас: 29th July 2025 - 08:00
Рейтинг@Mail.ru


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