УДК 004.2; 004.272.43; 681.5 Ю.С. ЯКОВЛЕВ*, А.А. ТИМАШОВ*
СРЕДСТВА СБОРА И ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПЛИС ДЛЯ ТЕХНОЛОГИЧЕСКИХ КОМПЬЮТЕРНЫХ СИСТЕМ И СЕТЕЙ
Институт кибернетики имени В.М. Глушкова НАН Украины, Киев, Украина
Анотаця. Розглянуто вар1анти оргашзацИ i3 застосуванням ПЛ1С засоб1в збору та попередньог обробки даних, що забезпечують тдвищення продуктивностi технологiчних систем i3 застосуванням pi3HUX ттерфейав i рiзних амейств i титв ПЛ1С. Запропоновано концептуальш положен-ня апаратурног тдтримки фрагментiв алгоритму (тдпрограм) за допомогою вузлiв i блоюв, реалi-зованих на ПЛ1С, а також варiант структурног схеми технологiчног системи з використанням PCI Express i множини датчиюв даних, попередня обробка яких виконуеться на множим тдклю-чених за допомогою кабелiв ПЛ1С через вiдповiднi адаптери.
Ключов1 слова: застосування ПЛ1С, засоби збору даних, попередня обробка даних, технологiчнi системи, ттерфейс PCI Express.
Аннотация. Рассмотрены варианты организации с применением ПЛИС средств сбора и предварительной обработки данных, обеспечивающих повышение производительности технологических систем с применением различных интерфейсов и различных семейств и типов ПЛИС. Предложены концептуальные положения аппаратурной поддержки фрагментов алгоритма (подпрограмм) с помощью узлов и блоков, реализованных на ПЛИС, а также вариант структурной схемы технологической системы с использованием PCI Express и множества датчиков данных, предварительная обработка которых выполняется на множестве подключенных с помощью кабелей ПЛИС через соответствующие адаптеры.
Ключевые слова: применение ПЛИС, средства сбора данных, предварительная обработка данных, технологические системы, интерфейс PCI Express.
Abstract. Alternatives of the organisation with PLIS application of resources of collection and preprocessing of data providing rise ofproductivity of technological systems with application of various interfaces and various sets and types of the PLIS are observed. The conceptual rules of hardware support of fragments of algorithm (subroutines) by means of knots and the blocks realised on the PLIS are offered. The variant of the block diagram of technological system with use of PCI Express and sets of gauges of the data which pre-processing is carried out on set connected by means of cables PLIS through corresponding adapters is offered.
Keywords: PLIS application, data gathering resources, pre-processing of data, technological systems, PCI Express interface.
1. Введение
Технологические компьютерные системы (ТКС) можно определить как микропроцессорные системы, которые непосредственно взаимодействуют с объектом контроля или управления. Диапазон реализаций ТКС очень большой. Особенности проектирования ТКС вытекают из особенностей современной элементной базы. Рядом с традиционными программированными процессорными ядрами (микропроцессорами) разработчик имеет дело с функциональными расширителями и контроллерами, со схемами программированной логики - программируемые логические интегральные схемы (ПЛИС).
Основное назначение технологических систем - применение к сложным объектам, помощь лицам, которые принимают решение (ЛПР) при контроле сложных процессов, выявление и предупреждение опасностей, разработка рекомендаций, то есть помощь в решении проблемных ситуаций до того, как они станут необратимыми. Именно к такому классу
© Яковлев Ю.С., Тимашов А.А., 2017
ISSN 1028-9763. Математичш машини i системи, 2017, № 1
принадлежит технологическая система на базе системы информационной поддержки (СИП) с аппаратной поддержкой (СИП-АП).
Необходимость создания технологических систем обусловливается беспрерывно возрастающей сложностью управляемых объектов и процессов с одновременным сокращением времени, отведенного ЛПР на анализ проблемной ситуации и принятия необходимых управляющих влияний. Комплексное применение таких средств позволяет создавать типичные конфигурации систем информационной поддержки СИП-АП для решения задач в разных областях их применения, например, в обучении (в частности, в дистанционном и с использованием тренажеров), в научных исследованиях, управлении производством, полунатурном моделировании разных объектов и др. При этом совместно с аппаратными средствами должны быть созданы и дополнительные программные средства, которые обеспечивают работу аппаратных средств в составе технологических систем СИП-АП. Главными особенностями задач, которые решаются с помощью технологических систем на базе СИП-АП, являются необходимость учета временного фактора при описании проблемной ситуации и в процесс поиска решения, а также необходимость получения решения в условиях временных ограничений, определенных реальным управляемым процессом.
2. Актуальность
Решение указанных выше задач позволяет с минимальными затратами для многих определенных областей применения строить системы информационной поддержки принятия решений, которые могут работать в реальном масштабе времени, что является современным и актуальным особенно для поддержки принятия решений в системах с множественными параметрами, а также в системах, где пользователь работает с большим количеством механических, электронно-механических, компьютеризированных и других приборов, органов управления и отображения, с помощью которых обеспечиваются мониторинг, обработка и отображение большого количества разнородных параметров.
3. Цель работы
На основе существующего анализа методов и средств построения систем сбора и предварительной обработки данных с применением ПЛИС и скоростных интерфейсов определить базовую концепцию повышения производительности и улучшения других параметров технологической системы, а также способа организации СИП-АП, обеспечивающего принятие решений в реальном масштабе времени.
4. Основной материал
Повысить производительность технологических систем за счет сбора и предварительной обработки информации можно следующим образом:
- средства предварительной обработки размещать в непосредственной близости от источника данных, что исключает задержки при передаче исходных данных;
- использовать реконфигурируемую элементную базу, например, микросхемы ПЛИС, настраивая её архитектуру и структуру на соответствующем уровне иерархической системы СИП-АП на алгоритм задачи предварительной обработки;
- использовать высокоскоростные интерфейсы, например, PCI Express - kX, где к =2, 4, 8,16, 32, при передаче результатов предварительной обработки главному компьютеру;
- обеспечить эффективную синхронизацию исходных данных и результатов их предварительной обработки в компьютерной сети при наличии множества источников данных.
Основная идея исследований - перенесение реализации отдельных подпрограмм (или частей алгоритма задачи пользователя) на встроенные или присоединенные к СИП-АП аппаратно-программные средства для повышения производительности решения задач и улучшения качественных показателей работы СИП-АП. Это обеспечивает возможности принятия решений в реальном масштабе времени за счет оптимизации вычислительного процесса и процессов сбора, предварительной обработки, отображения и передачи данных, взаимодействия пользователя с системой, а также возможности параллельного выполнения аппаратных и программных частей алгоритма задачи пользователя.
Основная концепция для построения систем на основе аппаратно-программных средств - это реализация многоуровневой виртуализации подсистем и аппаратно-программных средств системы на основных уровнях, например:
• уровень 1 - виртуальных датчиков, приборов, органов управления, средств отображения информации, обработки и т.д., построенных в виде специализированных модулей на микроконтроллерах (МК) и/или на ПЛИС, самостоятельных или встроенных, которые обеспечивают роботу непосредственно с объектами мониторинга (управления), а также взаимодействие с пользователями определенных профессий, занятых обслуживанием данных объектов и оборудования;
• уровень 2 - виртуальных подсистем, в том числе распределенных подсистем, предназначенных для решения конкретных типичных задач пользователя для заданной предметной области с комплексным использованием разных виртуальных средств разных уровней и элементов других подсистем;
• уровень 3 - типовых виртуальных рабочих мест пользователей (и операторов, которые учатся) на базе совместно используемых виртуальных средств и подсистем разных уровней;
• уровень 4 - типовых виртуальных рабочих (информационных) пространств пользователя (индивидуально или для определенной рабочей группы), которые используют общие данные подсистем разных уровней.
Виртуализация и создание виртуальных объектов - это сложная проблема, которая соприкасается с онтологией, системной интеграцией, искусственным интеллектом, облачными вычислениями и др. (см. Интернет - "Википедия"), что может быть предметом отдельных исследований. Поэтому в данном конкретном случае под виртуальными подсистемами, рабочими местами, пространствами и т.д. понимается множество (набор) реальных функциональных объектов с соответствующими программными обеспечениями и интерфейсами, подчиненное системной интеграции, необходимое и достаточное для оптимального решения задач пользователя в реальном масштабе времени и человеко-машинного взаимодействия. Этот набор сформирован для каждого уровня из множества (избыточных или реконфигурируемых на ПЛИС) объектов соответствующего функционального назначения с возможностью их использования при организации работы подсистем, рабочих мест, пространств. Количество уровней, их характеристики, аппаратно-программные средства и подсистемы, которые применяются, должны определяться при разработке конкретной системы (или конфигурации типовой системы под определенные задачи).
Повышение производительности систем информационной поддержки и качества принятия решений в реальном масштабе времени (СИП-АП) может быть реализовано на разных уровнях в таких средах:
- в распределенной аппаратурной среде, которая содержит большое количество процессоров, за счет максимального распараллеливания программы пользователя и оптимизации загрузки каждого процессора. При этом отдельные фрагменты алгоритма задачи пользователя могут быть реализованы с помощью аппаратурных средств, работа которых
может выполняться одновременно с работой программных средств, дополнительно повышая тем самым производительность СИП-АП в целом;
- в среде сбора, предварительной обработки, накопления, отображения и передачи данных, необходимых для работы СИП-АП, за счет оптимизации формирования потоков данных, исключения немотивированного дублирования и избыточности данных, обеспечения их полноты и целостности, применения средств и контроллеров для предыдущей их обработки;
- в среде взаимодействия пользователя с системой через интеллектуальные человеко-машинные интерфейсы, которые обеспечивают комфортное взаимодействие и быструю реакцию пользователя в зависимости от результатов, полученных системой; мгновенную реакцию системы в зависимости от принятия решений.
В соответствии с этим далее рассмотрены различные подходы для достижения поставленной цели - повышения производительности системы, используя при этом различные микросхемы ПЛИС и различные интерфейсы.
5. Примеры средств сбора и предварительной обработки данных
Так, в [1] описывается модуль систем сбора данных и управления, построенный на основе ПЛИС Xilinx Spartan 3 XC3S400, обеспечивающий работу в составе локальных сетей с интерфейсом 100 Мбит/с Ethernet по протоколам UDP/IP. Модуль предоставляет возможность точной настройки функций и параметров под конкретную систему путем замены прошивки ПЛИС.
Современные ПК в промышленном исполнении позволяют использовать их в системах сбора данных и управления, где ранее использовались специализированные контроллеры. Имеется широкий выбор ПК и их компонентов, изготовленных в промышленном исполнении и способных работать в жестких климатических условиях. Однако при использовании ПК в системах управления возникает ряд задач, связанных с интерфейсами и скоростью передачи данных. Предложенный в [1] модуль предназначен для установки в управляемое устройство или в непосредственной близости от него так, чтобы можно было принимать высокочастотные сигналы без искажений. Это обеспечивает связь с управляющим ПК по интерфейсу Ethernet 100 Мбит/с (витая пара) по протоколам UDP/IP. С управляемым устройством модуль связан 48-ю линиями ввода-вывода, обеспечивающими ввод данных для передачи в ПК и выдачу в устройство управляющих сигналов по командам, принимаемым от ПК. Основой модуля является ПЛИС XC3S400 семейства Spartan3 фирмы Xilinx, что позволяет реализовать на входах и выходах модуля такой интерфейс, который нужен для конкретного управляемого устройства.
Структурная схема модуля приведена на рис. 1. При этом от ПЛИС требуется необходимое количество вентилей, встроенной памяти и умножителей, а также удобный для монтажа корпус.
Для разработки прошивки ПЛИС использовался пакет Xilinx ISE, имеющий бесплатную версию, доступную для загрузки с сайта www.xilinx.com. При этом в ПЛИС реализованы следующие узлы:
• Генератор синхронизирующих последовательностей для всех компонентов модуля.
• Контроллер МАС уровня сети Ethernet.
• Блок реализации протокола IP.
• Блок реализации протокола UDP.
• Основной управляющий алгоритм модуля.
• Все специализированные интерфейсы связи с управляемым устройством. Благодаря богатым возможностям синтеза цифровых схем на ПЛИС никакой дополнительной логики, кроме шинных формирователей, не потребовалось.
• UART для связи с одним из модулей управляемого устройства.
• Блок управления, содержащий регистры управления для настройки параметров блоков ПЛИС и регистр состояния.
Все перечисленные блоки заняли порядка половины ресурсов ПЛИС.
Программное обеспечение модуля состоит из файла прошивки ПЛИС и тестовой программы, проверяющей работу модуля в сети и измеряющей скорость обмена данными с ПК. Тестовая программа работает в ОС Windows XP и QNX 6.3. Алгоритмы управления более высокого уровня, связанные с принятием решений и выработкой управляющих воздействий, реализуются рабочим ПО той системы управления, в которой используется данный модуль. В данном случае модуль использован в специализированной системе регистрации и обработки радиолокационных сигналов, работающей в реальном масштабе времени в диапазоне температур от - 40 до +85 градусов при токе потребления 200 мА.
Рис. 1. Структурная схема модуля сбора данных и управления для сетей Ethernet
В [2] описана система CODAC, представляющая собой АСУ ТП установки ITER. (International Thermonuclear Experimental Reactor), построенная по трехуровневой архитектуре (рис. 2).
Установка ITER - это физическая установка с большим количеством технологических подсистем (более 170), содержащих исполнительные механизмы, датчики и другое оборудование. Для координированного управления этими подсистемами необходима автоматизированная система управления технологическим процессом (АСУ ТП). При этом на верхнем уровне находится устройство (супервизор), координирующее общую работу системы; на среднем уровне - САУ (система автоматического управления); на нижнем
уровне - управление с помощью программируемых логических контроллеров (ПЛК), а также магистрально-модульные системы. В данной работе [2] рассмотрена концепция системы сбора данных быстрых процессов на базе экспериментального стенда, являющегося прототипом системы управления установки ITER CODAC. Быстрые процессы в концепции CODAC - это процессы, частота которых выше 100 МГц. Обработка быстрых процессов осуществляется на «быстрых контроллерах» (см. Fast Controller на рис. 2). Однако пропускная способность в настоящее время даже шины PCI Express является недостаточным для высокоскоростных многоканальных систем при требовании Online-передачи информации со скоростью порядка 0,5 Терабит/с.
Actuators and Sensors Рис. 2. АСУ ТП установки ITER
В связи с этим в [2] предложено применять алгоритмы обработки данных на ПЛИС непосредственно в точке ввода информации в систему. При этом обработка первичной экспериментальной информации проводилась на программируемой логической интегральной схеме (ПЛИС) Cyclone III EP3C16F484C6 в приборе ADC-12500, входящем в состав стенда. Для разработки программы по реализации обработки данных была выбрана САПР Quartus 11.1, продукт фирмы Altera, созданный для анализа и синтеза HDL проектов, позволяющий разработчику компилировать свои проекты, выполнять временной анализ, изучать RTL-диаграммы, симулировать реакцию на различные воздействия и др.
Алгоритм обработки результатов физического эксперимента, реализованный в САПР Quartus II, включает в себя предварительную и конечную фильтрацию данных, арифметические и тригонометрические операции с данными, дающие на выходе алгоритма разность сдвига фаз. Описываемый в этой работе модуль был создан на языке AHDL с подключением VHDL и VERILOG-модулей.
Реализация предложенного алгоритма в ПЛИС позволила сократить выходной поток данных в два раза за счет обработки данных на ПЛИС в составе прибора ADC-12500 стенда типа CODAC, что открывает широкие возможности обработки высокоскоростных потоков данных в быстрых измерительных каналах установки ITER.
Принципиально новый подход к созданию систем управления и сбора данных реализован в серии устройств CompactRIO компанией National Instruments, США [3].
CompactRIO - это высокопроизводительная, суперкомпактная, отказоустойчивая embedded-платформа, основанная на технологии RIO (reconfigurable I/O technology) и графического программирования LabVIEW. RIO-технология обеспечивает создание необходимых конфигураций систем сбора данных, обработки и управления в кратчайшие сроки, а также позволяет разработчику синтезировать собственную структуру контроллера или системы сбора данных для решения конкретной задачи, используя перепрограммируемую с помощью LabVIEW логику FPGA (field programmable gate array).
Платформа CompactRIO включает embedded процессорные модули реального времени с плавающей запятой, 4-х и 8-слотовые реконфигурируемые шасси на основе высокопроизводительных FPGA (1 или 3 миллиона "ячеек"), пассивное 4-слотовое шасси и 17 моделей модулей аналогового и дискретного ввода/вывода, допускающих "горячую" замену (от ввода сигналов с термопар до ввода дискретных сигналов уровня 250 В на постоянном или переменном токе). Две базовые конфигурации систем сбора данных и управления возможны на основе перечисленных устройств CompactRIO. R-серии расширения содержат пассивные шасси с модулями УСО, подключенные к портам дискретного В/В плат для шин PCI. В этой конфигурации функции устройств CompactRIO состоят в согласовании уровнями сигналов ввод/вывод гальванической развязки, преобразовании аналоговых сигналов в последовательный дискретный сигнал и наоборот. Только при одной плате с ре-конфигурируемым ввод/вывод, установленной на платформу хост компьютера или PXI RT-контроллера, можно построить систему с 8-ю или 16-ю модулями УСО CompactRIO.
Концепция CompactRIO также предполагает наличие отдельного высокопроизводительного процессорного модуля индустриального класса с операционной системой реального времени. Операции обработки, требующие высокого быстродействия, могут быть реализованы на аппаратном уровне, все остальное - на программном.
Кроме того, в составе устройства имеются высокопроизводительные (класс Pentium, 200 МГц) процессорные модули семейства, которые ориентированы на выполнение приложений реального времени, созданные в LabVIEW. Процессор обеспечивает обработку сигналов в формате с плавающей запятой с временем выполнения цикла в контурах управления не более 1 мс.
Платформа NI Compact DAQ [4] той же компании National Instruments обеспечивает скорость передачи данных до 3,2 MB/s и "plug-and-play" установку датчиков ориентированных модулей с возможностью их "горячей" замены; организацию до 256 каналов аналогового ввода или 32 каналов аналогового вывода, или 64 каналов дискретного ввод/вывод. Частота дискретизации аналоговых сигналов может достигать 400кГц на модуль, а разрешение - 24 бита. Программная поддержка платформы драйвер NIDAQmx и дополнительный комплект утилит позволяет выполнить разработку системы на основе CompactDAQ. Простота USB подключения и гибкость модульной структуры CompactDAQ достигнуты за счет использования трех новых технологий, разработанных специалистами NI:
- NI Signal Streaming - новая технология синхронной передачи четырех интенсивных потоков данных (аналоговый ввод, аналоговый вывод, дискретный ввод и дискретный вывод) по каналу USB;
- Integrated Module Controller - технология, обеспечивающая автоопределение модулей, "горячую замену" и, собственно, связь с каждым конкретным модулем;
- NI-STC 2 - технология синхронизации и управления потоками данных, реализованная в виде специализированного ASIC-контроллера (application specific integrated circuit).
Технология NI Signal Streaming предполагает организацию четырех локальных каналов DMA между модулями и контроллером интерфейса USB, то есть промежуточный
контроллер исключается из канала передачи данных, в отличие от традиционных решений. Кроме того, часть драйвера перемещается на уровень "железа", чтобы минимизировать временные затраты на управление обменом. Для реализации этих идей в платформе CompactDAQ используются ASIC-контроллер NI-STC 2 и Integrated Module Controller.
Ассортимент модулей для CompactDAQ включает 12 моделей С-серии. Здесь практически есть все: скоростной синхронный ввод/вывод, гальваническая развязка, непосредственное сопряжение с сенсорами, то есть все необходимое для создания высокопроизводительных систем в различных областях на идеологически новой платформе NI Compact DAQ.
В [5] рассмотрена особенность применения ПЛИС для системы сбора научной информации (СЗНИ) одного из спутников ("Ионосат-Микро"). После анализа результатов эксплуатации СЗНИ были установлены новые требования к новому поколению ПЛИС. При этом набор выполняемых функций был расширен, а также были разработаны новые модели ПЛИС и модели стендов, а также наборы тестов для отладки отдельных ПЛИС и СЗНИ в целом. К набору ПЛИС входят ПЛИС центрального блока (ЦБ), комплект ПЛИС периферийных модулей (ПМ) и ПЛИС контрольно-проверочной аппаратуры. Модель стенда дает возможность проверить обмен данными каналами Sciway (в частности, и его компонентом - каналом CAN), последовательными каналами типа RS и радиоканалом. Также моделируется обмен данными с малогабаритной измерительной системой, которая определяет высокоточную ориентацию спутника, моделирует работу модулей с динамической памятью и работу под действием разных помех.
Таблица 1. Основные параметры ПЛИС СЗНИ
Параметры ПМ ЦБ
Тип ПЛИС xc6slx45 csg324-3 Xc6slx150 fgg676-3
Количество синхронных каналов Sci Way 1 4
Частота синхронного канала Sci Way, МГц 120/240 125/250
Количество контроллеров CAN 1 4
Частота СА^ МГц 20 20
Системная шина микроконтроллера, бит 16 32
Частота микроконтроллера, МГц 24 32,25
Частота радиоканала, МГц - 1....160
Количество задействованных слайсов ПЛИС 1189((17%) 7758 (33%)
Количество задействованных контактов ПЛИС 105 274
Количество блоков RAMB 16-битных 6 (5%) 21 (7%)
Количество блоков RAMB 8-битных 1 (1%) 4 (1%)
Количество блоков DRAM (частота, МГц) 1(192) 2 (200)
Общая потребляемая мощность (на кристалле, мВт 913 (701) 3435 (2997)
Температура кристалла ПЛИС, град. Ц 40,8 68,2
Ток источника Vccint 1,2B, мА 198/173/25 1107/900/207
Ток источника Vccaux 3,3B, мА 90/42/48 139/68/71
Ток источника Vcco33 3,3B, мА 33/31/2 292/272/21
Ток источника Vcco18 1,8B, мА 150/14/37 380/94/286
Базовая структура ПЛИС СЗНИ и модели стенда СЗНИ комплекса научной аппаратуры (КНА) содержит модуль центрального блока и набор периферийных модулей (ПМ). Структура ПЛИС СЗНИ КНА "Ионосат-Микро" является типовой и фактически не меняется для разных СЗНИ ПЛИС ПМ, только уточняется и модифицируется для каждого конкретного устройства (рис. 3). В табл. 1 приведены параметры ПЛИС центрального блока (ЦБ) и ПЛИС блока периферийных модулей (ПМ) МАВС.
Рис. 3. ПЛИС центрального блока СЗНИ
В [6] рассмотрено несколько вариантов сопряжения программируемых логических интегральных схем с компьютером, прежде всего такие известные технологии передачи данных, как RS-232, PCI и Ethernet. Целью разрабатываемых проектов было создание устройств для автоматических систем управления. Выполнен сравнительный анализ вариантов реализации контроллеров соответствующих интерфейсов средствами программируемой логики. В качестве экспериментальной платформы был выбран продукт компании Xilinx - микросхемы семейства Spartan. Продуктивным решением задачи обмена данными между платой и ПК является Ethernet, так как пропускная способность сетей Ethernet составляет до 1Гбит/с. При построении канала взаимодействия ПЛИС с ПК по Ethernet файл прошивки можно создать самостоятельно на одном из языков HDL, используя пакет Xilinx ISE. Описаны контроллер МАС-уровня сети Ethernet, блок реализации протокола IP, блок реализации протокола UDP, а также основной алгоритм управляющего устройства системы. В качестве МАС-контроллера было выбрано XPS Ethernet Lite. Используя данную конфигурацию, система сможет обмениваться данными на скоростях, близких к 100 Мбит/с в дуплексном режиме. Данной скорости достаточно для выполнения поставленных задач. К тому же, в перспективе возможна организация локальной сети, что позволит подключаться к ПЛИС с любого компьютера. И, наконец, для повышения скорости передачи и обработки данных в настоящее время активно используют технологию PCI - Express (PCIe), которая по ряду объективных причин получила значительно большее распространение, нежели Hypertrans-port, при этом обе технологии имеют существенное сходство и могут быть эффективно использованы для решения многих прикладных задач [7]. Однако устройство с PCIe - интерфейсом может быть интегрировано в любую платформу, что делает использование PCIe более универсальным решением. PCIe - компьютерная шина, использующая программную модель шины PCI и высокопроизводительный физический протокол, основанный на последовательной передаче данных. В отличие от шины PCI, использовавшей для передачи данных общую шину, PCIe, в общем случае, является пакетной сетью с топологией типа звезда. Устройства PCI Express взаимодействуют между со-
бой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типа точка-точка с коммутатором. Кроме того, шиной PCI Express поддерживаются горячая замена карт, гарантированная полоса пропускания (QoS), управление энергопотреблением, контроль целостности передаваемых данных.
В некоторых современных кристаллах ПЛИС, например, Virtex 5 LXT, уже имеется встроенное ядро (hard core) контроллера PCIe, работающее через гигабитные приёмопередатчики GT. В отличие от ядер, синтезируемых на логических ячейках (soft cores), встроенные аппаратные блоки в минимальной степени требуют использования ресурсов ПЛИС. Для эффективной реализации прикладных задач требуется высокоскоростная среда передачи данных с низкой латентностью, подразумевающая интенсивный обмен данными между основными вычислительными компонентами системы (процессором, памятью и сопроцессором). Для таких целей, несомненно, лучше, не приступая к созданию систем на кристаллах ПЛИС, иметь программную реализацию её функционала (желательно, на языке Си). К счастью, ситуация сложилась так, что для большинства задач можно найти проект c открытым исходным кодом (Open Source). Существуют различные поисковые системы непосредственно по исходным кодам, например, http://www.google.com/codesearch; найти подобные «поисковики» можно по запросу «source code-search». В [7] приведены следующие рекомендации по разработке и программированию ускорителей приложений на базе ПЛИС:
• RTL-уровень прикладных IP-ядер должен реализовывать параллельно-конвейерную схему обработки потока данных/инструкций с минимальной временной задержкой между ступенями конвейера;
• обработка потока данных/инструкций внутри прикладных IP-ядер должна происходить с интенсивностью, не меньшей интенсивности их поступления;
• вероятность переполнения буферов входящих/выходящих пакетов данных должна стремиться к нулю;
• реализация приложения должна быть легко масштабируемой и обеспечивать соответствующий прирост производительности вычислительной системы при увеличении аппаратных ресурсов.
Таким образом, компании - разработчики аппаратных ускорителей приложений на базе ПЛИС обычно приводят списки самых разнообразных приложений, при этом иногда приводятся цифры по ускорению в 10, 100 и даже 1000 раз.
В [8] представлена парадигма беспроводных сетей на кристалле, которая позволяет обойти ограничения классических сетей, а также обеспечить связь между нано-масштабными компонентами микросхем и макроуровнем. Для реализации бесконтактных соединений между слоями микросхемы могут использоваться эффекты емкостной связи между миниатюрными контактными площадками или индуктивной - между спиральными катушками индуктивности. При этом энергетически выгодней применять индуктивную связь. Поэтому использование емкостной связи возможно только при передаче данных в двух смежных слоях микросборки, тогда как для индуктивного варианта это удается сделать без существенных потерь в энергетике сигнала даже при числе слоев более трех.
В работе [9] предложен локальный беспроводный интерфейс (LWI) передачи данных в стеке из десяти и более чипов толщиной 50-2000 мкм, основанный на использовании индуктивной связи. В демонстрационном образце микросхемы, выполненной по CMOS-технологии 0,25 мкм, с помощью индукторной пары между двумя чипами в стеке была достигнута скорость передачи данных 800 Мбит/с при напряжении 2,5В и рассеиваемой мощности 9мВт. Несмотря на преимущества индуктивной передачи данных, рассмотренный вид бесконтактных соединений позиционируется в основном как интерфейс ближнего действия, предназначенный для обеспечения связи в пределах нескольких уровней одного стека микросборки. Для реализации более протяженных линий передачи данных
предпочтительней использовать радиоканал, при этом передачу тактовых сигналов в стековой сборке рекомендовано осуществлять с помощью импульсных последовательностей синусоидальных колебаний в диапазоне 10 ГГц.
Как отмечается в [9], в перспективе предполагается применение программируемых логических интегральных схем (ПЛИС) типа FPGA с возможностью программной реконфигурации архитектуры беспроводной сети на кристалле под различные приложения. При этом не исключается вариант применения средств передачи и предварительной обработки, выполненных в области нанотехнологии. В отличие от литографических методов создания электрического контакта с наносистемами, идея беспроводных соединений в системах на кристалле является достаточно универсальной и масштабируемой. Понятно, что столь радикальные технологические новшества нуждаются во всестороннем теоретическом обосновании, но можно надеяться, что их широкое внедрение в производство является лишь вопросом времени.
При сборе и предварительной обработке информации необходима синхронизация (СНХР) потоков данных. В [10] приведен анализ структур систем синхронизации потоков данных и приведен способ оценки затрат на их реализацию. Известно, что синхронизация исключает влияние разницы между минимальным Tmin и максимальным Tmax временем прохождения электрических сигналов через цепи вычислительных элементов (ВЭ) на результаты передачи потоков данных. Строго говоря, разница во времени поступления синхросигналов на различные ВЭ должна быть существенно меньше Tmjn. Известны три основные топологии локальных сетей: шина, звезда и кольцо. Соответственно структура линий связи СНХР может либо относиться к одной из указанных топологий, либо быть их комбинацией. В СНХР с параллельной структурой формируется определенное число параллельных каналов, равное числу ВЭ, по которым на ВЭ одновременно поступают синхросигналы. Коэффициент распараллеливания сигналов в общем случае может принимать произвольные значения до нескольких десятков и определяется нагрузочной способностью усилителей синхросигналов и параметрами локальной сети (ЛС). Последовательная система СНХР - распределенная система синхронизации, элементы которой фактически входят в состав соответствующего ВЭ, образуя с ним вычислительный кластер (ВК). Очевидно, что этот граф неуравновешен и сигналы на его выходах появляются неодновременно. Для уравновешивания необходимо ввести в граф дополнительные узлы, обеспечивающие выравнивание задержек. В качестве компромиссного варианта может рассматриваться последовательно-параллельная комбинированная структура, соединяющая далеко отстоящие ВК, содержащие несколько ВЭ, последовательно ВЭ в этих ВК. Один из вариантов такой структуры приведен на рис. 4, где пунктиром выделены элементы усилителя - формирователя синхросигналов (УФС), входящие в состав ВЭ, а штрих-пунктиром - ВЭ в вычислительный кластер.
б
Рис. 4. Комбинированная структура СНХР: общий вид (а); структура УФС (б) ISSN 1028-9763. Математичш машини i системи, 2017, № 1
Таким образом, в [8] сделан вывод, что среди рассмотренных структур синхронизации наиболее предпочтительной (при принятых допущениях) является комбинированная структура.
6. Вариант структурной схемы технологической компьютерной системы
На рис. 5 предложен возможный вариант упрощенной структурной схемы технологической системы с использованием PCI Express и множества датчиков данных.
Группа1 датчиков □ □ □ □
Группа2 датчиков
Коммутатор 1
I
i
Группа n датчиков □ Ö □ □
Коммутатор 2
х
Ж
Коммутатор n
Средства предварительной обработки „
Буферные схемы
ПЛИС 1 Virtex 7
X4Gen2
ПЛИС 2 Virtex 7 X4Gen2
ПЛИС n Virtex 7 X4Gen2
Буф
Память DRAM -Ä-
iL
Разъем PCIExpress
ПЛИС Virtex 7
Разъем PCI Express
Г "ПЛИС Virtex" 7""!
Разъем
Процессор CPU
T
PCI Express
Virtex 7
x4Gen3
X8Gen2
X8Gen2
X8Gen2
Компьютер
Подсистема синхронизации
Адаптер1
типа RNA-25
Буф----- Буф
X4Gen3 ■ - -Кабели"
Адаптер2
типа RNA-25
X4Gen3
Адаптер n типа RNA-25
Подсистема ^ J контроля и управления техно- | I логическими процессами |
Рис. 5. Упрощенная структурная схема одного из вариантов построения технологической системы с применением PCI Express и множества датчиков
Express компьютера обеспечивает возможность подключения через соответствующие кабели средств предварительной обработки данных, полученных от многочисленных датчиков. При этом для построения этих средств можно использовать как логические, так и процессорные элементы ПЛИС Virtex 7, выполненные в виде соответствующих плат (блоков), размещенных вместе с буферными схемами в специальном конструктиве. При использовании технологии GPUDirec процедура обмена данными может осуществляться напрямую без применения буферных схем [11].
7. Основные концептуальные положения построения средств для сбора и предварительной обработки данных технологических систем
Анализ многочисленных публикаций, часть из которых представлена в виде краткой информации, приведенной в данной статье, позволяет сформулировать следующие концептуальные положения.
1) Применение ПЛИС для сборки и предварительной обработки данных является достаточно эффективным с точки зрения повышения производительности системы в целом при следующих условиях:
- устройства, обеспечивающие аппаратурную поддержку фрагментов алгоритма для сбора и предварительной обработки данных, должны быть размещены в непосредственной близости от источников данных и в большинстве случаев оптимальным решением их реализации являются ПЛИС;
- выбор типа ПЛИС должен определяться условиями эксплуатации в окружающей среде для технологических систем необходимым количеством логических и других элементов микросхемы, в том числе возможностью реализации в ПЛИС скоростных интерфейсов для передачи результатов предварительной обработки, а также наличием доступных соответствующих пакетов для их проектирования.
2) Для достижения поставленной цели - повышения производительности технологической системы возможно (в зависимости от решаемой задачи и технических требований) использовать различные типы ПЛИС различных фирм-производителей и различные интерфейсы (Ethernet, PCI и особенно PCI-Express и др.). При этом в некоторых случаях приходится разрабатывать программное обеспечение самостоятельно.
3) Тип структурной схемы синхронизации потоков данных определяется типом используемой сети (общая шина, звезда, кольцо и их комбинацией), при этом наиболее предпочтительной является комбинированная структура СНХР.
8. Выводы
Таким образом, анализ зарубежных источников и выполненных проектов показал, что применение ПЛИС получило широкое распространение в различных областях человеческой деятельности за счет возможности их реконфигурации. При этом идея аппаратурной реализации фрагментов выполняемого системой алгоритма с помощью ПЛИС вместе с интерфейсными средствами поддержки может обеспечить (при соблюдении приведенных выше концептуальных положений) многократное повышение производительности компьютерной системы, в том числе технологической системы при высоких показателях надежности. При этом наличие фирм - производителей, выпускающих большое количество различной номенклатуры семейств и типов ПЛИС, а также соответствующих пакетов для проектирования узлов и блоков на ПЛИС, обеспечивает возможность разработчикам создавать оптимальные виртуальные рабочие места и рабочие пространства для контроля и управления технологическими процессами. Предложенный авторами вариант структурной схемы технологической системы показывает возможность применения множества ПЛИС для аппаратурной поддержки множества фрагментов реализуемого системой алгоритма, что несомненно повышает производительность технологической системы в целом.
Повышение производительности технологических систем, а также систем информационной поддержки и качества принятия решений в реальном масштабе времени (СИП-АП) может быть реализовано на разных уровнях в таких средах:
- в распределенной аппаратурной среде, которая содержит большое количество процессоров, выполняющих параллельную обработку алгоритма. При этом отдельные фрагменты алгоритма задачи пользователя могут быть реализованы с помощью аппаратурных средств на ПЛИС;
- в среде программного обеспечения за счет оптимального распараллеливания алгоритма решаемой задачи пользователя и равномерной загрузки процессоров. При этом отдельные фрагменты алгоритма распараллеливания могут быть также реализованы на ПЛИС;
- в среде средств сбора, предварительной обработки, накопления, отображения и передачи данных, выполненных с применением ПЛИС и размещенных по месту источников данных;
- в среде взаимодействия пользователя с системой через интеллектуальные человеко-машинные интерфейсы, которые обеспечивают комфортное взаимодействие и быструю реакцию пользователя.
В перспективе предполагается применение программируемых логических интегральных схем (ПЛИС) типа FPGA с возможностью программной реконфигурации архитектуры беспроводной сети на кристалле под различные приложения с изготовлением элементов сети в области нанотехнологии.
СПИСОК ЛИТЕРАТУРЫ
1. Построение высокоскоростных сетевых систем сбора данных и управления на основе ПЛИС фирмы Xilinx [Электронный ресурс] / А. Бритов, А. Макеенок, А. Сотников [и др.] // Инженерная микроэлектроника. Сети, системы, аппаратура. HIP NEWS УКРАИНЫ. - C. 8 - 10. - Режим доступа: www.chipnews.com.ua.
2. Рогова Е.С. Система сбора данных быстрых процессов ИТЭР на базе стенда мини-CODAC [Электронный ресурс] / Е.С. Рогова, А.П. Елохин, И.Б. Семенов. - Режим доступа: http://www.rusnauka.eom/6 PNI 2012/Tecnic/5 100986.doc.htm.
3. Технология реконфигурирования FPGA в контроллерах CompactRIO. National Instruments (США). Передовые технологии и технические решения // ПиКАД. - 2004. - № 4. - С. 6 - 11.
4. Литвин А.М. Холит Дэйта Системс. Copmact DAQ - модульная система сбора данных с интерфейсом USB / А.М. Литвин // ПиКАД. - 2006. - № 2. - С. 6 - 8.
5. Глухов В.С. Модель системи збору науково! шформацн супутника «1оносат-мшро» [Електрон-ний ресурс] / В.С. Глухов, А.А. Лукенюк, С.Г. Шендерук // Вюник Нацюнального ушверситету "Львiвська полггехшка". Комп'ютерш системи та мережъ - 2013. - № 773. - С. 33 - 40. - Режим доступу: http://nbuv.gov.ua/UJRN/VNULPKSM 2013 773 9.
6. Писаренко А.В. Организация скоростной передачи данных в современных программируемых логических интегральных схемах / А.В. Писаренко, Е.А. Витряк, Т.А. Павлючин // Радюелектронш i комп'ютерш системи. - 2013. - № 1 (60). - С. 54 - 57.
7. Шматок А. Аппаратные ускорители приложений на базе ПЛИС / А. Шматок // Современная электроника. - 2007. - № 6. - С. 60 - 63.
8. Слюсар Д. Беспроводные сети на кристалле, перспективные идеи и методы реализации / Д. Слю-сар, В. Слюсар // Электроника, наука, технология, бизнес. - 2011. - № 6. - С. 74 - 83.
9. Tadahiro Kuroda CMOS Proximity Inter-Chip Communications. 2007 CMOS Emerging Technologies Workshop [Електронний ресурс] / Tadahiro Kuroda. - Режим доступу: http://www. cmo-set.com/uploads/Keynote 1 .pdf.
10. Шейк-Сейкин А.Н. Синхронизация потоков данных в системах цифровой обработки сигналов реального времени / А.Н. Шейк-Сейкин // Пращ Одеського полтехшчного ушверситету. - 2012. -Вип. 1 (38). - С. 203 - 209.
11. nVidiaCorporation.GPUDirect [Електронний ресурс]. - Режим доступу: https://developer.nvidia. com/gpudirect.
Стаття над1йшла до редакцп 14.09.2016