ПРЕСС-ЦЕНТР

Рекомендации по разработке плат-носителей для COM-модулей

МКА:ВКС №4/2010

Мартин Унвердорбен (Martin Unverdorben), Kontron

Создание с нуля конкретных решений на основе встраиваемых компьютеров – задача непростая. Упростить её и свести к разработке только платы-носителя позволяют модули класса COM. Это справедливо практически для любого приложения, вплоть до создания портативного оборудования. Но и здесь разработчик может столкнуться с множеством подводных камней, и по-прежнему приходится соблюдать целый ряд правил, чтобы избежать неприятных неожиданностей. Помочь разработчикам при создании кастомизированных решений на основе специализированных плат-носителей, сократить время выхода конечных систем на рынок способны практическое руководство по разработке плат-носителей и развивающееся «COM-сообщество».

Компьютерные технологии эволюционируют очень быстро. И новые разработки должны появляться на рынке столь же быстро. В связи с этим для создателей встроенных систем весьма важна максимальная экономия времени при проведении каждого проекта. Наиболее быстро и «легко» системы собираются с помощью только «коммерческих» (commercial off-the-shelf, COTS) компонентов (стандартные платы и стандартные платы расширения), созданных на основе проверенных и надёжных стандартов. Однако подобный подход не применим к встраиваемым системам, которые зачастую должны поддерживать весьма специализированный набор возможностей и не выходить за пределы определённых габаритов. Разработка же полностью кастомизированного оборудования требует значительных временных и денежных затрат, которые могут окупиться лишь при самом массовом производстве. Компьютер на модуле (Computer-on-Modules, COM) – вот необходимое решение, в котором простота и оптимальная цена компонентов COTS сочетается с гибкостью и специализацией заказной разработки.

От COM к COMExpress

Если при создании встраиваемой системы используется технология COM, «на долю» разработчиков выпадает лишь создание интерфейсов и подсистемы коммутации на плате-носителе. И больше времени остаётся на разработку собственно приложения. Однако проектирование платы-носителя провести придётся, ведь именно она служит «каналом» для обмена данными между модулем COM и всеми внешними и внутренними устройствами, которые планируется подключить к плате-носителю. С июня 2009 года в стандарте COM Express предусмотрено руководство по разработке платы-носителя, которое опубликовано ассоциацией PICMG.

Руководство PICMG Carrier Design Guide 1.0 содержит развёрнутую и подробную информацию для разработчиков специализированных плат-носителей для модулей COM Express. В сочетании с последней спецификацией COM Express и документацией вендоров на модули это руководство существенно облегчает разработку и гарантирует обеспечение взаимозаменяемости модулей COM от разных поставщиков, устанавливаемых в разрабатываемой системе.

При упоминании о взаимозаменяемости подразумевается также взаимозаменяемость между модулями разных формфакторов. Руководство полезно для интеграции в систему не только модулей формфакторов Basic (125 мм x 95 мм) и Extended (155 мм x 110 мм), но появившихся недавно модулей с габаритами 95 мм x 95 мм Compact (microETXexpress) и 84 мм x 55 мм Ultra (nanoETXexpress). Формфакторы Compact и Ultra «закрывают» потребности разработок так называемых «ультрамобильных» устройств, относящихся к носимому оборудованию. Таким образом, стандарт COM Express обладает, пожалуй, самыми широкими возможностями в плане удовлетворения потребностей разработчиков самых различных приложений. Однако помимо возможности выбора из широкого спектра размерных характеристик у разработчиков есть и другие критерии при выборе платформы. В связи с этим давайте более подробно ознакомимся с рекомендациями руководства.

Детализация

Руководство COM Express Carrier Design Guide включает ряд схематических иллюстраций, описывающих принципы подключения и схемотехнику внешних подсистем коммутации, а также описания «идеальных» реализаций решений для всех интерфейсов, заводимых через разъёмы COM Express. Описание разъёма и требований к нему – важный пункт стандарта. Возможности разъёма должны обеспечивать не только текущие потребности разработчиков, но и те, которые могут возникнуть в будущем.

Так что же в стандарте COM Express оговаривается жёстко? Модуль стандарта COM Express подключается к плате-носителю через один или два разъёма с 220 выводами. На сегодняшний день назначение выводов описывается пятью различными спецификациями (от Type 1 до Type 5).

Важнейшая особенность и достоинство стандарта COM Express – постоянный состав интерфейсов, реализуемых в конструкции первого физического разъёма для подключения к плате-носителю. Этот состав определяется спецификацией Type 1.

Разъём Type 1 поддерживает интерфейсы GbEthernet, LPC, Serial ATA, USB 2.0, VGA, LVDS, опциональный TV-интерфейс, интерфейс управления питанием, линии GPIO и некоторые другие каналы ввода/вывода.

В разъёме Type 2 реализуются возможности, расширенные по сравнению с Type 1. Его выводы позволяют подключаться по интерфейсам PCI Express Graphics (1 x16), IDE, PCI, а также использовать сигнальные линии, на основе которых реализуется технология идентификации типа модуля.

В разъёмах Types 3–5 реализуются разные вариации назначения выводов во втором физическом разъёме. Но по данным маркетинговой компании VDC (Volume 3 отчёта VDC Merchant Computer Board for Retail-Time and Embedded Applications, MCBREA), модули стандарта COM Express с разъёмами типов Type1 и Type 2 составляют 93 % от количества модулей стандарта COM Express, появившихся на рынке в 2010 году. Набор стандартных интерфейсов, реализованных в этих разъёмах, включает PCI, PCIe, PEG, SDVO, LVDS, Serial ATA (SATA), USB, Gigabit Ethernet, AC97 и GPIO. Поэтому спецификации COM Express Type 1 и Type 2 позволяют удовлетворить потребности большинства приложений с точек зрения длительности присутствия этих технологий на рынке, возможности использовать эти технологиями благодаря наличию аппаратной и программной поддержки, возможности дублирования одной и той же функциональности на базе разных интерфейсов.

В качестве основного правила разработчика для тех специалистов, которые хотят «чувствовать себя защищёнными», можно назвать рекомендацию придерживаться «наименьшего общего знаменателя». В данном случае это означает, что они должны отдавать предпочтение использованию в проектах модулей COM Express с разъёмами типов Type 1 и Type 2, если хотят получить действительно многовендорную поддержку. В то же время применение модулей на основе проприетарных стандартов или их проприетарных «вариантов», пусть даже и предлагаемых сегодня на рынке, может привести к тому, что в длительной перспективе их использование станет невозможным из-за «ухода» таких модулей с рынка по разным причинам.

Защита инвестиций прежде всего

Итак, теперь понятно, что стандарт COM Express даёт весьма большую свободу выбора в части габаритов модуля, а также позволяет опереться на наиболее востребованные рынком интерфейсы. Если набор интерфейсов, реализуемых на модуле, подходит разработчику, необходимо убедиться также, что сам разъём подходит для конкретного приложения. Обладает ли он достаточной надёжностью при работе в условиях эксплуатации, характерных для данного приложения? Есть ли у него резерв в части обеспечения большего быстродействия?

Главное отличие спецификации COM Express по сравнению с предыдущими стандартами модулей COM – конструкция системы подключения модуля к плате-носителю. Вместо разъёма, размещённого на торце модуля (card-edge connection), на модулях COM Express используется низкопрофильный разъём с высокой плотностью выводов, размещаемый на «рабочей поверхности» платы модуля. Низкое затухание в разъёме позволяет при необходимости удлинять проводящие дорожки на плате-носителе, что в свою очередь обеспечивает большую свободу манёвра при разводке платы. Помимо сказанного, разъёмы, используемые в модулях COM Express, характеризуются высокой стойкостью к ударным и вибрационным нагрузкам, весьма устойчивы к воздействию электромагнитных помех.

Анализ достоинств разъёма даёт в руки ещё один аргумент в пользу утверждения о том, что использование технологии COM Express является «инструментом» защиты инвестиций в разработку, особенно если иметь в виду использование перспективных интерфейсных технологий, таких как PCIe Gen 2 и USB 3.0.

Эти три фактора – свобода манёвра в выборе габаритов, достоинства физических характеристик разъёма и реализованных в нём интерфейсов – влекут за собой большую свободу в выборе процессора и чипсета, что опять таки важно с точки зрения надёжности выбранной для реализации заказного решения технологии COTS. Что же касается конкретики, то вендорами модулей стандарта COM Express поддерживаются практически все клоны процессоров на основе архитектуры х86, от «бюджетных» Intel Celeron и AMD Sempron, до процессоров Intel Pentium M с низким энергопотреблением и высокопроизводительных многоядерных процессоров Intel. А появившиеся в 2008 году модули на основе процессоров Intel Atom сделали возможным перевод на архитектуру х86 тех приложений, которые предъявляют особо жёсткие требования к компактности габаритов и эффективности использования энергии при её малом потреблении. Модули стандарта COM Express представлены в вариантах на основе, пожалуй, самой широкой номенклатуры процессоров с архитектурой х86. А это значит, что разработчики встроенных систем на основе COM-модулей стандарта COM Express имеют большую свободу манёвра по части выбора возможностей процессора. Но это ещё не всё. Весьма гибкая спецификация COM Express позволяет поместить каждый интерфейс в нужное место. К тому же интегрированы в систему могут быть лишь те интерфейсы, которые необходимы. Интерфейсы могут размещаться либо на плате-носителе, либо реализовываться на основе модулей расширения, подключаемых к внутренним интерфейсам.

После того, как выбраны процессор, габариты модуля, набор функциональных возможностей, в которых «заинтересовано» приложение, можно заняться определением необходимых габаритов платы-носителя, местоположения каждого из интерфейсов и начать разработку платы-носителя. Но в отличие от подобных задач, возникающих в проектах на модулях COM любого другого стандарта, когда разработчик платы-носителя остаётся один на один со своими проблемами, при использовании технологии COM Express руководство COM Express Carrier Design Guide ведёт его шаг за шагом «по» процессу проектирования. Это главное достоинство технологии, так как при большом выборе возможных габаритов модулей COM и системных интерфейсных наборов, разработка встраиваемой платы, которой может быть уготована долгая жизнь на рынке, и в конструкции которой могут взаимозаменяемо использоваться модули COM от разных вендоров, оказывается зачастую непростой задачей. А ведь именно такой продукт является гарантией долгосрочной защиты инвестиций.

Руководство разработчика – «путеводная звезда» в процессе проектирования

Руководство COM Express Carrier Design Guide аккумулировало в себе опыт сотен разработчиков плат на основе модулей стандарта COM Express.Содержимое руководства включает обобщение принципов разработки компьютерных плат и внешних интерфейсов в соответствии с рекомендациями стандарта PICMG COM.0, а также логики, необходимой для работы со всеми стандартными интерфейсами. Использование рекомендаций руководства упрощает труд разработчиков и позволяет избежать ошибок при проектировании.

В руководстве детально описываются конструкция и функциональные возможности всех определённых стандартом COM Express интерфейсов и реализация всех поддерживаемых стандартов, включая PCIe, LAN, USB, SATA, SDVO и LVDS (перечислена лишь малая толика). Руководство включает также разделы, посвящённые организации питания и перезапуску системы, вопросам, связанным с особенностями BIOS. В нём освещены вопросы, касающиеся разводки печатной платы, а также вопросы, связанные с «механикой» конструкций, включая монтаж систем для выравнивания градиента температур и особенности применения модулей разных формфакторов.

Каждый раздел, посвящённый какому-либо интерфейсу, начинается с описания «элементарной» сигнальной линии (lane), далее приводятся примеры схем, а заканчивается каждый такой раздел описанием вопросов трассировки сигнальных линий, таких как определение импеданса, организация «земли», «обращение» линий (lane reversal). Руководство содержит около 50 примеров схемотехнических решений, от «сторожевого» таймера до источника питания AT/ATX и ряда примеров реализации устройств на основе технологии PCI Express. Помогут процессу разработки и примеры построения стеков печатных плат, несколько вариантов которых также приведено в руководстве. Целая глава в руководстве посвящена вопросам проектирования платы-носителя, конструкция которой обеспечивала бы максимальную взаимозаменяемость. Множество примеров, подробно «расписанных» в руководстве, может быть использовано не только при разработке плат-носителей, но и в «общих» задач проектирования печатных плат. Таким образом, руководство можно считать самым глубоким обобщением опыта разработок встраиваемых компьютерных систем.

Рис. 1. От формфактора Basic до Ultra: Технология COM Express предоставляет в распоряжение разработчиков широчайший спектр возможностей модулей, как с точки зрения их компьютерных характеристик, так и габаритов

Ну а теперь давайте «пройдёмся» по некоторым примерам из руководства, чтобы можно было составить собственное впечатление о нём.

На рис. 2 представлена блок-схема назначения выводов в разъёме Type 2 и изображены разъёмы A-B и C-D модуля COM Express. Назначение выводов для рядов A и B коннектора остаётся неизменным независимо от типа модуля, а вот назначение выводов ряда C и ряда D коннектора зависит от типа модуля.

Рис. 2. Назначение выводов в разъёме COM Express Type 2

Наиболее интересна, с точки зрения множества заказных разработок, реализация интерфейсов на основе технологии PCI Express, потому что именно они чаще всего используется для улучшения функциональных характеристик заказного оборудования. Реализовать устройство на основе технологии PCIe с использованием модуля COM Express достаточно просто. Давайте посмотрим, какие шаги необходимо пройти при создании PCIe-устройства.

Рис. 3: Конденсаторы для сопряжения PCIe Rx – расположение конденсаторов для устройств классов «Device Up» и «Device Down»

Интерфейс PCI Express «общего назначения» модуля COM Express с разъёмом Type 2, реализованный в разъёме A-B, может включать до 6 линий (lanes), каждая из которых содержит две дифференциальные «пары» для приёма и передачи данных. Шесть линий могут группироваться в каналы разной «ширины», что допускается спецификацией COM Express. В соответствии со спецификацией COM Express линии PCIe разъёма A-B могут быть сконфигурированы как каналы PCI Express x1 (до 6 каналов) или же могут быть скомбинированы таким образом, чтобы сформировать разные наборы каналов x4, x2 и x1 на основе этих 6 линий. Возможности конфигурирования обеспечиваются чипсетом модуля COM Express. Спецификация COM Express определяет «процедуру» формирования каналов PCIe, более «широких», нежели канал x1, на базе выводов разъёма модуля COM Express. Например, спецификация определяет, что канал x4 PCI Express создаётся на основе линий 0,1, 2 и 3.

Спецификация COM Express позволяет «целевые» PCIe-устройства подключать в режимах «Device Down» (через плату-носитель) или «Device Up» (через модуль, устанавливаемый в слот расширения: mini-PCIe, ExpressCard, AMC и т.д.). Есть ряд различий в реализации подключения устройств в режимах «Device Down» и «Device Up», которые касаются, в частности, размещения конденсаторов сопряжения и допустимой длины трасс межсоединений.

Рис. 4: Буфер опорных тактовых сигналов PCIe – необходим в случае использования нескольких PCIe-устройств и/или слотов

Перед интеграцией в систему PCIe-устройства с модуля должна быть выведена пара сигнальных линий для передачи опорных тактовых сигналов. Это дифференциальные пары для передачи сигналов 100 МГц иногда называемых тактами «подсказки («hint» clock). Эти сигналы позволяют ФАПЧ «целевого» PCIe-устройства быстрее «встраивать» его в работу системы. Если к плате-носителю подключается лишь одно PCIe-устройство или на ней размещается лишь один слот расширения, то пара для подачи опорного тактового сигнала может «заводиться» непосредственно в слот или на устройство. Но если к плате-носителю подключается два и более устройств или на ней расположены два и более слотов расширения, тогда тактовые сигналы с модуля должны буферизироваться с использованием ФАПЧ-буфера с «нулевой задержкой». Каждое «целевое» устройство должно получать «индивидуальную копию» опорных тактовых сигналов. Пары для передачи опорных тактовых сигналов должны передаваться от источника к получателю по кратчайшему пути.

Теперь давайте рассмотрим пример реализации шины PCIe. На рис. 5 схематично представлена конфигурация слота PCI Express x1. На иллюстрации, приведённой в качестве примера, к слоту подключена линия COM Express PCIe lane 0. Но может подключаться и любая другая линия, в зависимости от того, какая из них доступна в конкретном используемом модуле. Конденсаторы сопряжения на линиях передачи данных или тактовых сигналов не нужны. Конденсаторы сопряжения линий PCIe TX интегрированы в конструкцию модуля COM Express, конденсаторы линий PCIe RX интегрированы в модуль расширения. Управление сигналами слота REFCLK+ и REFCLK– (выводы A13 и A14) осуществляется буфером тактовых сигналов, показанным на рис. 4. Если используется только одно «целевое» PCIe-устройство, то от буфера тактовых сигналов можно отказаться. Управление сигналами REFCLOCK в этом случае осуществляется непосредственно модулем COM Express. Управление слотовым сигналом PWRGD (вывод A11) осуществляется буферизированной копией сигнала PCI_RESET# стандарта COM Express. Используется также буферизированная копия сигнала CB_RESET#. Небуферизированные сигналы PCI_RESET# или CB_RESET# можно использовать, если к плате-носителю подключается лишь одно или два «целевых» устройства.

Рис. 5. Пример блок-схемы разводки слота PCI Express x1

Слотовые сигналы PRSNT1# и PRSNT2# являются составной частью механизма, предназначенного для реализации технологии «горячей» замены модулей PCIe. Этот механизм включён в «электромеханическую» спецификацию PCI Express Card Electromechanical Specification. Однако большинство систем не включает схемотехнику, поддерживающую в полном объёме технологию «горячей» замены.

Сигналы на линии SMB_CK и SMB_DAT поступают, соответственно, с контактов B13 и B14 модуля COM Express. Данные, передаваемые по шине SMBUS, используются в технологии управления модулями расширения. Программное обеспечение поддержки технологии SMBUS позволяет непосредственно перед событием Suspend сохранить состояние устройства, подключаемого через модуль расширения, подготовить и передать сообщение об ошибках, принять параметры управления, возвратить сообщение с информацией о статусе и о модуле расширения (например, его номер). Поддержка модулем расширения технологии, реализуемой на основе сигналов SMBUS, опциональна.

Рис. 6: Пример топологии разводки для подключения PCI Express. Параллельные проводники – это пример реализации дифференциальной линии интерфейса PCI Express, топология которой позволяет компенсировать искажения длины проводников и фазы сигналов. Фигурные изгибы позволяют сохранить постоянство длины для обоих проводников и не допустить рассогласования фаз

Сигнал WAKE0# подаётся модулем расширения для того, чтобы подать сигнал «пробуждения» модуля на контакт B66. Это сигнал с открытым стоком. Поступая на вход модуля, он подтягивает его. Другой сигнал WAKE0# может подтянуть эту линию вниз, это линия общего доступа. Слотовые JTAG-выводы A5–A8 не используются.

Создание руководства – это лишь первый шаг

Выше приведено лишь несколько примеров из того огромного объёма информации, которая содержится в руководстве разработчика. Однако в сто крат более ценной, чем информация, содержащаяся в руководстве, является экосистема, выросшая вокруг стандарта. В «мире COM Express» есть ещё множество источников знаний. Со времён публикации стандарта в 2006 году вокруг него возникло большое сообщество. Этот ресурс гарантирует долговременность технической поддержки и предоставляет множество каналов, по которым разработчики могут получить такую поддержку. Например, производители встраиваемого компьютерного оборудования, каковым является, в частности, Kontron, не только предлагают консультирование при проведении проектных работ и услуги по оптимизации концепт-проекта, но также и специализированные тренинги во всех смежных областях. Практические тренинги – наиболее предпочтительная технология обучения, поэтому разработчики извлекут немалую выгоду для себя, воспользовавшись возможностью поучаствовать в них. В дополнение к этому использовать преимущества от применения «строительных блоков» технологии COM Express компаниям, не имеющим собственной команды разработчиков, позволяет услуги пакета Kontron Boards&More. Она включает возможность аутсорсингового проведения полной разработки платы-носителя для заказного проекта.

Стандарт мирового класса с поддержкой мирового уровня

Используя модули Computer-on-Modules стандарта COM Express, разработчики могут не беспокоиться о проблемах реализации в своём проекте базовой компьютерной функциональности. Ведь такие модули являются стандартными изделиями класса COTS. Использование модулей COM Express позволяет разработчикам концентрировать своё внимание на том, что является зоной их непосредственной компетенции (это могут быть специализированные интерфейсы, прикладные технологии, программирование), и при этом у них появляется возможность создать специализированную компьютерную платформу в минимальные сроки.

С опубликованием PICMG спецификации COM Express и руководства разработчика плат-носителей в руки разработчикам передано ноу-хау, независимое от вендора, позволяющее им создать собственные решения для встроенных применений, которые могут быть не только кастомизированы до необходимого «уровня», но и «глубоко» масштабироваться в «координатах» габаритов, производительности, возможностей подключения дополнительных устройств.

А представившаяся с этих пор возможность эффективно использовать возросший опыт по части COM-решений позволяет разработчикам создавать для разных вертикальных рынков широкий спектр приложений, начиная с тех, которые основываются на многоядерных платформах, и кончая теми, кторые принято называть носимыми (handheld) устройствами.

Ну а развитая экосистема дополнительных услуг и доступа к базам знаний превращает разработку специализированных плат-носителей с интерфейсами, отвечающими самым разнообразным запросам приложений, в задачу, которую с известной долей допущения можно назвать «лёгкой».