maxis 0 16 июня, 2015 Опубликовано 16 июня, 2015 (изменено) · Жалоба Итак только начал знакомится с usb, появилось несколько вопросов. Собираюсь сделать Usb Audio Device c DSP ядром. Устройство будет подключатся к девайсу на андроиде. На устройство необходимо передавать аудиопоток и коэффициенты для фильтров (порядка 333байт по изменению). Причём всё должно обслуживатся стандартными драйверами на устройстве. С аудиопотоком проблем нет, возник вопрос как передать коэфициенты. Если я правильно понимаю то реализовать можно добавив отдельный интерфейс HID Consumer Control и из своей программы отсылать коофициенты именно этому интерфейсу через Interrupt pipe. 1)Смогу ли я передать коофициенты во время активного воспроизведения? Аудиопоток при этом не прервётся? 2)Аудиопоток будет асинхронным с фидбэк конечной точкой. С чего начинается воспроизведение, с запроса данных от фидбэка или с пакета аудиоданных? Изменено 16 июня, 2015 пользователем maxis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 16 июня, 2015 Опубликовано 16 июня, 2015 · Жалоба А почему не передавать эти коэфф. через Ep0? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxis 0 16 июня, 2015 Опубликовано 16 июня, 2015 · Жалоба А почему не передавать эти коэфф. через Ep0? С EP0 будет работать только 8051 ядро CY7C68013A, а остальные эндпоинты будут заведены в плис. Мне кажется что реализовать протокол по EP0 в этом случае сложнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 17 июня, 2015 Опубликовано 17 июня, 2015 · Жалоба С EP0 будет работать только 8051 ядро CY7C68013A, а остальные эндпоинты будут заведены в плис. Мне кажется что реализовать протокол по EP0 в этом случае сложнее. Вам конечно виднее, ибо тут телепатов нет чтобы угадывать что у Вас там за схема. Вначале говорили о DSP (с USB), сейчас уже оказывается CY7C68013A + ПЛИС. Как тут можно что-то подсказать? И непонятно - в чём сложность EP0 в CY7C68013A? Хост периодически будет запрашивать коэфф. у устройства, а оно будет отвечать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxis 0 17 июня, 2015 Опубликовано 17 июня, 2015 · Жалоба Вам конечно виднее, ибо тут телепатов нет чтобы угадывать что у Вас там за схема. Вначале говорили о DSP (с USB), сейчас уже оказывается CY7C68013A + ПЛИС. Как тут можно что-то подсказать? И непонятно - в чём сложность EP0 в CY7C68013A? Хост периодически будет запрашивать коэфф. у устройства, а оно будет отвечать. Ну под DSP я имел ввиду просто обработку сигнала, которая будет включать в себя один 31 полосовой эквалайзер, после - разделение на 8 каналов, линию задержек и 10 полосный эквалайзер на каждый канал. Эквалайзеры состоят из последовательно включенных "Second-Order" фильтров, для которых необходимо по 5 коэффициентов в формате 4.20. Итого 333 байт + 8 байт задержек. Попробую сейчас проверить на STM32 (пока отладка сайпрасса едет из китая), но есть подозрения что данные будут передаваться довольно долго. Я так понимаю вы предлагаете использовать Extension Unit для передачи данных? Не возникнет ли проблем при попытке отправить данные ep0 из андроид приложения при использовании стандартного драйвера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 17 июня, 2015 Опубликовано 17 июня, 2015 · Жалоба Я так понимаю вы предлагаете использовать Extension Unit для передачи данных? Не возникнет ли проблем при попытке отправить данные ep0 из андроид приложения при использовании стандартного драйвера? Не знаю что такое Extension Unit и про Андроид ничего не знаю. Но в своих устройствах использовал EP0 для периодических небольших передач во время работы изохронных точек - никаких проблем не было. Для EP0 по стандарту выделяется как минимум 10% полосы пропускания USB-шины. На это можно рассчитывать железно. Кроме того думаю - если шина недозагружена (не вся полоса распределена между высокоприоритетными изохронными и интеррапт точками), то будет выделяться и больше. Какая Вам результирующая средняя скорость передачи этих данных нужна? Т.е.: 333+8 байт с каким периодом должны передаваться в хост? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться