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

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

B. Несимметричную с заземлением






c. Несимметричную без заземления

2. Теорема Найквиста помогает определить частоту дискретизации. Какой проблемы это помогает избежать?

a. Шпионажа

b. Влияния помех

C. Искажения спектра

d. Отсутствия гальванической развязки

3. Для каких из перечисленных операций можно использовать DAQmx Read VI?

a. Поточечного ввода

b. Ввода массива отсчетов

c. Ввода из несколькими каналами

D. Для всех вышеперечисленных

4. Программно тактируемый, поточечный сбор данных хорош для получения информации в виде waveform

a. Да

B. Нет

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

A. Да

b. Нет

 


Заметки

 


4. Аналоговый вывод

 

В этой лекции вы научитесь генерировать аналоговые сигналы. Многое из того, что рассматривалось в разделе «Аналоговый ввод», справедливо и для аналогового вывода.

Темы

A. Архитектура аналогового вывода

B. Вывод одного отсчета

C. Буферизированная генерация сигнала конечной длительности

D. Непрерывная буферизированная генерация

E. Генерация по запуску

 


A. Архитектура аналогового вывода

 

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

Рисунок 4-1. Каналы аналогового вывода

Соображения об аналоговом выводе

Диапазон выходного напряжения ЦАП определяется опорным напряжением. Опорное напряжение может подаваться как от внешнего, так и от внутреннего источника. Внутренне опорное напряжение составляет +10 В. Вы можете задать биполярный или униполярный диапазон ЦАП.

Биполярный диапазон

В биполярном режиме вывода выходное напряжение ЦАП принимает положительные и отрицательные значения. Если задан биполярный режим, диапазон ЦАП определяется следующим образом:

· Максимальное напряжение = +Vref

· Минимальное напряжение = –Vref

Например, если выбрано внутреннее опорное напряжение +10 В, диапазон ЦАП составляет от –10 В до +10 В. Однако если сигнал изменяется только от –5 до +5 В, всё возможное разрешение ЦАП не используется. Для увеличения разрешающей способности можно подключить внешний источник опорного напряжения +5 В. Тогда диапазон ЦАП, как и диапазон сигнала, будет составлять от –5 до +5 В, и при генерации сигнала вы сможете полностью использовать разрешающую способность ЦАП.

Униполярный диапазон

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

· Максимальное напряжение = +Vref

· Минимальное напряжение = 0 В

Например, если выбрано внешнее опорное напряжение +10 В, диапазон ЦАП составляет от 0 В до +10 В. Однако если сигнал изменяется только в пределах от 0 В до +5 В, всё возможное разрешение ЦАП не используется. Для увеличения разрешающей способности можно подключить внешний источник опорного напряжения +5 В. Тогда диапазон ЦАП, как и диапазон сигнала, составит от 0 В до +5 В, и при генерации сигнала вы сможете полностью использовать разрешающую способность ЦАП.

B. Вывод одного отсчета

Вы можете выполнить формирование одного отсчета при помощи DAQmx Write VI.

Использование DAQmx Write VI

DAQmx Write VI, находящийся в палитре DAQmx - Data Acquisition, записывает отсчеты в указанную вами задачу или каналы. Варианты этого полиморфного VI определяют, в каком формате записывать отсчеты, записывать один отсчет или несколько отсчетов, а также выводить в один или несколько каналов. В настоящей лекции описывается вариант аналогового вывода (analog output) DAQmx Write VI. Используйте выпадающее меню для выбора варианта VI.

Для определения варианта DAQmx Write VI имеются 4 выпадающих списка, в первом из которых можно выбрать тип операции вывода:

· Analog – аналоговый

· Digital – цифровой

· Counter – счетчик

· Raw Data – необработанные данные

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

Для вывода одного отсчета по умолчанию терминал auto start равен true, поскольку модель задачи в форме конечного автомата может неявно управлять выводом единственного отсчета. Однако для вывода нескольких отсчетов вход auto start по умолчанию равенfalse, поскольку при этом необходимо настроить дополнительные временные параметры с помощью DAQmx Timing VI, а также использовать DAQmx Start Task VI и DAQmx Clear Task VI.

Вывод одного отсчета

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

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

· Аппаратная синхронизация – частоту вывода задает ТТЛ-сигнал, например, тактовый сигнал DAQ-устройства. Генерация сигнала с аппаратной синхронизацией работает намного быстрее и точнее, чем с программной. Не все устройства поддерживают аппаратную синхронизацию. Обратитесь к документации на ваше устройство, чтобы узнать, поддерживает ли оно аппаратную синхронизацию.

Настройка временных параметров аналогового вывода

Чтобы задать используемый тип синхронизации DAQmx, используйте DAQmx Timing VI и/или узел свойств DAQmx Sample Timing Type. Выбрав вариант Sample Clock Timing VI или установив узел свойств Sample Timing Type в значение Sample Clock, вы сообщаете DAQmx о необходимости использовать сигнал Sample Clock вашего DAQ-устройства для управления выводом отсчетов. При выводе отсчетов с программной синхронизацией установите узел свойств Sample Timing Type в значение On Demand. Если вы не зададите тип синхронизации с помощью DAQmx Timing VI или узла свойств DAQmx Sample Timing Type, будет использована программная синхронизация.

Кроме того, в DAQmx Timing VI есть вариант Use Waveform. В этом случае используется компонент dt входа waveform для определения частоты импульсов синхронизации вывода отсчетов. dt - это время в секундах между отсчетами. Таким образом реализуется аппаратная синхронизация вывода аналоговых сигналов. При использовании варианта Use Waveform в DAQmx Timing VI на выход на самом деле не выводятся отсчеты Waveform – сигнал типа waveform используется только для настройки синхронизации. Вы должны подключить этот же сигнал к DAQmx Write VI для получения отсчетов.

С. Буферизированная генерация сигнала конечной длительности

Для генерации последовательности отсчетов аналогового сигнала выберите вариант DAQmx Write VI вывода нескольких отсчетов. Используйте этот режим, если хотите сгенерировать сигнал, изменяющийся во времени, например, синусоиду. Генерация последовательности значений (отсчетов) также известна как буферизированный аналоговый вывод. Буферизированный аналоговый вывод использоваться для непрерывной генерации сигнала или для генерации сигнала конечной длительности. Однако в обоих случаях необходимо выполнить два основных шага:

1. Записать отсчеты в буфер. Отсчеты берутся из LabVIEW и помещаются в промежуточный буфер в памяти, прежде чем посылаются в устройство. Буферизированная генерация подобна отправке письма целиком вместо отправки письма последовательно по одному слову.

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

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

Реализация буферизированной генерации сигнала конечной длительности

На рисунке 4-2 показана блок-схема алгоритма буферизированной генерации.

Рисунок 4-2. Блок-схема алгоритма буферизированной генерации сигнала конечной длительности

Configure the Device – конфигурирование устройства, Write Data to the Buffer – запись данных в буфер, Start the Generation – начало генерации, Wait Until the Generation Completes – ожидание завершения задачи, Stop and Clear Task – остановка и очистка задачи, Display Errors – отображение ошибок

На рисунке 4-3 показан пример типичной буферизированной генерации сигнала конечной длительности с использованием импульсов синхронизации отсчетов и выводимых данных в виде массива чисел двойной точности.

Рисунок 4-3. Блок-диаграммаVI генерации сигнала конечной длительности

Вы можете также использовать тип данных waveform для определения временных параметров и значений отсчетов, как показано на рисунке 4-4.

Рисунок 4-4. Использование типа данных Waveform для синхронизации

Существует несколько различий между двумя способами буферизированной генерации сигнала конечной длительности: с использованием массива чисел двойной точности и импульсов синхронизации отсчетов и с использованием типа данных waveform (для задания временных параметров сигналов и значений отсчетов). Меняется вариант DAQmx Timing VI, а также данные, подключенные ко входу data DAQmx Write VI. Оба способа генерации реализуются описанной здесь структурой.

DAQmx Create Virtual Channel VI можно использовать для программного создания виртуального канала аналогового вывода. Если виртуальный канал или задачу уже создан с помощью DAQ Assistant в MAX, можете пропустить этот VI и подключить канал/задачу к следующему VI, DAQmx Timing VI.

DAQmx Timing VI имеет два варианта, которые можно использовать для аналогового вывода – Sample Clock и Use Waveform. Поскольку мы генерируем сигнал из конечного количества отсчетов, задайте режим sample mode – Finite Samples (конечное число отсчетов) для обоих вариантов. При использовании варианта Sample Clock, мы также задаем частоту (rate) и количество отсчетов (number of samples). Количество отсчетов определяет размер буфера. Для варианта Use Waveform просто подключите сигнал типа waveform к терминалу waveform. Этот вариант VI определит частоту сигнала синхронизации и количество отсчетов (размер буфера) на основании содержащейся в сигнале типа waveform информации.

DAQmx Write VI посылает данные в буфер компьютера. Вы можете выбрать тип выводимых данных: waveform или массив чисел двойной точности. Для варианта Use Waveform выберите в DAQmx Timing VI тип выходных данных waveform из выпадающего меню Write VI. Подключите тот же сигнал типа waveform, что вы использовали для задания синхронизации, к терминалу data вWrite VI. При использовании встроенного источника импульсов синхронизации отсчетов Sample Clock выберите из выпадающего меню Write VI данные типа массив чисел двойной точности. Затем подключите массив чисел, которые хотите сгенерировать, ко входу data Write VI.

Для генерации массива отсчетов параметр auto start по умолчанию равенFalse. Поскольку мы запускаем задачу явно, ожидаем, пока она завершится, а затем останавливаем, нужно оставить значение автозапуска равным False.

DAQmx Start VI начинает генерацию данных. DAQmx Wait Until Done VI ожидает, пока не завершится задача или не возникнет тайм-аут. Когда произойдет одно из этих двух событий, управление передается DAQmx Clear Task VI, который останавливает и очищает задачу. Как обычно в данном курсе при программировании в LabVIEW кластер ошибок проходит через все VI, а сообщение об ошибке, при необходимости, отображается.

DAQmx Reset VI

Когда вы записываете значение отсчета в канал аналогового вывода, канал продолжает выдавать на выход это напряжение, пока в него не поступит новое значение, либо пока устройство не будет сброшено при помощи DAQmx Reset VI (расположенного в палитре DAQmx - Data Acquisition»DAQmx Device Configuration), либо пока устройство не выключат.

Предположим, вы записываете синусоидальный сигнал в канал аналогового вывода, и последнее значение в буфере равно 7. Вы сгенерировали всю синусоиду, но после завершения генерации, канал аналогового вывода продолжает выдавать значение 7. Вместо того, чтобы каждый раз сбрасывать устройство, проще после завершения генерации записать в канал 0. В Traditional NI-DAQ вы можете использовать AO Write One Update VI из палитры Utility для выполнения этой операции.

Частота выводимого сигнала

Частота выводимого сигнала зависит от частоты обновления и количества периодов сигнала в буфере, как показано на рисунке 4-5.

Рисунок 4-5. Примеры частоты выходного сигнала

Buffer size = XXXX pts – размер буфера = XXXX отсчетов;

# of cycles = Y – количество периодов в буфере = Y;

Update rate = ZZZZ Hz – частота обновления = ZZZZ Гц;

Signal Frequency = f Hz – частота сигнала = f Гц

Формула расчета частоты выводимого сигнала приведена ниже:

Частота сигнала = Количество периодов ´ [(Частота обновления) /

(Количество отсчетов в буфере)]

Следующий пример иллюстрирует, как частота обновления и количество периодов сигнала в буфере влияют на частоту сигнала. Пусть у вас есть буфер на 1000 отсчетов, в котором хранится один период сигнала. Если частота обновления составляет 1 кГц, то частота выводимого сигнала равна:

(1 период) ´ [(1000 отсчетов в секунду)/(1000 отсчетов)] = 1 Гц

Если удвоить частоту обновления, оставив остальные параметры прежними, частота сигнала составит:

(1 период) ´ [(2000 отсчетов в секунду)/(1000 отсчетов)] = 2 Гц

Если удвоить количество периодов в буфере, оставив остальные параметры прежними, частота сигнала составит:

(2 период) ´ [(1000 отсчетов в секунду)/(1000 отсчетов)] = 2 Гц

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

 


D. Непрерывная буферизированная генерация

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

Рисунок 4-6. Блок-схема алгоритманепрерывной буферизированной генерации

Configure the Device – конфигурирование устройства, Write Data to the Buffer – запись данных в буфер, Start the Generation – начало генерации, Done? – Готово? Stop and Clear Task – остановка и очистка задачи, Display Errors – отображение ошибок

Рисунок 4-7 похож на конечную буферизированную генерацию сигнала конечной длительности:

· Режим сбора данных DAQmx Timing VI – Continuous Samples.

· В цикле While используется DAQmx Is Task Done VI вместо DAQmx Wait Until Done VI.

Рисунок 4-7. Блок-диаграммаVI непрерывной буферизированной генерации

Вы начинаете с конфигурирования виртуального канала и временных параметров при помощи Create Virtual Channel VI и Timing VI. Далее вы записываете данные в буфер с помощью DAQmx Write VI и запускаете задачу с помощью DAQmx Start Task VI.

DAQmx Is Task Done VI в цикле While опрашивает задачу, чтобы узнать, завершилась ли она. Генерация останавливается, когда пользователь нажимает кнопку «Стоп», либо если возникает ошибка. После обработки всех данных данные в буфере регенерируются. После остановки цикла While генерация данных прекращается, а DAQmx Clear Task VI очищает задачу и сообщает об ошибках.

Примечание.Вы можете записывать новые данные в буфер с каждой итерацией цикла. Для этого вы должны поместить Write VI в цикл и подвести новые данные к терминалу данных. В узле свойств Write VI выберите свойство Regeneration Mode и запретите регенерацию. Убедитесь, что генерируете новые данные достаточно быстро, чтобы предотвратить регенерацию в буфере старых данных. Это похоже на непрерывный буферизированный сбор данных: вы должны убедиться, что считываете данные из буфера достаточно быстро, чтобы предотвратить перезапись данных.

Регенерация

Генерация одних и тех же данных более, чем один раз называется регенераций. Вы можете разрешить или запретить регенерацию NI-DAQmx при помощи атрибута/свойства Regeneration Mode. По умолчанию NI-DAQmx разрешает регенерацию при синхронизации импульсами отсчетов Sample Clock и запрещает при синхронизации рукопожатием или пакетным рукопожатием. Когда регенерация не разрешена, необходимо постоянно записывать в устройство новые данные.

Разрешение регенерации и использование встроенной памяти

Когда атрибут или свойство Use Only Onboard Memory ( использовать только встроенную память) истинно, NI-DAQmx передает данные в устройство только один раз, а далее данные непрерывно регенерируются. Попытки записать новые данные в устройство после запуска задачи приведет к ошибке. Кроме того, объем данных, записываемых в устройство до начала задачи, должен поместиться во встроенную память устройства.

Когда атрибут или свойство Use Only Onboard Memory ложно, NI-DAQmx непрерывно передает данные из буферной памяти хоста в устройство, даже если данные не изменяются. То есть, если вы запишете в устройство новые данные после начала задачи, то сгенерируются новые данные, которые будут регенерироваться, пока вы не запишете следующую порцию новых данных. Такое тип регенерации иногда называется памяти компьютера или регенерацией буфера пользователем.

Когда этот атрибут или свойство ложно, вы можете воспользоваться атрибутом или свойством Data Transfer Request Condition (Условие запроса на передачу данных) для определения того, когда передавать данные из буфера хоста в устройство.

Искажение сигнала

Искажение сигналов (glitching) возникает в процессе генерации, если при замене в буфере старых отсчетов новыми генерируется смесь старых и новых отсчетов вместо только новых. Это может произойти при непрерывной генерации отсчетов, когда свойство или атрибут Regeneration Mode равно Allow Regeneration (разрешить регенерацию). Наложение возникает, когда при записи новых отсчетов генерируется подмножество этих новых отсчетов, а потом, поскольку не все новые отсчеты успели записаться, генерируется подмножество старых отсчетов. После завершения операции записи генерируются только новые отсчеты.

NI-DAQmx уменьшает вероятность искажения сигналов, гарантируя, что запись новых отсчетов не обгонит генерацию. Это защищает от искажения –запись приостанавливается, пока количество сгенерированных отсчетов не превысит одного размера буфера перед текущей позицией записи. Однако NI-DAQmx не гарантирует, что генерация не обгонит запись новых отсчетов. Если это произойдет, возникнет искажение, и NI-DAQmx выдаст предупреждение WarningPotentialGlitchDuringWrite (error 200015).

Во избежание искажений воспользуйтесь следующим советами:

· Записывайте новые отсчеты почти на один буфер раньше, чем будут сгенерированы все отсчеты. Это уменьшает возможность того, что генерация обгонит запись новых отсчетов. Если вы обновляете весь буфер целиком, подождите записывать новые отсчеты, пока свойство или атрибут total samples generated (количество сгенерированных отсчетов) не станет на один отсчет больше целого числа, кратного размеру буфера. Например, если размер буфера равен 1000 отсчетов, подождите записывать новые отсчеты, пока количество сгенерированных отсчетов не будет равно 1001, 2001, 3001 и т.п.

· Увеличьте размер буфера. Это уменьшит возможность того, что генерация обгонит запись новых отсчетов.

· Уменьшите частоту импульсов синхронизации отсчетов. Это уменьшит возможность того, что генерация обгонит запись новых отсчетов.

На рисунках 4-8 и 4-9 синусоидальный сигнал генерируется из старых отчетов, а прямоугольный – из новых. На рисунке 4-8 показан сигнал с искажением.

 

Рисунок 4-8. Сигналы с искажением

На рисунке 4-9 показаны те же сигналы без искажения.

Рисунок 4-9. Сигналы без искажения

 

E. Генерация с запуском

Для выполнения генерации с запуском используйте DAQmx Trigger VI, как показано на рисунке 4-10.

Рисунок 4-10. Пример генерации с запуском

 


Выводы

· В состав типичного DAQ-устройства входит ЦАП для каждого канала аналогового вывода.

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

· Частота выходного сигнала зависит от частоты обновления и количества периодов сигнала в буфере.

· Для вывода данных формата waveform с временными параметрами waveform используйте вариант Use Waveform DAQmx Timing VI.

 


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

4. Сколько каналов в типичном DAQ-устройстве приходится на один ЦАП?

a. 1

b. 8

c. 16

d. 32

 

5. Если вы генерируете синусоидальный сигнал, используя 200 отсчетов и 10 периодов при частоте вывода 1 кГц, какой будет частота сигнала?

a. 1000 Гц

b. 500 Гц

c. 50 Гц

d. 20 Гц


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

1. Сколько каналов в типичном DAQ-устройстве приходится на один ЦАП?

A. 1

b. 8

c. 16

d. 32

2. Если вы генерируете синусоидальный сигнал, используя 200 отсчетов и 10 периодов при частоте вывода 1 кГц, какой будет частота сигнала?

a. 1000 Гц

b. 500 Гц







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



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

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