Студопедия — C. 50 Гц
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

C. 50 Гц






d. 20 Гц

 


Заметки

 


5. Цифровой ввод-вывод

В настоящей лекции рассматриваются возможности DAQ-устройства выполнять операции цифрового ввода-вывода.

Темы

A. Общие сведения о цифровом вводе и выводе

B. Цифровой ввод-вывод

C. Аппаратно синхронизируемый цифровой ввод-вывод

 


A. Общие сведения о цифровом вводе и выводе

Цифровые линии DAQ-устройства воспринимают и генерируют ТТЛ-совместимые сигналы. ТТЛ-сигнал имеет два состояния: низкий логический уровень и высокий логический уровень, как показано на рисунке 5-1. Уровни напряжений сигналов низкого логического лежат в интервале от 0 до +0.8 В. Уровни напряжений сигналов высокого логического уровня лежат в интервале от +2 до +5 В. Сигналы с напряжением от +0.8 до +2.0 В не определены.

Рисунок 5-1. Уровни сигнала ТТЛ

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

Терминология цифрового ввода-вывода

Далее приведены термины, использующиеся в операциях цифрового ввода-вывода.

· Bit (бит) –Наименьшая единица данных, используемая в цифровых операциях. Бит принимает двоичные значения 1 или 0.

· Byte (байт) – Двоичное число, состоящее из 8 связанных бит. Используется также для определения объема памяти, необходимого для хранения одного байта данных.

· Line (линия) – Индивидуальный сигнальный вход порта. Отличие между битом и линией в том, что бит относится к передаваемым данным, а линия является аппаратной компонентой, по которой передается бит. Однако термины «линия» и «бит» взаимозаменяемы. Например, 8-битовый порт – это то же самое, что и порт, состоящий из 8-и линий.

· Port (порт) – Набор цифровых линий. Как правило, линии группируются в 8-битовый порт. У типичных многофункциональных устройств сбора данных есть несколько 8-битовых портов, каждый из которых содержит 8 двунаправленных линий для передачи цифровых сигналов. В LabVIEW VI порт часто обозначается как цифровой канал.

· Port Width (ширина порта) – количество линий порта. Например, некоторые DAQ-устройства имеют по три порта, каждый из которых содержит по 8 цифровых линий. То есть их ширина равна 8.

· Mask (маска) – определяет, игнорировать ли цифровую линию. Если при записи в порт вам не требуется записывать во все линии, вы можете установить маску для игнорирования нежелательных линий.

Нотация, используемая в цифровых операциях NI-DAQmx

Используйте следующие обозначения в NI-DAQmx для описания цифровых линий и портов. В каждом случае X соответствует номеру вашего DAQ-устройства, Y – номеру цифрового порта, а A и B – цифровым линиям DAQ-устройства

· Порт – DevX/PortY

· Одна линия – DevX/PortY/LineA

· Несколько линий – DevX/PortY/LineA: B. Линии читаются (или записываются) по возрастанию, начиная с линии А и заканчивая линией В. Для явного задания порядка чтения (записи) цифровых линий, используйте запись DevX/PortY/LineA, DevX/PortY/LineB. Цифровые линии разделяются запятыми.

Форматы данных цифровых каналов

Формат данных цифрового канала определяет тип читаемых или записываемых цифровых данных. Вы можете выбрать используемый формат данных с помощью DAQmx Read VI и DAQmx Write VI.

Формат линии(булевский)

В формате линии каждая линия в канале представляет собой единственное двоичное значение (один бит). Данные могут принимать значения только 1 и 0. Формат линии предоставляется только для чтения и записи одного отсчета.

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

Формат порта (целочисленный)

Формат порта соответствует естественному формату цифровых устройств, которые имеют лишь два цифровых состояния и организуют индивидуальные линии в наборы – порты. Для получения дополнительной информации обратитесь к разделу Digital Data (Integer Format) справки DAQmx Help.

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

Waveform

Формат данных waveform, кроме самих данных в выделенном цифровом формате, включает имя канала и информацию о временных параметрах. Система проектирования предоставляет механизм для извлечения и задания отдельных компонент данных типа waveform.

Выделенный цифровой формат представления цифровых данных подобен используемому в средствах логического анализа и цифровой симуляции. У канала нет ограничений по количеству линий. Кроме того, цифровой формат позволяет использовать дополнительные состояния помимо базовых – единиц и нулей. Система проектирования создает преимущества при использовании этого формата, адаптируя данные и графические индикаторы для цифровых данных.

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

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

При чтении данных в сигнал waveform включается время получения первого отсчета (t0) и интервал времени между отсчетами, dt. Однако существуют ограничения на эти два значения.

B. Цифровой ввод-вывод

Для выполнения цифрового ввода-вывода в NI-DAQmx, выберите вариант digital DAQmx Read VI или DAQmx Write VI. Помимо этих VI, используйте DAQmx Timing VI и DAQmx Triggering VI для конфигурирования задач цифрового ввода-вывода. Для программного создания цифрового канала используйте DAQmx Create Virtual Channel VI.

DAQmx Create Virtual Channel VI

Чтобы создать цифровой канал ввода или вывода программным способом выберите вариант Digital Input или Digital Output в DAQmx Create Virtual Channel VI. Эти варианты VI позволяют создавать канал, состоящий из цифрового порта, цифровой линии или набора цифровых линий. Кроме того, используйте вход line grouping для группировки цифровых линий в канале. Вы можете создать по одному каналу для каждой линии или один канал для всех линий.

DAQmx Read VI

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

Рисунок 5-2. DAQmx Read VI – вариант Digital

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

Выберите, считывать за раз один отсчет или несколько. Вы можете выбрать, в каком формате возвращать данные в формате линии или порта. В формате линии данные состоит из единственного булевского значения или массива булевских значений (для нескольких линий). При возвращении значения в портовом формате используются беззнаковое 8-разрядное (U8), 16-разрядное (U16) или 32-разрядное (U32) целое число. При чтении нескольких каналов варианты выбора типы данных остаются прежними, только размерность массива каждого типа увеличивается на единицу.

Чтобы возвращать данные в формате порта (U8, U16 или U32), используйте функцию Number to Boolean Array из палитры Numeric»Conversion для преобразования числа в массив булевских значений.

DAQmx Write VI

DAQmx Write VI записывает отсчеты в заданную вами задачу или каналы. Варианты этого полиморфного VI определяют, в каком формате записывать отсчеты, записывать по одному отчету или по несколько и записывать в один или несколько каналов. Для цифрового вывода выберите вариант digital из выпадающего меню.

 

Рисунок 5-3. DAQmx Write VI – вариант Digital

Настройки цифрового варианта DAQmx Write VI задаются аналогично варианту digital для DAQmx Read VI.

По умолчанию значение на входе auto start вDAQmx Write VI равен True при записи одиночных отсчетов и равен False при записи множественных отсчетов. При использовании DAQmx Start VI и DAQmx Stop Task VI, всегда устанавливайте значение на входе auto start, равное False. Это позволяет вам лучше контролировать конечный автомат задачи и увеличивает скорость выполнения программы.

DAQmx Timing VI

Вариант handshaking DAQmx Timing VI определяет количество цифровых отсчетов, собираемых или генерируемых с использованием цифрового рукопожатия между основным и периферийным устройством. Вместо задания определенной скорости, задайте количество цифровых отсчетов, собираемых или генерируемых с использованием цифрового рукопожатия.

Примечание: Не все устройства поддерживают режим обмена с цифровым рукопожатием. Обратитесь к документации на ваше устройство, чтобы проверить, поддерживает ли этот режим.

DAQmx Trigger VI

Используйте DAQmx Trigger VI для настройки запуска задачи.

Варианты этого полиморфного VI соответствуют конфигурируемому режиму и типу запуска. Настройка цифрового запуска осуществляется аналогично настройке запуска задач аналогового ввода или вывода. Обратитесь к лекции 3, Аналоговый ввод, данного руководства для получения дополнительной информации о настройке сигналов запуска.

C. Аппаратно синхронизируемый цифровой ввод-вывод

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

Встроенный генератор и синхронизации отсчетов цифрового ввода-вывода

Некоторые DAQ-устройства, например, модули X серии, имеют выделенный встроенный генератор импульсов синхронизации отсчетов цифрового ввода-вывода. Вы можете запрограммировать аппаратно синхронизируемый сбор и генерацию данных аналогично тому, как программировали аппаратно синхронизируемые задачи сбора и генерации аналоговых сигналов с помощью DAQmx Timing VI.

Рисунок 5-4. Аппаратно синхронизируемая цифровая генерация с использованием импульсов синхронизации отсчетов цифрового ввода-вывода

Коррелированный цифровой ввод и вывод

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

Эти устройства могут использовать другой источник импульсов (как правило, синхронизации отсчетов аналогового ввода или вывода) либо внешний генератор для аппаратно синхронизируемых сбора и генерации данных. Задайте используемый источник тактовых импульсов на входе source в DAQmx Timing VI.

Рисунок 5-5. Блок-диаграмма VI коррелированного цифрового ввода и вывода

Ограничения на использование аппаратно синхронизируемого цифрового ввода-вывода

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


 

Выводы

· Цифровые линии типичного DAQ-устройства могут:

– Считывать и записывать ТТЛ-совместимые сигналы.

– Выполнять только не синхронизированный цифровой ввод-вывод.

– Индивидуально настраиваться на ввод или вывод.

· Типичное DAQ-устройство содержит цифровые линии, которые могут считывать и записывать ТТЛ-совместимые сигналы.

· Спецификации ТТЛ-сигналов определяют сигнал напряжением от 0 до +0.8 В, как низкий логический уровень, а от +2 до +5 В – как высокий логический уровень. Напряжение между +0.8 и+2 В может интерпретироваться и как высокий, и как низкий уровень.

· Используйте DAQmx Read VI и DAQmx Write VI для простого конфигурирования операций цифрового ввода и вывода.

· Для аппаратно синхронизируемого цифрового ввода-вывода используйте встроенный генератор импульсов синхронизации отсчетов цифрового ввода и вывода или коррелированный цифровой ввод и вывод.

 


Самопроверка: короткий тест

1. Все цифровые сигналы имеют уровень от 0 до 5 В.

a. Да

b. Нет

2. Все DAQ-устройства имеют выделенный встроенный генератор импульсов синхронизации отсчетов цифрового ввода-вывода.

a. Да

b. Нет


Самопроверка: ответы

1. Все цифровые сигналы имеют уровень от 0 до 5 В.

a. Да

B. Нет

2. Все DAQ-устройства имеют выделенный встроенный генератор импульсов синхронизации отсчетов цифрового ввода-вывода.

a. Да

B. Нет


Заметки

 


6. Счетчики

Основное внимание в данной лекции уделено функциональности счетчиков в составе DAQ-устройства. Эта лекция содержит общие сведения о счетчиках, включая сигналы, с которыми работает счетчик; элементы, из которых он состоит; контакты, на которые выводится сигналы со счетчика; основные термины, относящиеся к счетчикам; различные типы микросхем счетчиков. Здесь же рассматриваются DAQmx VI, которые используются в операциях таймерного ввода-вывода.

Темы

A. Сигналы, с которыми работает счетчик

B. Подсчет количества фронтов

C. Генерация импульсов

D. Измерение параметров импульсов

E. Измерение частоты

F. Измерение перемещений

 


A. Сигналы, с которыми работает счетчик

Счетчики работают с ТТЛ- совместимыми сигналами (далее – ТТЛ сигналами), которые имеют следующие характеристики:

0 – 0.8 В = низкий уровень (логический «0»);

2 – 5 В = высокий уровень (логическая «1»);

Максимальная длительность фронта нарастания/спада = 50 нс

Рисунок 6-1. Характеристики ТТЛ-сигнала

Низкий уровень – от 0 до +0.8 В, неопределенный уровень – от +0.8 до +2.0 В, высокий уровень от +2.0 до +5.0 В, минимальная длительность импульса = 10 нс, максимальная длительность фронта нарастания/спада = 50 нс

Устройства цифрового ввода-вывода могут изменять или контролировать состояние цифровой линии. Однако, для счетчиков важно не только состояние сигнала, а также переход от одного состояния в другое. Счетчик может обнаруживать нарастающие фронты (переход от логического нуля к логической единице) и ниспадающие фронты (переходы от логической единицы к логическому нулю). Два важных параметра необходимо учитывать при счете: время нарастания/спада и минимальная длительность импульса. Время нарастания/спада фронта является мерой того, насколько быстро сигнал переходит от низкого к высокому уровню или наоборот. Чтобы счетчик зафиксировал фронт, длительность перехода должна быть не более 50 нс согласно спецификациям на ТТЛ сигнал.

Кроме того, должно быть некоторое минимальное время между моментом фиксации нарастающего или ниспадающего фронта до момента, когда счетчик сможет фиксировать следующий фронт. Это время называют минимальной длительностью импульса, которая зависит от типа используемой микросхемы счетчика. В устройствах E серии применяется микросхема типа DAQ-STC, у которой минимальная длительность импульса составляет 10 нс, как для линии Source (линии, на которую подается входной сигнал), так и линии Gate (линии, на которую подается стробирующий сигнал). Чтобы определить минимальную длительность импульса для счетчиков, обратитесь к документации по аппаратным средствам соответствующего DAQ-устройства.

В составе многофункциональных DAQ-устройств M серии используется специализированная заказная микросхема NI-STC 2, которая управляет синхронизацией и тактированием операций ввода-вывода как для внутри устройства, так и между несколькими устройствами. В микросхеме NI-STC 2, используемой во всех устройствах M серии, была также предусмотрена совместимость с АЦП, выполняемыми по самой современной технологии, в том числе с 18-битовыми АЦП, применяемыми в высокоточных устройствах.

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

Элементы, из которых состоит счетчик

Счетчик состоит из следующих основных компонентов:

· Count Register (Cчетный регистр) – в нем хранится текущее значение счетчика, которое можно прочитать программно.

· Source – входной сигнал, который изменяет текущее состояние счетчика, хранящееся в регистре. Счетчик ищет нарастающие и ниспадающие фронты этого сигнала. Выбор режима – подсчитывать положительные или отрицательные фронты выполняется программно. Выбранный тип фронта называют активным фронтом сигнала. Когда на вход Source приходит активный фронт, состояние счетчика изменяется. Направление счета по активному фронту – инкремент или декремент, также выбирается с помощью программного обеспечения (ПО). Сигнал на входе Source должен быть совместим с ТТЛ уровнями.

· Gate – входной сигнал, который разрешает (стробирует) изменение состояния счетчика по активному фронту на входе Source. Счет может происходить, когда этот сигнал имеет либо высокий, либо низкий уровень, либо представляет собой различные комбинации нарастающих и ниспадающих фронтов. Настройки сигнала Gate выполняются с помощью ПО. Этот сигнал по сути своей похож на маску линий цифрового ввода-вывода, поскольку он позволяет учитывать или игнорировать активные фронты сигнала Source.

· Out – выходной сигнал, который служит для генерации одиночных импульсов или последовательностей импульсов и совместим с ТТЛ уровнями.

Контакты, связанные со счетчиком

Все линии аналогового ввода, аналогового вывода и цифрового ввода-вывода имеют соответствующие контакты для выполнения операций ввода и вывода. Для счетчиков используются как контакты программируемых линий PFI (Programmable Function Input), так и специальные контакты. Выходные контакты счетчиков используются только для генерации импульсов. Линии Source и Gate соответствуют контактам PFI, и их можно использовать для других целей, не связанных со счетчиком. Например, контакт 3 68-контактного разъема можно использовать в качестве линии PFI9, линии Gate счетчика Counter 0, или того и другого одновременно. Возможность применения одного контакта для нескольких целей дает большую гибкость. Например, вы могли бы подать ТТЛ сигнал на контакт 3 и использовать его для запуска операции аналогового ввода или в качестве сигнала Gate для счетчика.

Термины, относящиеся к счетчику

· Terminal Count – (последнее значение счетчика, после которого он перейдет в состояние 0). Например, при инкрементировании число в счетчике достигает максимально возможного значения, после которого возникнет переполнение и счет возобновится с 0.

· Resolution (разрядность) – Определяет, сколько может продолжаться счет, прежде, чем счетчик достигнет завершающего состояния. Разрядность счетчика оценивается в битах. Разрядность используется в формуле для вычисления максимального значения (max count) в счетчике:

max count = 2(resolution) – 1

Типовые значения разрядности: 16 бит, 24 бита, 32 бита.

· Timebase (опорный сигнал) – сигнал известной частоты, который генерируется DAQ-устройством, и для которого типичен диапазон частот от 100 Гц до 80 МГц. Сигнал опорной частоты может быть скоммутирован внутри устройства на входы счетчика в качестве сигнала известной частоты.

Микросхемы счетчиков

В DAQ-устройствах используются различные микросхемы для таймерного ввода-вывода – NI-STC2, NI-STC3 или NI-TIO.

NI-TIO

NI-TIO – микросхема 32-битового счетчика, поставляемая в составе устройств производства компании NI. Эта микросхема может считать на сложение и вычитание, поддерживает энкодеры и сигнал аппаратного запуска, имеет цифровые фильтры для подавления импульсных помех, может мгновенно изменять частоту повторения импульсов, а также выдает опорные сигналы частотой 100 кГц, 20 МГц и 80 МГц. Данная микросхема применяется в устройствах семейства 660 x. Модули M серии также поддерживают такие свойства микросхемы NI-TIO, как разделение двух фронтов и квадратурное кодирование, кроме того в этих модулях может быть реализована синхронизация счетчика.

NI-STC2

Микросхема NI-STC2, используемая в устройствах M серии – это заказная интегральная микросхема (ASIC), которая управляет синхронизацией внутри платы и между платами, а также тактированием операций, выполняемых многофункциональным DAQ-устройством. Эта микросхема контролирует все цифровые сигналы, с которыми работает DAQ-устройство, в том числе сигналы, приходящие с АЦП, сигналы, подаваемые на ЦАП, а также сигналы на линиях цифрового ввода-вывода и счетчиках/таймерах. Кроме того, что микросхема NI-STC2 предоставляет дополнительные линии цифрового ввода-вывода, она также имеет шесть каналов DMA специально для операций ввода-вывода, с помощью которых все шесть операций (аналоговый ввод, аналоговый вывод, цифровой ввод, цифровой вывод, изменение состояния таймера-счетчика 0, изменение таймера-счетчика 1) могут выполняться одновременно, со своим собственным каналом DMA. За счет этого существенно повышается быстродействие и скорость передачи данных при одновременном выполнении нескольких операций. В состав микросхемы NI-STC2 входят два 80-мегагерцовых 32-битовых таймера/счетчика со встроенной поддержкой энкодера.

NI-STC3

Микросхема NI-STC3, применяемая в устройствах X-серии – это заказная интегральная микросхема (ASIC), которая управляет синхронизацией внутри платы и между платами, а также тактированием операций, выполняемых многофункциональным DAQ-устройством. Эта микросхема контролирует все цифровые сигналы, с которыми работает DAQ-устройство, в том числе сигналы, приходящие с АЦП, сигналы, подаваемые на ЦАП, а также сигналы на линиях цифрового ввода-вывода и счетчиках/таймерах. В этой микросхеме восемь каналов DMA, которые предназначены для прямой потоковой передачи данных между DAQ-устройством и памятью компьютера без участия центрального процессора или дополнительных программных операций. С помощью этих каналов организуются параллельные потоки данных для аналогового ввода-вывода, цифрового ввода-вывода и всех четырех таймеров/счетчиков. С использованием расширенной памяти типа FIFO емкостью 127 отсчетов для каждого из 32-битовых счетчиков, микросхема NI-STC3 может выполнять таймерные операции с буферизацией, такие, как подсчет количества событий или генерация ШИМ-сигнала на более высоких частотах, чем ранее произведенные устройства. В состав микросхемы NI-STC3 входят четыре 100-мегагерцовых 32-битовых таймера/счетчика с встроенной поддержкой энкодера. Кроме того, операции, для которых ранее на микросхемах NI-STC2 и NI-TIO нужны были два счетчика, теперь можно выполнять с помощью одного канала счетчика на микросхеме NI-STC3. Микросхема NI-STC3 вырабатывает полностью независимые сигналы синхронизации отсчетов и запуска для каждой отдельной группы линий ввода-вывода многофункционального устройства.

Таймерный ввод-вывод

Как и при аналоговом вводе, аналоговом выводе и цифровом вводе-выводе, в операциях таймерного ввода-вывода применяется DAQmx Read VI. Для этого выберите вариант использования счетчика, с которым будет работать DAQmx Read VI. DAQmx Write VI при работе со счетчиками не используется. DAQmx Create Virtual Channel VI, DAQmx Timing VI и DAQmx Triggering VI служат для конфигурирования режимов измерений или генерации сигналов с использованием счетчика.

DAQmx Create Virtual Channel VI

Чтобы создать программным путем канал таймерного ввода или вывода, выберите вариант Counter Input или Counter Output в выпадающем меню DAQmx Create Virtual Channel VI.

Канал Counter Input позволяет измерять частоту, период, длительность импульса или полупериод, подсчитывать количество фронтов.

Вариант конфигурации канала Counter Output позволяют генерировать импульсный сигнал с заданной частотой, в течение заданного времени или количества тактов.

DAQmx Read VI

Чтобы прочитать один или несколько отсчетов из задачи таймерного ввода, выберите соответствующий вариант в выпадающем меню DAQmx Read VI. Одновременно считывать данные можно только с одного канала счетчика, так что окно выбора одного или нескольких каналов недоступно.

Рисунок 6-2. Выпадающее меню DAQmx Read VI – вариант Counter

Здесь следует выбрать, сколько отсчетов нужно одновременно считать: один или несколько. При считывании одного отсчета выберите тип возвращаемых данных: число с плавающей точкой с двойной точностью (DBL) или 32-разрядное целое число без знака (U32). При считывании нескольких отсчетов возвращается одномерный массив чисел с плавающей точкой с двойной точностью или 32- разрядное целое число без знака.

DAQmx Timing VI

Чтобы сконфигурировать выполнение операций таймерного ввода-вывода, в выпадающем меню DAQmx Timing VI выберите пункт Sample Clock или Implicit. Вариант Sample Clock позволяет сконфигурировать действительные тактовые частоты. В пункте Implicit задается только количество получаемых отсчетов, которые необходимо считать или сгенерировать без задания режима тактирования. Вы можете воспользоваться пунктом Implicit в данной лекции далее при генерировании последовательностей импульсов.

DAQmx Trigger VI

DAQmx Trigger VI служит для конфигурирования запуска задачи. Варианты выпадающего меню этого полиморфного VI соответствуют конфигурированию запуска и типа запуска. Сделайте такие же настройки сигналов запуска счетчиков как при конфигурировании сигналов запуска аналогового ввода и аналогового вывода. Кроме того, для настройки параметров счета с паузами следует использовать узел свойств DAQmx Trigger Property Node. За подробной информацией по настройке сигналов запуска обратитесь к лекции 4, Аналоговый вывод настоящего пособия.

B. Счет фронтов

Счет фронтов импульсного сигнала – это важнейшая из основных операций, при выполнении которой входным является сигнал на входе Source. В этом разделе описывается простой счет фронтов и измерение времени.

Простой счет фронтов

Простой счет фронтов соответствует базовым понятиям о счетчике –значение счетного регистра (Count Register) инкрементируется по активнjve фронтe сигнала на вход Source. Программно можно задать, какой из фронтов активный: нарастающий или ниспадающий. В этом режиме вход Gate и выход Out не используются.

Рисунок 6-3. Простой счет фронтов

Измерение времени

Измерение времени является разновидностью простого счета фронтов. При простом счете фронтов сигнал на входе Source считается неизвестным. В этом случае счетчик служит вам для измерения этого сигнала. При измерении времени частота импульсов на входе Source известна, этот сигнал является опорным (Timebase), что позволяет измерить прошедшее время. Таким образом, при измерении времени на вход Source вместо измеряемого сигналf подается опорный.

Рисунок 6-4. Простой счет фронтов – измерение времени

Прошедшее время вычисляется по формуле:

прошедшее время = (значение в счетном регистре) × (период опорного сигнала),

где период опорного сигнала = 1/(частота опорного сигнала).

Единственным различием между измерением времени и простым счетом фронтов является сигнал, подаваемый на вход Source.

Активный фронт

Когда счетчик конфигурируется на простой счет фронтов или измерение времени, он инкрементируется по приходу активного фронта на вход Source. Задать активный фронт, нарастающий или ниспадающий, можно с помощью LabVIEW.

На рис. 6-5 в качестве активного выбран нарастающий фронт. В данном случае счетчик инкрементируется каждый раз, когда появляется нарастающий фронт.

Рисунок 6-5. Счет нарастающих фронтов на входе Source

Обратите внимание на то, что счетчик не может инкрементироваться до тех пор, пока не будет запущен счет (Counter Armed). Счетчик может считать до некоторого фиксированного значения, которое определяется его разрядностью. Например, 24-разрядный счетчик может считать до:

2(разрядность счетчика) – 1 = 2(24) – 1 = 16 777 215

Это значение в счетчике является максимальным (Terminal Count), и по следующему активному фронту счетчик переполняется и начинает считать с нуля.

Модификации счета фронтов

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

Счет с запуском и паузой (стробируемый)

При счете с паузами требуется дополнительный ТТЛ сигнал, который разрешает или запрещает счет. Значение счетчика инкрементируется, когда уровень сигнала на входе Gate высокий или низкий в зависимости от настроек, заданных с помощью узла свойств DAQmx Trigger.

Рисунок 6-6. Стробируемый счет

Pause Trigger – сигнал паузы, Counter Source – сигнал на входе Source, Counter Value – значение в счетчике

Непрерывный буферизированный счет фронтов

При непрерывном буферизированном счете фронтов по дополнительному ТТЛ сигналу текущее значение счетного регистра записывается в буфер. Т.е., значение буфера обновляется только по активному фронту сигнала. На рис. 6-7 показана пересылка значения из счетного регистра в буфер.

Рисунок 6-7. Непрерывный буферизированный счет фронтов

Sample Clock – синхроимпульсы отсчетов, Input Signal – входной сигнал, Buffer – буфер, Counted Events – подсчитанные события

При счете фронтов с буферизацией DAQ-устройство фиксирует количество фронтов, подсчитанных по каждому активному фронту синхроимпульсов отсчетов (Sample Clock), и сохраняет его в буфере. Поскольку для счета с буферизацией нет встроенного генератора синхроимпульсов отсчетов, необходимо использовать внешний генератор.

Счет фронтов с буферизацией конечного числа отсчетов

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

C. Генерация импульсов

Счетчик служит не только для измерения параметров ТТЛ сигналов, но и для их генерирования. На рис. 6-8 показан сигнал, формируемый на выходе Out счетчика. Счетчик может генерировать одиночный импульс или непрерывную (бесконечную) последовательность импульсов. Импульсный сигнал формируется из опорного сигнала на входе Source. Чтобы запрограммировать формирование импульсов, необязательно знать, как они формируются из опорного сигнала, и этот материал находится за рамками настоящего курса. Вам не нужно физически подключать опорный сигнал к входу Source, поскольку драйвер DAQmx сделает это за вас.

Рисунок 6-8. Генерация импульсов

Single Pulse – одиночный импульс, Pulse Train – последовательность импульсов, Timebase – опорный сигнал, Count Register – счетный регистр, Single Pulse or Pulse Train – одиночный импульс или последовательность импульсов

Характеристики импульсного сигнала

Чтобы сгенерировать импульсный сигнал, необходимо понимать смысл некоторых его характеристик.

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

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

Любой одиночный импульс или последовательность импульсов состоит из трех частей (рис. 6-9, 6-10):

· High Time (длительность высокого уровня) – интервал времени, в течение которого импульс имеет высокий уровень.

· Low Time (длительность низкого уровня) – интервал времени, в течение которого импульс имеет низкий уровень.

· Initial Delay (начальная задержка) – интервал времени, в течение которого выходной сигнал находится в пассивном состоянии до генерации импульсного сигнала. В зависимости от того, какой из уровней является пассивным, при генерации первого импульса увеличивает время удержания высокого или низкого уровней.

Длительность высокого уровня и длительность низкого уровня вместе представляют собой характеристики импульса.

Рисунок 6-9. Компоненты импульса

Counter Starts – начало счета

Рисунок 6-10. Компоненты последовательности импульсов

Counter Starts – начало счета

Прежде, чем генерировать импульсный сигнал, вам следует определиться, какими параметрами будет характеризоваться одиночный импульс или импульсную последовательность: частотой, временем или количеством тактов опорного сигнала счетчика. Если выбрана частота, то нужно задать скважность (коэффициент заполнения генерируемого сигнала). При выборе времени следует задать длительность высокого уровня и длительность низкого уровня. Если вы работаете со счетчиком, у которого неизвестна частота опорного сигнала, то нужно будет использовать количество тактов. Генерируемый импульсный сигнал выдается на выход Out счетчика.

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

Поскольку длительность высокого уровня и длительность низкого уровня не всегда равны между собой, то соотношение между ними следует задавать с помощью специального параметра, который называется коэффициентом заполнения (скважностью) и принимает значения в диапазоне от 0 до 1. Этот коэффициент нередко переводят в проценты. Если длительность высокого уровня равна длительности низкого уровня, то коэффициент заполнения равен 0.5 или 50%. Если коэффициент заполнения больше 50%, это означает, что длительность высокого уровня больше длительности низкого уровня, а если коэффициент заполнения меньше 50%, то, наоборот, длительность низкого уровня больше длительности высокого уровня.

Длительность пер







Дата добавления: 2014-11-12; просмотров: 1740. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия