Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: пару вопросов по USB
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
maxis
Итак только начал знакомится с usb, появилось несколько вопросов.

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

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

Вам конечно виднее, ибо тут телепатов нет чтобы угадывать что у Вас там за схема. Вначале говорили о DSP (с USB), сейчас уже оказывается CY7C68013A + ПЛИС. Как тут можно что-то подсказать?
И непонятно - в чём сложность EP0 в CY7C68013A? Хост периодически будет запрашивать коэфф. у устройства, а оно будет отвечать.
maxis
Цитата(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 из андроид приложения при использовании стандартного драйвера?
jcxz
Цитата(maxis @ Jun 17 2015, 11:30) *
Я так понимаю вы предлагаете использовать Extension Unit для передачи данных?
Не возникнет ли проблем при попытке отправить данные ep0 из андроид приложения при использовании стандартного драйвера?

Не знаю что такое Extension Unit и про Андроид ничего не знаю.
Но в своих устройствах использовал EP0 для периодических небольших передач во время работы изохронных точек - никаких проблем не было.
Для EP0 по стандарту выделяется как минимум 10% полосы пропускания USB-шины. На это можно рассчитывать железно.
Кроме того думаю - если шина недозагружена (не вся полоса распределена между высокоприоритетными изохронными и интеррапт точками), то будет выделяться и больше.
Какая Вам результирующая средняя скорость передачи этих данных нужна? Т.е.: 333+8 байт с каким периодом должны передаваться в хост?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.