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

 
 
> пару вопросов по USB, Audio Device + передача данных
maxis
сообщение Jun 16 2015, 11:53
Сообщение #1


Участник
*

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



Итак только начал знакомится с usb, появилось несколько вопросов.

Собираюсь сделать Usb Audio Device c DSP ядром. Устройство будет подключатся к девайсу на андроиде.
На устройство необходимо передавать аудиопоток и коэффициенты для фильтров (порядка 333байт по изменению).
Причём всё должно обслуживатся стандартными драйверами на устройстве.
С аудиопотоком проблем нет, возник вопрос как передать коэфициенты. Если я правильно понимаю то реализовать можно добавив отдельный интерфейс HID Consumer Control и из своей программы отсылать коофициенты именно этому интерфейсу через Interrupt pipe.
1)Смогу ли я передать коофициенты во время активного воспроизведения? Аудиопоток при этом не прервётся?
2)Аудиопоток будет асинхронным с фидбэк конечной точкой. С чего начинается воспроизведение, с запроса данных от фидбэка или с пакета аудиоданных?

Сообщение отредактировал maxis - Jun 16 2015, 13:23
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
jcxz
сообщение Jun 16 2015, 15:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



А почему не передавать эти коэфф. через Ep0?
Go to the top of the page
 
+Quote Post
maxis
сообщение Jun 16 2015, 15:47
Сообщение #3


Участник
*

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



Цитата(jcxz @ Jun 16 2015, 18:17) *
А почему не передавать эти коэфф. через Ep0?

С EP0 будет работать только 8051 ядро CY7C68013A, а остальные эндпоинты будут заведены в плис.
Мне кажется что реализовать протокол по EP0 в этом случае сложнее.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 17 2015, 04:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(maxis @ Jun 16 2015, 21:47) *
С EP0 будет работать только 8051 ядро CY7C68013A, а остальные эндпоинты будут заведены в плис.
Мне кажется что реализовать протокол по EP0 в этом случае сложнее.

Вам конечно виднее, ибо тут телепатов нет чтобы угадывать что у Вас там за схема. Вначале говорили о DSP (с USB), сейчас уже оказывается CY7C68013A + ПЛИС. Как тут можно что-то подсказать?
И непонятно - в чём сложность EP0 в CY7C68013A? Хост периодически будет запрашивать коэфф. у устройства, а оно будет отвечать.
Go to the top of the page
 
+Quote Post
maxis
сообщение Jun 17 2015, 05:30
Сообщение #5


Участник
*

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



Цитата(jcxz @ Jun 17 2015, 07:20) *
Вам конечно виднее, ибо тут телепатов нет чтобы угадывать что у Вас там за схема. Вначале говорили о DSP (с USB), сейчас уже оказывается CY7C68013A + ПЛИС. Как тут можно что-то подсказать?
И непонятно - в чём сложность EP0 в CY7C68013A? Хост периодически будет запрашивать коэфф. у устройства, а оно будет отвечать.

Ну под DSP я имел ввиду просто обработку сигнала, которая будет включать в себя один 31 полосовой эквалайзер, после - разделение на 8 каналов, линию задержек и 10 полосный эквалайзер на каждый канал. Эквалайзеры состоят из последовательно включенных "Second-Order" фильтров, для которых необходимо по 5 коэффициентов в формате 4.20. Итого 333 байт + 8 байт задержек. Попробую сейчас проверить на STM32 (пока отладка сайпрасса едет из китая), но есть подозрения что данные будут передаваться довольно долго.

Я так понимаю вы предлагаете использовать Extension Unit для передачи данных?
Не возникнет ли проблем при попытке отправить данные ep0 из андроид приложения при использовании стандартного драйвера?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 17 2015, 10:31
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(maxis @ Jun 17 2015, 11:30) *
Я так понимаю вы предлагаете использовать Extension Unit для передачи данных?
Не возникнет ли проблем при попытке отправить данные ep0 из андроид приложения при использовании стандартного драйвера?

Не знаю что такое Extension Unit и про Андроид ничего не знаю.
Но в своих устройствах использовал EP0 для периодических небольших передач во время работы изохронных точек - никаких проблем не было.
Для EP0 по стандарту выделяется как минимум 10% полосы пропускания USB-шины. На это можно рассчитывать железно.
Кроме того думаю - если шина недозагружена (не вся полоса распределена между высокоприоритетными изохронными и интеррапт точками), то будет выделяться и больше.
Какая Вам результирующая средняя скорость передачи этих данных нужна? Т.е.: 333+8 байт с каким периодом должны передаваться в хост?
Go to the top of the page
 
+Quote Post

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

 


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


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