ЭЛЕКТРОНИКА

Аналого-цифровой преобразователь из звуковой карты

О.Барановский


Сегодня каждый пользователь ПЭВМ знаком с термином "мультимедиа". У многих он ассоциируется с качественным звуком, анимацией и т. п. Однако звуковую карту Sound Blaster можно использовать как аналого-цифровой и цифро-аналоговый преобразователь с исключительно широкими возможностями обработки данных. Компьютер с такой картой можно использовать в качестве осциллографа, генератора или анализатора сигналов. Дело в том, что ее "сердцем" является цифровой сигнальный процессор DSP (Digital Signal Processor). Для того чтобы использовать его возможности, необходимо иметь непосредственный доступ к буферам, содержащим звуковые данные и управляющим режимом работы DSP, т. е. использовать интерфейс низкого уровня. В этой статье мы рассмотрим устройство звуковой карты и формат стандартных типов файлов данных, в которых в памяти компьютера хранятся данные, полученные в результате оцифровки сигналов, поступающих на вход звуковой карты. Такие же файлы можно синтезировать программно с целью получения сигналов заданной формы.

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



Данные, имеющие отношение к мультимедиа, хранятся в файлах в так называемом RIFF-формате (Resource Interchange File Format — формат файла для обмена ресурсами) [1]. Файл в формате RIFF содержит вложенные фрагменты (chunk's). Внешний фрагмент состоит из заголовка и области данных (рис. 2). Первое двойное слово заголовка содержит четырехсимвольный код, который идентифицирует данные, хранящиеся во фрагменте.



Второе двойное слово заголовка — размер области данных в байтах (без учета размера самого заголовка). Область данных имеет переменную длину с условием ее выравнивания на границу слова и дополнения в конце нулевым байтом до целого числа слов в случае необходимости.

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

Область, обозначенная на рис. 2 как "Данные", могут содержать внутри себя другие фрагменты. Для файла, в котором хранятся звуковые данные (wav-файл), эта область содержит идентификатор данных "WAVE", фрагмент формата звуковых данных "fmt" (три символа "fmt" и пробел на конце), а также фрагмент звуковых данных (рис. 2). Файл может дополнительно содержать фрагменты других типов, поэтому не следует думать, что заголовок wav-файла имеет фиксируемый формат. Например в файле может присутствовать фрагмент "LIST" или "INFO", содержащий информацию о правах копирования и другую дополнительную информацию.

Рассмотрим, как происходит запись данных. Вначале требуется открыть устройство ввода, указав ему формат звуковых данных. Затем нужно заказать один или несколько блоков памяти и подготовить их для ввода, вызвав специальную функцию. После этого подготовленные блоки нужно по мере необходимости передавать драйверу устройства ввода, который заполняет их записанными звуковыми данными. Для сохранения записанных данных в wav-файле приложение должно сформировать и записать в файл заголовок wav-файла и звуковые данные из подготовленных заполненных драйвером устройств ввода блоков памяти.

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

uses

SysUtils, MMSystem;

type

TWaveData = array[0..0) of word;

const

Discret = 22050;

WaveHdr: TWaveHdr=(

IpData : nil; (address of the waveform buffer)

dwBufferLength : 0; (length, in bytes, of the buffer)

dwBytesRecorded : 0; (How much data is in the buffer)

dwUser : 0;

dwFlags : 0;

dwLoops : 0;

IpMext : nil;

reserved : 0

);

WaveFormat: TWaveFormatEx=(

wFormatTag : WAVE_FORMAT_PCM;

nChannels : 1;

nSamplesPerSec : Discret;

nAvgBytesPerSec : Discret;

nBllockAlign : 1;

wBitsPerSample : 8;

csSize : 0

);

var

WaveDate : ^TWaveDate;

HSoundDevice : HWaveln;

hfile : HMMIO;

res : MMResult;

begin

with WaveHdr do

begin

dwBufferLehgth: =round(Discret/10);

dwBytesRecorded: =round(Discret/10);

GetMem(WaveData, dwBytesRecorded);

lpData: =PChar(WaveData);

end;

res: =wavelnOpen (@HSoundDevice, WAVE_MAPPER, SWaveFormat, 0,0,0);

res: =waveInPrepareHeader (HSoundDevice, QWaveHdr, SizeOf (WaveHdr));

res: =waveInUnprepareHeader (HSoundDevice, QWaveHdr,SizeOf(WaveHdr));

FreeMem (WaveData);

res: =waveInStart (HSoundDevice);

hfile:=mmio0pen ("d: \work\data_l. txt",nil,

MMIO_CREATE or MMIO_RE AD WRITE);

mmioWrite(hfile,WaveHdr.IpData, WaveHdr,dwBytesRecorded);

mmioClose(hfile,0);

wavelnReset(HSoundDevice);

wavelnClose(HSoundDevice);

end


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

Литература

1. Фролов А.В., Фролов Г.В. Мультимедиа для Windows. Руководство для программиста. — М,"ДИАЛОГ-МИФИ", 1994, 284 с. (Библиотека системного программиста; Т. 15).

Преобразование угла потенциометра в цифровой код

Шулейн


Разместив несколько байтов программы в микропроцессоре 8008/8080 и используя интегральный таймер типа 555, можно создать систему, преобразующую угол потенциометра в цифровой код. Указанный способ удобно и выгодно применять в тех случаях, когда информация о положении потенциометра поступает на вход системы, содержащей микропроцессор (системы управления производственными процессами, телевизионные игры и т. п.).

Как показано на рисунке, импульс строба микропроцессора запускает интегральный таймер 555, включенный по схеме ждущего мультивибратора. Временной интервал, соответствующий высокому потенциалу на выходе таймера, пропорционален сопротивлению потенциометра. Для измерения этого периода микропроцессор увеличивает содержимое внутреннего регистра до тех пор, пока потенциал интегрального таймера, поступающий на вход D7, остается высоким.



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

1. Установить регистр В в 0.

2. Включить таймер 555.

3. Увеличить содержимое регистра В на 1.

4. Подать состояние ПС 555 на вход разряда D7 аккумулятора.

5. Установить минусовое значение знакового флага при отрицательном состоянии.

6. Вернуться к шагу три при отрицательном флаге.

7. Вернуться к основной программе, если флаг не отрицателен.

Перед возвращением к основной программе регистр В содержит число, пропорциональное длительности выходного импульса ИС 555 и, следовательно, соответствующее углу потенциометра.

При использовании программы и аппаратуры, описанных выше, применительно к микропроцессору с периодом тактовой частоты 2,5 мкс выходной код регистра В изменяется от 2 до 65 (в шестнадцатеричном коде), т. е. обеспечивает 100 дискретных значений во всем диапазоне регулировки потенциометра. Сопротивление потенциометра и емкость времязадающего конденсатора могут изменяться в зависимости от быстродействия используемого микропроцессора и заданного динамического диапазона.

Прецизионный измеритель перемещения

РАДИО № 5. 1986 г


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

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

В Институте геотехнической механики АН УССР разработан и исследован простой индуктивный измеритель перемещения, обеспечивающий высокую чувствительность, точность и стабильность результатов измерения при изменении параметров его элементов. Индуктивный измеритель перемещения (см. схему на рис. 1). содержит преобразователь с дифференциальными обмотками L1, L2, кольцевой диодный детектор VD3-VD6, выходной индикатор Р1, генератор прямоугольного напряжения на транзисторах VT1, VT2 и трансформаторе Т1.



Параллельные цепи последовательно соединенных дифференциальных обмоток L1, L2, индуктивного датчика и конденсаторов C1, С2 измерительного моста включены в цепь положительной обратной связи генератора. Такое включение автоматически обеспечивает работу преобразователя перемещений в резонансном режиме, то есть когда индуктивное сопротивление скомпенсировано емкостным и полное сопротивление каждой цепи практически равно активному сопротивлению обмоток. Через измерительный мост протекает переменный ток, по форме близкий к синусоидальному, поскольку добротность контура весьма высока. Благодаря наличию диодов VD1, VD2 ток контура непосредственно протекает через эмиттерный переход открытого в соответствующий полупериод транзистора генератора. Второй транзистор в это время закрыт.

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

На рис. 2 схематически изображена конструкция собственно датчика измерителя. Катушки L1 и L2 размещены на двух Ш-образных элементах 2 магнитопровода, установленных с зазором. В зазоре между элементами размещен якорь 1, изготовленный в виде пластины из ферромагнитного материала, Якорь механически связывают коромыслом 3 с перемещающимся звеном контролируемого механизма.



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



In=(0,9∙Um/XL+ R)∙(AwLo/(√(AwLo)2 + r2)

где Um — амплитудное значение напряжения питания,

XL-индуктивное сопротивление одной катушки преобразователя,

R — сопротивление микроамперметра Р1;

A = dh/h — отношение смещения якоря к зазору между якорем и полюсом магнитопровода в исходном положении (см. рис. 2).

L() — индуктивность одной катушки при среднем положении якоря,

r — активное сопротивление одной катушки (r1 = r2);

w — угловая частота генератора.

Экспериментальные исследования преобразователя подтвердили достоверность полученного выражения. Для проверки работоспособности и технических характеристик индуктивности измерителя перемещения проведены лабораторные испытания нескольких макетных образцов в комплексе измерительной системы микробарометра. Установлено, что надежный запуск и устойчивая работа генератора обеспечиваются при напряжении источника питания 0,3 В и более при температуре в пределах от -5 до +50 °C. Работа измерителя при более низкой температуре не проверялась.

Основные факторы, дестабилизирующие работу преобразователя, — изменение напряжения питания и температуры. Поэтому питать преобразователь следует от стабилизатора напряжения. Температурная погрешность устройства в интервале от +5…40 °C не превышает 5 % на каждые 10 °C, причем смещение нулевой точки отсутствует, что особенно важно при использовании преобразователя для индикации рассогласования в компенсационных измерительных системах.



Чувствительность измерителя изменяется незначительно при изменении емкости конденсаторов измерительного моста в пределах от 0,01 до 0,18 мкФ (рис. 3). При этом автоматически устанавливается резонансная частота, определяемая параметрами последовательных LC-цепей. Изменение индуктивности каждой из обмоток, вызванное перемещением якоря в рабочем зазоре, не превышает 10 % номинального значения. Поскольку смещение якоря от нейтрального положения вызывает увеличение индуктивности одной из обмоток и уменьшение индуктивности другой на одно и то же значение, то резонансная частота практически не изменяется. От напряжения питания она зависит очень слабо. Результаты экспериментальных исследований показывают, что при изменении напряжения питания на 33 % уход частоты не превышает 0,25 %.

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

Основные технические характеристики

Рабочий интервал перемещения, мм… +-0,5

Разрешающая способность, мм, не хуже… 1Е10-7

Температурная погрешность, мм/°С… 3E10-3

Потребляемая мощность, Вт… 7Е10-3

Трансформатор Т1 генератора намотан на магнитопроводе Ш4x4 из феррита 2000НМ и содержит три обмотки по 100 витков провода ПЭВ-1 0,12. Катушки L1, L2 датчика состоят из 500 витков провода ПЭВ-1 0,12 каждая. Магнитопровод датчика — два блока Ш4x4 из феррита 2000НМ. Индикатор Р1 — микроамперметр М4205 с током полного отклонения стрелки 30 мкА и нулем посредине шкалы.

Обе части магнитопровода датчика с катушками крепят к основанию посредством специальных скоб с винтами, позволяющих изменять величину воздушного зазора. Его устанавливают с помощью калиброванных пластин. Якорь датчика изготовлен из пермаллоя и имеет сечение 5x0,3 мм.

В преобразователе могут быть использованы практически любые маломощные транзисторы и диоды. Однако применение кремниевых приборов связано с увеличением падения напряжения на р-n переходах, что требует увеличения напряжения питания.

При номиналах и типах элементов, указанных на схеме рис. 1, измеритель потребляет ток около 5 мА, а его чувствительность при воздушном зазоре 2h = 1 мм в магнитопроводе датчика и сопротивлении микроамперметра 0,5 кОм равна 3,5 мкА/мкм, что почти в десять раз превышает чувствительность известных датчиков при равнозначных начальных условиях и соответствует требованиям прецизионных измерений перемещения подвижных элементов барометрических приборов. При использовании описанного прибора в компенсационных измерительных системах стабилизировать напряжение питания не требуется.

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

Тенев Л.

Радио, телевизия, електроники. 1986, У 12.


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

Принципиальная схема устройства изображена на рисунке. Оно состоит из генератора (VT1, VT2), узла обработки его сигнала (VT3, DA1) и электронного реле (VT4, VT5, К1). Датчиком служит катушка L1. образующая с конденсаторами С1 и С2 колебательный контур генератора. Транзистор VT2 выполняет функции источника стабильного тока и динамической нагрузки транзистора VT1. Амплитуда генерируемых колебаний стабилизируется благодаря подаче на затвор этого транзистора (через интегрирующую цепь R4C6R5 и катушку L1) постоянной составляющей выпрямленного диодами VD1, VD2 выходного напряжения генератора.



Узел обработки сигнала содержит эмиттерный повторитель на транзисторе VT3, выпрямитель, выполненный по схеме удвоения напряжения на диодах VD3, VD4, интегрирующие цели R9C11R11С13 и R10C12R12C14 с разными постоянными времени и компаратор на ОУ DA1. В установившемся режиме выходное напряжение компаратора равно 0, транзисторы VT4. VT5 закрыты и реле К1 обесточено.

В момент включения питания потенциал затвора транзистора VT1 равен 0, его крутизна максимальна и генератор самовозбуждается. По мере зарядки конденсатора С6 амплитуда колебаний плавно уменьшается и через несколько секунд стабилизируется на некотором уровне. Примерно к этому же времени устанавливается нулевое напряжение на выходе ОУ DA1.

При приближении металлического предмета к катушке L1 потери в контуре L1C1С2 возрастают и амплитуда генерируемых колебаний на некоторое время (определяется параметрами элементов цепи R4C6R5) падает. В результате напряжение на выходе выпрямителя (VD3, VD4), а с небольшой задержкой — и на инвертирующем входе ОУ DA1 уменьшается, и поскольку потенциал его другого входа к этому времени измениться не успевает (из-за большей постоянной времени цепи R10C12R12C14), выходное напряжение компаратора скачком понижается. При этом открываются транзисторы VT4, VT5, и реле К1 срабатывает, подавая команду на остановку ленты транспортера или включая сигнализацию.

При указанных на схеме номиналах элементов интегрирующих цепей устройство обнаруживает предметы, движущиеся со скоростью более 0,5 м/с. Чувствительность регулируют подстроечным резистором R1. Медленные колебания напряжения на входах интегрирующих цепей (скорость перемещения металлических предметов меньше указанной) не вызывают появления разности потенциалов на входах ОУ DA1, поэтому компаратор не срабатывает. Не реагирует устройство и на неподвижные металлические предметы, находящиеся поблизости от катушки L1.

Катушка L1 изготовлена в виде круглой рамки диаметром 320 мм и содержит 250 витков многожильного обмоточного провода (литцендрата) ПЭЛ 35х0,05. Индуктивность катушки 42 мГн, сопротивление постоянному току 32 Ом. Частота генерируемых устройством колебаний — около 23,5 кГц.

В устройстве можно применить ОУ К553УД1А, транзисторы серий КТЗ15 (VT3), КТ349 (VT4), КТ608А (VT5), диоды серий Д220 (VD1-VD5) и Д223 (VD6), реле РЭС9 (паспорт РС4.524.202).

Схема, обеспечивающая развертку по диагональной оси любого осциллографа

Ланц К

(ЭЛЕКТРОНИКА № 19, 1974 г.)


Разработана схема, которая позволяет получить отклонение по диагонали независимо от существующих каналов отклонения по вертикали и горизонтали. В результате с помощью любого осциллографа вместо обычных двухкоординатных осциллограмм в плоскости X-Y можно получить действительно трехмерное изображение. Результирующий трехкоординатный индикатор с осями X, Y, Z создает удивительный эффект трехмерного изображения без какой-либо доработки осциллографа. Новый прибор позволяет исследовать трехпараметрические кривые и трехчастотные фигуры Лиссажу, получить трехмерные изображения знаков, а также может применяться в различных визуальных индикаторах.

Для отклонения по диагонали входной сигнал диагонального отклонения одновременно подается на входы усилителей вертикального и горизонтального отклонения. В результате получается известная фигура Лиссажу для синфазных сигналов, а именно линия под углом 45°. Операционные усилители А1 и А2 развязывают вход сигнала диагонального отклонения от входов сигналов вертикального и горизонтального отклонения, а операционные усилители А3 и А4 суммируют компоненты сигнала диагонального отклонения с входными сигналами вертикального и горизонтального отклонения соответственно. Коэффициенты усиления операционных усилителей А1 и А2 регулируются определенным образом, поскольку угол наклона диагональной оси прямо пропорционален их отношению. Регулировкой трех входных цепей обеспечивается раздельное управление чувствительностью всех трех каналов.



Рис. 1. Четыре операционных усилителя обеспечивают отклонение луча по диагонали и создают эффект глубины на экране обычного осциллографа. Два усилителя служат для развязки входа сигнала диагонального отклонения от входов вертикального и горизонтального отклонения, а два других суммируют эти компоненты сигналов для управления отклонением луча.


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



Рис. 2. Трехмерная индикация (вверху слева) иллюстрирует три плоскости отклонения луча: X-Y, Y-Z и X-Z. Вверху справа показана двумерная фигура Лиссажу в форме круга, внизу ее трехмерное изображение в форме цилиндра. Квадратный растр при развертке по диагонали преобразуется в куб (в середине слева). Два синусоидальных колебания при развертке по третьей координате (по вертикали) образуют две волнистные поверхности в плоскостях X-Z и X-У соответственно (в середине справа). Объемные изображения фигур Лиссажу сложной формы (внизу).

Загрузка...