Электронные устройства для работы со звуковой картой – ЧАСТЬ 2

March 8, 2012 by admin Комментировать »

ром для линеаризации температурной характеристики, однако это потребует дополнитель

ных расчетов.

Поскольку звуковая  карта имеет стереовыход, то в показанных выше схемах можно полу чить максимум два управляющих напряжения для внешних устройств. Тем не менее, можно  рас ширить количество выходных сигналов, управляемых с линейного выхода звуковой  карты. Для этого потребуется создать чуть более сложную схему такого  интерфейса. Разработаем устрой ство, позволяющее получить из одного и того же звукового  сигнала 4 выхода управления.

Для этого воспользуемся схемотехническим решением, основанным на применении ак тивных фильтров. Прежде чем вкратце  описать суть применения  активных фильтров, немного остановимся на разложении непрерывного периодического сигнала на гармонические со ставляющие, т. е. на синусоидальные и косинусоидальные составляющие. Этот метод называ ется разложением  в ряд Фурье и основан на том, что сигнал прямоугольной формы содержит множество  гармоник  различной амплитуды, причем наибольшей амплитудой будет обладать гармоническая  составляющая на частоте импульсов. Не углубляясь в теорию, вышеизложен ное  можно  сформулировать так:  любой непрерывный  сложный  сигнал  несинусоидальной формы в общем случае включает бесконечное  число гармонических  составляющих, амплиту да и частота которых может быть определена при разложении такого сигнала в ряд Фурье.

Так,  например,  последовательность  прямоугольных  импульсов,  следующих с  частотой

1000  Гц, будет, в общем случае, содержать различные гармоники  сигнала, но наибольший вклад будет вносить  составляющая  на частоте 1000  Гц. Не вдаваясь  в детали, для импульсной последовательности f(x) единичной амплитуды  разложение  в ряд Фурье можно представить суммой нечетных гармоник  синусоидальных составляющих вида

4/π × [sin(x)/1 + sin(3x)/3 + sin(5x)/5 + . . . ]

Из формулы легко увидеть, что наибольшее значение амплитуды, равное 4/π, имеет ос новная гармоника  сигнала, следующая (на частоте, в 3 раза выше основной) имеет амплитуду в 3 раза меньше и т. д.

Если, например, прямоугольные импульсные сигналы частотой 1000  Гц подать на вход

активного узкополосного фильтра, настроенного для пропускания  именно этой частоты, то на его выходе максимальную  амплитуду будет иметь синусоидальный сигнал с частотой 1000  Гц, в то время  как  остальные  составляющие  будут значительно, или почти полностью, ослаблены. Иными словами, на выходе такого фильтра будет присутствовать  синусоида частоты 1000  Гц, и, возможно,  небольшие сигналы высших гармоник.  Схема активного  узкополосного  фильтра для частоты 1000  Гц показана  на рис. 5.19.

Это один из вариантов популярных фильтров типа Салена Ки. Помимо того, что данная схема выделяет из импульсной последовательности синусоидальный сигнал частотой 1000  Гц, она и усиливает его в несколько раз (теоретический коэффициент усиления этой схемы при идеальном согласовании равен 10, но реальный может быть несколько меньше, к тому же влияние оказывает и скорость нарастания выходного сигнала конкретного операционного усилителя). Для расчета активных  фильтров имеется много  бесплатных программ  ведущих фирм производителей  (Texas Instrument,  Microchip  и т. д.), с помощью которых, не вникая в довольно сложные математические расчеты, можно по заданным характеристикам опреде лить значения резисторов и конденсаторов активного фильтра.

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

Рис. 5.19

Схема однополюсного узкополосного фильтра для частоты 1000 Гц

На рис. 6.8 показана многоуровневая структура программного обеспечения шины USB. В этой схеме class (класс) представляет собой группу устройств, обладающих общими харак теристиками. Такие устройства могут контролироваться драйвером класса устройств. Приме рами классов  устройств являются запоминающие устройства, коммуникационные  и аудио устройства, а также устройства пользователя. Возможна ситуация, когда одно и то же устрой ство  может  принадлежать  сразу  к нескольким  классам.  Если в  вашей  системе имеется USB устройство, относящееся к какому либо классу, то разрабатывать для него драйвер нет необходимости. В этом случае может возникнуть только необходимость использовать какое либо специальное свойство такого устройства, что, возможно,  потребует написания драйве ра фильтра, который будет располагаться в стеке драйверов USB над драйверами нижнего уровня.

На самом нижнем  уровне этой модели взаимодействие  осуществляется между хост кон троллером, подключенным к шине PCI, и шинным интерфейсом  физического  устройства USB. На втором уровне взаимодействие  осуществляется между системным программным обеспе чением и логическим  устройством, представляющим более высокий  уровень абстракции. Наконец,  на третьем уровне осуществляется обмен данными между клиентским программ ным обеспечением и функцией, которая представляется данным устройством.

Фактически весь информационный поток проходит через физический канал на са

мом нижнем  уровне, поэтому представление информационных потоков  на двух верхних

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

формационного обмена.

В операционных системах Windows нижний  уровень информационной модели представ лен группой драйверов устройств. В эту группу входит драйвер хост контроллера (обычно это usbuhci.sys), драйвер  корневого  концентратора  (usbhub.sys) и  библиотека динамической компоновки  usbui.dll, используемая системой и клиентскими драйверами (usbd.sys). Все вме сте эти драйверы управляют аппаратными соединениями, создавая возможности  для реали зации программных каналов для взаимодействия  на более высоких уровнях.

Стандарт USB определяет четыре типа передачи данных:

    Control — передача и прием управляющих сигналов (используется для конфигуриро вания вновь  присоединенных устройств). Этот тип гарантирует обмен данными без потерь, причем размер данных может быть меньше или равен 8, 16, 32 или 64 байта;

    Bulk — передача и прием небольших пакетов неструктурированных данных. Этот тип гарантирует обмен данными без потерь, причем размер данных может быть меньше или равен 8, 16, 32 или 64 байта. Обмен данными этого типа чаще всего осуществля ется при работе с принтерами  или сканерами;

    Interrupt  — передача данных, содержащих информацию (например, определенные

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

    Isochronous — передача или прием больших объемов неструктурированных блоков данных с определенной, заранее  установленной периодичностью.  Этот тип не гаран тирует отсутствие потерь при передаче данных, размер данных может быть меньше или равен 1023  байта. Типичным примером данных этого типа является голосовая информация.

Каждый канал передачи данных работает только с одним из указанных типов передавае

мых данных.

Когда пользовательское  приложение отправляет или получает данные через программ ный  канал  USB, то вызывается  соответствующая функция Win API, которая  посредством Менеджера ввода вывода операционной системы обращается к драйверу устройства. Менед жер ввода  вывода  формирует  пакет  запроса  на ввод вывод  (I/O  Request  Packet,  IRP) и пере дает его драйверу. Основной функцией драйвера является передача данных через программ ный канал устройству USB, при этом данные одного из типов, рассмотренных нами ранее, передаются как совокупность транзакций.

Информация в виде микрокадров  (microframes) каждые 125 микросекунд передается по шине USB 2.0 (или каждую миллисекунду для USB 1.1). Каждая транзакция, в свою очередь, разбивается  на фазы (одну или больше). Каждая  фаза может быть представлена одним из пакетов:

    маркерный пакет или просто маркер (token) — передается хост контроллером всем сконфигурированным на шине устройствам. Маркер включает в себя адрес устрой ства и, во многих случаях, номер узла. Только устройство, распознавшее адрес как собственный, будет продолжать обмен данными;

    пакет данных (data) — передается или от хост контроллера устройству (запись дан

ных) или принимается от устройства (чтение данных);

    квитирование (handshake) — пакет, в который записывается статусная информация (информация о состоянии обмена) — помещается на шину USB или хост контролле ром, или устройством. Например, в случае успешного приема информации устройство помещает на шину пакет типа ACK. Если устройство занято, помещается пакет  NAK. Если данные успешно приняты, но по каким  то причинам нарушена логика обмена, то устройство устанавливает пакет STALL.

Схему одной транзакции  при обмене данными можно  представить так, как показано на рис. 6.9.

Рис. 6.9

Схема одной транзакции при обмене данных

Если внимательно проанализировать  пакеты квитирования,  то можно  обнаружить, что в них нет детального описания характера ошибки на шине. Хост контроллер или устройство USB не выполняют детальный анализ ошибок — если таковая имеется, то это означает, что транзакцию  следует выполнить повторно.

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

Источник:  Магда Ю. С. Компьютер  в домашней лаборатории.  – М.: ДМК Пресс, 2008. – 200 с.: ил.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты