USB микрофон на ATmega8 и V-USB. Беглый экскурс и рабочая железка. Контроллер микрофона


RGB RF Audio Controller for LED strip light / Музыкальный контроллер с радио пультом

Добрый день! Представляю Вашему вниманию интересный ништячек, который привлек мое внимание. Речь пойдет о Музыкальном контроллере для RGB ленты. Он может быть использован как дома, так и в авто. Я приобрел его для подключения и установки РГБ ленты в качестве подсветки ног в автомобиле. О том как все это как работает под катом. Покупал это чудо еще в декабре. Цена с того времени не изменилась. После Нового Года забрал его с отделения почты. Данный контроллер реагирует на звук с помощью встроенного микрофона и подключенная к нему лента моргает под эти звуки, т.е. если включить трек, получается эффект цветомузыки. Управляется это чудо радио пультом с выдвижной антенной. Расстояние на котором он работает специально не замерял, но в 5-10 метрах от машины работает уверенно. Для удобства подключения ленты были приобретены специальные коннекторы — очень удобная штука!

Соединял ленту кабелем «Витая пара»

Подключил все это дело в авто, блок установил под центральную консоль Ну и как все это работаетВидео работы контроллера:

Плюсы: + Прочный корпус + Имеется настройка чувствительности микрофона + Контроллер не из слабых — 10 метров ленты тянет на ура и просит еще) + Адекватная цена Минусы — нет возможности прямого выбора цвета и режима, они меняются поочередно одной кнопкой — Mode. Если нечаянно прощелкал нужный цвет — приходится все по новой прощелкивать. Итог. В целом, очень доволен. Желающим устраивать дискотеки с цветомузыкой, дома или в авто, однозначно рекомендую! =)

Как я понял, есть такая традиция)

mysku.ru

USB микрофон на ATmega8 и V-USB. Беглый экскурс и рабочая железка

Как то давно я обещал статейку про реализацию USB микрофона на библиотеке V-USB. Время шло, а статья, как и само устройство не хотели приобретать конечную форму. То время нет, то желание, то возможности. Но на днях выдались пару вечеров (плавно перетекающих в ночь), и работа «пошла». В статье не густо фоток и всеми любимого видео, но зато я постарался раскрыть некоторые возможности библиотеки и пройтись по спецификации USB. Не претендую на большую публику (так как реализовать это можно за 5 секунд на аппаратном USB), но раз обещал…

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

Сразу оговорюсь, что я (как собственно и раньше) не претендую на звание «Учитель года», поэтому буду излагать материал как умею. Не все моменты получится раскрыть в статье, потому как разбирался в этом направлении самостоятельно, многое читал между строк, часть информации является специфичной и узкопрофильной, а часть попросту не понял сам. Примеров на русском я не видел, а вся документация вроде на «вражеском». Так что не судите строго и сами не будите строго ОСУЖДЕНЫ =)

Итак, следует отметить, что USB очень хорошо подходит для передачи звука. Пропускная способность канала USB позволяет передавать не только простой звук, но и высококачественные аудиоданные. Для изготовления USB аудиоустройств также важно и то, что механизм передачи аудиоданных хорошо определен и стандартизирован в спецификации USB. Стандартизированный механизм передачи аудиоданных также позволяет использовать стандартные драйвера (насколько это возможно).

Отдельного внимания требует синхронизация потока данных. Действительно, даже небольшие артефакты в звуковом потоке легко различимы человеческим ухом. Поэтому была разработана и внедрена в стандарт USB надежная схема синхронизации в изохронных передачах (тавтология слегка). Для надежной передачи аудиоданных по шине USB определен класс Audio Device Class, который придерживается данной схемы синхронизации.

Теперь посмотрим, что из себя представляет эта самая изохронная передача данных (в данном случае изохронная конечная точка). Итак, изохронный канал позволяет доставлять пакеты данных без гарантии доставки и без ответов/подтверждений, но зато гарантирует скорость доставки (!!!) в N пакетов за один период шины (1 кГц у low-speed и 8 кГц у high-speed). Именно из-за гарантированной скорости доставки, для передачи потока аудио (видео) используется изохронная передача.

Так, со способом передачи данных по шине определились – изохронная передача данных. Но в изохронной передаче есть несколько типов синхронизации данных. И так, первый тип – асинхронная изохронная передача. В такой передаче конечная точка принимает или передает данные с частотой, являющейся внешней для USB, или с частотой, заданной самим устройством. Второй тип передачи – синхронная изохронная передача. Системная частота для таких конечных точек может контролироваться через SOF (передача StartOfFrame) синхронизацию. Таким образом, конечная точка подстраивает свою частоту под 1 миллисекундный SOF тик или контролирует генерацию SOF и его тактовая частота привязывается к SOF. Также есть адаптивный тип синхронизации. Адаптивная изохронная конечная точка может принимать или передавать данные с любой частотой в своих рабочих пределах. Такие конечные точки должны реализовывать внутри себя процесс (функцию), которая позволяет ей подстраивать свою тактовую частоту под тактовую частоту, которая предлагается ее интерфейсу. Из всех типов синхронизации, самым простым является асинхронный.

Со способом передачи данных и видом синхронизации определились – асинхронная изохронная передача. Теперь пришло время рассмотреть основные составляющие USB аудио устройства. Для управления свойствами аудио функции (устройства), ее составные компоненты можно разделить на основные управляемые составляющие. Их две: юниты (Units) и терминалы (Terminals). Юниты представляют собой базовые составляющие блоки для полного описания большинства аудио функций. Аудио функции строятся соединением нескольких таких юнитов. Каждый юнит имеет минимум один входной пин (вход) и только один выходной. В дополнение к юнитам, которые можно считать проходными элементами для аудио данных, существуют и так называемые терминалы. Бывают входной терминал и выходной. Терминал можно представить себе как конечное звено в аудио функции. Так, АЦП для микрофона является входным терминалом, а конечная точка – выходным. Для колонок конечная точка является входным терминалам, а ЦАП – выходным. Примером юнита может служить блок обработки звука или регулировки громкости и т.д.

Так, для построения простого USB микрофона можно нарисовать следующий рисунок (1):

Немного поясню содержимое данного рисунка. По логике работы микрофона: снятие и оцифровка звука (можно с его обработкой) занимается функционально-законченный блок, а передачей (транспортировкой) этих данных занимается другой блок. Эти блоки в стандарте USB называются интерфейсами. Соответственно их названия довольно логичны: AudioControl и AudioStreaming интерфейсы. Для ввода данных в наше устройство служит входной терминал (IT), который можно представить себе как микрофон + фильтр + АЦП. Поскольку оцифрованный звук нами не обрабатывается, то данные непосредственно передаются на выходной терминал (OT), который представлен конечной точкой. Входной и выходной терминалы в данном случае представляют собой аудио функцию (логически законченная структура терминалов и юнитов, реализующих законченный функциональный блок). В нашем устройстве функция только одна, значит AudioControl Interface состоит только из одной функции. AudioStraming Interface представлен конечной точкой.

Теперь поверхностно рассмотрим рабочую модель Audio Device Class. Устройство может поддерживать несколько конфигураций. В рамках каждой конфигурации может быть несколько интерфейсов, каждый из которых может содержать несколько альтернативных настроек и конечных точек. Для иллюстрации всего вышесказанного, представлю следующий рисунок 2.

Теперь пройдемся немного дальше. В стандарте USB любое устройство представляется хосту как набор дескрипторов, которые описывают вид устройства, его свойства и назначение, его параметры, характеристики, требования, способ обмена информацией и т.д. Из рисунка 2 видна общая структура устройства USB. Каждый из представленных блоков на рисунке описывается своим собственным дескриптором. Для разных классов устройств (CDC, MSD, HID, AUDIO и проч.) в состав стандартных дескрипторов могут входить специфичные для класса дескрипторы. Все они описываются в соответствующих документах спецификации классов устройств. Немного сумбурно, но теперь попробуем представить себе иерархию дескрипторов для нашего устройства, основываясь на рисунках 1 и 2. Эта иерархия представлена в спецификации на AUDIO DEVICE CLASS, но логика построения прослеживается из приведенного выше материала.

Расписывать в статье каждый из дескрипторов с его параметрами только захламит мой поток мыслей. Если кто будет просматривать код или повторять конструкцию, те просмотрят комментарии и разберутся. На крайняк есть комментарии и всегда можно задать вопрос. Подробнее остановлюсь на моменте с альтернативными установками. Как видно из рисунка 3, их два. Назначение их может ввести новичков в смятение, но не все так сложно. Как мы помним, для передачи звука мы используем изохронную передачу, которая резервирует определенную полосу пропускания канала USB. Микрофон, подключенный к шине, используется не постоянно, а лишь по мере необходимости. Поэтому альтернативная установка 0 не имеет конечной точки. В случае, когда никто (в смысле программ) не использует микрофон, драйвер, в целях рационального использования ресурсов USB, переключит AudioControl интерфейс на эту установку. Это приведет к тому, что микрофон (AudioControl интерфейс) не будет использовать ресурс шины. При необходимости использования микрофона, драйвер укажет устройству о необходимости использования альтернативной установки 1, которая имеет изохронную конечную точку. Та, в свою очередь, начнет передавать поток аудио данных хосту. Теперь о V-USB. Большая часть функционала этой библиотеки скрыта от глаз пользователя. В идеале (или насколько я знаю), изохронная передача (как и bulk) передачи не поддерживаются. Но мы обходим это ограничение так, как будто наши конечные точки являются interrupt точками. Со стороны хоста разницы не заметно=) И по поводу переключения альтернативных настроек. Происходит это по команде USBRQ_SET_INTERFACE. Поэтому пришлось немного допилить код драйвера V-USB в функции usbDriverSetup и добавить функцию usbGetAltInterface. Со схемой сильно не заморачивался и использовал схему из моей прошлой статьи. Сигнал подается на вход ADC0. Сигнал с микрофона нужно усилить и ограничить его спектр в соответствии с выбранной частотой дискретизации (в моем случае это 8kHz). Как это сделать можно прочитать в статье товарища Lifelover.

К статейке прикрепил файлы проекта для IAR и образец записи с микрофона (схема без фильтра, звук снят с линейного выхода звуковухи. Представил в качестве доказательства работоспособности=). При увеличении частоты кварца можно поднять и качество звука в плане частоты дискретизации. Комментарии и критика (желательно конструктивная) в студию.

P/S: Надеюсь статья пригодиться хоть кому-нибудь, ну или по крайней мере была полезной или интересной. Спасибо за внимание!

we.easyelectronics.ru

Как настроить микрофон на Windows 7

Настройка микрофона Windows 7.

Изначально чтобы настройка микрофона началась, нужно штекер микрофон всунуть в гнездо, обычно гнездо микрофона обозначается красным цветом. Переходим в панель управления, оборудование звук, в графе нажимаем на звук, появившемся окне Вы сможете настроить динамики, микрофон. Что бы настроить микрофон на Windows 7, нажмите курсором на «Запись», в окне наводим курсором на микрофон и правой клавишей мыши, высветится настройки и все что можно сделать с микрофоном, нажимаем на свойство, в появившемся окне вы увидите все параметры для микрофона. Общие параметры микрофона: Контроллер – Поддержка устройства в данный момент. Разъем – Показывает разъем на вашем компьютере, если это ноутбук, то разъем будет внутренней, чёрный, если разъем находится снаружи, то разъем будет розовым (красным).

Применения устройства – Вы сможете отключить это устройство или включить.

Прослушивание микрофона – Позволяет Вам услышать, как громко настроен микрофон.

Уровни – Здесь можно настроить громкость микрофона, усилить микрофон (дБ – советую ставить не больше 20 дБ).

Пример в JPG:

Пуск, Панель Управления

Оборудование и звук

Звук

Окно звук

Свойство Микрофона

  
  
  
  
  
Добавить комментарий

online-users.ru