Передача данных ацп на пк

Какой аналого-цифровой преобразователь подходит для конкретного приложения?

Стив Логан (Maxim Integrated)

Обилие современных аналого-цифровых преобразователей (АЦП) ставит разработчика перед непростым выбором.

Интегральные АЦП имеют разрешением 8…24 бит и даже есть несколько 32-битных. Существуют АЦП встроенные в микроконтроллеры, ПЛИСы, микропроцессоры, системы-на-кристалле, АЦП последовательного приближения (SAR) и сигма-дельта-версии. Конвейерные АЦП используются в тех приложениях где требуется высочайшая скорость выборок. Диапазон скоростей выборок АЦП лежит в пределах от 10 выб/с до свыше 10 Гвыб/с. А разброс цен – от менее $1 до $265 долларов и выше.

Чтобы выбрать наилучший АЦП для вашего приложения, рассмотрим различные типы этих изделий и оптимальные условия применения для их основных типов.

АЦП последовательного приближения – для средних скоростей и «фотографирования» данных

АЦП последовательного приближения (Successive Approximation Register, SAR) выпускаются в широком диапазоне значений разрешения и скорости. Первое, как правило, лежит в пределах 6…8 до 20 бит, вторая же – от нескольких Квыб/с до 10 Мвыб/с. SAR АЦП – хороший выбор для приложений со средним диапазоном скоростей, таких как управление электродвигателем, анализ вибраций, мониторинг производственных процессов. Они не столь быстродействующие, как конвейерные АЦП (которые рассматриваются далее), но их быстродействие выше, чем у сигма-дельта-АЦП (также рассматриваются далее).

Диапазон значений рассеиваемой мощности SAR АЦП напрямую связан с частотой выборки. Например, микросхема, рассеиваемая мощность которой составляет 5 мВт при скорости 1 Мвыб/с, при 1 квыб/с рассеивает 1 мкВт. Таким образом, SAR АЦП достаточно гибкие в плане применения и разработчик может использовать одно наименование для многих приложений.

Еще одно преимущество SAR АЦП: они делают «фотографию» аналогового входного сигнала. SAR-архитектура производит выборку в конкретный момент времени. Когда разработчику может это понадобиться? Когда вам необходимо измерить сразу несколько сигналов, вы можете одновременно делать выборку несколькими одноканальными SAR АЦП или осуществлять одновременную выборку с помощью мультиканального АЦП или нескольких устройств выборки хранения (УВХ, Track-and-hold, T/H-cores) внутри него. Это позволит системе измерять значения нескольких аналоговых сигналов в одно и то же время.

В токовых трансформаторах и трансформаторах напряжения SAR АЦП используются в цепях реализации релейной защиты. С их помощью система защиты одновременно измеряет различные фазы тока и напряжения. В коммунальном сетевом хозяйстве это способствует более эффективному управлению энергосетями.

Сигма-дельта-АЦП – для большей точности

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

Когда 5…10 лет назад рынок АЦП последовательного приближения только начал насыщаться, многие аналоговые компании инвестировали в многоканальные сигма-дельта-ядра. Сегодняшний результат этого процесса – очень качественные АЦП с разрядностью до 24 или 32 бит и частотой дискретизации от 10 выб/с до 10 Мвыб/с.

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

Нужен ли модулятор?

Новейшие сигма-дельта-АЦП стало сложно классифицировать в значениях скорости и частоты дискретизации. Традиционные сигма-дельта-АЦП осуществляли всю цифровую постобработку внутри себя (в том числе, с помощью SINC/отсекающих фильтров, децимации, формирования шума). После этого данные последовательно выдавались наружу с очень высоким ENOB (Effective Number of Bits – эффективное количество бит). Например, если у вас был 24-битный АЦП, выходные данные выдавались в 24-битном формате. Первый бит был наибольшим значащим (MSB), а 24-й – наименьшим (LSB). Скорость выдачи данных в обычном случае равнялась системной тактовой частоте, деленной на 24. Это были не самые быстрые и не самые гибкие АЦП.

В последние 5…10 лет более популярны стали сигма-дельта-модуляторы, в частности – в приложениях, требующих повышенной скорости (часто около 1 Мвыб/с и более). Не ожидая полной оцифровки 24-битного выхода, сигма-дельта-модулятор выдает поток данных побитово, перекладывая задачу цифровой фильтрации для дальнейшего анализа данных на плечи процессора или ПЛИС.

Эта гибкость модулятора полезна для таких приложений, как управление электродвигателем, где может вполне хватить разрядности 12…16 бит. Контроллер двигателя может и не нуждаться в 8 младших значащих битах из 24-битного потока данных, если первые 16 бит обеспечивают достаточную точность аналогового измерения.

Последовательные АЦП против сигма-дельта: главное – скорость

Еще одна важная тема для обсуждения – входные фильтры. Вспомним, что последовательная архитектура АЦП позволяет сделать быстрый кадр. Когда приложению требуется повышенная частота выборки, входной фильтр становится более сложным. Затем во многих случаях для «раскачки» входного конденсатора и быстрого гашения колебаний необходим внешний буфер или усилитель, и этот усилитель должен иметь достаточную полосу пропускания. На рисунке 1 показан пример включения 16-битного последовательного АЦП MAX11166 500 квыб/с. Чем выше разрядность и больше скорость дискретизации – тем короче отрезок времени, необходимый для согласования входа и корректного считывания данных.

На рисунке 1 используются усилитель MAX9632 с полосой усиления 55 МГц и простой RC-фильтр. Этот конкретный усилитель обеспечивает шум менее 1 нВ/√Гц, что дает системное разрешение на уровне 1/10 дБ эффективного бита.

Рис. 1. Входной фильтр АЦП последовательного приближения на базе усилителя MAX9632

В сравнении с АЦП последовательного приближения, данные со входа сигма-дельта-АЦП считываются много раз, поэтому требования к сглаживающему фильтру не так критичны. Зачастую достаточно простого RC-фильтра. На рисунке 2 показан пример подключения 24-битного сигма-дельта АЦП MAX11270 64 квыб/с. Это – так называемый мост Уитстоуна с конденсатором 10 нФ, включенным между дифференциальными входами.

Рис. 2. Пример входного фильтра сигма-дельта-АЦП MAX11270

Конвейерные АЦП – для сверхвысокой частоты дискретизации

В этой статье мы уже упомянули конвейерные АЦП как востребованные для получения наиболее высоких частот дискретизации, к примеру, в РЧ-приложениях и SDR – беспроводном радио с программным заданием частоты.

За последние 10 лет крупнейшие производители аналоговых микросхем активно инвестировали в разработку конвейерных АЦП. Два основных преимущества конвейерных АЦП – скорость и мощность. С учетом частот дискретизации от 10 Мвыб/с до нескольких Гвыб/с, наиболее критичным становится выбор для этих изделий интерфейсов. Ожидается «большая битва» вокруг цифровых выходов конвейерных АЦП. В качестве основного до сих пор предлагался параллельный интерфейс, но и последовательный LVDS-интерфейс вполне подходит, например, для ультразвуковых приложений с большим количеством каналов и частотой дискретизации в пределах 50…65 Мвыб/с. Однако уже существуют новые типы интерфейсов.

Последовательный интерфейс JESD204B

JESD204B – это высокоскоростной последовательный интерфейс с передачей данных до 12,5 Гбит/с. Возникнув сравнительно недавно, он позволил производителям АЦП значительно повысить частоты дискретизации, а за ними подтянулись производители процессоров и ПЛИС со своими последовательными приемопередатчиками.

В многоканальном приложении с несколькими параллельно включенными АЦП проблемой являются запутанные соединения между АЦП и ПЛИС/процессором. При применении интерфейса JESD204B число линий данных значительно сокращается, экономя тем самым пространство платы. На рисунке 3 показаны одна последовательная выходная пара и вход синхронизации этого интерфейса, что значительно сокращает требуемое количество контактов для ввода-вывода.

Рис.3. Подключение последовательного интерфейса JESD204B

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

Энергопотребление конвейерных АЦП

По мере роста миниатюризации изделий лидирующие производители АЦП все интенсивнее борются за сокращение энергопотребления. Хорошие показатели – 1 мВт на 1 Мвыб/с. Если показатели вашего АЦП близки к этому, то у вас есть, от чего оттолкнуться в создании проекта.

АЦП, оптимизированные для микроконтроллеров, ПЛИС, ЦПУ и систем-на-кристалле

АЦП, встроенные в микросхемы, как правило, не самые производительные. Изначально, когда в микросхему встраивался 12-битный АЦП, предполагалось, что он будет работать как 8-битный для получения гарантированных значений эффективного количества бит (ENOB) или линейности. Для обеспечения нужных характеристик работы АЦП пользователю необходимо тщательно изучить параметры полной спецификации и определить, какие из них должны иметь гарантированные значения. Однако зачастую просматривались только стандартные характеристики или минимальные и максимальные значения параметров из кратких спецификаций.

В последнее время такие характеристики АЦП как интегральная нелинейность (INL), дифференциальная нелинейность (DNL), ошибка усиления и эффективное количество бит (ENOB) значительно улучшились, что позволило более активно встраивать АЦП в микроконтроллеры, и число микросхем со встроенными АЦП значительно возросло. В настоящее время, если приложению требуется преобразование с разрешением 12 бит и менее или всего несколько каналов преобразования, наиболее экономичным решением является микроконтроллер.

Производители ПЛИС также начали встраивать АЦП в свои системы. Например, компания Xilinx размещает 12-битный 1 Мвыб/с АЦП во всех ПЛИС 7 серии и системах-на-кристалле Zynq. Однако весьма важным является расположение АЦП на плате. Процессорный модуль с ПЛИС или системой-на-кристалле может находиться на значительном удалении от аналогового входа, который вообще может размещаться на отдельной плате, соединенной с процессорной платой посредством высокоскоростной цифровой шины. Если вы не хотите подвергать чувствительные аналоговые сигналы такому испытанию, то встроенное в процессор или ПЛИС АЦП – не ваш выбор. В этом случае вам определенно понадобится отдельный качественный АЦП. Например, для программируемых логических контроллеров (PLC) это, скорее всего, будет 24-битный сигма-дельта-АЦП.

Если мы заговорили о PLC, следует упомянуть о таком важном элементе как изоляция. Большинство аналоговых входов PLC включает несколько форм изоляции, обычно цифровой. Многие модули с аналоговыми входами содержат недорогие микроконтроллеры для быстрых отклика и прерываний. В этом случае расположение изоляции подсказывает, следует ли применить встроенный АЦП. Если изоляция расположена между процессором (или микроконтроллером) и шиной, встроенный АЦП подходит. Если микроконтроллер требуется изолировать от высоковольтных входных сигналов, тогда лучшим решением являются интегральный АЦП и цифровой изолятор.

Какой выбор наилучший?

Мы обсудили несколько характеристик современных АЦП. А насколько важны скорость, мощность и точность сигналов, которые вы измеряете?

Если вам необходимо простое считывание с низким разрешением для домашнего использования, это смогут, по всей вероятности, проделать АЦП, встроенные в микроконтроллер, ПЛИС, процессор или систему-на-кристалле АЦП. Если ваше приложение низкоскоростное (входной аналоговый сигнал близок к постоянному току, например, медленно изменяющийся сигнал температуры), оптимальным выбором является сигма-дельта-АЦП. Если сигнал на входе изменяется достаточно быстро, как в случае с анализом вибраций мотора, работающего со скоростью около 1000 оборотов в минуту, наилучшим вариантом является последовательный (SAR) АЦП. Если приложение должно измерять наиболее быстро изменяющиеся аналоговые сигналы из существующих, тогда лучший выбор – конвейерный АЦП.

Главная фраза, о которой не стоит забывать в процессе выбора АЦП – «это зависит от…». Если вы разработчик цифровых схем или эксперт по источникам питания, озадаченный выбором правильного АЦП — вы изучите подробные инструкции. АЦП – это сложные микросхемы с множеством нюансов, требующие тщательного изучения технического описания и отладочных комплектов. В таблице 1 приведены минимальные и максимальные параметры АЦП, доступных на рынке. Это реальная картина сегодняшнего дня. Кто знает, как она изменится в ближайшие годы?

Таблица 1. Стандартный диапазон характеристик АЦП

AVR Урок 22. Изучаем АЦП. часть 1

Урок 22

Изучаем АЦП

Сегодня мы начнем изучать очень интересную технологию, а для микроконтроллера – периферию – это аналго-цифровой преобразователь или как его называют АЦП. В английской аббревиатуре, гораздо чаще встречающейся в технической документации – ADC (Analog-to-Digital Converter). Это такая штука, которая преобразует величину электрического сигнала в цифровой код. Затем данный код мы уже используем для обработки или для отображения тем или иным образом данной электрической величины. Это очень распространённая периферия или технология. АЦП активно используется в звукозаписи, измерительной технике, видеозаписи и во многих других случаях. Поэтому нас обойти данную вещь стороной никак не получится, тем более АЦП поддерживается аппаратно в контроллерах AVR.

Читайте также  Простой глушитель частоты

В контроллере Atmega8 АЦП имеет следующие характеристики

  • Разрешение 10 бит,
  • Время преобразования одного показания от 13 до 250 микросекунд в зависимости от битности измерения, а также от тактовой частоты генератора, тактирующего контроллер,
  • Поддержка запуска по прерываниям,

Есть ещё масса различных характеристик, с которыми мы, возможно, познакомимся в дальнейшем.

Как вообще работает цифровое преобразование?

Берётся опорное напряжение и сравнивается с измеряемым. Соответственно, опорное напряжение всегда должно быть больше измеряемого. Если это не так, то нужно будет применять делители напряжения.

Изобразим схематично процесс измерения

Отрезок – это диапазон измерений. Он находится между нулём и опорным напряжением. А стрелка – это измеряемое напряжение.

Данный отрезок делится пополам, и АЦП оценивает, в какой половине находится приложенное напряжение

Если оно находится в стороне нуля, то в самый старший бит результата записывается 0, а если в стороне максимального напряжения, то единица. У нас будет единица. Затем та половина отрезка, на которой находится измеряемое напряжение делится ещё пополам, и АЦП опять измеряет, в какой половинке уже данного отрезка у нас находится измеряемое напряжение

Оценка идёт по тому же принципу – в какой стороне отрезок. В нашем случае будет 0. И этот ноль записывается в следующий более младший бит

Затем та четвертинка опять делится пополам и АЦП опять оценивает,где находится отрезок

И АЦП так и продолжает такой процесс до тех пор, пока не кончатся ячейки для битов. То есть если мы используем 10-битный режим, то. соответственно, и будет 10 подобных измерений и заполнятся 10 бит величины. Чем больше бит, тем точнее результат, но уже потребуется на это больше времени и более серьёзный и точный АЦП. Имея данный результат, нам несложно будет посчитать величину измеренного напряжения. Мы знаем. что если у нас АЦП 10-битный, то данный результат у нас лежит в промежутке от 0 до 1024, получаемтся всего у нас 1023 отрезка. И мы затем наш результат делим на 1023 и умножаем на величину опорного напряжения.

Посмотрим блок-схему АЦП в контроллере Atmega8

Мы видим, что у нас есть мультиплексор, имеющий 8 каналов, вход для опрного напряжения AREF. Также существует 8-разрядная шина данных, значения с которых записываются в определённый регистр. Есть регистр данных, регистр управления и состояния, а также регистр управления мультиплексором.

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

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

Также мы всё подключим и на живом контроллере

Существует несколько вариантов опорных напряжений, которые мы можем использовать.в нашем АЦП. Мы будем использовать внутреннее опорное напряжение на 2,56 вольт, оно проще, не нужно ничего подключать. Возможно, при таком варианте не очень сильная точность, но перед нами не стоит задача создать точный измерительный прибор. У нас есть задача – изучить возможность использования АЦП в контроллере AVR.

А вот и таблица вариантов опорных напряжений для АЦП

Перечислим данные варианты сверху вних по таблице. 1 вариант – это внутреннее опорное напряжение, равное напряжению питания, 2 вариант – опорное напряжение подаётся на вход AREF извне, 3 вариант – внутреннее 2,56 вольт с использованием внешнего конденсатора, которы у нас уже припаян к отладочной плате к определённым ножкам контроллера.

Также в АЦП есть делитель частоты на величину от 2 до 128. Делитель этот для того, чтобы мы добивались частоты работы АЦП не больше 200 кГц, иначе точность измерений будет очень малой и мы просто растеряем самые младшие биты. Если у нас возникнет требование имено к скорости измерений и нам уже точность будет на так важна, то мы сможем использовать и более высокие частоты измерений.

Теперь немного поближе познакомимся с регистрами АЦП.

Регистр ADCSRA – управляющий и статусный регистр

ADEN – данный бит включает АЦП.

ADSC – при установке в 1 заставляет АЦП начинать преобразование.

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

ADIF – бит, также используемый только в режиме прерываний. Это флаг прерываний, который устанавливается в определённых условиях.

ADIE – бит, включающий режим прерываний.

ADPS2-ADPS0 – биты, от комбинации которых зависит величина делителя

Регистр ADMUX – это регистр для управления каналами мультиплексора АЦП

Но, помимо непосредственно битов управления каналами у данного регистра есть ещё некоторые управляющие биты

REFS1-REFS0 – биты, включающие определённый режим использования опорного напряжения. Таблица была размещена на данной странице выше.

ADLAR – это бит организации расположения измеренных 10 битов в двух байтах регистровой пары данных. Поближе мы с этим расположением познакомимся чуть позже.

MUX3-MUX0 – биты, включающие определённый канал мультиплексора

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

Ну и, наконец, регистровая пара ADCH и ADCL, состоящая из старшего и младшего байта в которую и заносится измеряемый результат. А как именно он туда укладывается, этот результат, зависит от состояния бита ADLAR, рассмотренного выше в регистре ADMUX

То есть, если бит ADLAR не выставлен, то младшие 8 бит результата находятся в младшем байте регистровой пары, а 2 старших бита – в младших битах старшего байта. Если же бит ADLAR у нас выставлен, то 8 самых старших бит результата находятся в сатршем байте, а 2 младших в 2 старших битах младшего байта регистровой пары. Второй вариант нам интересен при исользовании 8-битного режима. В данном случае мы читаем только старший байт.

Проект был создан полностью из проекта урока по изучению 4-битного режима подключения LCD Test09 и был назван MyADCLCD.

Также для выноса кода для реализации периферии АЦП были созданы стандартным образом два файла adc.h и adc.c. Соответственно файл adc.h был подключен и в файле main.h и в adc.c.

В файл MyADCLCD.c код был также полностью скопирован из главного файла проекта Test09, всё лишнее было удалено. Код в данном файле после данной операции принял следующий вид

Как выбрать преобразователь аудиосигнала

АЦП, ЦАП: зачем нужен преобразователь аудиосигнала?

ЦАП – цифро-аналоговый преобразователь – нужен для преобразования аудиосигнала из цифрого формата в аналоговый; обычно, для передачи в усилитель или немедленного озвучивания.

Все современные форматы записи аудио используют цифровое представление. И треки на CD или blu-ray дисках, и mp3-файлы, и музыка с iTunes – все они хранятся в цифровом формате. И для того, чтобы воспроизвести эту запись, её надо преобразовать в аналоговый сигнал – эту функцию и выполняет цифро-аналоговый преобразователь. Встроенный ЦАП присутствует в любом устройстве, воспроизводящем музыку. Но часто бывает, что качество проигрывания одних и тех же аудиофайлов (или треков с одного и того же диска) на разных плеерах заметно отличается. Если при этом используются одинаковые усилители и наушники, значит, проблема в ЦАП плеера.

Аудиосигнал, прошедший через низкокачественный ЦАП

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

Если у мобильного устройства есть цифровой выход (S/PDIF или USB), можно подключить к нему внешний ЦАП — это гарантирует высокое качество преобразования цифрового звука в аналоговый.

Кроме того, внешний ЦАП может оказаться очень полезным при прослушивании музыки, записанной в loseless-форматах (форматах записи аудио без потерь качества) с высокой дискретизацией, обеспечивающей максимальное подобие записи и оригинала. Поскольку распространяются такие записи, в основном, через Интернет, часто их прослушивают прямо с компьютера. Но качественная звуковая карта редко встречается на ноутбуках и планшетах, да и встроенные в материнскую плату десктопного компьютера звуковые карты не отличаются высоким качеством. И в этом случае весь смысл прослушивания loseless музыки теряется абсолютно. Ситуацию можно исправить, если на компьютере есть цифровой аудиовыход, например, S/PDIF. Подключив к нему ЦАП с частотой дискретизации и разрядностью не меньшей, чем у прослушиваемой записи, можно получить аналоговый сигнал высокого качества.

Еще один приятный бонус можно получить, приобретя ЦАП с поддержкой Bluetooth. Это позволит слушать отличную музыку на подключенных к преобразователю динамиках, не будучи «привязанным» к нему проводами. Для мобильного компьютера (планшета или ноутбука) это может оказаться очень удобным. Кроме того, с таким преобразователем вы сможете проигрывать музыку с других устройств, поддерживающих Bluetooth и легко переключаться между ними.

АЦП – аналого-цифровой преобразователь – нужен, наоборот, для преобразования аналогового аудиосигнала в цифровой формат. АЦП будет незаменим при оцифровке (переводе в цифровой формат) старых аналоговых записей: на грампластинках, аудио и видеокассетах. Также АЦП потребуется при записи в цифровом виде «живого» звука с микрофона. Плееры с функцией записи и компьютерные звуковые карты имеют встроенный АЦП, но если вам важно качество оцифровки, лучше доверить эту задачу специализированному устройству.

Несмотря на совершенно противоположные задачи, АЦП и ЦАП обладают некоторыми общими характеристиками, оказывающими большое влияние на качество преобразования.

Характеристики преобразователей аудиосигнала.

Количество отсчетов в секунду — частота дискретизации

Для АЦП частота дискретизации определяет, с какой частотой преобразователь будет измерять амплитуду аналогового сигнала и передавать её в цифровом виде. Для ЦАП – наоборот, с какой частотой цифровые данные будут конвертироваться в аналоговый сигнал.

Чем выше частота дискретизации, тем результат преобразования ближе к исходному сигналу. Казалось бы, чем выше этот показатель, тем лучше. Но, согласно теореме Котельникова, для передачи сигнала любой частоты достаточно частоты дискретизации, вдвое большей частоты самого сигнала. С учетом того, что самая высокая частота, различимая на слух – 20 кГц (у большинства людей верхняя граница слышимого звука вообще проходит в районе 15-18 кГц), частоты дискретизации в 40 кГц должно быть достаточно для качественной оцифровки любого звука. Частота дискретизации audio CD: 44.1 кГц, и максимальная частота дискретизации mp-3 файлов: 48 кГц, выбраны как раз исходя из этого критерия. Соответственно, ЦАП, проигрывающий аудиотреки и mp3-файлы, должен иметь частоту дискретизации не менее 48 кГц, иначе звук будет искажаться.

Зеленым цветом показан исходный аудиосигнал, состоящий из нескольких гармоник, близких к 20 кГц. Малиновым цветом обозначен цифровой сигнал, дискретизированный с частотой 44.1 кГц. Синим цветом обозначен аналоговый сигнал, восстановленный из цифрового. Хорошо заметны потери в начале и конце отрезка.

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

Читайте также  Обучаемое 4-х командное радиореле

Частота дискретизации ЦАП выше, чем у исходного файла, на качество звука не влияет, поэтому приобретать ЦАП с частотой дискретизации выше 48 кГц имеет смысл, только если вы собираетесь прослушивать с его помощью blu-ray и DVD-аудио или loseless музыку с частотой дискретизации, большей 48 кГц.

Если вы твердо нацелились на приобретение преобразователя с частотой дискретизации выше 48 кГц, то экономить на покупке не стоит. ЦАП, как и любое другое аудиоустройство, добавляет в сигнал собственный шум. У недорогих моделей шумность может быть довольно высокой, а с учетом высокой частоты дискретизации, на выходе такого преобразователя может появиться опасный для динамиков ультразвуковой шум. Да и в слышимом диапазоне шумность может оказаться настолько высокой, что это затмит весь выигрыш от повышения частоты дискретизации.

Чем выше разрядность, тем выше точность измерения или восстановления амплитуды сигнала

Разрядность – вторая характеристика, непосредственно влияющая на качество преобразования.

Разрядность ЦАП должна соответствовать разрядности аудиофайла. Если разрядность ЦАП будет ниже, он, скорее всего, просто не сможет преобразовать этот файл.

Треки audio CD имеют разрядность 16 бит. Это подразумевает 65536 градаций амплитуды – в большинстве случаев этого достаточно. Но теоретически, в идеальных условиях, человеческое ухо способно обеспечить большее разрешение. И если о разнице между записями с дискретизацией 96 кГц и 48 кГц можно спорить, то отличить 16-битный звук от 24-битного при отсутствии фонового шума могут многие люди с хорошим слухом. Поэтому, если ЦАП предполагается использовать для прослушивания DVD и Blu-ray аудио, следует выбирать модель с разрядностью 24.

Чем выше разрядность АЦП, тем с большей точностью измеряется амплитуда звукового сигнала.

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

Количество каналов определяет, какой звук сможет преобразовывать устройство. Двухканальный преобразователь сможет обрабатывать стерео и моно звук. Но для преобразования сигнала формата Dolby Digital или Dolby TrueHD понадобится, соответственно, шести- или восьмиканальный преобразователь.

Соотношение сигнал/шум определяет уровень шума, добавляемого в сигнал преобразователем. Чем выше этот показатель, тем более чистым остается сигнал, проходящий через преобразователь. Для прослушивания музыки нежелательно, чтобы этот показатель был ниже 75 дБ. Hi-Fi аппаратура обеспечивает минимум 90 дБ, а высококачественные Hi-End устройства способны обеспечить отношение сигнал/шум в 110-120 дБ и выше.

ЦАП должен иметь цифровой вход – это может быть S/PDIF, USB или Bluetooth. Выходу ЦАП аналоговый — «джек» (jack) или «тюльпаны» (RCA). У АЦП все наоборот – аналоговый вход и цифровой выход. Хорошо, если преобразователь имеет несколько различных входов и выходов – это расширяет возможности по подключению к нему различных устройств. Если же вход на преобразователе один, убедитесь, что аналогичный выход есть на устройстве, к которому предполагается его подключать.

Преобразователи аудиосигнала скорее относятся к студийному и домашнему оборудованию, поэтому питание большинства преобразователей производится от сети 220В. Но существуют и преобразователи, которые питаются от аккумуляторов и могут быть использованы автономно. Это может оказаться удобным при использовании преобразователя с мобильным устройством – ноутбуком, планшетом, смартфоном или плеером.

Некоторые преобразователи получают питание через разъем micro-USB, при этом получать (или передавать) аудиосигнал через этот разъем они не могут. Если вам важно, чтобы ЦАП мог читать аудиофайлы на USB-носителях, перед покупкой убедитесь, что USB на устройстве используется не только для питания.

Варианты выбора.

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

Если вы желаете получить устройство для качественного проигрывания аудифайлов со смартфона с возможностью беспроводного соединения, выбирайте среди ЦАП с поддержкой Bluetooth. Такое устройство обойдется вам в 1400-1800 рублей.

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

Работа АЦП с СОМ портом или простая система сбора данных

Автор: =ShooRooP=

Эта статья ориентирована в основном для новичков. Для тех, кто решил сам попробовать себя в создании системы сбора данных, ввод на компьютер аналоговых сигналов, обработка их и т.д. Об этом и пойдет речь в данной статье, причем, все постараемся сделать самостоятельно.

Вообще в интернете и в литературе информации по данной теме достаточно мало… Особенно если использовать язык Visual Basic. Поэтому постараюсь заполнить, хотя бы отчасти, этот пробел.
Итак, начнем…
Какова бы не была у вас цель, для начала необходимо приобрести собственно аналого-цифровой преобразователь (АЦП). А так же, установить на компьютер среду разработки Visual Basic 6.0. Так же вам надо элементарно уметь ориентироваться в этой среде разработки… т.к. статья рассчитана но то, что читатель имеет хотя бы начальные знания в программировании на языке Visual Basic. Так же рекомендую почитать литературу [1], [3].
В качестве АЦП рекомендую приобрести TLC549IP. Это 8 разрядный, последовательный АЦП с простым протоколом обмена. О нем и пойдет речь в статье. Разумеется, вы можете использовать и другие АЦП с соответствующими изменениями в схеме и коде. Подробно о нем можно почитать в [1].
После того как вы пробрели АЦП необходимо собрать аппаратную часть нашей системы сбора данных, а именно схему представленную на Рис. 1.

Схема была заимствована из [1] с небольшими изменениями. Диоды VD1, VD2, VD6 – КД521, стабилитроны любые на напряжение стабилизации 3…5 В. Вместо 78L05 можно применить КРЕН5А. Резисторы R1, R2 с допуском 1%, или подбор из нескольких с максимально близким значением сопротивления. От них будет зависеть точность измерений. Резистор R3 желательно многооборотный.

Настройка: подав питание на плату, измеряем напряжение на выводе Out стабилизатора DA1. Записываем полученное значение напряжения с 3-мя знаками после запятой, оно нам потребуется в дальнейшем. На выводе 1 микросхемы DD1 с помощью резистора R3 устанавливаем напряжение равное точно половине измеренного на выводе Out стабилизатора.
Теперь займемся собственно программной частью. Вообще говоря, использовать на первых порах интерфейсы связи типа RS-232, I2C, Micro Ware и т.п. считаю нецелесообразным, т.к. при незначительном усложнении кода программы может серьезно усложнится аппаратная часть. Поэтому будем использовать простейший протокол обмена взятый из “даташита” на АЦП. А именно простую его реализацию. Конечно с подобным протоколом не достичь высокой скорости, ограничения в данном случае накладывает сам Visual Basic, но для получения первых результатов с минимумом затрат времени и сил, а также измерения относительно медленно меняющихся процессов он вполне подходит. Протокол связи АЦП TLC549IP показан на Рис. 2.

Во время единичного состояния на выводе CS (выбор кристалла) аналого-цифрового преобразователя происходит собственно преобразование. Выдача данных начинается при низком уровне CS с появлением тактового импульса clock, по одному биту на каждый импульс. Чтобы выдать 8 битный код нужно соответственно 8 тактовых импульсов. После чего CS можно перевести в единичное состояние и произвести следующее преобразование. Более подробно о работе АЦП можно почитать в [1].
Из всего этого можно сделать вывод, что необходимо написать программу драйвер, которая бы формировала нужные последовательности импульсов в нужные моменты времени, после чего нам остается только принимать данные.
Запустите среду разработки Visual Basic и создайте стандартный EXE проект. Добавьте элемент управления MSComm Control. Добавить его в панель компонентов можно следующим образом Project—>Components—>выбрать в спискеMicrosoft Comm Control 6.0. Разместите его на форме, а также 2 метки label и 2 таймера Timer. Имена оставьте по умолчанию.
Теперь можно приступить к написанию кода простого вольтметра.
Зададим переменные: Dim b1, b2, b3, b4, b5, b6, b7, b8, sum, Ud As Single

В процедуру загрузки формы поместите следующий код:

Private Sub Form_Load()

MSComm1.DTREnable = True ‘начальное значение — высокий уровень CS
Timer1.Interval = 100 ‘ интервал таймера 1мс
Timer2.Interval = 1 ‘ интервал таймера 100мс
MSComm1.Settings = «1200,N,8,1» ‘ установки передачи данных
MSComm1.CommPort = 1 ‘ номер COM порта
MSComm1.PortOpen = True ‘ открываем ком порт

В процедуру Timer1 поместите код:

Private Sub Timer1_Timer()

MSComm1.DTREnable = False ‘cоздаем низкий уровень CS
Label2.Caption = «» ‘мусор для начальной задержки

MSComm1.RTSEnable = True ‘1й тактовый импульс clock высокий уровень
If MSComm1.CDHolding = True Then b1 = 1 Else b1 = 0 ‘опрос единичное или нулевое значение на входе CD (выходе ацп)
MSComm1.RTSEnable = False ‘1й тактовый импульс clock низкий уровень

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b2 = 1 Else b2 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b3 = 1 Else b3 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b4 = 1 Else b4 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b5 = 1 Else b5 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b6 = 1 Else b6 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b7 = 1 Else b7 = 0
MSComm1.RTSEnable = False

MSComm1.RTSEnable = True
If MSComm1.CDHolding = True Then b8 = 1 Else b8 = 0
MSComm1.DTREnable = True ‘cоздаем высокий уровень CS
MSComm1.RTSEnable = False ‘8й тактовый импульс clock низкий уровень ‘переводим биты в десятичный формат по формуле разложения

sum = (b1 * 2 ^ 7 ) + (b2 * 2 ^ 6 ) + (b3 * 2 ^ 5 ) + (b4 * 2 ^ 4 ) + (b5 * 2 ^ 3 ) + (b6 * 2 ^ 2 ) + (b7 * 2 ^ 1 ) + (b8 * 2 ^ 0 )
Ud = Format(sum * 5.083 / 255 , » ##0.000″ ) ‘считаем пропорциональное значение
Label1.Caption = CStr(Ud) & » Вольт» ‘выводим на экран полученное значение

Код в Timer1 представляет собой собственно драйвер. Который периодически повторяясь, формирует тактовые импульсы и принимает биты данных. Ud – напряжение на входе АЦП, если применить 10, 12 разрядные АЦП число 225 заменится соответственно на 1024, 4096. Для 10, 12 разрядных АЦП нужно добавить недостающие биты в код, руководствуясь их «даташитами». Значение 5.083 это значение напряжения, получившееся у меня на выходе Out стабилизатора. Забейте сюда ваше значение.

Для питания платы можно применить как отдельный источник так и питать непосредственно от COM порта. Для этого в процедуре Timer2 поместим следующий код:

Private Sub Timer2_Timer()
MSComm1.Output = Chr( 0 ) & Chr( 0 ) ‘создаем импульсы на выводе TX (3) для питания платы АЦП
End Sub

Необходимо помнить, что сильно нагружать COM порт нельзя… максимум, на что можно рассчитывать это 20 мА. В рабочем режиме схема потребляет ток не более 5 мА.

Теперь подключите плату к COM порту и запустите проект. Измерьте напряжение на выводе IN стабилизатора DA1, оно должно быть не ниже 6.5 В. Если это не так следует применить отдельный источник питания. Изменяя напряжение на входе АЦП, убедитесь, что программа работает и на экране показывает напряжение. Точность отсчета напряжения при применении 8 разрядного АЦП равна 20мВ, с 10 разрядным АЦП – 5мВ, 12-1.2 мВ

Немного о работе в Visual Basic и созданного приложения с ком портом.
Как вы уже наверно поняли для работы с ком портом нужен компонентMicrosoft Comm Control а именно файл MSCOMM32.ocx который после установки Visual Basic находится в директории C:Windowssystem32. К чему я это, а к тому, что если вы вашу программу, не создавая инсталлятора, скопируете на другой компьютер, не имеющий Visual Basic она работать не будет. Необходимо этот файл также скопировать в ту же директорию что и на вашем компьютере, т.е. в system32. Или создать инсталлятор.
Теперь о некоторых командах:
Команда задающая скорость обмена данными:

Читайте также  Индикатор неисправности стоп-сигнала

Команда указывающая номер ком порта

Команды открывающие и закрывающие ком порт

MSComm1.PortOpen = True
MSComm1.PortOpen = False

Команды выводящие +12В на соответствующую ножку ком разъема:

MSComm1.RTSEnable = True RTS (7) -название вывода и номер ножки
MSComm1.DTREnable = True DTR (4)

Команды выводящие -12В

MSComm1.RTSEnable = False
MSComm1.DTREnable = False

Опросить на наличие единичного или нулевого состояния можно выводы CD (1), CTS (8), DSR (6).

If MSComm1.CDHolding = True Then (если единица то…)
If MSComm1.CDHolding = False Then (если ноль то…)

Передача на вывод Tx ( 3 ) ASCII кода символа или строки:

MSComm1.Output = Chr( 10 ) число может меняться от 0…255

_______________________________________________________________________________________
Записав такую команду в таймере и меняя число или символ можно создать ШИМ модуляцию. Более подробно о командах можно ознакомиться скачав описание контрола Microsoft Comm Control.

Теперь имея данный код можно написать ряд программ для сбора данных. К примеру: вольтметр, амперметр, измеритель температуры, простой осциллограф, сохранять данные в файл. Измерения можно проводить как раз в 1 мс, так и раз в час и день, тем самым производить мониторинг длительных процессов.
Для работы с переменными напряжениями (переходящими через 0), а так же для расширения пределов измерений необходим входной усилитель, схему которого можно взять из [1]. Для работы с сетевым напряжением или с устройствами гальванически не развязанными с сетью следует обязательно сделать опторазвязку схемы от компьютера.

Список литературы:

1.Гёлль П. Как превратить персональный компьютер в измерительный комплекс: Пер. с фр. – 2-е изд., испр. – М.: ДМК Пресс, 2001. – 144 с.: ил.

2.Ан П. Сопряжение ПК с внешними устройствами: Пер. с англ. – М.: ДМК Пресс, 2001 – 320 с.: ил.

3.Visual Basic 6.0: Пер. с англ. – СПб.: БХВ – Санкт-Петербург, 2000. – 992 с.: ил.

Передача данных ацп на пк

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

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

На страницах журнала «Радио» неоднократно публиковались конструкции на базе АЦП. Однако в них в основном использовались микросхемы с двоично-десятичным выходным кодом или кодом для семиэлементных индикаторов [1]. Данный подход не удобен для ввода информации в ПК.

В предлагаемом вниманию читателей устройстве использована микросхема КР1107ПВ1, представляющая собой быстродействующий параллельный шестиразрядный АЦП [2]. Она предназначена для преобразования напряжения в интервале -2. О В в один из потенциальных кодов параллельного считывания: двоичный код (прямой и обратный) и код с дополнением до двух (прямой и обратный). Эта микросхема выбрана потому, что, во-первых, она доступна широкому кругу радиолюбителей и стоит относительно недорого, а во-вторых, имеет высокое быстродействие (максимальная частота преобразования — 20 МГц, время одного преобразования — не более 100 нc).


Рис. 1

Принципиальная схема устройства приведена на рис. 1. За основу взята рекомендуемая схема включения КР1107ПВ1А [2], которая существенно упрощена без заметного ухудшения точности преобразования. Преобразуемый аналоговый сигнал через гнездо 1 розетки XS1 и резистор R4 поступает на инвертирующий вход ОУ DA1. Подобное включение использовано потому, что чаще приходится оцифровывать напряжение положительной полярности, а микросхема АЦП преобразует напряжение в интервале от 0 до -2 В. С движка подстроечного резистора R1 снимается напряжение смещения нуля. Резисторы R5 и R4 определяют требуемый коэффициент усиления ОУ. Усиленный аналоговый сигнал поступает через резисторы R7- R9 на выводы 10, 13, 15 АЦП.

Работой АЦП DA2 управляют тактовые импульсы, поступающие из ПК (через контакт 8 розетки XS2) на вывод 4. Кодирование производится после прохождения среза тактового импульса, а результат, полученный в процессе преобразования, передается в выходной регистр одновременно с фронтом очередного тактового импульса. Это позволяет фронтам тактового импульса производить следующую выборку, т. е. в тот момент, когда на выходе DA2 присутствует результат n-й выборки, на входе производится (п+2)-я выборка. Цифровой код снимается с выходов D1-D6 и выводится на розетку XS2.

Необходимо обратить внимание, что обозначение выходов микросхемы противоположно их весу: выход D1 соответствует старшему разряду, а D6 — младшему. Вид кода (прямой, инверсный, дополнительный) на выходах микросхемы определяется уровнями сигналов на входах С1 и С2 микросхемы. Их подключение к шине +5 В соответствует подаче высокого уровня, а к общему проводу — низкого. Требуемый вид кода на выходе микросхемы задают комбинацией уровней сигналов на входах С1 и С2 в соответствии с табл.1.

АЦП КР1107ПВ1А требует двуполярного питания напряжениями +5 и -6 В. Кроме того, необходимы два образцовых напряжения. Они определяют диапазон оцифровываемых напряжений. В данном случае одно из этих напряжений (Uo6pi) принято равным нулю (вывод 16 микросхемы соединен с общим проводом), а второе (Uoбp2) — равным -2 В, что в соответствии с [2] определяет диапазон входных напряжений АЦП 0. -2 В. Образцовое напряжение -2 В снимается с движка подстроечного резистора R6, включенного в цепь напряжения питания отрицательной полярности. Конденсаторы С1-С5 служат для устранения помех.

При сборке устройства используют резисторы МЛТ, ОМЛТ, оксидные и керамические конденсаторы любого типа. Подстроечный резистор R1 — также любого типа, R6 — желательно проволочный многооборотный, например, СП5-1В, СП5-14, СП5-15, СП5-2 и т. п. ОУ DA1 — практически любой, способный работать при пониженных напряжениях питания, например,КР140УД7. Для расширения частотного диапазона можно применить операционный усилитель К574УДЗ, у которого частота единичного усиления равна 10 МГц.

Питают устройство от двуполярного стабилизированного источника, обеспечивающего выходные напряжения +5 В при токе 35. 40 мА и -6 В при токе 200 мА.

Перед первым включением АЦП движок резистора R6 устанавливают в среднее положение. Включив питание, измеряют образцовое напряжение на выводе 9 микросхемы DA2 и возможно точнее устанавливают его равным -2 В. Требуемого смещения нуля добиваются подстроечным резистором R1. Контролировать положение нуля можно по выходному цифровому коду или постоянному напряжению на аналоговых входах АЦП (выводы 10, 13, 15 DA2). На этом настройку можно считать законченной.

К ПК АЦП подключают через интерфейс (рис. 2) устанавливаемый в свободный ISA разъем системной платы.


Рис.2 На плате интерфейса собраны четыре порта ввода/вывода с адресами 3E0H- 3E3H. Элементы DD1.1-DD1.3 и DD2 образуют дешифратор адреса. На их входы поступают сигналы с шины адреса ПК, и если на ней появляется комбинация 3E0H-3E3H, на выходе DD2 формируется разрешающее напряжение низкого уровня. Сигналы, определяющие номер порта в адресном пространстве портов, соответствуют двум младшим битам шины адреса и подаются на дешифратор DD4. На него же поступают разрешающие сигналы по шине AEN (это означает, что в данном цикле отсутствует прямой доступ к памяти) и сигналы IOW, IOR, что соответствует записи во внешнее устройство и чтению из него. Сигнал с вывода 15 дешифратора поступает на вход Е шинного формирователя DD7 и разрешает передачу данных из АЦП на шину данных.

Сигнал, появляющийся на выводе 14 дешифратора DD4, служит для тактирования АЦП DA2, на выводе 13 — для сброса триггера DD6.1, а на выводе 12 — для разрешения подачи информации с него на шину данных. Триггер предназначен для синхронизации АЦП с внешним устройством, которое может вырабатывать синхроимпульсы или сигнал о готовности. Синхросигнал от внешнего устройства поступает через контакт 1 розетки XS2 на тактовый вход триггера. Состояние последнего считывается программой. Если обнаруживается высокий уровень на выводе 5 DD6.1, то это значит, что от внешнего устройства поступил импульс синхронизации. Как только состояние триггера прочитано, его необходимо сбросить, чтобы подготовиться к приему следующего тактового импульса.

Несколько слов о назначении портов. Порт с адресом 3E0H предназначен для чтения данных из АЦП (в битах DO-D5 содержится значение оцифрованного сигнала), с адресом 3Е1Н — для подачи тактового импульса на АЦП (при записи в этот порт любого байта происходит запуск преобразования аналогового сигнала в цифровой). Порт 3Е2Н служит для сброса триггера синхронизации DD6.1 после прочтения его состояния. Сброс происходит при записи любого байта в этот порт. Наконец, порт 3Е3Н предназначен для чтения состояния триггера, которое отражается битом 5 байта, прочитанного из этого порта. Триггер нужен для того, чтобы зафиксировать синхроимпульсы малой длительности. Если при чтении из порта 3Е3Н обнаружен высокий логический уровень на прямом выходе триггера (бит D5=1), то программа возвращает его в исходное состояние, записав в порт ЗЕ2Н любой байт.

Программа для чтения данных из АЦП, написанная на Паскале, приведена в табл.2.

Таблица 2 В качестве основы конструкции удобно использовать неисправную плату расширения для ISA слота. С нее удаляют все «высокие» элементы (конденсаторы, разъемы) и перерезают печатные проводники, идущие к контактным площадкам части, вставляемой в слот (вилка ХР1 на рис. 2). Детали монтируют на небольшой печатной плате, которую закрепляют с помощью стоек на плате расширения. Выводы устройства соединяют с контактами вилки ХР1 короткими отрезками монтажного провода. Назначение контактов ISA слота можно найти в [3].

В заключение отметим, что в большинстве случаев шести разрядов для представления аналогового сигнала вполне достаточно. Если АЦП с интервалом входных напряжений О. 2 В используется для измерения напряжения 2 В, погрешность не превысит 0,03 В (или 1,5 %). При измерении напряжения 0,2 В погрешность возрастет до 15 %. Для повышения точности

измерений можно использовать АЦП большей разрядности или усилить измеряемое напряжение до значения, близкого к верхнему пределу интервала (например, изменить соотношение сопротивлений резисторов R5 и R4). При номиналах, указанных на схеме (см. рис. 1), устройство оцифровывает входные напряжения в интервале 0. 0,5 В и способно работать с бытовым микрофоном.

Если же из соображений точности «оцифровки» слабых сигналов необходима более высокая разрядность, микросхему КР1107ПВ1А можно заменить восьмиразрядным преобразователем К1107ПВ2 (естественно, с учетом различий в»цоколевке» и энергопотреблении).

1. Бирюков С. Термометр «Дом — улица». — Радио,2000,№ 3,с.32,33.

2. Новаченко И. В., Петухов В. М., Блудов И. П., Юровский А. В. Микросхемы для бытовой радиоаппаратуры. Справочник. -М.: КУбК,1995.

3. Данилин Н. С., Улитенко В. П., Крипак А. А. Руководство по поиску неисправностей и ремонту компьютеров IBM PC. — М.: Издательство стандартов, 1992.