Эволюция стандарта PCI для жестких встраиваемых приложений
Начало разработки спецификации PCI было положено в 1991 году специалистами компании Intel. Основная цель: стандартизация интерфейса высокопроизводительных микроэлектронных компонентов процессорного ядра для семейства i486 и перспективных микропроцессоров. К таким компонентам относятся: микросхемы графических акселераторов SVGA, контроллеры дисковых подсистем EIDE, SCSI, элементы управления памятью, сетевые контроллеры Ethernet, ATM, AnyLAN, FDDI и т. д. Идею PCI в рамках организации PCI SIG (PCI Spesial Interest Group) поддержали все крупнейшие производители средств вычислительной техники: Motorola, HP, DEC, Sun, Apple.
Вычислительные установки, на которых применяются ОСРВ, можно разделить на три группы:
· «Обычные» (офисные) компьютеры. По логическому устройству совпадают с настольными системами. Аппаратное устройство несколько отличается. Для обеспечения минимального времени простоя в случае технической неполадки процессор, память и т.д. размещаются на съемной плате, вставляемой в специальный разъем так называемой «пассивной» основной платы. Быстрые процессоры, высокая скорость работы периферии, конфигурирование Plug-and-Play ввода/вывода, независимость от типа микропроцессора и другие плюсы PCI – неплохая база для совершенствования программного обеспечения.Современная настольная персональная машина имеет 3-4 разъема для подключения стандартизованных PCI-плат.
· "Полупромышленные" промышленные компьютеры. Архитектура управляющей машины на основе "классической" активной материнской платы малопригодна для промышленных управляющих систем, работающих в условиях повышенных требований к скорости восстановления, термо-, вибро-, ударопрочности, а также по причине большого параметра MTTR (Mean-Time-To-Repair) – среднего времени восстановления системы, т.е. из-за низкой надежности.
Некоторые компании-производители (IBM, GESPAC, I-Bus, Texas Microsystems, Xycom и др.), объединенные в консорциум PICMG (PCI Industrial Computer Manufacturer's Group), предложили и в феврале 1994 года опубликовали спецификацию промышленного компьютера на основе пассивной PCI-магистрали с использованием одноплатных компьютеров/контроллеров, имеющих, по сути, стандартный офисный (desktop) механический формат и устанавливаемых в специальное гнездо PCI&ISA (в сущности, стандартизации был подвергнут только формат одноплатного контроллера). Он поддерживает работу объектного ввода/вывода как через PCI-интерфейс, так и через ISA. Все компоненты вычислительного ядра (CPU, DRAM, сеть, графика и т. д.) содержатся сразу на плате контроллера-компьютера. Такой компьютер имеет пассивную магистраль для установки одновременно 4-12 плат ISA и 4 плат PCI офисного формата в соответствии с PCI rev.2.0. Можно было специфицировать такой компьютер и без ISA-расширений, но нельзя не учитывать наличия большого парка готовых ISA-плат, имеющих хождение на рынке. Причем параметры надежности этих промышленных компьютеров выше, чем у настольных. Хотя по сравнению с компьютерами, выполненными в наиболее популярном для промышленного мира механическом конструктиве "Евромеханике" или в сверхжестком SEM-E-формфакторе, их лучше именовать "полупромышленными", не ориентированными на конечные промышленные приложения, требующие действительно высокой надежности. Их идеальное место в системе управления – качественный человеко-машинный интерфейс/HMI с оператором, сетевая/архивная станция и/или система ввода/вывода в некритичных приложениях.
§ Промышленные компьютеры.Состоят из одной платы, на которой размещены процессор, контроллер памяти, память. Память может быть нескольких видов – ПЗУ (в которой размещается сама ОСРВ), ОЗУ (там размещаются код и данные), флеш-память (может играть роль диска). На плате также находятся контроллеры периферийных устройств, несколько программируемых таймеров. Среди процессоров этих компьютеров доминируют процессоры семейства PowerPC, Motorola 68xxx, SPARC, ARM, Intel 80x86, 80960x.
PCI являются стандартом де-факто при создании высокопроизводительных одноплатных компьютеров/контроллеров для традиционных управляющих архитектур, предназначенных для работы в условиях, требующих высокой надежности (большого соотношения MTBF/наработка на отказ от 100 000 часов), короткого MTTR, механической компактности и большой канальности ввода/вывода. Это касается международного стандарта промышленных/военных ММС для СРВ – VMEbus и VXI/Мultibus-II, ряда "частнофирменных" стандартов. Сегодня промышленный одноплатный VME-компьютер на процессорах PowerPC, Pentium(Pro), Alpha без локального PCI-интерфейса представить себе практически невозможно. Просто экономически чрезвычайно невыгодно его создавать без применения PCI. Как нельзя его представить и без средств гибкого локального расширения ввода/вывода – мезонинного интерфейса PMC/IEEE 1386 на основе шины PCI.
PCI активно внедрился в новейшие разработки на основе сигнальных/DSP VME-процессоров с поддержкой PMC-ввода/вывода. Уже серийными стали разработки ROTS&MOТS/Rugged&Military Of The Shelf/ вариантов одноплатных VME64/PCI – компьютеров с кондукционным охлаждением для военных и иных спецсистем. Внедрение PCI чрезвычайно облегчило проектирование VME-компьютеров на основе любого универсального RISC-процессора и коммуникационных процессоров типа МРС860 компании Motorola. Компания Tundra Semiconductor Corporation, больше известная как Newbridge Microsystems, выпустила ряд мостовых PCI-VME64 кристаллов, в частности Tundra Universe CA91CO42-33CE, которые позволяют любой PCI-компьютер без особых проблем выполнить в стандарте VME.
Очень существенно PCI повышает характеристики VMEbus-системы для мощного телекоммуникационного ввода/вывода. Кристаллы QSpan компании Tundra обеспечивают прямой выход самых популярных в мире коммуникационных процессоров МС68360, МРС860 и CISC real-time процессоров МС68040/68060/68070 на шину PCI.
Ориентированный на блочные передачи (именно здесь PCI подтверждает свои преимущества) PCI не является "идеальной" средой для СРВ, где очень важны скорости единичных передач и скорость/гибкость/эффективность обработки прерываний от большого числа малорегистровых источников объектного ввода/вывода. В этом случае трафик на PCI снижается в несколько раз при использовании интерфейса RISC/CPU+PCI+VME64. Особенно в критичных к времени реакции приложениях. Эти проблемы пытаются решать, как правило, за счет высокой производительности процессоров и оптимизации системного и прикладного программного обеспечения.
Встраиваемые системы.Устанавливаются внутрь оборудования, которым они управляют. Для крупного оборудования могут по исполнению совпадать с промышленными компьютерами. Для оборудования поменьше могут представлять собой процессор с сопутствующими элементами, размещенными на одной плате с другими электронными компонентами оборудования. Для миниатюрных систем процессор с сопутствующими элементами может быть частью одной из интегральных схем оборудования.
3.10. ISaGRAF 5++ACE Target–целевая система высокой производительности
Исполнительная система ISaGRAF 5++ACE Target[6]представляет полный комплекс решений для высокоскоростной обработки, управления и доставки данных на верхний уровень систем АСУ, в которой за счет переработки исходного кода оригинальной системы для использования компилятора языка С++, устранения различных “паразитных” задержек и использования библиотеки АСЕ[7] для реализации системного уровня и абстрагирования от особенностей работы с различными ОС стало возможным получить время исполнения задачи в рамках одного цикла в режиме “Реальное время” от 5 мкс, причем ISaGRAF 5++ ACE Target обеспечивает повышенную стабильность цикла с заданным временем исполнения.
Все системно-зависимые функции заменены соответствующими вызовами функций библиотеки ACE, поэтому исходные тексты целевой системы являются едиными для разных ОС: Linux, QNX 4.25, QNX 6.3, Windows XP, Windows CE, FreeBSD, OpenSolaris.
ACE предоставляет возможности, которые могут быть использованы для создания эффективных пользовательских драйверов устройств ввода/вывода, встроенных функций и функциональных блоков. Также оказывается простым перенос с платформы на платформу драйверов протоколов, использующих стандартные коммуникационные устройства (RS-232, Ethernet, USB), поскольку это не требует изменения исходных текстов драйверов – достаточно простой перекомпиляции.
ISaGRAF 5++ ACE Target является инвариантным к платформе – все конечные исполнительные системы имеют одинаковые возможности и единое описание в среде ISaGRAF Workbench, т.е. перенос существующего проекта на конфигурацию с другой ОС не потребует его перекомпиляции. В состав исполнительной системы входит библиотека функций быстрой обработки данных, позволяющих ускорить обработку массивов вещественных чисел и матриц. Данные функции исполняются в целевой системе со скоростью исполняемого машинного кода и позволяют реализовывать в приложениях ISaGRAF высокопроизводительные алгоритмы обработки массивов данных, необходимые при работе с аудио- и видеопотоками, импульсными формами, регистрируемыми АЦП.
Все операции с массивами и матрицами производятся, используя специальные объекты-указатели, представляющие собой структуры определенного вида, и выполняются в 60 раз быстрее, чем при выполнении аналогичных операций в программе на языке ST. Данные объекты-указатели предварительно создаются в словаре переменных Workbench и инициализируются с помощью специальных функций создания массивов и матриц соответственно.
Одной из составных частей исполнительной системы ISaGRAF 5++ ACE Target является система FDA – Fast Data Access, предназначенная для доступа к данным реального времени исполнительной системы ISaGRAF 5++ ACE Target по запросам от OPC-сервера FDA-OPC. Под данными реального времени здесь понимаются текущие данные ISaGRAF на момент получения запроса на их выдачу.
Система FDA состоит из двух частей:
1. Исполнительная подсистема ISaGRAF Fast Data Access (ISaFDA) построена на основе технологии ISaGRAF и выполняет функции отслеживания и сохранения значений изменившихся переменных для их чтения и записи по запросам OPC-сервера. Подсистема реализована в виде виртуального устройства ISaGRAF и включает также сервис обработки запросов на выдачу данных и установку новых значений переменных ISaGRAF.
2. Серверная подсистема FDA-OPC – OPC-сервер системы быстрого доступа к данным ISaGRAF.
Рис. 3.6. Схема работы системы доступа к данным |
FDA-OPC предназначен для извлечения данных ISaGRAF из контроллера, предоставления доступа к ним по OPC-запросам, а также для установки новых значений переменных ISaGRAF. FDA-OPC исполняется на платформе Windows и соответствует спецификации OPC DA 3.x. Настройки OPC-сервера позволяют работать с несколькими контроллерами. На работу с конкретным контроллером OPC-сервер настраивается автоматически при указании пути к скомпилированному проекту ISaGRAF, загруженному на целевой контроллер. На рис. 3.6 представлена общая схема работы системы FDA.
По запросу чтения с рабочей станции модуль fda_serv производит чтение данных из таблицы значений переменных ISaGRAF, формирует ответ и отправляет его обратно на рабочую станцию. Подобным же образом новые значения переменных ISaGRAF записываются в контроллер.
Для настройки подсистемы ISaFDA целевая система содержит встроенный набор специальных функций, при помощи которых определяется список переменных, доступных для чтения.
Отличительной особенностью системы FDA является то, что регистрируются только изменившиеся значения переменных и по сети не передается лишняя информация, что позволяет существенно ускорить обмен данными. Значение каждой переменной в таблице сопровождается информацией о ее типе и так называемом виртуальном адресе. На основании этой информации из символьной таблицы, находящейся в каталоге с проектом Workbench, переменной может быть сопоставлено ее имя, что и выполняет FDA-OPC.
Представленная на рис. 3.6 схема описывает работу с одним ресурсом ISaGRAF, при наличии нескольких ресурсов для каждого из них строятся свои таблицы переменных, а утилита fda_serv обращается к нужной таблице в соответствии с номером ресурса, указанным в запросе от OPC-сервера либо другого клиентского приложения.
Передача данных осуществляется по запросам FDA-OPC (либо другого приложения) и представляет собой обмен данными по схеме “запрос-ответ”, поэтому в качестве протокола передачи данных выбран протокол UDP, который характеризуется простотой реализации и позволяет сократить время разработки. Поскольку сам протокол UDP не обеспечивает надежность передачи данных, указанный недостаток компенсируется использованием дополнительных механизмов повышения надежности, встроенных в приложения, реализующие обмен данными. Помимо статических тайм–аутов и повторного запроса данных в случае возникновения ошибок, эти механизмы используют порядковые номера пакетов для гарантии того, что полученный ответ соответствует посланному запросу. Целостность пересылаемых данных обеспечивается за счет поля “длина” UDP-дейтаграмм, а также за счет использования встроенного подсчета контрольной суммы UDP. При поступлении запроса на выдачу данных делается попытка чтения очередной порции данных из таблицы переменных. Объем порции данных может меняться в зависимости от наличия данных в таблице в момент попытки чтения. Максимальный объем данных, выдаваемых за один запрос, определяется настройками утилиты обработки запросов, в параметрах которой определяется максимально возможный размер исходящего буфера UDP. Каждый ответ представляет собой один пакет UDP, что исключает необходимость разбивать и вновь собирать пакеты при передаче большого количества данных.
Протокол позволяет работать с данными каждого ресурса исполнительной системы ISaGRAF, функционирующей на контроллере, если для него включен режим регистрации данных.
Поскольку протокол UDP не требует установления и разрыва соединения, это позволило значительно повысить скорость передачи данных по сравнению с TCP и существенно упростить подключение архивных серверов.
Описание протокола передачи данных поставляется вместе с руководством по системе FDA, что позволяет разрабатывать собственные клиентские приложения, осуществляющие обмен данными с исполнительной системой ISaGRAF 5++ ACE Target.
В состав исполнительной системы ISaGRAF 5++ ACE Target включено распределенная система ведения архивов исторических данных ISaArch, построенная по принципу, схожему с архитектурой FDA, и находящуюся в настоящее время на этапе тестирования. Система ISaGRAF 5++ ACE Target предоставляет полный комплекс решений для высокоскоростной обработки, управления и доставки данных на верхний уровень систем АСУ, обладающий следующими характеристиками:
· производительность от 5 мкс;
· режим повышенной стабильности с приоритетами реального времени;
· инвариантность к платформе;
· единые исходные тексты для различных ОС;
· высокая скорость передачи данных – до 500 тыс. переменных ISaGRAF в секунду (данные приведены для системы FDA).
Дата добавления: 2016-04-06; просмотров: 767;