Меню

Usb регистратор напряжения с функциями осциллографа

Usb регистратор напряжения с функциями осциллографа

Бесплатная техническая библиотека:
▪ Все статьи А-Я
▪ Энциклопедия радиоэлектроники и электротехники
▪ Новости науки и техники
▪ Архив статей и поиск
▪ Ваши истории из жизни
▪ На досуге
▪ Случайные статьи
▪ Отзывы о сайте

Справочник:
▪ Большая энциклопедия для детей и взрослых
▪ Биографии великих ученых
▪ Важнейшие научные открытия
▪ Детская научная лаборатория
▪ Должностные инструкции
▪ Домашняя мастерская
▪ Жизнь замечательных физиков
▪ Заводские технологии на дому
▪ Загадки, ребусы, вопросы с подвохом
▪ Инструменты и механизмы для сельского хозяйства
▪ Искусство аудио
▪ Искусство видео
▪ История техники, технологии, предметов вокруг нас
▪ И тут появился изобретатель (ТРИЗ)
▪ Конспекты лекций, шпаргалки
▪ Крылатые слова, фразеологизмы
▪ Личный транспорт: наземный, водный, воздушный
▪ Любителям путешествовать — советы туристу
▪ Моделирование
▪ Нормативная документация по охране труда
▪ Опыты по физике
▪ Опыты по химии
▪ Основы безопасной жизнедеятельности (ОБЖД)
▪ Основы первой медицинской помощи (ОПМП)
▪ Охрана труда
▪ Радиоэлектроника и электротехника
▪ Строителю, домашнему мастеру
▪ Типовые инструкции по охране труда (ТОИ)
▪ Чудеса природы
▪ Шпионские штучки
▪ Электрик в доме
▪ Эффектные фокусы и их разгадки

Техническая документация:
▪ Схемы и сервис-мануалы
▪ Книги, журналы, сборники
▪ Справочники
▪ Параметры радиодеталей
▪ Прошивки
▪ Инструкции по эксплуатации
▪ Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(500000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
▪ Ваши истории
▪ Викторина онлайн
▪ Загадки для взрослых и детей
▪ Знаете ли Вы, что.
▪ Зрительные иллюзии
▪ Веселые задачки
▪ Каталог Вивасан
▪ Палиндромы
▪ Сборка кубика Рубика
▪ Форумы
▪ Голосования
▪ Карта сайта

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua


сделано в Украине

USB-регистратор напряжения с функциями осциллографа, анализатора спектра и измерителя АЧХ

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

В рассматриваемом регистраторе отсчеты исследуемого сигнала, которые АЦП берет с частотой 960 кГц, поступают на вход ПЛИС, выполняющей преобразование параллельного кода АЦП в последовательный. В каждую группу из пяти передаваемых далее в преобразователь UART-USB восьмиразрядных байтов ПЛИС помещает четыре десятиразрядных кода АЦП. Далее информация передается по uSb в компьютер для обработки и хранения. Протокол связи с компьютером и другие функции в регистраторе реализованы с помощью микроконтроллера. Программируются ПЛИС и микроконтроллер через тот же преобразователь UART-USB, что используется для передачи информации.

Для работы с регистратором разработана в среде LabVIEW программа, реализующая прием информации, ее отображение и хранение. Кроме того, в ней реализован алгоритм снятия АЧХ подключенной к регистратору внешней цепи на частотах от 0,1 Гц до 480 кГц. Отличительная особенность этого алгоритма — для оценки амплитудно-частотной характеристики исследуемой цепи используются гармоники частоты повторения прямоугольных импульсов, генерируемых микроконтроллером регистратора.

Поставленная задача разработать устройство для непрерывной передачи в компьютер в реальном масштабе времени отсчетов мгновенного значения напряжения в интервале от 15 до +15 В с частотой дискретизации 960 кГц и разрешением десять двоичных разрядов, в принципе, могла быть решена без ПЛИС с помощью АЦП и микроконтроллера со встроенным портом USB, работающим в режиме виртуального COM-порта. Однако скорость передачи информации при этом получилась бы недостаточно высокой. При использовании совместно с АЦП и микроконтроллером микросхемы преобразователя интерфейса UART-USB FT2232H, обеспечивающего передачу информации со скоростью 12 Мбит/с, возникает проблема поиска микроконтроллера, UART которого способен работать с такой скоростью. В итоге был выбран способ, отличающийся от предыдущего использованием ПЛИС, которая читает информацию, формируемую АЦП в параллельном коде, и преобразовывает ее в последовательный формат, свойственный UART.

Читайте также:  Напряжение аккумуляторных батарей электропоезда

В устройстве использован десятиразрядный АЦП ADC10030 с параллельным выходом и максимальной частотой дискретизации 30 МГц. Результаты его работы принимает и обрабатывает ПЛИС EPM3064ALC44-10N, содержащая 64 программируемые логические макроячейки и 44 линии ввода-вывода.

Каждый отсчет входного сигнала, формируемый АЦП, представляет собой десятиразрядный двоичный код, а преобразователь UART-USB FT2232H принимает информацию восьмиразрядными байтами. По этой причине в ПЛИС реализовано устройство, упаковывающее каждые четыре отсчета в пять байтов. Далее оно снабжает каждый байт стартовым и стоповым разрядами и передает их последовательным кодом со скоростью 12 МБод в микросхему FT2232H для передачи в компьютер по интерфейсу USB.

Схема регистратора изображена на рис. 1. Он питается постоянным напряжением 7. 9 В, поступающим с разъема XP3 на интегральный стабилизатор DA6 7805, а с него при съемной перемычке S4 в положении 1-2 — на стабилизатор напряжения 3,3 В LM1117-3.3 (DA7). Для удобства работы с прибором во время отладки предусмотрена возможность питать его от порта USB. Для этого съемную перемычку S4 следует переставить в положение 2-3. Однако при штатной работе такое питание неприемлемо, поскольку напряжение, снимаемое с порта USB, зачастую заметно отличается от 5 В, что приводит к изменению масштаба преобразования исследуемого сигнала в АЦП.


Рис. 1. Схема регистратора (нажмите для увеличения)

Генератор тактовой частоты 24 МГц для АЦП и ПЛИС построен на элементах микросхемы DD2 74HC04D и стабилизирован кварцевым резонатором ZQ2.

Для реализации протокола связи с компьютером, формирования дискретных сигналов и генерирования прямоугольных импульсов в регистратор введен микроконтроллер DD1 ATMega8A, работающий с тактовой частотой 16 МГц, заданной кварцевым резонатором ZQ1. Обмен информацией между компьютером и микроконтроллером происходит тоже с помощью микросхемы FT2232H (DD4), но по другому каналу. Для связи с ПЛИС и с микроконтроллером в опера-ционной системе работающего с регистратором компьютера должны быть организованы два виртуальных COM-порта.

Исследуемый сигнал подают через разъем XP1 на вход ступени на ОУ DA2 AD825ARZ, которая является инвертирующим ослабителем сигнала в 15 раз. Нулевой уровень на выходе ОУ DA2 можно смещать с помощью подстроечного резистора R1. Таким образом выполняется приведение исследуемого сигнала к допустимому интервалу изменения входного напряжения АЦП.

ОУ DA2 питается напряжением +/-15 В, которое формирует из +5 В преобразователь постоянного однополярного напряжения в двухполярное AM1D-0515DH30Z (U1). Резисторы R19 и R20 — минимальная нагрузка преобразователя, необходимая для его правильной работы. Переставив съемные перемычки S1 и S2 из положения 2-3 в положение 1 -2, можно перейти на питание микросхемы DA2 внешним напряжением +/- 15 В, поданным на разъем XP4. При желании можно питать от преобразователя U1 внешние устройства с потребляемым током не более 35 мА.

Образцовые напряжения для АЦП DA5 формируют ОУ DA3.1 и DA3.2 по схеме, рекомендованной в описании АЦП. Параллельный код с выходов АЦП поступает на ПЛИС DD3, где выполняется его преобразование в последовательный код UART. Далее он поступает на микросхему DD4 FT2232H.

Разъем XP2 предназначен для управления внешними устройствами сигналами логического уровня 3,3 В по восьми каналам, кроме того, на этот разъем выведены постоянное напряжение 3,3 В и общий провод для возможности питания внешних устройств. Разъемы XP5 и XP6 предназначены для программирования подключаемых к ним устройств с напряжением питания 3,3 В.

На разъем XP7 выведены напряжения 3,3 В, 5 В и общий провод для питания внешних устройств, импульсный сигнал частотой 24 МГц (тактовая частота АЦП и ПЛИС). Контакт 4 этого разъема соединен с не используемым в описываемой версии прибора выводом 14 ПЛИС DD3.

К разъему XP8 подключают светодиоды, сигнализирующие о режиме работы преобразователя:

Читайте также:  Как называется устройство понижающее напряжение

HL1 — наличие напряжения питания;

HL2 — передача информации из микроконтроллера в компьютер;

HL3 — передача информации из компьютера в микроконтроллер;

HL4 — передача информации из ПЛИС в компьютер;

HL5 — передача информации из компьютера в ПЛИС;

HL6 — включен генератор прямоугольных импульсов;

HL7 — передача информации из ПЛИС разрешена микроконтроллером;

HL8 — ПЛИС передает информацию.

Чертеж проводников печатной платы показан на рис. 2 (сторона 1) и рис. 3 (сторона 2). Расположение элементов на этих сторонах платы — соответственно на рис. 4 и рис. 5. На плате предусмотрены места для не показанных на схеме элементов, из которых можно собрать П-образный входной аттенюатор или фильтр между разъемом XP1 и резистором R4 и Г-образный фильтр между выходом ОУ DA2 и входом АЦП DA5. Для прохождения сигнала в отсутствие аттенюатора и фильтра вместо их последовательных элементов установлены перемычки для поверхностного монтажа. Еще две перемычки заменяют резисторы, включаемые последовательно с резисторами R5 и R8 при необходимости точной подборки образцового напряжения АЦП.


Рис. 2. Чертеж проводников печатной платы


Рис. 3. Чертеж проводников печатной платы


Рис. 4. Расположение элементов


Рис. 5. Расположение элементов

Для ПЛИС DD3 в корпусе PLCC-44 на плате должна быть установлена панель. Интегральный стабилизатор DA6 закреплен на ребристом теплоотводе размерами 22x20x15 мм.

Регистратор собран в корпусе Gainta G715, его внешний вид показан на рис. 6. На передней панели закреплены светодиоды и сделаны отверстия для разъемов XP1, XP2, XP4, XP7. Со стороны задней панели имеется доступ к блоку выключателей SA1, разъемам XS1, XP5, XP6.


Рис. 6. Внешний вид регистратора

Структура устройства, реализованного в ПлИс, описана на языке VDHL. Трансляция и отладка производились в среде разработки Quartus 11 Version 10.1.

P — массив сигналов, поступающих от микроконтроллера;

ADC_data — массив сигналов, поступающих от АЦП;

rx — сигнал, поступающий от FT2232H. Выходные сигналы:

P1 — сигнал, предназначенный для микроконтроллера;

tx — сигнал, предназначенный для FT2232H;

PHL — сигнал, управляющий светодиодом HL8;

PPD — сигнал выключения питания АЦП;

POE — сигнал включения выходов АЦП;

POUT — сигнал, выдаваемый на разъем XP7.

count — счетчик числа переданных байтов;

start_bit — признак начала передачи байта;

stop_bit — признак завершения передачи данных;

ADC_data_buf — буфер хранения информации от АЦП;

rx_bit — признак начала приема информации.

По переходу синхросигнала с низкого на высокий уровень происходит проверка приема стартового разряда (табл. 1 ). Затем, если передача идет, содержимое счетчика переданных байтов увеличивается на единицу (табл. 2). При достижении содержимым счетчика значения 100 происходит согласно табл. 3, его обнуление и выполняется проверка наличия команды завершения передачи (P(6)=0).

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

Остальные действия состоят в проверке разрешения или запрета передачи информации от микроконтроллера. В разрешенном состоянии включается светодиод HL8 и снимается признак завершения передачи, если был принят байт запроса (табл. 5). Передача стартового и стопового разрядов производится согласно табл. 6, а информации из буфера АЦП — табл. 7 (каждый разряд передается за два такта count).

Программа для микроконтроллера написана на языке C в среде разработки ImageCraft. После включения питания устройства она инициализирует периферию микроконтроллера, затем входит в основной цикл, причем UART микроконтроллера находится в режиме ожидания приема.

По приему байта запускается обработчик прерывания (табл. 8). Этот байт записывается в массив rx_arr по индексу rx_count (если был принят первый байт пакета, то rx_count=0), после чего rx_count увеличивается на единицу. Далее следует перезапуск таймера 0, истечение выдержки которого служит признаком конца пакета.

Если в течение заданного времени не принят очередной байт, то происходит прерывание по запросу таймера 0. В обработчике этого прерывания (табл. 9) выполняются остановка таймера и установка флага окончания приема f_rx.

Читайте также:  Двухфазный стабилизатор напряжения 220в для дома

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

В программе реализованы следующие команды:

— «Тест» — служит для проверки связи;

— «Установить состояния IO» — устанавливает на выводах микроконтроллера, соединенных с разъемом XP2, заданные логические уровни. Контакт 2 разъема (цепь IO1) соответствует младшему разряду байта данных команды, а контакт 9 (цепь IO8) — старшему;

— «Установить состояния IO, связанных с ПЛИС» — устанавливает на выходах микроконтроллера PD4-PD7, PB1, PC2, PC3, связанных с ПЛИС, заданные логические уровни. Выходы перечислены в порядке следования соответствующих им разрядов байта данных команды от первого до седьмого. Значение младшего (нулевого) разряда байта может быть произвольным, поскольку состояние вывода PD3 недоступно для изменения этой командой. Он использован для приема запроса прерывания от ПЛИС;

— «Запустить генератор прямоугольных импульсов (с периодом, кратным 2 с)» — выполняет запуск указанного генератора прямоугольных импульсов (скважность всех формируемых регистратором импульсов равна двум). Байт данных команды должен содержать значение периода следования импульсов, которое с шагом в 2 с может находиться в интервале 2-254 с. Импульсы формируются на выводе микроконтроллера PB3 путем программного переключения его состояния в обработчике прерывания от таймера 1. Они выведены на контакт 5 разъема XP2;

— «Запустить генератор прямоугольных импульсов (с периодом, кратным 2 с) по запуску АЦП» — отличается от предыдущей команды тем, что запускает генератор синхронно с началом передачи информации из ПЛИС в компьютер;

— «Запустить генератор прямоугольных импульсов» — запускает генератор прямоугольных импульсов частотой от 30 Гц до 8 МГц. Четыре байта данных должны содержать значение частоты в герцах. Выключают генератор, задавая нулевое значение частоты. Так как период повторения генерируемых импульсов всегда кратен длительности машинного такта микроконтроллера, фактическая частота их повторения может отличаться от заданной. Точное ее значение (с дискретностью 1 Гц) содержится в ответе на команду. Импульсы выведены на контакт 5 разъема XP2, соединенный с выходом PB3 микроконтроллера.

Для начала передачи информации из ПЛИС необходимо разрешить ее, установив на входе 16 ПЛИС высокий логический уровень, а затем передать через СОМ-порт в ПЛИС один байт. Разрешение введено для удобства прекращения передачи установкой на входе 16 ПЛИС логического нуля. Так как передачу разрешает микроконтроллер, для синхронизации начала передачи из ПЛИС с началом приема информации компьютером последний должен послать микроконтроллеру произвольный байт запроса. Микроконтроллер обменивается информацией с компьютером со скоростью 1 МБод при восьмиразрядных посылках без контроля четности и одном стоповом разряде. Для обмена информацией по USB через микросхему FT2232H регистратора в операционной системе компьютера необходимо установить драйверы, которые можно найти на интернет-странице [1].

Загрузка программ в ПЛИС и микроконтроллер.

Программирование ПЛИС выполняется по методике, описанной в [2]. Перед его началом необходимо установить DIP-выключатели SA1 —

SA3 в положения, показанные на рис. 7,а. Микроконтроллер программировался с помощью программы AVRDude и графической оболочки SinaProg, скачанных по ссылкам на интернет-странице [3]. Для работы SinaProg требуется наличие в компьютере библиотеки времени исполнения LabView RunTime Library [4].


Рис. 7. Программирование ПЛИС

В файле avrdude.conf необходимо переназначить выводы программатора 2ftbb, дополнив текст файла разделом, показанным в табл. 10.

В приложении к статье имеются программы AVRDude и SinaProg, в которых уже установлены все необходимые параметры.

Приступая к программированию микроконтроллера, следует установить выключатели SA1-SA3 регистратора в положения, показанные на рис. 7,б, после чего соединить разъем XS1 регистратора с USB-портом компьютера и запустить программу SinaProg. В поле «Programmer» ее окна следует установить параметры 2ftbb, FTDI, 9600. Затем по очереди нажать на экранные кнопки » Оставьте свой комментарий к этой статье:

Источник

Adblock
detector