|
посоветуйте нормальное решение USB-Audio IN, серия камней с "родными" библиотеками |
|
|
|
Oct 5 2011, 20:40
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
есть задача ввести звук в писишник по USB. тоесть устройство - USB девайс, собирает данные, допустим, по I2S и шлет их через USB носту. посмотрел реализации соответствующих классов у техасского инструмента для стеларисов и у ST для stm32. вообще не увидел возможности с использованием стандартных библиотек направить звук в ПК, везде только вывод.
посему вопрос: может кто уже пользует такое решение? пишу здесь потому что нужен мощный универсальный камень с богатой переферией. в идеале камень должен помимо звука потянуть виртуальный ком через композит, может быть несильную графику и много небыстрой периферии. создавать сий баобаб на чемто слабее ARM7 считаю формой анонизма. производитель не сильно важен как и стоимость самой микросхемы.
или может существует волшебная билиотека/фреймворк/SDK/операционка, которая при прикручивании к любому камню реализует описаный функционал?
p.s. сам бы написал с все нуля не будь я таким тупым лентяем = )
|
|
|
|
|
Oct 5 2011, 23:35
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
QUOTE (Shtirlich @ Oct 5 2011, 22:40)  вообще не увидел возможности с использованием стандартных библиотек направить звук в ПК, везде только вывод.
p.s. сам бы написал с все нуля не будь я таким тупым лентяем = ) Посмотрите на LPC23. Примеры от иара и кейла содержат ввод и вывод. Там необходимо найти примеры для плат с аудио частью. Там используется встроенный цап и ацп. Писание с нуля это не сто процентный признак трудолюбия. Кошерно начинать с выпиливания кремния на кухне при помощи пилки для ногтей
|
|
|
|
|
Oct 6 2011, 08:35
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
не нашел, можно ткнуть носом плиз
|
|
|
|
|
Oct 6 2011, 10:01
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(Shtirlich @ Oct 6 2011, 11:35)  не нашел, можно ткнуть носом плиз Пример на AVR32Пример на 8-битном AVR
|
|
|
|
|
Oct 6 2011, 11:02
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
QUOTE (Shtirlich @ Oct 6 2011, 11:35)  не нашел, можно ткнуть носом плиз \IAR Systems\Embedded Workbench 6.0\arm\examples\NXP\LPC23xx\IAR-LPC-2378-SK\AudioDevice\ \Keil\ARM\Boards\Keil\MCB2300\USBAudio\ Еще у nxp есть такой пример i2s.usb.audio.demo.zip
|
|
|
|
|
Oct 6 2011, 11:38
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(ig_z @ Oct 6 2011, 14:02)  \IAR Systems\Embedded Workbench 6.0\arm\examples\NXP\LPC23xx\IAR-LPC-2378-SK\AudioDevice\ \Keil\ARM\Boards\Keil\MCB2300\USBAudio\
Еще у nxp есть такой пример i2s.usb.audio.demo.zip Делал на основании этого проекта. Ставил кодек PCM3002 (20 бит 2 канала, TI), внешний генератор 12.288Мгц - подавал на ШИМ и делил частоту для кодека - изменялась частота дискретизации. Для прецезионных измерений нужно убрать адаптивный режим в USB аудио. Ввод проблем не имеет, вывод нужно буфферизировать - иногда заканчивались данные с компа - и были паузы в генерируемом сигнале. Режимы коррекции скорости вывода в ЮСБ (драйвер) - не работают до сих пор - глюки винды, нужно было вводить обратную связь через HID интерфейс - но я обошелся большим буффером. процы - LPC2148 (кодек на SSP) и LPC 23x/17x (кодек на I2S) Успехов
|
|
|
|
|
Oct 6 2011, 12:51
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
QUOTE (lebiga @ Oct 6 2011, 14:38)  Для прецезионных измерений нужно убрать адаптивный режим в USB аудио. Ввод проблем не имеет, вывод нужно буфферизировать - иногда заканчивались данные с компа - и были паузы в генерируемом сигнале. Режимы коррекции скорости вывода в ЮСБ (драйвер) - не работают до сих пор - глюки винды, нужно было вводить обратную связь через HID интерфейс - но я обошелся большим буффером. Я не совсем понял, объясните плиз. Адаптивную синхронизацию вы не используете, значит остается асинхронный или синхронный режимы. Асинхронный режим глючит на виндах ниже висты. Остается синхронный режим, но большим буфером проблему не решить. Если девайс работает быстрее хоста, то сразу же имеем недостаток данных. Если девайс работает медленнее хоста, то буфер поможет, но все равно переполнение неизбежно. Единственный выход - синхронизация с соф. Или у вас как то по иному сделано?
|
|
|
|
|
Oct 6 2011, 14:46
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(ig_z @ Oct 6 2011, 15:51)  Я не совсем понял, объясните плиз. Адаптивную синхронизацию вы не используете, значит остается асинхронный или синхронный режимы. Асинхронный режим глючит на виндах ниже висты. Остается синхронный режим, но большим буфером проблему не решить. Если девайс работает быстрее хоста, то сразу же имеем недостаток данных. Если девайс работает медленнее хоста, то буфер поможет, но все равно переполнение неизбежно. Единственный выход - синхронизация с соф. Или у вас как то по иному сделано? В вводом в компьютер проблем нет - синхронизация по кварцевому генератору 12.288 и данных с кодека. Проблема с выводом. До конца не решил. У меня цикл измерения около минуты - соответственно сделал буфер для генератора размером достаточным для непрерываемого выходного сигнала. Режимы - вместо (Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAdaptive, я использовал (Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAsynchronous + (Int8U)UsbEpUsageImplicit Проект сделан давно, че-то уже позабыл
|
|
|
|
|
Oct 6 2011, 15:02
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
Цитата(Юрий_СВ @ Oct 6 2011, 14:01)  забыл сказать, нужно чтобы ввод был стерео с частой не ниже 48 кГц. в данных примерах моно, причем на 8-ми битке частоты дискретизации 8 кГц Цитата(lebiga @ Oct 6 2011, 18:46)  В вводом в компьютер проблем нет - синхронизация по кварцевому генератору 12.288 и данных с кодека. Проблема с выводом. До конца не решил. У меня цикл измерения около минуты - соответственно сделал буфер для генератора размером достаточным для непрерываемого выходного сигнала.
Режимы - вместо (Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAdaptive, я использовал (Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAsynchronous + (Int8U)UsbEpUsageImplicit
Проект сделан давно, че-то уже позабыл видимо тоже буду пробовать на нем стартануть. кодек и синтезатор не проблема, они всеравно будут. кодек, точнее аудио АЦП, чтобы обеспечить нужное качество, а синтезатор уже давно юзаем дабы не плодить кучу асинхронных генераторов на плате. сейчас все реализовано на PCM2103 + MSP2234 как управляющий контроллер. хочется на одном корпусе. ту lebiga: я если что надоем с вопросами, Вы не против?
Сообщение отредактировал Shtirlich - Oct 6 2011, 15:02
|
|
|
|
|
Oct 6 2011, 15:27
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(Shtirlich @ Oct 6 2011, 18:02)  забыл сказать, нужно чтобы ввод был стерео с частой не ниже 48 кГц. в данных примерах моно, причем на 8-ми битке частоты дискретизации 8 кГц
видимо тоже буду пробовать на нем стартануть. кодек и синтезатор не проблема, они всеравно будут. кодек, точнее аудио АЦП, чтобы обеспечить нужное качество, а синтезатор уже давно юзаем дабы не плодить кучу асинхронных генераторов на плате. сейчас все реализовано на PCM2103 + MSP2234 как управляющий контроллер. хочется на одном корпусе.
ту lebiga: я если что надоем с вопросами, Вы не против? У меня стерео - 2 канала измерения, 48кГц, 16 или 20 бит. Кастомеру отдали версию с 16 бит - при 20 бит шумы все равно снижали диапазон до 16 бит . Регулировку volume переделал на регулировку входного усилителя (на цап DAC8043 и OP37, шаг усиления 2) - просто двигаешь рычажок в апликухе и все. Работоспособность хорошо проверяется через винамп. Можно посмотреть на diatos . kpi . ua - "Акустические измерения"
|
|
|
|
|
Oct 6 2011, 19:09
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
Цитата(lebiga @ Oct 6 2011, 19:27)  У меня стерео - 2 канала измерения, 48кГц, 16 или 20 бит. Кастомеру отдали версию с 16 бит - при 20 бит шумы все равно снижали диапазон до 16 бит . Регулировку volume переделал на регулировку входного усилителя (на цап DAC8043 и OP37, шаг усиления 2) - просто двигаешь рычажок в апликухе и все. Работоспособность хорошо проверяется через винамп. Можно посмотреть на diatos . kpi . ua - "Акустические измерения" вот почти оно и надо! единственное меня под конец прочтения всего рекомендованого материала заглючило: какой из проектов мы обсуждаем в качестве примера. тоесть во фразе Цитата(lebiga @ Oct 6 2011, 15:38)  Делал на основании этого проекта. речь идет о экземпле который в иаре вложен? или о проекте от nxp?
|
|
|
|
|
Oct 7 2011, 10:47
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
кстати Юрий_СВ своей ссылкой на Atmel дал неплохую заценку. на сайте Атмеля можно скачать их набор библиотек для дляты AT91SAM7SE-EK. http://www.atmel.com/dyn/resources/prod_do...91sam7se-ek.zip. дальше по относительным путям: документация по проекту композитного аудио + CDC /at91sam7se-ek/softpack-1.5/usb-device-composite-cdcaudio-project/usbmi_devicemi_compositemi_cdcaudiomi_project0_dir_description.html а это про то как в аудио добавить запись /at91sam7se-ek/softpack-1.5/at91lib/usb/device/audio-speaker/USBAudioRecorder0_page_description.html чтото мне атмель сразу стал симпатичен.. короче я на распутье. кто что лично пробовал? посоветуйте
Сообщение отредактировал Shtirlich - Oct 7 2011, 11:03
|
|
|
|
|
Oct 7 2011, 13:54
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(Shtirlich @ Oct 6 2011, 22:09)  вот почти оно и надо! единственное меня под конец прочтения всего рекомендованого материала заглючило: какой из проектов мы обсуждаем в качестве примера. тоесть во фразе
речь идет о экземпле который в иаре вложен? или о проекте от nxp? экзампл в Иаре (папка NXP) и на сайте NXP - один и тот-же, могут быть легкие различия Цитата(Shtirlich @ Oct 7 2011, 13:47)  кстати Юрий_СВ своей ссылкой на Atmel дал неплохую заценку. на сайте Атмеля можно скачать их набор библиотек для дляты AT91SAM7SE-EK. http://www.atmel.com/dyn/resources/prod_do...91sam7se-ek.zip. дальше по относительным путям: документация по проекту композитного аудио + CDC /at91sam7se-ek/softpack-1.5/usb-device-composite-cdcaudio-project/usbmi_devicemi_compositemi_cdcaudiomi_project0_dir_description.html а это про то как в аудио добавить запись /at91sam7se-ek/softpack-1.5/at91lib/usb/device/audio-speaker/USBAudioRecorder0_page_description.html чтото мне атмель сразу стал симпатичен.. короче я на распутье. кто что лично пробовал? посоветуйте И в проекте NXP добавлять запись не надо - там она есть изначально. usb-device-composite-cdcaudio - не очень понял - это что - ЮСБ-КОМ преобразователь? Пожалуйста приводите полные ссылки - нет времени искать
|
|
|
|
|
Oct 10 2011, 11:47
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
Цитата(lebiga @ Oct 7 2011, 17:54)  usb-device-composite-cdcaudio - не очень понял - это что - ЮСБ-КОМ преобразователь? Пожалуйста приводите полные ссылки - нет времени искать сам не нашел на сайте Атмела. поэтому и указываю пути относительно распакованного архива. для того чтобы люди не скачивали все печатнул в pdf 2 листа из документации. 2-й приктрепленный файл как раз описывает пример реализации в одном физическом устройстве 2 логических: USB - динамики и преобразователь USB-сом. если нужно еще чемто управлять кроме звука на стороне устройства данной решение наиболее простое и надежное. правда я позже поговорил с человеком активно пишущим под AVR32 и AT91, он их не сильно хвалил по быстродействию.. как бы то нибыло документация Атмела на их библиотеки в стиле Java мне показалась очень неплохим учебником по USB в случае если изучать кто-что-как делает.
|
|
|
|
|
Oct 10 2011, 18:32
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 4-11-07
Из: Питер
Пользователь №: 32 037

|
Цитата(lebiga @ Oct 7 2011, 17:54)  экзампл в Иаре (папка NXP) и на сайте NXP - один и тот-же, могут быть легкие различия содержимое i2s.usb.audio.demo.zip которое я скачал с с сайта http://ics.nxp.com/support/documents/micro.../?type=softwareи содержимое папки \Embedded Workbench 6.0 Evaluation\arm\examples\NXP\LPC23xx\IAR-LPC-2378-SK\AudioDevice мне показалось разными проектами.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|