Перейти к содержанию
    

посоветуйте нормальное решение USB-Audio IN

есть задача ввести звук в писишник по USB. тоесть устройство - USB девайс, собирает данные, допустим, по I2S и шлет их через USB носту.

посмотрел реализации соответствующих классов у техасского инструмента для стеларисов и у ST для stm32.

вообще не увидел возможности с использованием стандартных библиотек направить звук в ПК, везде только вывод.

 

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

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

создавать сий баобаб на чемто слабее ARM7 считаю формой анонизма. производитель не сильно важен как и стоимость самой микросхемы.

 

или может существует волшебная билиотека/фреймворк/SDK/операционка, которая при прикручивании к любому камню реализует описаный функционал?

 

p.s. сам бы написал с все нуля не будь я таким тупым лентяем = )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вообще не увидел возможности с использованием стандартных библиотек направить звук в ПК, везде только вывод.

 

p.s. сам бы написал с все нуля не будь я таким тупым лентяем = )

 

Посмотрите на LPC23. Примеры от иара и кейла содержат ввод и вывод. Там необходимо найти примеры для плат с аудио частью. Там используется встроенный цап и ацп.

 

Писание с нуля это не сто процентный признак трудолюбия. Кошерно начинать с выпиливания кремния на кухне при помощи пилки для ногтей :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не нашел, можно ткнуть носом плиз

 

\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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

\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)

 

Успехов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для прецезионных измерений нужно убрать адаптивный режим в USB аудио. Ввод проблем не имеет, вывод нужно буфферизировать - иногда заканчивались данные с компа - и были паузы в генерируемом сигнале. Режимы коррекции скорости вывода в ЮСБ (драйвер) - не работают до сих пор - глюки винды, нужно было вводить обратную связь через HID интерфейс - но я обошелся большим буффером.

 

Я не совсем понял, объясните плиз.

Адаптивную синхронизацию вы не используете, значит остается асинхронный или синхронный режимы.

Асинхронный режим глючит на виндах ниже висты.

Остается синхронный режим, но большим буфером проблему не решить. Если девайс работает быстрее хоста, то сразу же имеем недостаток данных. Если девайс работает медленнее хоста, то буфер поможет, но все равно переполнение неизбежно. Единственный выход - синхронизация с соф.

Или у вас как то по иному сделано?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не совсем понял, объясните плиз.

Адаптивную синхронизацию вы не используете, значит остается асинхронный или синхронный режимы.

Асинхронный режим глючит на виндах ниже висты.

Остается синхронный режим, но большим буфером проблему не решить. Если девайс работает быстрее хоста, то сразу же имеем недостаток данных. Если девайс работает медленнее хоста, то буфер поможет, но все равно переполнение неизбежно. Единственный выход - синхронизация с соф.

Или у вас как то по иному сделано?

 

В вводом в компьютер проблем нет - синхронизация по кварцевому генератору 12.288 и данных с кодека.

Проблема с выводом. До конца не решил. У меня цикл измерения около минуты - соответственно сделал буфер для генератора размером достаточным для непрерываемого выходного сигнала.

 

Режимы - вместо

(Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAdaptive,

я использовал

(Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAsynchronous + (Int8U)UsbEpUsageImplicit

 

Проект сделан давно, че-то уже позабыл

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

забыл сказать, нужно чтобы ввод был стерео с частой не ниже 48 кГц.

в данных примерах моно, причем на 8-ми битке частоты дискретизации 8 кГц

 

В вводом в компьютер проблем нет - синхронизация по кварцевому генератору 12.288 и данных с кодека.

Проблема с выводом. До конца не решил. У меня цикл измерения около минуты - соответственно сделал буфер для генератора размером достаточным для непрерываемого выходного сигнала.

 

Режимы - вместо

(Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAdaptive,

я использовал

(Int8U)UsbEpTransferIsochronous + (Int8U)UsbEpSynchAsynchronous + (Int8U)UsbEpUsageImplicit

 

Проект сделан давно, че-то уже позабыл

 

видимо тоже буду пробовать на нем стартануть. кодек и синтезатор не проблема, они всеравно будут. кодек, точнее аудио АЦП, чтобы обеспечить нужное качество, а синтезатор уже давно юзаем дабы не плодить кучу асинхронных генераторов на плате. сейчас все реализовано на PCM2103 + MSP2234 как управляющий контроллер. хочется на одном корпусе.

 

ту lebiga: я если что надоем с вопросами, Вы не против?

Изменено пользователем Shtirlich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

забыл сказать, нужно чтобы ввод был стерео с частой не ниже 48 кГц.

в данных примерах моно, причем на 8-ми битке частоты дискретизации 8 кГц

 

видимо тоже буду пробовать на нем стартануть. кодек и синтезатор не проблема, они всеравно будут. кодек, точнее аудио АЦП, чтобы обеспечить нужное качество, а синтезатор уже давно юзаем дабы не плодить кучу асинхронных генераторов на плате. сейчас все реализовано на PCM2103 + MSP2234 как управляющий контроллер. хочется на одном корпусе.

 

ту lebiga: я если что надоем с вопросами, Вы не против?

 

У меня стерео - 2 канала измерения, 48кГц, 16 или 20 бит. Кастомеру отдали версию с 16 бит - при 20 бит шумы все равно снижали диапазон до 16 бит . Регулировку volume переделал на регулировку входного усилителя (на цап DAC8043 и OP37, шаг усиления 2) - просто двигаешь рычажок в апликухе и все. Работоспособность хорошо проверяется через винамп. Можно посмотреть на diatos . kpi . ua - "Акустические измерения"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня стерео - 2 канала измерения, 48кГц, 16 или 20 бит. Кастомеру отдали версию с 16 бит - при 20 бит шумы все равно снижали диапазон до 16 бит . Регулировку volume переделал на регулировку входного усилителя (на цап DAC8043 и OP37, шаг усиления 2) - просто двигаешь рычажок в апликухе и все. Работоспособность хорошо проверяется через винамп. Можно посмотреть на diatos . kpi . ua - "Акустические измерения"

 

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

Делал на основании этого проекта.

речь идет о экземпле который в иаре вложен? или о проекте от nxp?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кстати Юрий_СВ своей ссылкой на 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

 

чтото мне атмель сразу стал симпатичен..

короче я на распутье. кто что лично пробовал? посоветуйте

USB_Audio_Recorder.pdf

usb_device_composite_cdcaudio_project.pdf

Изменено пользователем Shtirlich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

речь идет о экземпле который в иаре вложен? или о проекте от nxp?

 

экзампл в Иаре (папка NXP) и на сайте NXP - один и тот-же, могут быть легкие различия

 

 

кстати Юрий_СВ своей ссылкой на 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 - не очень понял - это что - ЮСБ-КОМ преобразователь?

Пожалуйста приводите полные ссылки - нет времени искать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

usb-device-composite-cdcaudio - не очень понял - это что - ЮСБ-КОМ преобразователь?

Пожалуйста приводите полные ссылки - нет времени искать

 

сам не нашел на сайте Атмела. поэтому и указываю пути относительно распакованного архива.

для того чтобы люди не скачивали все печатнул в pdf 2 листа из документации. 2-й приктрепленный файл как раз описывает

пример реализации в одном физическом устройстве 2 логических: USB - динамики и преобразователь USB-сом.

если нужно еще чемто управлять кроме звука на стороне устройства данной решение наиболее простое и надежное.

 

правда я позже поговорил с человеком активно пишущим под AVR32 и AT91, он их не сильно хвалил по быстродействию..

 

как бы то нибыло документация Атмела на их библиотеки в стиле Java мне показалась очень неплохим учебником по USB

в случае если изучать кто-что-как делает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

экзампл в Иаре (папка 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

мне показалось разными проектами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...