Форм-фактор StackPC – новый подход к разработке встраиваемых модулей и систем Часть 2.
Стандарт StackPC и системы на его основе
Продолжение

Алексей Сорокин (Москва)

Рассмотрены стандарты StackPC и PCIe/104, отмечены преимущества и недостатки этих форм-факторов для различных областей применения. Описан стековый метод построения систем на базе StackPC и модели применения стековых модулей в составе защищённых компьютеров и встраиваемых устройств.

Дальнейшее развитие стандарта StackPC – FPE

В предыдущей статье отмечалось, что развитие стандарта PCIe/104 привело к появлению двух типов назначения контактор основного разъема расширения – Type I, II. В стандарте StackPC, вместо введения альтернативных назначений контактов одного разъема, дальнейшее развитие стандарта представлено в виде второго, дополнительного разъема расширения FPE (Fat Pipe Extension – расширение шинами с высокой пропускной способностью). Разъём FPE призван заменить устаревающее и постепенно отходящее на задний план расширение шиной PCI. В качестве замены был выбран высокоскоростной разъём высокой плотности с поверхностным типом монтажа (см. рис. 8). На данном разъёме в качестве возможного варианта шины расширения для модулей StackPC-FPE размещена шина PCIe x16, отсутствующая на разъёме StackPC и PCIe/104 Type 2. Для стековой архитектуры средней производительности она по-прежнему может быть не востребована. Но в высокопроизводительных устройствах, например, на базе процессоров Core i7, она присутствует и может использоваться в режимах PCIe 2x8 или 2x4.

Следует отметить, что спецификация StackPC предполагает использование стековых плат в качестве COM-модулей, для которых шина PCIe x16 предоставляет больше возможностей и областей применения, чем для стека. На плате-носителе для COM-модулей легко располагаются один или два разъёма PCIe x16, в которых можно использовать распространённые на рынке видеокарты, модули оцифровки видео и ввода-вывода. Можно установить два слота XMC для карт расширения Switch Mezzanine Card (XMC) и многое другое. Поэтому в стандарте StackPC шина PCIe x16 на разъёме FPE имеет больше областей применения, чем в модулях PCIe/104 Type 1.

Для более полного соответствия функционального набора модулей StackPC-FPE требованиям COM-решений не хватает лишь видеоинтерфейса: плата-носитель без возможности подключения дисплея ущербна как на этапе наладки, так и на этапе эксплуатации. Конечно, можно обойтись модулем расширения, но система с поддержкой шины PCIe x16 обязательно содержит графическую подсистему, пусть и не такую производительную, как на дискретном видеопроцессоре. Для поддержки функционала видео на разъёме FPE заложен интерфейс Display Port, который широко распространён на современных модулях и не требует лицензирования, в отличие от HDMI. Дополнительно для мощных модулей расширения на разъёме FPE заложено 3 вывода питания +12 В с нагрузкой по 1 А. Менее мощные платырасширения могут использовать только +5 В с разъёма StackPC.


Рис. 8. Разъём расширения FPE

Все оставшиеся выводы, за исключением выводов заземления (GND), формируют конфигурируемую секцию (см. табл. 4). Назначение контактов этой секции предлагается оставить на усмотрение производителя процессорных модулей. В спецификации оговаривается ряд профилей и присваивается каждому профилю свой код. В дальнейшем, по мере развития новых интерфейсов и их внедрения во встраиваемые системы, число профилей может возрасти. Если в стеке встречается два несовместимых профиля, то возникает ошибка стека, – аналогично механизму защиты несовместимых типов PCIe/104. Однако для задания типа профилей FPE используются отдельные выводы ConfigType 0, 1, 2. Профили FPE не распространяются на общие интерфейсы, такие как PCIe x16 и Display Port. Это заметно упрощает понимание и реализацию механизма обнаружения ошибки.

На данный момент спецификация StackPC определяет три основных профиля для конфигурируемой секции – 0, 1 и 7. Нулевой профиль указывает, что данная секция используется модулем по своему усмотрению, отличному от предопределённых в спецификации вариантов. Типичное применение – это заказное исполнение изделия под конкретные цели, ориентированные на применение с заказными интерфейсными модулями или платаминосителями. Совместимость модулей такого профиля должна быть определена и оговорена производителем. Седьмой профиль, в отличие от нулевого, указывает, что модуль не использует выводы данной секции. На процессорном модуле они никуда не подключены; на периферийных модулях они просто проходят с нижнего разъёма на верхний. Таким образом, седьмой профиль может рассматриваться как универсальный.

В спецификации определён ещё один профиль – первый. В данном варианте предложено дополнительное расширение функционала шестью портами USB 3.0. На разъём FPE выведено только шесть Super Speed дифференциальных пар интерфейса USB 3.0, а пары USB 2.0, требуемые для работы портов, используются с разъёма StackPC, где их также 6 штук. Первый профиль максимально подходит для разработки стандартных плат-носителей для модулей расширения StackPCFPE.

Системы на базе StackPC

Как уже отмечалось, у модулей StackPC есть три основных типа применения. Первый – это стек модулей одного формата, аналогично PC/104. Данный тип систем относится к модулям StackPC, адаптированным под форм-фактор PCIe/104. Второй тип – расширение одноплатных компьютеров или плат-носителей произвольного формата стековыми модулями StackPC. Как правило, процессорный модуль StackPC адаптируется под форм-факторы EPIC, EBX, 3,5", ATX и аналогичные, а в качестве модулей расширения используются стековые модули StackPC или PCIe/104. Третий тип – это COM-решения, аналогично COM-Express, но с возможностью установки периферийных модулей между COM-модулем и платой-носителем, но об этом ниже.

По методам построения системы стек модулей StackPC отличается от стека PCIe/104 лишь тем, что, наряду с уже применяемыми методами подключения ИП, в стеке появляется новый, описанный в спецификации подход сприменением разъёмов StackPC-PWR. Он примечателен тем, что на модуле ИП не требуется установка относительно дорогих и сложных в монтаже стековых разъёмов; для ИП предусмотрено место в системе ниже процессорного модуля и, следовательно, для ИП нет ограничения по высоте компонентов и радиатора на нижнем слое платы. Это позволяет организовать не только эффективный теплоотвод на нижнюю стенку корпуса, но и применять схемотехнические решения для повышения мощности и КПД модуля питания, которые были недопустимы из-за габаритных ограничений для PC/104 (см. рис. 9).

Другим нововведением для стековых систем является определение понятия интерфейсного модуля, который должен устанавливаться верхним в стеке и функционировать в качестве переходной платы от модулей стека на лицевую панель корпуса. Интерфейсные разъёмы могут быть как стандартными для индустрии ПК, например, типа D-SUB, RJ-45, USB Type A/B, ESATA, Display Port, так и специализированными, например, в герметичном исполнении (см. рис. 10).

Благодаря наличию интерфейсов в стеке, заметно уменьшается число соединительных кабелей внутри корпуса. Высокоскоростные интерфейсы GbE, USB, SATA, требовательные к качеству кабеля, поступают на интерфейсный модуль не через кабель и несколько соединительных разъёмов, вносящих искажение в сигнал, а через высокоскоростной разъём, обеспечивающий минимальное рассогласование и низкий уровень потерь.


Рис. 9. Стековая защищённая система на базе StackPC

Расширение одноплатных компьютеров или плат-носителей произвольного формата стековыми модулями StackPC по сути не отличается от моделей применения модулей EPIC, EBX, 3,5" и ATX с расширением PCIe/104, разница лишь в поддерживаемом функционале модулей расширения.

Модель COM-применения StackPC модулей, адаптированных под PCIe/104, может представлять большой интерес. Как уже отмечалось, введение в стек интерфейса GbE, наряду с появлением в стеке двух интерфейсов SATA, 4 дополнительных портов USB 2.0, шин LPC, SPI и FBUS, открывает область применения процессорных и периферийных модулей StackPC в качестве COMмодулей (Computer on Module, консорциум PICMG). Для сравнения, стандарт COM-Express также содержит интерфейсы GbE, SATA, USB и LPC, которые являются минимально необходимым набором для создания функциональных плат-носителей.

Отсутствующий в StackPC интерфейс видео для COM-решения можно получить, разместив на плате-носителе один или несколько видеоконтроллеров PCIe x1, например, для реализации системы с несколькими независимыми дисплеями. Можно установить в стек между процессорным модулем и платой-носителем требуемый видеопроцессорный модуль и вывести с него видеоинтерфейс. Для модулей StackPC-FPE – на стековом разъёме уже есть Display Port. Если ни один из вышеперечисленных способов не подходит, то можно вывести требуемый видеоинтерфейс через кабель от процессорного модуля на плату-носитель или лицевую панель корпуса.

Таблица 4. Назначение контактов разъёма расширения FPE (профиль 0)


Нумерация выводов по горизонтали
10 9 8 7 6 5 4 3 2 1
Нумерация выводов по вертикали 1 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable AUX_CH+ HOT_PLUG
2 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable AUX_CH- GND
3 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable DP_PWR ML_L(1)p
4 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable ML_L(3)p ML_L(1)n
5 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable ML_L(3)n GND
6 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable GND ML_L(0)p
7 Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable ML_L(2)p ML_L(0)n
8 Configurable Configurable Configurable GND Configurable GND Configurable GND ML_L(2)n GND
9 Reserved Reserved GND PEx16_0T(6)p GND PEx16_0T(4)p GND PEx16_0T(2)p GND PEx16_0T(0)p
10 Reserved Reserved PEx16_0T(7)p PEx16_0T(6)n PEx16_0T(5)p PEx16_0T(4)n PEx16_0T(3)p PEx16_0T(2)n PEx16_0T(1)p PEx16_0T(0)n
11 PE_RST# GND PEx16_0T(7)n GND PEx16_0T(5)n GND PEx16_0T(3)n GND PEx16_0T(1)n GND
12 GND PEx16_x8_x4_0Clkp GND PEx16_0R(6)p GND PEx16_0R(4)p GND PEx16_0R(2)p GND PEx16_0R(0)p
13 FPE_Bus_Err# PEx16_x8_x4_0Clkn PEx16_0R(7)p PEx16_0R(6)n PEx16_0R(5)p PEx16_0R(4)n PEx16_0R(3)p PEx16_0R(2)n PEx16_0R(1)p PEx16_0R(0)n
14 Config_Type0 GND PEx16_0R(7)n GND PEx16_0R(5)n GND PEx16_0R(3)n GND PEx16_0R(1)n GND
15 Config_Type1 PEx16_x8_x4_1Clkp GND PEx16_0T(14)p GND PEx16_0T(12)p GND PEx16_0T(10)p GND PEx16_0T(8)p
16 Config_Type2 PEx16_x8_x4_1Clkn PEx16_0T(15)p PEx16_0T(14)n PEx16_0T(13)p PEx16_0T(12)n PEx16_0T(11)p PEx16_0T(10)n PEx16_0T(9)p PEx16_0T(8)n
17 Reserved GND PEx16_0T(15)n GND PEx16_0T(13)n GND PEx16_0T(11)n GND PEx16_0T(9)n GND
18 +12V Reserved GND PEx16_0R(14)p GND PEx16_0R(12)p GND PEx16_0R(10)p GND PEx16_0R(8)p
19 +12V Reserved PEx16_0R(15)p PEx16_0R(14)n PEx16_0R(13)p PEx16_0R(12)n PEx16_0R(11)p PEx16_0R(10)n PEx16_0R(9)p PEx16_0R(8)n
20 +12V Reserved PEx16_0R(15)n GND PEx16_0R(13)n GND PEx16_0R(11)n GND PEx16_0R(9)n GND

Configurable – конфигурируемый, в зависимости от профиля
Reserved – зарезервированный, для будующего ииспользования


Важное отличие применения StackPC в качестве процессорных COM-модулей заключается в том, что допускается установка плат расширения не в отдельные разъёмы, а непосредственно между COM-модулем и платой-носителем. Кроме того, платаноситель может быть промежуточным периферийным модулем в любой позиции стека (см. рис. 11). Таким образом, можно разработать компактную и универсальную платформу на базе модулей StackPC и платы-носителя с дальнейшей возможностью модернизации и расширения системы модулями StackPC. В такой системе один процессорный модуль можно заменить на другой без потери совместимости с платой-носителем, аналогично обычному стеку, на котором все интерфейсы являются стандартными.


Рис. 10. Интерфейсные модули StackPC

Процессорный модуль StackPC по сути является одноплатным компьютером, а плата-носитель – модулем расширения. Для сравнения, в COM-Express процессорный модуль и плата-носитель зачастую выступают единой системой, а переход на другой COM-модуль приводит к необходимости доработки BIOS или системы управления питанием нового процессорного модуля.


Рис. 11. Варианты применения модулей StackPC для COMрешений

Естественно, у COM-Express есть целый ряд преимуществ перед StackPC при использовании в качестве COMмодулей, но для большинства применений функциональности более компактного StackPC оказывается достаточно. Дополнительным бонусом может быть возможность применения одного модуля для двух разных систем (защищённых компьютеров) на базе COM-модуля со специализированной платой-носителем и второй системы, состоящей только из стековых модулей StackPC и PCIe/104. Уменьшение номенклатуры изделий и увеличение объёма выпуска высокотехнологичных модулей одного типа снижает стоимость комплектующих для разработчика систем и, соответственно, себестоимость готовых изделий. Снижение издержек производства всегда важно для успешной конкуренции на современном рынке.

Заключение

Новая спецификация для стековых модулей призвана повысить унификацию изделий и систем разных производителей. Существующие стандарты для стековых систем не дают ответа на множество вопросов, ставших в последние годы более актуальными, а именно: организация теплоотвода, разработка и подключение ИП к системе, разработка корпуса для защищённых систем с организацией теплоотвода от тепловыделяющих узлов, поиск надёжных решений и др.

Каждый производитель встраиваемых модулей отвечает на эти вопросы по-своему, и в результате появляются модули, которые хоть и называются стандартными, но по ряду параметров не соответствуют стандартам. В результате разработчики систем должны каждый раз приспосабливать имеющиеся на рынке изделия или пользоваться заказными продуктами. Если рассматривать StackPC как альтернативу PCIe/104, то для ряда задач подход StackPC представляется более технологичным и перспективным. Немаловажным преимуществом StackPC является возможность применения одних и тех же изделий, как для стековых систем, так и в качестве полноценных COM-модулей.