Автор работы: Пользователь скрыл имя, 15 Января 2015 в 23:36, курсовая работа
ПЛИС представляет собой микросхему, функциональность которой
определяется при программировании (применительно к ПЛИС обычно
используют термин «конфигурирование»). Пакет LabVIEW FPGA Module
предназначен для работы с постоянно расширяющимся семейством
реконфигурируемых устройств ввода-вывода (reconfigurable input/output,
RIO) компании National Instruments: плат сбора данных R-серии (R-series
DAQ), систем Compact Vision, CompactRIO, и PXI. Полный список
оборудования можно найти на сайте ni.com. Платы R-серии применяются
в сложных системах сбора данных, работающих в режиме реального
времени. Встроенное в систему Compact Vision ядро ПЛИС обеспечивает
поддержку триггеринга и синхронизации. ПЛИС в составе модульной
системы CompactRIO выполняет функции тактирования ввода-вывода,
цифровой обработки сигналов и дискретного управления. Блок
тактирования и синхронизации в системах NI PXI (контроллер второго
слота), отвечает за тактирование, триггеринг и синхронизацию нескольких
систем PXI.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ
УНИВЕРСИТЕТ (МАМИ)
/ УНИВЕРСИТЕТ МАШИНОСТРОЕНИЯ /
Кафедра: «Автоматика и процессы управления»
Реферат на тему:
«Разработка многоканальной системы сбора и отображения информации гибридной силовой установки с использованием среды графического программирования Lab View. Программная часть.»
Студент:
Румянцев Илья Алексеевич
Группа: 7-УТСн-2
Преподаватель:
к.т.н., доцент Самохвалов Сергей Яковлевич
Москва
2014
Оглавление
Разработка и создание системы, которая позволит собирать сигналы со всех датчиков одновременно, с помощью одной общей системой сбора данных NI CompactRIO и установленных на ней необходимых модулей, в том числе с промежуточных устройств типа контроллеров.
ПЛИС является аппаратной средой для выполнения приложений LabVIEW. Для задания логики работы ПЛИС вместо специализированного языка VHDL используется виртуальный прибор LabVIEW (рис. 4-4). Пакет LabVIEW FPGA Module позволяет создавать программы с синхронными и асинхронными параллельными циклами, выполняющимися на аппаратном уровне и обеспечивающими детерминированный по времени сбор и анализ данных.
На рис. 4-5 показана блок-диаграмма системы ввода-вывода ПЛИС. Модули ввода-вывода соединены с ПЛИС напрямую. Связь с контроллером осуществляется по шине PCI.
Рис. 4-5. Ресурсы ввода-вывода ПЛИС
Программный пакет LabVIEW FPGA Module полностью берет на себя многоступенчатый процесс преобразования виртуального прибора LabVIEW в бинарный код ПЛИС. Сначала виртуальный прибор конвертируется в текстовый код на языке VHDL. Затем код VHDL компилируется стандартным промышленным компилятором Xilinx ISE в бинарный код ПЛИС. В процессе компиляции происходит оптимизация кода по скорости выполнения и по задействованным ресурсам ПЛИС.
Результатом компиляции является бинарный файл (bitstream file), полностью определяющий конфигурацию ПЛИС. При запуске приложения бинарный файл загружается на ПЛИС, то есть происходит процесс конфигурирования ПЛИС. Бинарный файл может записываться во встроенную флеш-память и автоматически загружаться на ПЛИС при включении системы. На ПЛИС отсутствует операционная система как таковая. Тем не менее, на ПЛИС реализуется логика, позволяющая запускать и останавливать выполнение кода.
Когда вы запускаете FPGA VI или выполняете команду Build (собрать) из меню Tools, блок-диаграмма виртуального прибора конвертируется в промежуточные файлы, которые затем передаются на сервер компиляции (рис. 4-6). Сервер возвращает бинарный файл в среду разработки LabVIEW, где он сохраняется вместе с виртуальным прибором. Поскольку LabVIEW является клиентом, соединение с сервером компиляции может быть разорвано и вновь установлено без нарушения процесса компиляции. Конечный бинарный файл уникален для каждого устройства ПЛИС. Виртуальный прибор может быть скомпилирован для нескольких устройств ПЛИС, при этом все бинарные файлы будут сохранены вместе с виртуальным прибором. Бинарный файл загружается на ПЛИС автоматически при нажатии на кнопку Run.
Рис. 4-6. Процесс компиляции
При отключении питания конфигурация ПЛИС не сохраняется. После включения системы бинарный файл должен быть загружен заново. При соответствующей настройке бинарный файл может загружаться автоматически из флеш-памяти устройства ПЛИС или программно, при помощи контроллера. Одно из преимуществ загрузки из флеш-памяти — быстрый запуск после включения питания, так ПЛИС может не ждать загрузки контроллера.
Виртуальные приборы FPGA VI могут выполняться полностью независимо от других компонентов системы и сохранять работоспособность даже при сбое контроллера. Более того, на ПЛИС может быть организован буфер, который предотвратит потерю данных в случае сбоя контроллера.
ПЛИС предназначена в первую очередь для тактирования, синхронизации, триггеринга, сбора данных и цифровой обработки сигналов. Для управления каждым ресурсом ввода-вывода генерируется специальный код, использующий ресурсы ПЛИС. Для поддержки шины PCI также выделяется небольшое количество ресурсов ПЛИС. Остальные ресурсы ПЛИС предназначены для реализации логики, определяемой пользователем. Таким образом, количество ресурсов ПЛИС, необходимых для конкретного приложения, зависит от сложности алгоритмов и задействованных средств ввода-вывода.
На ПЛИС может быть реализована многоконтурная система ПИД- регулирования с частотой более 100 кГц. Цифровые системы управления могут работать с частотой до 1 МГц. Логические операции на ПЛИС могут выполняться за один такт с частотой 40 МГц (25 нс). Поскольку архитектура ПЛИС обеспечивает параллельность выполнения на аппаратном уровне, добавление параллельных контуров не снижает производительность системы.
ПЛИС предназначена в первую очередь для тактирования, синхронизации, триггеринга, сбора данных и цифровой обработки сигналов. При помощи пакета LabVIEW FPGA Module можно создавать как простые виртуальные приборы, так и масштабные системы, включающие несколько устройств ПЛИС, контроллеров реального времени и компьютеров с ОС Windows. На этом занятии вы научитесь создавать виртуальные приборы FPGA VI для целевых устройств ПЛИС.
Пакет LabVIEW FPGA Module позволяет создавать оптимизированный код для ПЛИС при помощи высокоуровневого графического языка программирования LabVIEW. При этом используются стандартные методы программирования LabVIEW.
На одном устройстве ПЛИС может выполняться только один виртуальный прибор. При загрузке новый виртуальный прибор замещает старый.
Если FPGA VI находится в иерархии
устройства ПЛИС в проекте, в палитре функций
остаются только объекты, поддерживаемые
ПЛИС. Основное отличие между программированием
ПЛИС и программированием для Windows состоит
в том, что ПЛИС не поддерживает вычисления
с плавающей точкой. Для ПЛИС также не
существует понятий многопоточности и
приоритетов, поскольку параллельные
части кода выполняются независимо на
аппаратном уровне. Многопоточность и
приоритеты подробно рассматриваются
в курсе «Разработка приложений реального
времени в LabVIEW».
Для тестирования и отладки FPGA VI используется
режим интерактивной лицевой панели (рис.
4-8). Управление виртуальным прибором в
этом режиме осуществляется за счет программного
интерфейса ПЛИС. За обновление лицевой
панели отвечает сервер VISA, запущенный
на контроллере реального времени. Более
эффективные способы обмена данными с
ПЛИС будут рассмотрены позже.
Рис. 4-8. Режим интерактивной лицевой панели
Для тестирования логики работы, FPGA VI может быть запущен в режиме эмуляции на компьютере с ОС Windows. Данный режим поддерживает эмуляцию ввода-вывода, но без аппаратного тактирования. В режиме эмуляции доступны стандартные средства отладки LabVIEW.
Так как ПЛИС обладает исключительной надежностью и отличными временными характеристиками, в рамках FPGA VI обычно реализуются критически важные по времени алгоритмы управления, сбора данных, триггеринга и тактирования. Однако ресурсы ПЛИС ограничены, поэтому анализ и обработка данных обычно переносится на контроллер реального времени или компьютер.
Для создания FPGA VI используется проект LabVIEW. Кликните правой кнопкой мыши по целевому устройству ПЛИС и выберите New»VI, как показано на рис. 4-9. Сохраните виртуальный прибор в нужной директории и сохраните проект.
Рис. 4-9. Добавление виртуального прибора в проект
В проекте LabVIEW виртуальные приборы должны располагаться в соответствии с рис. 3-3 (Архитектура приложения и виртуальные приборы в иерархии проекта). FPGA VI должен располагаться в иерархии целевого устройства ПЛИС. RT Host VI, выполняющийся на контроллере реального времени, должен располагаться в иерархии контроллера CompactRIO. Windows host VI должен располагаться в иерархии элемента My Computer.
Так как виртуальный прибор находится в иерархии целевого устройства ПЛИС, палитра функций (Functions Palette) содержит только те объекты, которые поддерживает ПЛИС (рис. 4-10). Обратите внимание, что набор функций, виртуальных приборов и субпалитр существенно отличается по сравнению с палитрой виртуальных приборов Windows Host VI, которая подробно рассматривалась в курсах «LabVIEW основы I» и «LabVIEW основы II».
Рис. 4-10. Палитра функций ПЛИС
Само расположение элемента в иерархии проекта несет определенную информацию. Если элемент находится в иерархии устройства ПЛИС, LabVIEW открывает доступ только к тем возможностям элемента, которые поддерживаются на ПЛИС. Например, если открыть блок-диаграмму виртуального прибора FPGA VI, находящегося в иерархии устройства ПЛИС в проекте, палитра будет содержать только функции ПЛИС.
Большая часть функций палитры ПЛИС аналогична функциям LabVIEW для Windows. Одно из отличий — субпалитра FPGA I/O (ввод-вывод ПЛИС), показанная на рис. 4-11. Субпалитра содержит узлы FPGA I/O Node (узел ввода-вывода ПЛИС), FPGA I/O Property Node (узел свойств ПЛИС) и FPGA I/O Method Node (узел методов ПЛИС).
Узлы ввода-вывода используются для обращения к модулям ввода-вывода и будут подробно рассмотрены на занятии 7, посвященном обмену данными и синхронизации. Узлы свойств и методов ПЛИС применяются по аналогии с обычными узлами свойств и методов LabVIEW, которые рассматривались в курсах «LabVIEW основы I» и «LabVIEW основы II».
Рис. 4-11. Субпалитра FPGA I/O
Еще одно отличие касается субпалитры FPGA Math & Analysis, показанной на рис. 4-12.
Рис. 4-12. Субпалитра FPGA Math & Analysis В табл. 4-2 перечислены объекты субпалитры FPGA Math & Analysis.
Табл. 4-2. Объекты субпалитры FPGA Math & Analysis
Объект в палитре |
Описание |
Analog Period Measurement (измерение периода аналогового сигнала) |
Функция предназначена для измерения периода аналогового сигнала. Началом периода считается момент перехода сигнала через заданное пороговое значение. |
Butterworth Filter (фильтр Баттеруорта) |
Функция реализует БИХ-фильтр Баттеруорта |
DC and RMS Measurements (измерение постоянной составляющей и среднеквадратичного отклонения) |
Функция предназначена для измерения постоянной составляющей и среднеквадратичного отклонения входного сигнала. Функцию также можно использовать для вычисления среднего значения, бегущего среднего значения и суммарного квадратичного отклонения. |
Look -Up Table 1D (одномерная логическая таблица) |
Функция позволяет использовать заранее инициализированный блок памяти. Используйте эту функцию для хранения форм сигналов, моделей нелинейных систем и результатов предварительных расчетов. Если функция находится внутри однотактового цикла (single-cycle Timed Loop), ее выходной терминал необходимо соединить непосредственно со сдвиговым регистром, т.к. выполнение функции целиком занимает один такт. |
Sine Generator (генератор синусоиды) |
Функция предназначена для поточечной генерации синусоидального сигнала. Генерация происходит непрерывно. При каждом вызове функция возвращает новое значение, которое вместе с предыдущими образует синусоиду. |
Control VIs (функции управления) |
Субпалитра содержит функции для создания систем управления на базе ПЛИС. |