Проектирование реконфигурируемых систем в LabVIEW FPGA
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Год издания: 2023
Кол-во страниц: 648
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное профессиональное образование
ISBN: 978-5-93700-170-2
Артикул: 855972.01.99
В этой книге изложены основы проектирования реконфигурируемых систем в среде графического программирования LabVIEW, дополненной модулем LabVIEW FPGA. Приведен обзор разновидностей ПЛИС, модулей ввода-вывода классической архитектуры и модулей с реконфигурируемыми каналами ввода-вывода производства National Instruments. Рассмотрены основные компоненты и инструменты среды проектирования, на реальных примерах показана методика разработки и отладки распределенных и встраиваемых систем измерения, управления и тестирования. Описан полный цикл проектирования, включая этапы создания исполняемых файлов и инсталляторов, а также развертывания систем на целевых устройствах.
Содержание книги отражает опыт разработок, выполненных в учебном центре «Центр технологий National Instruments» Новосибирского государственного технического университета, опыт обучения на курсах повышения квалификации и преподавания соответствующих дисциплин студентам.
Книга, которую вы держите в руках, продолжает серию «Книжная полка Истового Инженера», которая издается при поддержке компании YADRO. Это издание подготовлено к публикации Московским институтом электроники и математики им. А. Н. Тихонова НИУ ВШЭ совместно с «ДМК Пресс».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Е.Д. Баран, А.Ю. Романов Проектирование реконфигурируемых систем в LabVIEW FPGA
УДК 621.3 ББК 32.372 Б24 Баран Е.Д. – старший преподаватель кафедры систем сбора и обработки данных Новосибирского государственного технического университета; Романов А.Ю. – канд. техн. наук, доцент Московского института электроники и математики им. А. Н. Тихонова Национального исследовательского университета «Высшая школа экономики». Баран Е.Д., Романов А.Ю. Б24 Проектирование реконфигурируемых систем в LabVIEW FPGA. – М.: ДМК Пресс, 2023. – 646 с.: ил. ISBN 978-5-93700-170-2 В этой книге изложены основы проектирования реконфигурируемых систем в среде графического программирования LabVIEW, дополненной модулем LabVIEW FPGA. Приведен обзор разновидностей ПЛИС, модулей ввода-вывода классической архитектуры и модулей с реконфигурируемыми каналами вводавывода производства National Instruments. Рассмотрены основные компоненты и инструменты среды проектирования, на реальных примерах показана методика разработки и отладки распределенных и встраиваемых систем измерения, управления и тестирования. Описан полный цикл проектирования, включая этапы создания исполняемых файлов и инсталляторов, а также развертывания систем на целевых устройствах. Содержание книги отражает опыт разработок, выполненных в учебном центре «Центр технологий National Instruments» Новосибирского государственного технического университета, опыт обучения на курсах повышения квалификации и преподавания соответствующих дисциплин студентам. Книга, которую вы держите в руках, продолжает серию «Книжная полка Истового Инженера», которая издается при поддержке компании YADRO. Это издание подготовлено к публикации Московским институтом электроники и математики им. А. Н. Тихонова НИУ ВШЭ совместно с «ДМК Пресс». УДК 621.3 ББК 32.372 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. © Баран Е.Д., Романов А.Ю., 2023 © Редактирование, НИУ ВШЭ, 2023 © Оформление, издание, ДМК Пресс, 2023 ISBN 978-5-93700-170-2
Содержание Отзывы о книге....................................................................................................8 Об авторах..........................................................................................................10 Предисловие Е.Д. Барана..................................................................................12 Предисловие А.Ю. Романова.............................................................................16 Благодарности...................................................................................................19 Глава 1. Программируемые логические интегральные схемы..... 20 1.1. Простые программируемые логические устройства................................22 1.2. Технологии программирования ПЛИС......................................................26 1.3. Пограничное сканирование и JTAG-интерфейс.......................................28 1.4. Сложные программируемые логические устройства...............................32 1.5. Оперативно программируемые логические матрицы.............................37 1.6. Сравнение архитектур ПЛИС.....................................................................44 1.7. Современные программируемые логические схемы Xilinx FPGA 7-й серии........................................................................................46 1.8. Средства проектирования цифровых устройств на ПЛИС......................51 1.9. Применение ПЛИС......................................................................................61 1.10. Заключение................................................................................................65 Глава 2. Устройства ввода-вывода.................................................. 66 2.1. Многофункциональные модули ввода-вывода классической архитектуры...............................................................................68 2.1.1. Блок аналогового ввода.......................................................................70 2.1.2. Блок аналогового вывода....................................................................73 2.1.3. Блок цифрового ввода-вывода...........................................................74 2.1.4. Блок таймерного ввода-вывода..........................................................76 2.1.5. О взаимодействии блоков многофункционального модуля вывода-вывода..............................................................................................77 2.2. Модули ввода-вывода со встроенным кондиционированием сигналов.............................................................................................................79 2.3. Модули ввода-вывода С-серии..................................................................84 2.4. Реконфигурируемые модули ввода-вывода серии R................................89 2.5. Реконфигурируемые модули ввода-вывода серии FlexRIO.....................92 2.6. Заключение.................................................................................................97 Глава 3. Виртуальные измерительные приборы и программное обеспечение National Instruments..................... 98 3.1. История появления LabVIEW...................................................................100 3.2. Основные свойства LabVIEW...................................................................101
4 Содержание 3.3. История развития технологии виртуальных измерительных приборов..........................................................................................................105 3.4. Measurement and Automation eXplorer....................................................107 3.4.1. Создание симулируемых устройств ввода-вывода.........................109 3.4.2. Конфигурирование и тестирование симулируемых устройств ввода-вывода..............................................................................113 3.4.3. Конфигурирование и тестирование реальных устройств ввода-вывода...............................................................................................120 3.4.4. Создание задачи.................................................................................122 3.4.5. Конфигурирование программного обеспечения среды проектирования..........................................................................................129 3.4.6. Конфигурирование сетевого окружения..........................................133 3.5. Заключение...............................................................................................137 Глава 4. Организация среды проектирования LabVIEW............138 4.1. Запуск LabVIEW. Начало работы..............................................................141 4.2. Создание проекта......................................................................................145 4.3. Редакторы для проектирования программ LabVIEW.............................149 4.4. Инструменты редакторов программ.......................................................151 4.4.1. Инструментальные линейки кнопок................................................151 4.4.2. Палитра инструментов Tools Palette................................................154 4.4.3. Объекты программ LabVIEW. Пример программы..........................156 4.4.5. Палитра объектов лицевой панели Controls Palette........................163 4.4.6. Палитра объектов блок-диаграммы Functions Palette....................176 4.5. Заключение...............................................................................................201 Глава 5. Техника программирования в среде LabVIEW.............202 5.1. Разработка лицевой панели и настройка объектов лицевой панели.......203 5.1.1. Настройка свойств объекта из контекстного меню.........................207 5.1.2. Задание свойств объекта в окне Properties......................................210 5.1.3. Массивы и кластеры на лицевой панели..........................................212 5.2. Разработка блок-диаграммы....................................................................215 5.2.1. Соединение узлов блок-диаграммы. Первая программа................218 5.2.2. Техника проектирования программ. VI генератора сигналов...............................................................................221 5.2.3. Разработка пиктограммы VI.............................................................222 5.2.4. Вызов подпрограмм subVI. Цикл While. Ошибки проектирования............................................................................227 5.3. Техника отладки программ в LabVIEW....................................................232 5.3.1. Устранение ошибок до компиляции, или Почему в LabVIEW мало грубых ошибок.................................................................232 5.3.2. Отладка программ с помощью пробников и контрольных точек..... 233 5.3.3. Средства пошаговой отладки программ. Анимация выполнения программы...........................................................238 5.3.4. Кластер ошибок. Интерпретация ошибок выполнения программы...................................................................................................240 5.3.5. Помощь в среде проектирования LabVIEW......................................242
Содержание 5 5.4. Разработка блок-диаграммы. Основные структуры...............................245 5.4.1. Структуры итерационной обработки данных (циклы While и For).....................................................................................245 5.4.2. Туннели и регистры сдвига...............................................................247 5.4.3. Разработка блок-диаграммы. Продолжение....................................251 5.4.4. Структура выбора...............................................................................253 5.4.5. Управление свойствами объектов....................................................254 5.4.6. Переменные в LabVIEW.....................................................................257 5.4.7. Обмен данными с использованием Channel Wire...........................259 5.5. Программирование операций ввода-вывода.........................................264 Глава 6. Архитектура реконфигурируемых систем измерения и управления................................................................272 6.1. Компоненты реконфигурируемых систем..............................................274 6.2. Системы на основе модуля R-серии........................................................277 6.3. Высокопроизводительные системы на платформе FlexRIO..................279 6.4. Системы на платформе CompactRIO.......................................................282 Глава 7. Среда проектирования реконфигурируемых систем.....290 7.1. Особенности среды LabVIEW FPGA..........................................................292 7.2. Генерация кода, загружаемого в FPGA.....................................................293 7.3. Палитра Controls LabVIEW FPGA..............................................................294 7.4. Палитра Functions LabVIEW FPGA............................................................296 7.4.1. Субпалитра функций обработки данных..........................................298 7.4.2. Субпалитра функций управления Control........................................301 7.4.3. Субпалитра Utilities............................................................................306 7.4.4. Субпалитра High Throughput Math....................................................309 7.4.5. Субпалитра матричных вычислений................................................312 7.4.6. Экспресс-функции субпалитры FPGA Math & Analysis...................313 7.4.7. Субпалитра ввода-вывода FPGA I/O..................................................314 7.4.8. Субпалитра узлов для работы с памятью FPGA................................319 7.4.9. Функции управления таймингом. Субпалитра Timing FPGA..........326 7.4.10. Субпалитра функций синхронизации задач в FPGA......................328 7.4.11. Интеграция IP в FPGA VI..................................................................330 7.5. Методы и средства отладки FPGA-приложений......................................332 Глава 8. Разработка реконфигурируемых систем в LabVIEW.....338 8.1. Этапы разработки реконфигурируемых систем.....................................339 8.1.1. Создание проекта системы на основе модуля R-серии...................341 8.1.2. Программирование целевой платформы. Разработка FPGA VI......346 8.1.3. Тактирование и синхронизация в FPGA...........................................358 8.2. Сборка и компиляция FPGA VI.................................................................362 8.3. Параллелизм выполнения операций в FPGA..........................................373 8.3.1. Разделяемые ресурсы........................................................................378 8.4. Оптимизация FPGA VI..............................................................................384 8.4.1. Оптимизация ресурсов FPGA............................................................385 8.4.2. Оптимизация производительности FPGA VI...................................388
6 Содержание Глава 9. Управление FPGA VI. Разработка Host VI.......................394 9.1. Субпалитра FPGA Interface.......................................................................398 9.1.1. Функция Invoke Method.....................................................................402 9.2. Программный обмен данными через элементы лицевой панели........405 9.2.1. Обработка событий интерфейса оператора. Структура Event........411 9.3. Обмен данными по прерываниям...........................................................416 9.4. Обмен данными с использованием канала прямого доступа к памяти.............................................................................................420 Глава 10. Обработка данных в приложениях LabVIEW FPGA......428 10.1. Фильтрация.............................................................................................429 10.1.1. Применение экспресс-функций для фильтрации в FPGA VI........430 10.1.2. Разработка Host VI для Filter_FPGA.vi.............................................435 10.1.3. Разработка нестандартных фильтров.............................................438 10.1.4. Тестирование FPGA приложений. FPGA Desktop Execution Node..... 449 10.2. Быстрое преобразование Фурье в FPGA................................................455 Глава 11. Стандартные интерфейсы для работы с периферийными устройствами. Комплексное тестирование приложений....................................462 11.1. Интерфейс SPI в FPGA.............................................................................466 11.2. Разработка SPI Master в FPGA на основе шаблона конечного автомата...........................................................................................................471 11.3. Интерфейс I2C в FPGA............................................................................477 11.4. Логический анализатор..........................................................................484 11.5. Тестирование разработанных устройств...............................................509 11.6. Дополнения и выводы............................................................................516 Интерфейсы.................................................................................................516 Логический анализатор..............................................................................517 Глава 12. Измерение неэлектрических величин. Расширение систем, выполненных на модулях R-серии .........520 12.1. Системы на основе модуля R-серии с шасси расширения и модулями С-серии........................................................................................522 12.2. Программирование модулей С-серии. FPGA VI....................................530 12.3. Программирование модулей С-серии. Host VI.....................................532 Глава 13. Разработка встраиваемых и распределенных систем на платформе cRIO.............................................................544 13.1. Модели программирования систем CompactRIO.................................547 13.2. Компоновка контроллера cRIO..............................................................550 13.3. Создание и компоновка проекта...........................................................552 13.4. Конфигурирование компонентов проекта............................................556 13.5. Разработка FPGA VI.................................................................................563
Содержание 7 13.6. Организация обмена данными между контроллером и компьютером................................................................................................566 13.6.1. Тестирование обмена данными в распределенной системе........576 13.7. Разработка RT VI......................................................................................578 13.8. Разработка PC VI.....................................................................................583 13.9. Тестирование...........................................................................................589 Глава 14. Создание и развертывание исполняемых файлов......592 14.1. Создание и развертывание двоичного файла, исполняемого в FPGA......................................................................................593 14.2. Создание и развертывание исполняемого файла для выполнения на контроллере cRIO...........................................................596 14.3. Создание приложения для выполнения на компьютере.....................599 Глава 15. Генерация HDL из проекта LabVIEW FPGA..................614 15.1. Установка LabVIEW FPGA IP Export Utility.............................................615 15.2. Начало работы с LabVIEW FPGA IP Export Utility..................................615 15.3. Элементы управления и индикаторы....................................................618 15.4. Экспорт IP-блока.....................................................................................620 15.5. Описание портов IP-блока.....................................................................623 15.6. Использование IP-блока в проекте Vivado............................................624 15.7. Сопряжение IP по AXI.............................................................................627 15.8. Запуск поведенческого моделирования................................................628 15.9. Использование однократно запускаемого IP-блока............................628 15.10. Работа с множественными доменами тактовых сигналов.................629 15.11 Экспорт HDL-кода в САПР других производителей ПЛИС..................633 Заключение......................................................................................................634 Список литературы..........................................................................................638
Отзывы о книге Современный мир невозможно представить без сложных цифровых устройств, которые претерпели существенные изменения за последнее столетие. Задачи, для решения которых пару десятков лет назад требовались огромные вычислительные машины, занимавшие целые здания, теперь способен решить процессор мобильного телефона, который может уместиться в ладони. Сейчас логические устройства встраиваются в различную технику, окружающую человека: автомобили, способные двигаться без участия человека, умные бытовые устройства, способные анализировать поведения, человека и предлагать ему разнообразные сценарии использования, и т.д. Поэтому задача разработки архитектуры новых логических устройств является важной и актуальной. Одним из инструментов разработки логических цифровых устройств является ПЛИС (программируемая логическая интегральная схема). Благодаря своей реконфигурируемой архитектуре ПЛИС может быть встроена как логический узел в различные вычислительные устройства. Одним из инструментов работы с платой ПЛИС является расширение среды LabVIEW под названием LabVIEW FPGA. Данное расширение позволяет провести полный цикл разработки логического устройства с ПЛИС в среде LabVIEW вплоть до его переноса и развертывания в других САПР. Стоит отметить, что на русском языке материалов по работе с данным расширением мало и они не систематизированы, поэтому рассматриваемая книга является большим подспорьем начинающим инженерам и профессионалам, которые хотят освоить принципы работы с платами ПЛИС в среде LabVIEW. LabVIEW FPGA может рассматриваться как средство проектирования для встраиваемых модулей с ПЛИС от компании National Instruments, так и как средство высокоуровневого синтеза для подготовки проекта к реализации на других аппаратных платформах. Книга «Проектирование реконфигурируемых систем в LabVIEW FPGA» хорошо структурирована, изложена грамотным русским языком, легким для чтения. В ней подробно и полно раскрыто проектирование в LabVIEW встраиваемых систем на ПЛИС. Эта книга будет полезна как специалистам, так и начинающим разработчикам. Иванников А.Д., д.т.н., проф., Главный научный сотрудник Института проблем проектирования в микроэлектронике Российской академии наук
Отзывы о книге 9 Дорогой читатель! Ты держишь в руках книгу по проектированию реконфигурируемых систем измерения и управления, написанную профессионалами-практиками: разработчиком измерительных систем и разработчиком систем на кристалле; оба руководят вузовскими исследовательскими лабораториями и имеют большой преподавательский опыт – так что не сомневайся, они точно знают, как и о чем нужно писать в учебной литературе. Книга стала логическим развитием предыдущего издания, увидевшего свет уже почти 15 лет назад и, конечно, требующего замены. Это учебное пособие будет крайне полезно в качестве входного портала для начинающих разработчиков, интересующихся студентов, а также и в качестве концентрированного справочника для практикующих специалистов. Оно удачно и систематически сочетает в себе 3 важнейших аспекта: 1) методология проектирования – включая необходимые сведения о ПЛИС как таковых, устройствах ввода/вывода, архитектуре конечных систем, интерфейсе для работы с периферийными устройствами; 2) введение в среду разработки (инструмент проектирования) – включая необходимые описания пользовательского интерфейса LabVIEW, правила и приемы программирования на встроенном графическом языке G, необходимые описания компонентов встроенной библиотеки FPGA; 3) множество простых и комплексных практических примеров (практику проектирования), необходимых для закрепления материала, демонстрирующих нюансы использования имеющихся возможностей. Читатель! Эта книга даст тебе то самое «знание того, куда нужно ударить». Не теряй времени, воспользуйся короткой дорогой к профессионализму! Самбурский Лев Михайлович, к.т.н., доцент МИЭМ НИУ ВШЭ, преподаватель курсов «Электроника», «Компоненты инфокоммуникационных устройств» и др. Уже больше 10 лет использует LabVIEW в преподавании и проектной работе
Об авторах Баран Ефим Давыдович – старший преподаватель кафедры систем сбора и обработки данных (ССОД) Новосибирского государственного технического университета (НГТУ, до 1992 года – Новосибирский электротехнический институт – НЭТИ). В 1969 г. защитил на кафедре информационно-измерительной техники (ныне ССОД) дипломный проект и работал в научно-исследовательском секторе на должностях от инженера до с.н.с., в качестве ассистента-совместителя вел на кафедре лабораторные и практические занятия по нескольким техническим дисциплинам. С 1984 г. – старший преподаватель, основные курсы: «Микропроцессоры и микроконтроллеры», «Измерительные информационные системы», «Системы контроля и диагностики», «SCADA-системы», «Программирование в LabVIEW». С 2004 г. руководитель созданного на базе кафедры ССОД НГТУ учебного центра «Центр технологий National Instruments»: https://nitec.nstu.ru. В лабораториях центра обучаются студенты нескольких факультетов НГТУ, проводятся курсы повышения квалификации для сотрудников и руководителей НИИ и КБ, промышленных предприятий, преподавателей образовательных учреждений высшего и среднего профессионального образования. Баран Е.Д. разрабатывал и руководил разработками приборов и систем различного назначения, в том числе приборов и систем для функционального контроля и диагностики средств микропроцессорной техники, систем автоматизации научного эксперимента, учебных лабораторных стендов и лабораторных практикумов по ряду дисциплин. Работы в этих направлениях продолжаются и в настоящее время. Автор 55 публикаций и 15 изобретений.