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

 
 
> Написание драйвера для USB устроства, Требуется суммарная скорость передачи 6 мбит/сек. как этого достичь
Beneton
сообщение Feb 22 2007, 19:49
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 22-02-07
Пользователь №: 25 595



Есть такая задачка:
Требуется написать драйвер для USB устройства, которое будет преобразовывать некий аналоговый сигнал(!стерео) в цифровой, гнать его в комп(со скоростью ~3 мбит/сек)
Комп будет его обрабатывать по определенному алгоритму, отправлять обратно на этот девайс(со скоростью ~3 мбит/сек), который его преобразует обратно в аналог и подаст на выход.
То есть схема такая:

аналоговый сигнал -> Девайс -> цифра (->?как) комп (->?как) девайс -> аналог -> выход

суть вопроса: как мне лучше передать цифровой правый и левый каналы с девайса на комп и обратно?

есть два варианта:

1. чередовать биты - правый - левый и т.д.
2. чередовать пакеты по n бит правого потом столько же левого

написать можно и первым и вторым способом, но требуется довольно высокая скорость передачи т.к. подразумевается обработка цифрового сигнала на компе в реальном времени.

Какой алгоритм эффективней?
что можно почитать по этому вопросу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение Feb 25 2007, 23:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



И еще один серьезный вопрос, который почему-то не звучал в исходном сообщении и ответах - стерео - это звук, который должен быть обработан, выведен и проигран, или просто некие парные хорошо буферированные данные. Просто дело в том, что если требуется обработка звука (или данных, которые должны быть введены, обработаны и синхронно! выведены), то требуется режим изохронной передачи на USB, что в свою очередь тянет за собой довольно сложную структуру драйвера, особенно если нет больших буферов (и с учетом борьбы с кривым микрософтом). Если же все буферировано и нет жестких требований по синхронизации ввода с выводом, то можно обойтись балковской передачей, что гораздо проще.
Go to the top of the page
 
+Quote Post
jur
сообщение Feb 26 2007, 08:03
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Цитата(Alex11 @ Feb 25 2007, 22:10) *
Просто дело в том, что если требуется обработка звука (или данных, которые должны быть введены, обработаны и синхронно! выведены), то требуется режим изохронной передачи на USB, что в свою очередь тянет за собой довольно сложную структуру драйвера, особенно если нет больших буферов
Не понял, при чем тут снова драйвер? Драйвер есть, он уже давно отлажен и превосходно работает во всех режимах (имею ввиду Сайпресс, с которым уже давно работаю). А выделить в прикладной программе нужное количество буферов - какие проблемы?

Есть еще такое замечание: изохронная передача не гарантирует доставку (в отличие от булочной). Если сохранность данных важна, изохрон может не подойти.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 04:11
Рейтинг@Mail.ru


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