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

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

E. Развязка






 

 


Заметки

 


8. Синхронизация

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

Темы

A. Синхронизация измерений

B. Синхронизация внутри устройства

C. Синхронизация нескольких устройств

D. Счетчики и синхронизация


A. Синхронизация измерений

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

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

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

Одновременные измерения

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

Рисунок 8-1. Simultaneous AI and AO VI – VI одновременного аналогового ввода и аналогового вывода

На рис. 8-1 обе задачи в приложении запускаются параллельно, однако их нельзя на самом деле считать синхронизированными. Поскольку вызов разных DAQmx Start Task VI происходят в разные моменты времени выполнения программы, одна операция может начаться позже другой на от 50 ¸ 200 мс.

Временная диаграмма работы VI Simultaneous AI and AO может иметь вид, приведенный на рис. 8-2.

Рисунок 8-2. Временная диаграмма параллельных измерений

Analog Input Start Trigger – сигнал запуска аналогового ввода, Analog Output Start – Trigger сигнал запуска аналогового вывода, Analog Input Clock – тактовый сигнал аналогового ввода, Analog Output Clock – тактовый сигнал аналогового вывода

Поскольку сигнал Start Trigger формируется на выходе DAQmx Start Task VI, одна из задач запускается раньше другой, вследствие чего измерения получаются не синхронизированными. В рассматриваемом примере операция аналогового вывода опережает операцию аналогового ввода. Кроме того, задачи созданы на основе разных опорных тактовых сигналов, поэтому измерения также выполняются не в фазе.

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

Правила синхронизации

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

Есть два правила синхронизации при работе с многофункциональными DAQ-устройствами:

· Сигналы Master Timebase (или Reference Clock) и Start Trigger должны быть общими для синхронизируемых блоков или устройств.

Все синхронизируемые устройства программируются на использование одного и того же опорного сигнала Master Timebase (как правило, это сигнал 20MHzTimebase одного из устройств). Вообще, одно из устройств может быть взято в качестве источника такого сигнала для остальных синхронизируемых устройств, и для этой цели может быть настроен соответствующий терминал. Все синхронизируемые устройства программируются на использование одного и того же терминала < task> /Start Trigger, который будет для них источником сигнала Start Trigger. доступен Вы всегда можете использовать общий для всех устройств сигнал Start Trigger, даже если вы его явно не сконфигурировали. У такого метода синхронизации два преимущества. Во-первых, устройствам не нужно работать на одной и той же частоте дискретизации, а также нет необходимости считывать одинаковые объемы данных. Кроме того, данный метод годится для синхронизации сигналов аналогового вывода и некоторых приложений, где используется счетчик. Недостатками этого метода: необходимо маршрутизировать два сигнала с помощью двух линий шин запуска RTSI и PXI Trigger. Чтобы назначить сигнал 20MHzTimebase от одного устройства в качестве сигнала Master Timebase для другого устройства, необходимо установить соответствующий атрибут/свойство.

На рис. 8-3 оба сигнала синхронизации операций ввода Analog Input Sample Clock и вывода Analog Output Sample Clock привязаны к одному и тому же ведущему опорному сигналу Timebase. Для обеих задач (ввода и вывода) формируется общий сигнал Start Trigger, по которому запускается генерация сигналов синхронизации отсчетов для этих задач. Сигналы синхронизации отсчетов могут генерироваться на разных частотах, поскольку они формируются независимо друг от друга.

Рисунок 8-3. Синхронизируемые измерения

· Сигнал синхронизации отсчетов Sample Clock должен быть общим.

Все синхронизируемые устройства программируются на использование терминала < task> /SampleClock одного из устройств в качестве источника сигнала Sample Clock. Преимущество этого метода – только один сигнал маршрутизируется с помощью только одной линии шин запуска RTSI и PXI Trigger. Недостатками является то, что все устройства должны работать на одной и той же частоте дискретизации, причем количество отсчетов, собираемых всеми устройствами, не может быть больше, чем собирает устройство - источник сигнала Sample Clock.

Правила синхронизации в драйвера DAQmx

· Создайте одну главную задачу (master task).

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

§ Запустите главную задачу только после того, как все подчиненные задачи (slave tasks) сконфигурированы и запущены.

· Создается столько подчиненных задач, сколько необходимо.

§ Сконфигурируйте подчиненные задачи до запуска главной задачи.

§ Убедитесь, что подчиненные задачи сигналы зависят от главной по сигналам запуска Start Trigger и синхронизации Sample Clock.

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

Источники ошибок

Существуют несколько источников ошибок при синхронизированных измерениях:

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

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

Некоторые генераторы располагают внутри небольших термостатических камер с регулируемой температурой, это намного лучше стабилизирует частоту, чем другие способы. Такие генераторы называют термостатированными кварцевыми генераторами (Oven Controlled Crystal Ooscillators – OCXO). Такой генератор есть, например, в устройстве NI 6608.

· Погрешность – отклонение действительного значения тактовой частоты сигнала от заданного значения. Как известно, не бывает, чтобы тактовый генератор формировал сигнал точно с заданной частотой. На погрешность тактовой частоты влияют качество кристалла и сборки генератора.

Погрешности тактовой частоты можно описать несколькими способами. Чаще всего их выражают в миллионных и миллиардных долях (ppm и ppb). Например, чтобы найти абсолютную погрешность частоты (Гц) для генератора с частотой 80 МГц, у которого относительная погрешность равна 5 ppm, необходимо умножить частоту 80 000 000 на 5 и поделить на 1 000 000, или [80 000 000 Гц (5 Гц/1 000 000 Гц) = 400 Гц].

Отсюда следует, что абсолютная погрешность частоты генератора не превышает 400 Гц. Таким образом, действительная частота генератора может принимать любое значение в интервале от 79 999 600 Гц до 80 000 400 Гц.

· Задержка распространения – явление, которое заключается в том, что сигнал приходит в две точки в разные моменты времени. Например, сигнал передан управляющим устройством в момент T0. Приемное устройство A воспринимает этот сигнал в момент T1, а приемное устройство B в момент T2. Если T1 не равно T2, разницу между T1 и T2 называют задержкой распространения, на которую оказывают влияние расстояние между устройствами, длина кабелей между ними, длина путей прохождения сигналов внутри устройств.

В. Синхронизация внутри устройства

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

Одновременный запуск задач

Одновременное начало выполнения операции аналогового ввода и аналогового вывода реализуется с помощью аппаратного или программного запуска. При аппаратном запуске сигналы запуска как аналогового ввода, так и аналогового вывода поступают с одного и того же контакта разъема RTSI или PFI. RTSI (Real-Time System Integration) это выделенная высокоскоростная цифровая шина, предназначенная для интеграции системы на нижнем уровне и высокоскоростных коммуникаций между устройствами производства National Instruments в реальном времени. Более подробная информация о шине RTSI приведена в разделе Счетчики и синхронизация.

Общий программный запуск

При программном запуске сигнал запуска аналогового ввода приходит с внешнего контакта разъема RTSI или PFI, а запуск аналогового вывода выполняется по внутреннему сигналу AI Start Trigger. Этот сигнал непосредственно подключен к подсистемам аналогового ввода и аналогового вывода. Метод программного запуска немного точнее метода аппаратного запуска, поскольку внешний сигнал должен быть подведен и к той, и к другой подсистеме только через единый основной тракт. Однако возникающая при этом задержка почти всегда несущественна на тех частотах, на которых работают многофункциональные устройства ввода-вывода (DAQ-устройства). Рассматриваемый метод проиллюстрирован блок-диаграммой на рис. 8-4.

Рисунок 8-4. Аппаратный и программный запуск задач

Пример VI на рис. 8-4 сконфигурирован так, что операции ввода соответствует цифровой сигнал запуска на линии PFI0, настроенный с помощью DAQmx Trigger VI. Запуск операции аналогового вывода осуществляется от внутреннего сигнала AI Start Trigger. Следует учитывать, что операция аналогового вывода должна запускаться раньше операции ввода, чтобы гарантировать, что ввод не начнется и сигнал AI Start Trigger не появится до тех пор, пока подсистема аналогового вывода не будет готова принять сигнал запуска.

Другой пример VI одновременного запуска задач основан на программном запуске, выполняемом путем программного вызова соответствующей функции запуска аналогового ввода вместо формирования сигнала аппаратного запуска. Запуск аналогового вывода по прежнему выполняется с помощью внутреннего сигнала AI Start Trigger. На рис. 8-5 приведен пример только с программным запуском. Операции, которые начали одновременно выполняться, необязательно бывают синхронизированы. Их можно настроить на сбор и генерацию данных независимо друг от друга и на разных частотах дискретизации.

 

Рисунок8-5. Программный запуск задач

 

Использование общего сигнала Sample Clock

Если вы хотите полностью синхронизировать операции аналогового ввода и вывода, т.е. чтобы каждому отсчету в каждом канале ввода в один и тот же момент времени соответствовал отсчет в каждом канале вывода, то в этом случае необходимо использовать общий источник сигнала Sample Clock. Так же, как и при одновременном запуске операций, существуют два основных метода синхронизации операций ввода-вывода.

Первый метод заключается в использовании внутреннего сигнала AI Start Trigger для одновременного запуска аналогового ввода и аналогового вывода. В отличие от примера одновременного запуска, мы теперь установим для тактовых сигналов аналогового ввода и вывода одну и ту же частоту импульсов Sample Clock, чтобы синхронизировать операции внутри одного устройства. Оба внутренних сигнала Sample Clock для ввода и для вывода формируются от встроенного опорного тактового генератора DAQ-устройства. С учетом этого, а также из-за того, что эти сигналы начинаются в один и тот же момент времени, они будут синхронизированы. Поскольку в каждой из подсистем аналогового ввода и аналогового вывода есть своя схема деления частоты для формирования собственных сигналов Sample Clock, то между этими двумя сигналами может быть небольшой фазовый сдвиг. Несмотря на это, этот сдвиг не имеет значения на частотах, на которых работают многие DAQ-устройства.

Второй метод синхронизации аналогового ввода и аналогового вывода заключается в использовании тактового сигнала либо аналогового ввода, либо аналогового вывода. На рис. 8-6 демонстрируется синхронизация аналогового ввода и аналогового вывода путем использования в качестве общего сигнала Sample Clock аналогового вывода.

 

Рисунок8-6. Синхронизация с программным запуском


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

C. Синхронизация нескольких устройств

Межмодульная синхронизация позволяет выполнять коррелированные измерения в нескольких модулях сбора данных служит. Многие приложения могут быть реализованы благодаря возможности синхронизировать операции внутри модуля сбора данных. Например, использование общих тактовых импульсов позволяет выполнять измерения аналоговых сигналов синхронно с операциями в счетчиках. С этой целью импульсы синхронизации отсчетов Sample Clock маршрутизируются на счетчики и по этим импульсам в счетчиках фиксируются результаты операции.

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

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

Подключение внешнего сигнала

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

Рисунок 8-7. Подключение внешнего сигнала

External Source внешний источник, Board модуль (плата), Time время

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

На высоких частотах по некоторым причинам этот метод становится не совсем идеальным. Тактовый сигнал начинает искажаться на частотах около 5 – 10 МГц в зависимости от типа соединительных кабелей между внешним генератором и модулями. Кроме того, имеет место задержка передачи данных, которая проявляется на высоких скоростях в виде запаздывания фазы, которое зависит от расстояния, которое проходит сигнал. Эти задержки зависят от емкостных, индуктивных и резистивных свойств кабелей. Все источники тактовых сигналов вносят в систему джиттер, который может стать ощутимым при попытке синхронизировать платы.

Еще одна проблема этого метода связана с тем, что по сигналу Start Trigger одновременно начинается сбор данных во всех модулях измерительной системы. Обычно каждый модуль запускается после получения сигнала Start Trigger в течение одного или двух тактов сигнала от встроенного генератора. Это может привести к фазовым задержкам между модулями.

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

Шина RTSI

RTSI (Real-Time System Integration) это внутренняя шина синхронизации, используемая компанией National Instruments для непосредственного соединения DAQ-устройств с целью точной синхронизации выполняемых ими функций. Шина RTSI служит для обмена сигналами синхронизации и управления между несколькими модулями по параллельным цифровым линиям. Разъем RTSI обычно располагается наверху DAQ-устройства. Достоинство шины RTSI в том, что она позволяет программно коммутировать цифровые сигналы запуска, синхронизации и другие сигналы задач между несколькими DAQ-устройствами или PXI модулями. В синхронизируемых приложениях шина RTSI позволяет генерировать сигналы синхронизации и запуска в одном из модулей и передавать их по этой шине.

Чтобы зарегистрировать RTSI кабель в MAX, щелкните правой кнопкой мыши по разделу NI-DAQmx Devices, в контекстном меню выделите пункт Create New NI-DAQmx Device и выберите подпункт RTSI Cable. Обозначение кабеля должно появиться в соответствующем подпункте DAQmx устройств. Щелкните правой кнопкой мыши по этому обозначению и добавьте устройства, подключаемые к этому кабелю.

Большинство DAQ-устройств производства NI поддерживают шину RTSI. Во встраиваемых DAQ-устройствах, например PCI устройствах M серии или X серии физическое подключение к шине RTSI осуществляется с помощью специального RTSI кабеля, который вручную присоединяется к контактам RTSI разъема каждого устройства. Шинный интерфейс RTSI на устройстве типа PCI DAQ представляет собой внутренний 34-контактный разъем, от которого сигналы идут по ленточному кабелю внутри корпуса компьютера. Доступны RTSI кабели для объединения двух, трех, четырех или пяти устройств. Функциональность RTSI шины зависит от типа устройства. Поэтому, прежде чем приступить к разработке программного приложения, где будет использоваться RTSI шина, всегда ознакомьтесь с документацией на DAQ-устройство.

Шина RTSI состоит из восьми цифровых линий, которые разработчик может использовать под общие сигналы синхронизации и запуска. Для пользовательских сигналов разработчику доступны контакты 0…6, а контакт 7, RTSI Clock, зарезервирована для передачи тактовых сигналов между устройствами. Подробная информация об RTSI кабеле приведена на сайте ni.com/products.

На платформе PXI шина RTSI встроена в шасси – это шина PXI Trigger на разъеме J2 объединительной платы. Стандарт на шину PXI Trigger введен объединением PXI Systems Alliance и поддерживается сейчас рядом ведущих производителей оборудования. Таким образом, у каждого модуля PXI DAQ, который вы вставляете в шасси PXI, есть одни и те же встроенные линии синхронизации, которые соединяют его со всяким другим таким же модулем в этом же шасси, причем не требуется никаких дополнительных соединений. За более подробной информацией об объединении PXI Systems Alliance обратитесь на сайт www.pxisa.org.

Благодаря возможности передачи тактовых сигналов частотой до 20 МГц без искажений, шина RTSI имеет успешно применяется в высокоскоростных приложениях. Однако, на высоких частотах сильнее проявляются фазовые задержки из-за запаздываний запуска и передачи данных. Чтобы справиться с этими проблемами, следует использовать схему ФАПЧ, которая позволяет более точно синхронизировать нескольких плат. В настоящем курсе ФАПЧ не рассматривается.

Программирование с использованием RTSI

По шине RTSI драйвер DAQmx маршрутизирует большинство сигналов. Несмотря на это, вы все равно несете ответственность за то, чтобы указать драйверу, каким образом устройства соединены друг с другом внутренними шинами. В PCI системах вам необходимо зарегистрировать RTSI кабель в MAX, а системах PXI следует идентифицировать тип используемого PXI шасси.

Примечание: чтобы отключить маршрутизацию сигналов с помощью драйвера DAQmx, вы можете явно направить сигналы на линии PFI или RTSI с помощью DAQmx Export Signal VI.

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

Чтобы избежать подобных проблем, вы можете зарезервировать некоторые RTSI линии в MAX, чтобы драйвер не мог их использовать при автоматической маршрутизации сигналов. В PCI устройствах щелкните правой кнопкой мыши по обозначению RTSI кабеля, который объединяет ваши устройства, и выберите пункт Properties, на экране появится окно RTSI Cable Properties (рис. 8-8).

Рисунок 8-8. Диалоговое окно RTSI Cable Properties

Отметьте флажками номера линий, которые не должен использовать драйвер DAQmx. В PXI устройствах выделите обозначение шасси в PXI системе (шасси вначале должно быть идентифицировано) и перейдите на закладку Triggers.

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

· AI Start Trigger или AI Reference Trigger

· AI Convert Clock

· AI Sample Clock

· AO Sample Clock

· AO Reference Trigger

· GPCTR0 Source, Gate или Output

Варианты использования нескольких устройств

Так же, как и при синхронизации отдельных устройств, распространенные варианты реализации одновременного выполнения нескольких операций в нескольких устройствах предполагают одновременный запуск по общему сигналу Start Trigger или полную синхронизацию этих операций. Третий вариант заключается в синхронизации начала выполнения операций несколькими устройствами с помощью сигнала аппаратного запуска. При синхронизации измерений один тактовый сигнал аналогового ввода может быть общим для всех устройств, задействованных в синхронных измерениях. Еще один вариант состоит в том, что один из встроенных тактовых генераторов DAQ-устройства может быть общим для синхронизации тактовых генераторов всех остальных устройств.

D. Счетчики и синхронизация

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

Благодаря применению счетчиков в качестве источников сигналов синхронизации задач ввода-вывода разработчик получает возможность создавать:

· Задачи ввода с перезапуском

· Задачи ввода-вывода с переменной частотой дискретизации

· Задачи сбора данных с запуском по событию

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

Внешняя синхронизация аналогового ввода с помощью счетчика

При выполнении операций аналогового ввода или вывода в качестве сигнала синхронизации служит бесконечная последовательность импульсов или последовательность импульсов конечной длительности, генерируемая счетчиком. Частоту повторения импульсов можно изменять «на лету». Это позволяет соответственно изменять частоту дискретизации аналогового ввода или вывода. Настройте счетчик на непрерывную генерацию импульсов. Установите в качестве источника сигнала синхронизации аналогового ввода внутренний выход счетчика.

Примечание: Частоту импульсов AO Sample Clock можно изменять «на лету». Таким образом, вам не нужно в процессе работы приложения использовать счетчик для изменения частоты дискретизации аналогового вывода.

Операции аналогового ввода-вывода с перезапуском

Устройства с микросхемой STC3

В отдельных устройствах с микросхемой STC3, например X серии, есть возможность аппаратного перезапуска операций аналогового ввода и вывода с помощью свойства Retriggerable в узле свойств DAQmx Trigger.

Устройства с микросхемой STC2

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

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

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

 

Рисунок 8-9. Аналоговый ввод с перезапуском для устройств с микросхемой STC2

Запуск по событию

Бывают случаи, когда вам хочется пропустить некоторое количество импульсов запуска перед началом измерения или генерации сигнала. Такой типа запуска называют запуском по событию, поскольку запуск происходит по событию с номером N (2 < N < Предельное значение счетчика). Приложение с таким запуском можно реализовать с помощью счетчиков в составе многофункциональных модулей сбора данных производства National Instruments. На рис. 8-10 показано, как сконфигурировать запуск по событию с помощью драйвера DAQmx.

Рисунок 8-10. Запуск по событию

В верхнем ряду конфигурируется сигнал синхронизации отсчетов и сигнал запуска. В нижнем ряду счетчик конфигурируется на деление частоты импульсов так, чтобы сигнал запуска формировался по N-му импульсу на входе счетчика. Обратите внимание на выбранный вариант DAQmx Create Virtual Channel VI – Counter Output»Pulse Generation»Ticks. N-й импульс отсчитывается как по высоким, так и по низким уровням тактовых импульсов. В качестве источника тактовых импульсов может быть линия PFI, внутренний опорный генератор или какой-нибудь другой подходящий источник сигнала.

Применение импульсов синхронизации отсчетов со счетчиками

Устройства с микросхемой STC3

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

Устройства с микросхемой STC2

Устройства с микросхемой STC2 не позволяют синхронизировать операции таймерного ввода – измерения периода, частоты, длительности импульса или полупериода так же, как и при аналоговом вводе или выводе. Эти измерения нельзя запрограммировать на одновременное выполнение, поскольку по сигналам определяются моменты выполнения измерений, и в этом случае нет смысла настраивать несколько устройств для измерения одного и того же сигнала. Кроме того, для операции таймерного ввода нельзя использовать сигналы Start Trigger.

Несмотря на вышесказанное, вы можете убедиться в том, что все счетчики работают от одного и того же опорного генератора при измерениях параметров входных сигналов, используя общий для всех счетчиков сигнал CI Counter Timebase. Все устройства следует запрограммировать на использование одного и того же сигнала в качестве CI Counter Timebase (как правило, 20 MHz Timebase от одного из устройств). Вообще, одно из устройств может быть настроено на свой источник сигнала CI Counter Timebase, а его терминал может быть задан в качестве источника такого сигнала для остальных устройств.

Если вы синхронизируете приложения счета фронтов с буферизацией, это можно реализовать путем совместного доступа к сигналу Sample Clock, который должен быть заведен извне на одно из устройств. Другие синхронизируемые устройства программируются на использование сигналов Ctr n Gate этого устройства в качестве источника импульсов Sample Clock, где n номер счетчика.

Если вы синхронизируете приложения генерации импульсов, это можно реализовать путем совместного доступа к сигналам CO Counter Timebase и Start Trigger. Все устройства следует запрограммировать на использование одного и того же сигнала в качестве CO Counter Timebase (обычно 20MHzTimebase с одного из устройств). Вообще, одно из устройств может быть настроено на свой источник сигнала CO Counter Timebase, а его терминал может быть задан в качестве источника такого сигнала для остальных устройств. Все устройства необходимо запрограммировать на использование одного и того же сигнала в качестве Digital Edge Start Trigger, которым обычно является сигнал Ctr n Gate с одного из устройств, где n номер счетчика.


 

Выводы

· Синхронизацию измерений следует организовывать путем использования общего опорного тактового сигнала Timebase и общего сигнала запуска Start Trigger или общего тактового сигнала синхронизации отсчетов Sample Clock.

· С помощью функций DAQmx API создается одна главная задача и несколько подчиненных задач. Подчиненные задачи всегда должны запускаться раньше ведущей.

· Для передачи сигналов между несколькими устройствами PCI, PCIe, PXI или PXIe нужно использовать линии шин National Instruments RTSI или PXI Trigger.


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

1. Что из приведенного ниже списка должно быть общим, чтобы одновременно запустить и синхронизировать несколько задач?

a. Главная опорная частота (Master Timebase)

b. Физический канал (Physical Channel)

c. Импульс синхронизации отсчетов (Sample Clock)

d. Индикатор (Indicator)

e. Схему запуска (Trigger)

 

2. С помощью каких из перечисленных средств можно синхронизировать несколько устройств?

a. GPS

b. Шины RTSI

c. Внешний тактовый генератор

d. Шина PXI Trigger

 

3. Синхронизированы ли измерения в приведенной на рисунке блок-диаграмме? Если да, то почему? Если нет, то что мешает синхронизировать измерения?

 


 

4. Синхронизированы ли измерения в приведенной на рисунке блок-диаграмме? Если да, то почему? Если нет, то что мешает синхронизировать измерения?


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

1. Что из приведенного ниже списка должно быть общим, чтобы одновременно запустить и синхронизировать несколько задач?

a. Главная опорная частота (Master Timebase)

b. Физический канал (Physical Channel)

c. Импульс синхронизации отсчетов (Sample Clock)

d. Индикатор (Indicator)

e. Схему запуска (Trigger)

 

2. С помощью каких из перечисленных средств можно синхронизировать несколько устройств?

A. GPS







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



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

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

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

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

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

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

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

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