Процессорный модуль для крейта авиационного пульта-индикатора

Процессорный модуль для крейта авиационного пульта-индикатора

Особенности реализации процессорного модуля для масштабируемого крейта

Андрей Батуринец, Дарья Филатова, Роман Черняев

Статья отражает опыт проектирования процессорного модуля формата 3U VITA 46/48 с интерфейсом PCI Express для применения в масштабируемом крейте. Обсуждаются особенности реализации процессорного модуля с системной шиной PCI Express на основе компьютерного мезонинного модуля FASTWEL CPB906 с шиной PCI.

Введение

В ходе модернизации авиационной техники в России активно разрабатываются системы, построенные по концепции интегрированной модульной авионики (ИМА). Система ИМА представляет собой крейт с объединительной панелью (кросс-платой), в разъёмы которой устанавливаются функционально законченные модули стандартизованной конструкции. Ремонт и плановое обслуживание таких крейтов осуществляется путём быстрой замены отдельных модулей. Это намного повышает удобство техобслуживания и ремонта и сокращает эксплуатационные расходы. Кроме того, использование стандартных деталей и соединителей удешевляет производство. ОАО «ЭЛАРА» был разработан крейт авиационного пульта-индикатора формата 3U VITA 46/48 (рис. 1).  Конструкция крейта стандарта VITA 46/48 рассчитана, с одной стороны, на жёсткие условия эксплуатации, а с другой – на использование современных высокоскоростных протоколов передачи данных и обеспечение электромагнитной совместимости (ЭМС).

Назначение и функции системы

Индикатор предназначен для отображения видео в формате ARINC 818, поступающего по двум оптическим каналам. Управление осуществляется с кнопочного обрамления (встроенной клавиатуры). Передача бортовой информации выполняется по интерфейсу ARINC 429. Для обновления ПО предусмотрен канал Ethernet. Также индикатор принимает 8 входных и формирует 8 выходных разовых команд, включая интегральную исправность системы.

Выбор процессорного модуля

Исходя из требований технического задания, индикатор должен не только отображать принятые видеоданные, но и накладывать на видео текстовую и графическую информацию, а высокоскоростной входной видеоканал предполагает передачу большого объёма данных внутри системы, поэтому в качестве системной шины была выбрана высокоскоростная последовательная шина PCI Express (PCIe). Однако при выборе реализации процессорного модуля с шиной PCI Express в формате 3U возникли некоторые затруднения. Применение в собственном крейте готовых процессорных модулей формата VITA 46/48 3U других российских производителей оказалось нецелесообразным: несмотря на стандартный конструктив VITA 46/48, каждый разработчик выбирает системную шину и другие интерфейсы, минимально необходимые для решения конкретных задач своей системы, в связи с чем различные процессорные модули формата 3U VITA  46/48 в электрической части могут быть несовместимы. Это потребовало разработки процессорного модуля для установки в крейт конструктива VITA 46/48 в формате 3U, обеспечивающего следующие функции:
  1. межмодульный высокоскоростной обмен в крейте по шине PCI Express 1x через кросс-плату (количество целевых устройств Target – 2); 
  2. обработка запросов на прерывания от целевых устройств (целевые устройства однофункциональные, количество линий запросов на прерывание от каждого по 1); 
  3. обмен с внешними устройствами в сос таве комплексного бортового оборудования (КБО) по каналу Ethernet 802.3 100 Мбит/с, который также может использоваться для обновления функционального программного обеспечения (ФПО); 
  4. аппаратная поддержка интерфейса USB с возможностью загрузки с флэшкарты; 
  5. поддержка RS-232; 
  6. загрузка операционной системы типа Linux за время не более 40 секунд, что обеспечивает малое время готовности всего изделия после подачи/про падания питания;
  7. хранение и загрузка системного и функ ционального ПО, наличие встроенного флэш-диска; 
  8. режим отладки, наличие видеовыхода на монитор и входа для подключения клавиатуры PS/2. 

Рис. 1. Индикатор с крейтовой структурой

Кроме того, модуль должен обеспечивать работу в жёстких условиях экс плуатации. Наиболее критичным требованием является расширенный диапазон рабочих температур. Для обеспечения соответствия установленным требованиям было принято решение установить покупной мезонинный процессорный модуль на плату-носитель собственной разработки. Габаритные размеры платы-носителя для модуля формата 3U – 100×171 мм. В качестве мезонина был выбран процессорный модуль FASTWEL CPB906 производства ЗАО НПФ «ДОЛОМАНТ», показанный на рис. 2. Он не имеет встроенного интерфейса PCI Express, но в остальном наилучшим образом удовлетворяет заданным требованиям 1.

Для передачи командной информации достаточна пропускная способность шины PCI, а для организации межмодульного обмена по шине PCI Express на плате-носителе установлены мосты PCI–PCI Express производства PLX Technology. Модуль процессора CPB906 представляет собой систему на модуле (SoM). Он обладает высокой производительностью при низком энергопотреблении и малой выделяемой мощности. Модуль CPB906 в промышленном исполнении имеет расширенный диапазон  рабочих температур –40…+85°С. Кроме того, обеспечивается совместимость приложений с х86-архитектурой центральных процессоров. Процессор имеет широкий набор интерфейсов: ISA, PCI, IDE 2×SDIO, 2×USB 2.0, Ethernet 10/100 Мбит/с, I2C, 2×RS-232 (TTL), GPIO. В таблице 1  приведены основные характеристики процессорного модуля CPB906 [2].



Рис. 2. Модуль CPB90

Функциональная схема

Функциональная схема платы-носителя с модулем CPB906 приведена на рис. 3. Параллельная шина PCI процессорного модуля CPB906 используется для обмена данными с двумя платами PCI Express 1х через мосты PEX 8112 и для вывода видеоданных через мост PEX 8114 в формате PCI Express 4х для внешней видеокарты. Видеовыход используется для программирования и отладки системы и выведен на дополнительный (технологический) разъём платы-носителя. Также на него выведены порты клавиатуры PS/2, USB1 (для выполнения загрузки процессора), COM1 и 6 линий GPIO. Мосты PCI Express–PCI на плате-носителе работают в реверсивном режиме (от PCI к PCI Express) и обеспечивают прозрачность перехода с одной шины на другую [3, 4 ]. Два канала PCI Express 1х, шины USB2 и Ethernet выведены на кроссплату через основной разъём модуля 3U. G1, G2, G3 – дифференциальные генераторы для тактирования каждого из мостов.

Средства разработки

Разработка электрической схемы платы-носителя велась в программе Design Entry HDL, а печатной платы – в PCB Editor пакета Cadence. Библиотеки элементов создавались самостоятельно. Задание пользовательских ограничений (User Constraints) позволяет выполнить разводку платы в автоматическом режиме с последующим внесением вручную необходимых изменений. Печатная плата 5-го класса точности содержит 10 слоёв. ПО процессорного модуля разработано в среде Linux.

1На момент подготовки этого материала к публикации фирма FASTWEL расширила линейку компьютерных модулей, выпустив новый мезонинный процессорный модуль CPB907 на базе процессора Intel Atom E6xxT , имеющий три порта PCI Express 1x. Модуль выполнен в стандарте COM Express mini, и при несколько больших габаритных размерах по сравнению с CPB906 (85×55×15 мм, высота приведена без учёта радиатора) имеет графический сопроцессор с возможностью подключения двух мониторов, больший объём оперативной и флэш-памяти и расширенный набор интерфейсов [1]. Новый модуль предназначен для применения в устройствах с системной шиной PCIe, однако для его установки в модуль форм-фактора 3U VITA 46/48 необходимо уменьшить высоту CPB907. В целом модуль CPB907, сочетающий повышенную производительность, высокоскоростные интерфейсы и расширенный функционал, представляется перспективным для использования в новых разработках.


Описание работы системы

Модуль CPB906 имеет небольшие га бариты – 65×40 мм. Все основные интерфейсы выведены на плату-носитель через низкопрофильный 220-контактный разъём высокой плотности (3-6318490-6, COM Express Connector Socket 220-pinType I, TYCO) [2]. Всё это позволило спроектировать модуль носителя в соответствии с требованиями VITA 46/48. 220-контактный разъём процессорного модуля CPB906 довольно хорошо себя зарекомендовал при частых стыковках-расстыковках в процессе отладки ПО. Единственным неудобством при установке модуля CPB906 на плату-носитель стала необходимость укорачивать на 2,5 мм штырьки технологического разъёма CPB906, чтобы они не касались верхней крышки модуля-носителя. Внешний вид разработанного ОАО «ЭЛАРА» процессорного модуля показан на рис. 4 .
Стоит отметить, что относительно большое пространство на плате CPB906 отведено под батарейный отсек, используемый для питания часов реального времени. Для объектов авиационной техники, постоянно испытывающих перепады температур и воздействие вибрации, надёжность такого элемента питания недостаточна. В проекте не использовались часы реального времени, поэтому элемент питания не устанавливался.
Так как в качестве межмодульного интерфейса был выбран PCI Express 1x, а СРВ906 имеет внешний интерфейс PCI, подключение двух целевых устройств организовано через мосты типа PEX 8112 фирмы PLX Technology. Данные мосты подключены по реверсивной схеме (то есть PCI–PCIe), обеспечивают подключение 1 канала связи (Lane) по нисходящей шине и могут функционировать как в режиме Target, так и в режиме Master.
Подключение к первичной (front) шине PCI процессорного СОМ-модуля стандартное.
Мосты PEX 8112 имеют собственные конфигурационные регистры, соответствующие спецификации PCI, в системе определяются как мосты PCI, и им присваиваются номера устройств, подключённых к шине PCI 0. В свою очередь они запрашивают через конфигурационные циклы потребности в ресурсах устройств, подключённых к ним со стороны PCIe, и нумерация шин PCI Express уже становится отличной от 0. Подключённые по PCIe устройства после процедуры POST видны в системе как обычные устройства PCI, никаких дополнительных программно формируемых конфигурационных циклов не требуется. Подключаемые устройства могут также быть многофункциональными. Мосты PEX 8112 позволяют подключить внешнее ПЗУ с интерфейсом SPI для обеспечения возможности пользовательской модификации и хранения конфигурационных данных, выдаваемых мостом для Master. При отсутствии внешнего подключённого ПЗУ или при несоответствии установленному формату сохранения конфигурационных данных во флэш-памяти, используется конфигурация по умолчанию. Модификация данных в ПЗУ осуществляется механизмом, описанным в спецификации PCI как работа с расширенной памятью (Expansion ROM). Данная возможность на плате-носителе реализована, проверена и зарезервирована, так как конфигурация по умолчанию оказалась достаточной для работы с подключёнными устройствами PCIе.
Реализация и назначение прерываний устройствам, подключённым со стороны PCIe, для модуля CPB906 имеет некоторые особенности. Требовалось запросить по одному прерыванию на каждое устройство, подключённое на стороне PCIe. Система на кристалле (SoC) типа Vortex x86, по-видимому, имеет укороченную таблицу прерываний. Устройства, определённые системой на дальних шинах PCI и имеющие старшие номера, при попытке запросить прерывание получали ошибку “IRQ routed to 0”“, а при POST-тесте “IRQ Table error [#шины: xx:xx]”. Назначение прерываний оказалось возможным, только если мосты PEX 8112 имеют младшие номера (1, 2 и т.д.). При настройке не ставилась задача определить максимальный корректно обрабатываемый номер, но задание номеров устройств 20, 19, 18 приводит к ошибке таблицы прерываний. Задание номеров устройств выполняется с помощью соответствующей линии IDSEL (ADx) в строгом соответствии со спецификацией PCI. Механизм прерываний типа MSI с модулем CPB906 использовать невозможно, так как CPB906 соответствует спецификации PCI 2.1, а MSI был введён, начиная с PCI 2.2, поэтому при необходимости получать и обрабатывать прерывания от периферийных устройств требуется корректно задать линию IDSEL.

Условные обозначения: G1, G2, G3 –дифференциальные генераторы для тактирования каждого из мостов; f1, f2, f3 – тактовая частота для двух мостов PEX 8112 и моста PEX 8114 соответственно. Рис. 3. Функциональная схема платы-носителя с модулем CPB906


Особенности межмодульного обмена

Для установки связи и организации обмена по PCI Express между процессорным модулем с установленным мезонином CPB906 и периферийными устройствами подключение типа точка–точка реализовано с помощью всего двух дифференциальных пар RX (RX+ и RX–) и TX (TX+ и TX–). Это возможно благодаря имеющемуся в PCI Express [5] механизму clock data recovery (CDR), который позволяет восстанавливать тактовую частоту из кода. При использовании CDR каждое устройство PCIe тактируется от собственного генератора, и дополнительные линии для передачи тактовой частоты от общего генератора не требуются. Дифференциальные генераторы опорной частоты установлены в каждом из модулей – целевых устройств PCIe, а также на плате-носителе – по одному на каждый мост PEX.
В соответствии со спецификацией PCIe подтверждена допустимость подключения полярности сигналов TX и RX в любом сочетании. Целевые устройства были реализованы как EndPoint PCI Ex press Device, при конфигурации в системе отображались как память. Целевые устройства PCI Express выполнены на ПЛИС фирмы Xilinx, в одном из уст ройств установлена ПЛИС типа Spar tan 3, в другом – Spartan 6.
В процессорном модуле реализована и пакетная передача данных: выполнение последовательных передач данных по адресам с увеличением на единицу адреса, выровненного по длине двойного слова, позволило достичь того, что поле Length в заголовке кадра PCIe стало отлично от 1, то есть наблюдается склеивание транзакций. Это положительно сказалось на скорости межмодульного обмена по каналу.
При организованной структуре модуля-носителя с мезонином процессорного модуля СРВ906 узким местом системы оказалась пропускная способность первичной шины PCI. Тем не менее для систем и интерфейсных модулей (типа МКИО и ARINC-429) её более чем достаточно. Кроме информационного обмена, пропускная способность шины PCI достаточна для выдачи видеоданных в формате 800×600 точек, 60 Гц, 24 бита по каждому цвету, и для решения задач общего управления.
Ввиду отсутствия в составе СРВ906 трансформатора развязки физического уровня Ethernet он установлен на платеносителе, и линии приёма/передачи согласованными печатными проводниками выведены через кросс-плату на внешний разъём. 

Рис. 4. Процессорный модуль формата 3U


Обеспечение подключения технологического оборудования

Для подключения внешнего видеоадаптера используется ещё один мост типа PEX 8114, он также работает в реверсивном режиме и обеспечивает подключение PCIе 4x, линии PCIе выведены на переднюю панель модуля через разъём Micro D-Sub. В качестве внешней технологической видеокарты используется стандартная покупная видеокарта PCIe 1х, возможно применение и видеокарты 16х. Для обеспечения функционирования видеокарты необходимо сформировать напряжения +3,3 и +12 В и подать сигнал тактовой частоты 100 МГц от внешнего дифференциального генератора, который может быть выделенным только для видеокарты. Синхронизация частоты генератора с частотой моста на плате-носителе также не требуется. Одним из основных условий корректной работы внешней технологической видеокарты является наличие сигнала #RST по PCIe от моста PEX 8114 с платы-носителя.
Сигналы клавиатуры и USB-порта также выведены на переднюю панель модуля (на технологический разъём). Загрузка с внешней флэш-карты USB функционирует при включении соответствующих опций BIOS. Возможность подключения клавиатуры, видеокарты, канала Ethernet предоставляет необходимые средства для отработки и модификации системного программного обеспечения (СПО) и ФПО. Первоначальное подключение, разработка и отладка ПО произведены при помощи платы-носителя KIB880, имеющей разъём для подключения СРВ906 и необходимый набор аппаратно реализованных средств для подключения SDкарт, Ethernet, COM и выполненной в формате PC/104+ [ 6]. В составе KIB880 имеются также внешняя видеокарта VIM 800 формата PC/104+ и набор необходимых жгутов и соединителей.

Особенности ос и драйверов поддержки устройств и модулей

В и модулей В данном процессорном модуле установлена адаптированная к задачам изделия ОС Linux 2.4.27, включена поддержка интегрированной в SoC Vortex x86 сетевой карты R6040, имеется возможность замены/обновления ПО посредством подключения по NFS через службу telnet (по каналу Ethernet). Драйвер поддерживает подключение нескольких модулей PCI/PCIe с возможностью высокоскоростного межмодульного обмена данными. Реализован вывод на подключаемый монитор системной и/или отладочной информации.

Заключение

Разработанная ОАО «ЭЛАРА» плата носитель позволила на базе процессорной платы с PCI-интерфейсом изготовить процессорный модуль в формате 3U VITA 46/48 с системной шиной PCI Express для обеспечения высокоскоростной передачи данных в крейте.
Особенностью проекта является подключение к более медленной параллельной шине PCI трёх высокоскоростных каналов PCI Express. Такое нестандартное решение было вынужденным и продиктованным жёсткими требованиями к мезонинной процессорной плате, однако позволило сэкономить время и ресурсы на проектирование собственного процессорного модуля с интегрированной шиной PCI Express. При проектировании удалось существенно сократить время разработки ПО благодаря имеющемуся опыту использования и адаптации ОС Linux для систем x86 на основе SoC Vortex. Разработанный процессорный модуль хорошо подходит для систем, не требующих большого объёма передаваемых данных, а также для отработки технических решений базового уровня идеологии ИМА с возможностью дальнейшего развития аппаратно-программных средств.
Современные требования к скорости межмодульного обмена данными формируют настоятельную потребность в малогабаритных мезонинных компьютерных модулях с высокоскоростными интерфейсами. Наличие таких процессорных модулей российского производства для спецприменений позволило бы сократить сроки разработки изделий спецтехники, улучшить их характеристики и повысить конкурентоспособность в сравнении с зарубежными аналогами.

Литература

  1. Модуль процессора CPB907 [Электронный ресурс] // Режим доступа: http://www.fastwel.ru/cms/f/448323.pdf 
  2. Модуль процессора CPB906 : руководство по эксплуатации ИМЕС.421459.906 РЭ. – М. : ЗАО «НПФ «Доломант», 2013. 
  3. ExpressLane™ PEX 8112-AA. PCI Expressto-PCI Bridge : Data Book. – USA : PLX Technology Inc., 2008. 
  4. ExpressLane™ PEX 8114-BC/BD. PCI Express-to-PCI/PCI-X Bridge. : Data Book. – USA : PLX Technology Inc., 2010. 
  5. PCI Express Base Specification [Электронный ресурс] // Режим доступа: http://www.pcisig.com/specifications/pciexpress/review_zone/ 
  6. Плата-носитель KIB880 : руководство по эксплуатации ИМЕС. 421459.880 РЭ. [Электронный ресурс] // Режим доступа: http://www.fastwel.ru/cms/f/418630.pdf

Источник


Российская электроника
для ответственных применений
Задать вопрос