System-on-Module (SoM), также известный как Computer-on-Module (CoM), представляет собой компактную плату с ключевыми компонентами компьютера, такими как SoC, память и, возможно, другие элементы: PMIC (микросхема управления питанием), Ethernet PHY, а также один или несколько разъемов для подключения к базовой плате (также называемой несущей платой). Последняя содержит стандартные порты: Ethernet (RJ45), USB, SATA, разъем питания и другие. Преимущества использования конструкции «базовая плата + SoM» по сравнению с одноплатным решением включают как минимум два аспекта:
- Основная сложность проектирования PCB обычно связана с ЦП/SoC и высокоскоростными шинами, подключенными к ним. Приобретая SoM и разрабатывая собственную базовую плату, можно получить готовое решение за относительно короткий срок с сокращением ресурсов и затрат на разработку.
- Конструкция является модульной, что позволяет легко обновлять SoM. Например, для создания продуктовой линейки с различными характеристиками можно использовать одну базовую плату с тремя модулями SoM, оснащенными одно-, двух- и четырехъядерными процессорами.

Хотя концепция привлекательна, многие решения SoM являются проприетарными, часто основанными на 2xx-контактном разъеме SO-DIMM или пазах для пайки (castellated holes). В таких случаях, несмотря на разнообразие SoM, пользователь привязан к одному поставщику, если не изменяет конструкцию базовой платы. Для решения этой проблемы компании начали создавать стандартизированные SoM, позволяющие комбинировать модули и базовые платы разных производителей. Однако в последние годы появилось множество конкурирующих стандартов, некоторые из которых используются только их инициаторами. Исключения – SMARC и QSeven, где доступны ARM и x86 SoM от нескольких производителей, а также устаревшие x86-стандарты (COM Express, PC/104). Все четыре стандарта ориентированы на промышленные встраиваемые приложения, а не на массовый потребительский рынок, где требуется оптимизация стоимости.
Далее представлен неполный перечень стандартов SoM/CoM. Также поднимается вопрос о целесообразности множества стандартов вместо консолидации вокруг нескольких основных. Основное внимание уделяется энергоэффективным SoM, но в конце списка упомянуты традиционные x86-стандарты.
- QSeven (Q7) – Последняя версия стандарта (2.1) утверждена Standardization Group for Embedded Technologies в марте 2016 года. Характеризуется низкой стоимостью, низким энергопотреблением (макс. 12 Вт), отсутствием поддержки устаревших интерфейсов (PCI, ISA, RS-232, EIDE) и предоставлением высокоскоростных последовательных соединений. Доступные интерфейсы: PCI Express, SATA, USB 2.0, Gigabit Ethernet, SDIO, LVDS, SDVO/HDMI/DisplayPort (совместно), HDA, I²C, LPC, CAN, управление вентилятором, сигналы управления питанием, управление батареей и питание 5 В. Определены унифицированные API для I²C, watchdog-таймера и EPI (Embedded Panel Interface), а также стандартизирован интерфейс теплового охлаждения.
-
- Разъем – 230-контактный краевой MXM2 SMT
- Габариты
- 70 мм × 70 мм
- 70 мм × 40 мм (μQseven)
- Архитектуры – ARM и x86
- Спецификации – Qseven-Spec_2.1.pdf
Уже опубликованы материалы о многих SoM на базе стандарта Qseven , но существует значительно больше решений.
-
- SMARC – Ранее известный как ULPCOM (Ultra Low Power COM), SMARC (Smart Mobility ARChitecture) является еще одним стандартом модулей SoM, опубликованным Standardization Group for Embedded Technologies (SGET). Этот более современный стандарт также ориентирован на энергоэффективные модули SoM на базе ARM и x86, но использует разъем с большим количеством контактов и предлагает 2 размера платы в зависимости от требований. Он имеет некоторое сходство с COM Express (см. ниже), но предназначен для энергоэффективных приложений.
-
- Разъем – 314-контактный MXM 3.0
- Габариты
- 82 мм × 50 мм для чрезвычайно компактных энергоэффективных решений
- 82 мм × 80 мм для SoC с более высокой производительностью и увеличенными требованиями к пространству и охлаждению
- Архитектуры – ARM и x86
- Спецификация SMARC 2.1 – SMARC_V21-specification.pdf SMARC_Hardware_Specification_V1p0.pdf
И здесь несколько компаний выпустили модули SMARC SoM для систем x86 и ARM, но, поскольку он новее, возможно, не столь многочисленных, как QSeven.
-
- COM Express – Следующие 4 стандарта традиционно использовались только с аппаратным обеспечением x86 и могут поддерживать выводы высокой мощности (~100 Вт), хотя некоторые компании также разработали модули COM Express с ARM SoC .
- Разъем – 220- или 440-контактный разъем
- Размеры
- Mini – 55 × 84 мм
- Compact – 95 × 95 мм
- Basic – 95 × 125 мм
- Extended – 110 × 155 мм
- Архитектуры – x86 и, в гораздо меньшей степени, Arm.
- Документация и спецификации – https://www.picmg.org/openstandards/com-express
- PC/104 (Plus) – Еще один широко используемый стандарт модулей для x86
- Разъем – от 104 до 156 контактов в зависимости от версии
- Размеры – 96 x 90 мм
- Архитектуры – x86
- Спецификации – https://pc104.org/hardware-specifications/pc104/
- ETX / XTX – Фактически два стандарта, но они схожи. XTX исключает шину ISA и добавляет PCI-Express, SATA и LPC.
- Разъем – четыре разъема Hirose FX8-100P-SV
- Размеры – 95 × 114 мм
- Архитектуры – x86
- Спецификации – ETX и XTX
- COM HPC – Новый стандарт, утвержденный в 2021 году для высокопроизводительных систем (включая модули на базе Xeon ) с большим количеством интерфейсов и поддержкой более высокого TDP (до 150 Вт), чем COM Express
- Разъем – 2 разъема по 400 контактов
- Размеры
- 95 x 120мм Размер A, рекомендуется для клиентских решений
- 120 x 120мм Размер B, рекомендуется для клиентских решений
- 160 x 120мм Размер C, рекомендуется для клиентских решений
- 160 x 160мм Размер D, рекомендуется для серверных решений
- 200 x 160мм Размер E, рекомендуется для серверных решений
- Архитектура – пока только x86
- Документация и спецификации – https://www.picmg.org/openstandards/com-hpc/
В 2014 году также были перечислены другие стандарты SoM, но они использовались только компаниями-разработчиками и в настоящее время неактуальны. Приведены для справки:
- EDM – открытый стандарт аппаратного и программного обеспечения для модулей x86 и ARM, созданный TechNexion . Определяет три форм-фактора для ARM и/или x86 SoM.
-
- Разъем – 314-контактный MXM 3.0
- Габариты
- EDM Compact – 82 x 60 мм (только ARM)
- EDM Standard – 82 x 95 мм (ARM и x86)
- EDM Extended – 82 x 145 мм (только x86)
- Архитектуры – ARM и/или x86
- Спецификации – недоступны
Несмотря на открытый статус стандарта, кроме TechNexion производителей модулей EDM не обнаружено. Пример реализации – плата разработки Wandboard .
-
- Apalis – архитектура модулей от Toradex, определяющая интерфейсы (электрические характеристики, сигналы и назначение выводов), механический форм-фактор и ключевые размеры.
-
- Разъем – 314-контактный MXM3
- Габариты
- Стандартный: 82 x 45 мм
- Расширенный: 82 x 56 мм
- Архитектуры – ARM и x86
- Спецификации – http://developer.toradex.com/hardware-resources/arm-family/apalis-module-architecture
Вся документация доступна онлайн, однако Toradex остается единственным производителем Apalis SoM. Дополнительные сведения – в статье про Apalis .
-
- EOMA68 – стандарт от Qimod/Rhombus Tech на основе PCMCIA, предоставляющий 68-контактным модулям обязательные интерфейсы: 24-контактный RGB/TTL, I2C, USB (Low/Full Speed, опционально Hi-Speed/480 Мбит/с и USB3), Ethernet 10/100 Мбит/с (опционально 1 Гбит/с), SATA-II (опционально SATA-III), 8 GPIO, SD/MMC и UART (только Tx/Rx).
-
- Разъем – 68-контактный PCMCIA
- Габариты
- Тип II – 85.6 x 54.0 мм (уточняется) x макс. 5 мм
- Тип III – 85.6 x 54.0 мм (уточняется) x макс. 8 мм
- Архитектуры – ARM и x86
- Спецификации – EOMA68 на Elinux.org
На момент публикации известен лишь один продукт с модулем EOMA68: процессорный модуль Allwinner A20 EOMA68 . Проект все еще находится в разработке.
-
- Rabbit – новый стандарт от Radxa (2014), использовавший SO-DIMM разъем и разрабатывавшийся для SoM AllWinner A20/A80. Проект закрыт, сайт недоступен.
- CoreExpress
- Разъем – 220-контактный
- Габариты – 58 × 65 мм
- Архитектуры – x86
- Спецификации – сайт недоступен, стандарт редко используется.
Перечень неполный. Существуют другие стандарты (например, SolidRun μSOM), используемые преимущественно компаниями-разработчиками в таких продуктах как Cubox-i и Hummingboard .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.