Генерация и измерение частоты последовательности импульсов
Лабораторная работа №1
Аналоговый ввод/вывод
Введение
Типичная обобщенная структура аналогового ввода представлена на рис.1.
Рисунок 1. Структура аналогового ввода.
Входные аналоговые линии (как правило, их больше одной) переключаются с помощью мультиплексора. Затем входной сигнал поступает на программируемый усилитель напряжения, позволяющий менять пределы измерения. После этого производится оцифровка сигнала с помощью АЦП.
Типичные распространенные значения: количество каналов аналогового ввода: 8 или 16, диапазон напряжений: -10…+10 или 0…5 вольт, разрядность АЦП: 12 или 16 разрядов, скорость преобразования (частота сэмплирования) 100 кГц.
На рис.2 приведена типичная структура аналогового вывода.
Рисунок 2. Структура аналогового вывода.
Она очень похожа на структуры ввода, все отличие заключается в обратном порядке работы.
Обычно для аналогового вывода используется 2 канала, остальные характеристики аналогичны характеристикам аналогового ввода.
Цель работы
Изучение средств аналогового ввода/вывода LabVIEW, получение навыков осциллографирования и генерации аналоговых сигналов.
Порядок выполнения работы
2.1 Создание простого одноканального осциллографа
2.1.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.1.2 Поместите внутри цикла прибор AI Acquire Waveform.vi (палитра All Functions->NI Measurements->Data Acquisitions->Analog Input).
2.1.3 Задайте входные значения для этого прибора:
а) для device – целочисленную константу «1»;
б) для channel – управляющий элемент;
в) для number of points – управляющий элемент;
г) для sample rate – тоже управляющий элемент.
2.1.4 Поместите на переднюю панель график типа Waveform Graph, и соедините его на диаграмме с выходом AI Acquire Waveform.
2.1.5 Подключите к выбранному каналу AIn один из двух выходов автономного генератора сигналов соединительной панели BNC-2120. Поэкспериментируйте с разными значениями частоты и амплитуды генератора, и с разной частотой сэмплирования одноканального осциллографа.
2.2 Простой одноканальный генератор сигналов.
2.2.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.2.2 Поместите внутри цикла прибор AO Generate Waveform.vi (палитра All Functions->NI Measurements->Data Acquisitions->Analog Output).
2.2.3 Задайте входные значения для этого прибора аналогично одноканальному осциллографу.
2.2.4 Поместите внутрь цикла прибор Basic Function Generator.vi (палитра All Functions->Analyze->Waveform Generation).
2.2.5 Обеспечьте этот генератор необходимым минимумом управляющих элементов: signal type, amplitude, frequency.
2.2.6 Соедините выход генератора signal out со входом waveform прибора AO Generate Waveform.vi. Для наглядности, можно этот же проводник завести на график типа Waveform Graph.
2.2.7 Запустите одноканальный осциллограф одновременно с одноканальным генератором сигналов. Соедините выбранный аналоговый выход AOn с выбранным аналоговым входом AIn.
2.2.8 Исследуйте совместную работу генератора сигналов и осциллографа в разных режимах.
2.3 Многоканальный осциллограф.
2.3.1 Модифицируйте одноканальный осциллограф путем простой замены прибора AI Acquire Waveform.vi на AI Acquire Waveforms.vi, находящегося рядом в той же палитре. Теперь, указывая номера каналов через запятую, можно получать графики одновременно с нескольких аналоговых входов.
2.3.2 Запустите одновременно многоканальный осциллограф и генератор сигналов. В этот раз, необходимо использовать в качестве источников сигналов как AOn, так и выходы автономного генератора сигналов соединительной панели BNC-2120.
Контрольные вопросы
3.1 Какова передаточная характеристика АЦП и ЦАП?
3.2 Какие два вида квантования существуют при оцифровке аналоговых сигналов?
3.3 Почему, например, в одноканальном осциллографе, возникают пропуски сигнала?
Лабораторная работа №2
Цифровой ввод/вывод
Введение
Цифровой ввод/вывод – это набор линий TTL-уровня, состояние которых можно читать и состоянием которых можно управлять. Организованы они в подавляющем большинстве случаев в побайтные порты – по 8 линий. Существенным аспектом разных реализаций является разделение/совмещение ввода и вывода по линиям. В первом случае под цифровой ввод и цифровой вывод будут иметься отдельные линии, а во втором линии совмещаются – они двунаправленные, и необходимо это учитывать.
Цель работы
изучение средств цифрового ввода/вывода LabVIEW, получение навыков работы как с отдельными цифровыми линиями, так и с портами целиком.
Порядок выполнения работы
2.1 Одноканальный цифровой осциллограф
2.1.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.1.2 Поместите внутрь цикла прибор Read from Digital Line.vi (палитра All Functions->NI Measurements->Data Acquisitions->Digital I/O).
2.1.3 Задайте для него все необходимые входные данные.
2.1.4 На выходе поместите функцию преобразования булева значения в целое число 0 или 1 Boolean To (0,1) (палитра All Functions->Boolean).
2.1.5 Теперь преобразованное значение можно подать на график типа Waveform Chart.
2.1.6 Соедините выход TTL Square Wave автономного генератора сигналов соединительной панели BNC-2120 с выбранной цифровой линией DIn и исследуйте работу цифрового осциллографа.
2.2 Одноканальный генератор цифровой последовательности
2.2.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.2.2 Поместите внутрь цикла прибор Write to Digital Line.vi (палитра All Functions->NI Measurements->Data Acquisitions->Digital I/O).
2.2.3 Задайте для прибора все необходимые входные величины и управляющие элементы, особенно – номер цифровой линии.
2.2.4 Запустите генератор, и убедитесь в его работе. Проверьте, загораются ли соответствующие выбранной линии светодиоды на коннекторной панели BNC-2120.
2.3 Восьмиканальный цифровой осциллограф.
2.3.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.3.2 Поместите внутрь цикла прибор Read from Digital Port.vi (палитра All Functions->NI Measurements->Data Acquisitions->Digital I/O).
2.3.3 Задайте все необходимые входные значения для прибора.
2.3.4 Для вывода значения цифрового порта используйте числовой индикатор, настроенный на вывод двоичных чисел, желательно при этом не убирать незначащие нули, а выводить все 8 двоичных разрядов. Это можно сделать с помощью закладки Format and Precisions окна свойств цифрового индикатора (Numeric properties).
2.3.5 Запустите осциллограф и исследуйте его работу. При этом можно использовать замыкания цифровых линий на сигнал GND («на землю»), завести выход TTL Square Wave автономного генератора соединительной панели BNC-2120.
2.3.6 Модифицируйте теперь осциллограф так, чтобы состояния всех 8-и цифровых линий можно было наблюдать на одном графике типа Waveform Chart.
2.4 Вывод чисел в цифровой порт
2.4.1 Создайте цикл выполнения программы – поместите на диаграмму прибора цикл While Loop (палитра (Express) Functions->Execution Control).
2.4.2 Поместите внутрь цикла прибор Write to Digital Port.vi (палитра All Functions->NI Measurements->Data Acquisitions->Digital I/O).
2.4.3 Определите все нужные входные данные. Для входа pattern постарайтесь использовать управляющий элемент, позволяющий ввод двоичного числа без потерь незначащих нулей.
2.4.4 Убедитесь в исправности работы генератора, наблюдая за состоянием светодиодов цифровой колодки соединительной панели BNC-2120.
2.5 Иллюминация «Бегущий огонёк»
2.5.1 Задание: модифицируйте предыдущий прибор так, чтобы на цифровой колодке светодиоды загорались последовательно от 0-го к 7-у и обратно.
Контрольные вопросы
3.1 В чем отличия совмещенных линий цифрового ввода/вывода с программной и аппаратной точек зрения?
3.2 Почему у свободных, неподключенных цифровых линий цифровой колодки соединительной панели BNC-2120 светодиоды находятся в горящем состоянии?
Лабораторная работа №3
Управляемый аналоговый ввод/вывод
Введение
Управляемый ввод/вывод называется английским термином triggering, и разделяется на аналоговый и цифровой. Здесь рассматривается только цифровой triggering.
Под управляемым вводом/выводом вообще понимается запуск, останов или запуск и останов ввода или вывода данных по какому-то событию на цифровой или аналоговой линии.
Цифровой triggering используется для синхронизации начала сбора данных с другим источником. Этот источник может быть внутренним, таким как сигнал, полученный с другой операции или с другой платы (через RTSI-шину) или он может быть внешним. Часто необходимо начать сбор данных в конкретный момент, когда завершился или начался какой-то процесс в наблюдаемом объекте. Эта операция требует цифрового старта переключения.
Запуск может использоваться для синхронизации двух различных операций одновременно, посредством внешнего соединения или внутреннего переключения сигналов (только платы Е-серии). Считая необходимой одновременность запуска генерации сигнала и измерения входного аналогового сигнала для оценки отклика системы на какой-то определённый сигнал. Включая измерение с аналогового входа вместе с сигналом начала аналогового вывода, мы можем быть уверены, что операции будут происходить одновременно. Таким же образом могут быть синхронизированы операции с буфером данных.
Цель работы
Освоение принципов управляемого ввода/вывода, получение опыта реализации управляемого ввода/вывода средствами LabVIEW.
Порядок выполнения работы
2.2 Управляемый аналоговый ввод.
2.2.1 Откройте прибор C:\Program Files\National Instruments\LabVIEW 7.1\examples\daq\anlogin\anlogin.llb\Acquire N - Multi-Digital Trig.vi. Изучите переднюю панель и описание прибора (меню File-VI Properties-Documentation или со включенной подсказкой навести курсор на иконку прибора). Обратите особое внимание на три режима работы примера: запуск; останов; запуск и останов.
2.2.2 Соедините выходы автономного генератора сигналов соединительной панели BNC-2120 с желаемыми аналоговыми входами на той же панели. Не забудьте указать эти номера каналов в поле ввода channels прибора.
2.2.3 Для реализации события старт/стоп достаточно прикоснуться на мгновение проводником с цифровой земли (DGND) на контакты запуска/останова (PFI0(AI START TRIG/PFI1))
2.2.4 Изучите работу примера во всех трех режимах. Попробуйте при этом задавать разные значения частоты дискретизации и количества собираемых отсчетов (1 кГц, 10 кГц и 100, 1000 и 10000 отсчетов).
2.2.5 Откройте блок-диаграмму прибора и исследуйте её.
2.3 Управляемый аналоговый вывод.
2.3.1 Откройте прибор C:\Program Files\National Instruments\LabVIEW 7.1\examples\daq\anlogout\anlogout.llb\Cont Generation - E-series D-Trig.vi и изучите его переднюю панель и описание.
2.3.2 Изучите работу примера аналогично примеру прибора управляемого аналогового ввода.
2.3.3 Откройте блок-диаграмму примера и измените её так, чтобы генерация сигнала по событию происходила не непрерывно, а определенное количество циклов.
2.4 Управляемый аналоговый ввод/вывод с помощью Express VI.
2.4.1 Задание: реализуйте с помощью Express DAQ Assistant аналоговый ввод и вывод с управлением а) запуском, б) остановом и в) запуском и остановом вместе.
Контрольные вопросы
3.1 Как работает плата ввода/вывода при работе в режиме запуска?
3.2 Как работает система в режиме останова по событию?
3.3 Почему при работе в режиме останова (и запуска/останова) необходимо указывать значение параметра pretrigger scans, большее единицы?
Лабораторная работа №4
Генерация и измерение частоты последовательности импульсов
Введение.
В современных многофункциональных платах сбора данных обычно устанавливается не менее двух таймеров/счетчиков, как правило, 24-разрядных. Они могут использоваться как по одиночке, так и вместе, в зависимости от решаемой задачи – определения длительности импульса, измерения частоты, генерации импульса заданной длительности или последовательности импульсов. Все эти сигналы – TTL-совместимы.
На нижеприведенных схемах необходимые соединения проведены жирными линиями. Таймерам/счетчикам присвоены имена CTR0 и CTR1.
Схема измерения частоты
Для измерения частоты необходимы оба таймера/счетчика, CTR0 используется для деления частоты/получения опорной частоты для второго таймера/счетчика.
Схема генерации последовательности импульсов
Здесь достаточно одного таймера/счетчика.
Схема генерации конечной последовательности импульсов
В этой схеме первый счетчик нужен для управления работой второго.
Цель работы.
Научиться использовать таймеры/счетчики для измерения частоты сигнала, получить навык генерации последовательности импульсов и проверки частоты сгенерированной последовательности.