Компьютер -на-модуле ( COM ) — это тип одноплатного компьютера (SBC), подтип встраиваемой компьютерной системы. Расширение концепции системы на кристалле (SoC) и системы в корпусе (SiP), COM по своей природе находится между полноценным компьютером и микроконтроллером . Это очень похоже на модульную систему (SOM).
COM — это полноценные встроенные компьютеры, построенные на одной печатной плате . [1] В основе конструкции лежит микропроцессор с оперативной памятью , контроллерами ввода/вывода и всеми другими функциями, необходимыми для работы компьютера на одной плате. Однако, в отличие от одноплатного компьютера, в COM обычно отсутствуют стандартные разъемы для подключения любых периферийных устройств ввода-вывода непосредственно к плате.
Модуль обычно необходимо монтировать на несущей плате (или «основной плате»), которая разбивает шину на стандартные периферийные разъемы. Некоторые COM-порты также включают периферийные разъемы. Некоторые из них можно использовать без носителя.
Решение COM предлагает компактную компьютерную систему для использования в небольших или специализированных приложениях, требующих низкого энергопотребления или небольшого физического размера, что необходимо во встроенных системах . Поскольку COM очень компактен и имеет высокую степень интеграции, на нем можно реализовать даже сложные процессоры, в том числе многоядерные.
Некоторые устройства также включают в себя компоненты программируемой вентильной матрицы (FPGA). Функции на основе FPGA могут быть добавлены в качестве IP-ядер к самому COM или к несущей карте. Использование IP-ядер FPGA повышает модульность концепции COM, поскольку функции ввода-вывода можно адаптировать к особым потребностям без существенной перемонтажа печатной платы . [2]
«Компьютер-на-модуле» также называют « системой-на-модуле » (SOM). [3] [4] [5]
Термины «Компьютер-на-модуле» и «COM» были придуманы компанией VDC Research Group, Inc. (ранее Venture Development Corporation) для описания этого класса встраиваемых компьютерных плат.
Доктору Гордону Крубергу, основателю и генеральному директору Gumstix, приписывают создание первого COM, который опередил следующие узнаваемые записи COM почти на 18 месяцев.
Номер машины Gumstix ARM Linux — 373, установлен 9 сентября 2003 г., Kontron — 735, создан 18 апреля 2005 г., а Keith & Koep (теперь часть SECO [6] ) — 776, создана 20 июня 2005 г. Платы с номерами ниже 373 были больше. и одноплатные компьютеры в отличие от модулей, например Itsy, крошечное портативное устройство на базе StrongARM.
Парадигма быстрой разработки (COM + плата расширения), разработанная доктором Крубергом, с тех пор лежит в основе передовых разработок и используется ведущими компаниями по производству потребительских товаров по всему миру.
COM доказали свою полезность при запуске целых отраслей , требующих быстрых усилий по развитию. Например, в 2005 году Apple использовала Gumstix COM для тестирования оригинальной концепции iPhone.
Использование несущей платы во многих случаях является преимуществом, поскольку на ней можно реализовать специальные интерфейсы ввода-вывода, устройства памяти, разъемы или форм-факторы. Разделение конструкции несущей платы и COM делает концепции проектирования более модульными, если это необходимо. Носитель, адаптированный для специального применения, сам по себе может потребовать больших затрат на проектирование. Если реальный процессор и основные контроллеры ввода-вывода расположены на COM, гораздо проще, например, обновить компонент ЦП до следующего поколения без необходимости перепроектировать очень специализированный носитель. Это может сэкономить затраты и сократить время разработки. Однако это работает только в том случае, если межплатное соединение между COM и его носителем остается совместимым между обновлениями.
Другие преимущества использования продуктов COM вместо разработки с нуля включают сокращение времени вывода на рынок (TTM), снижение рисков, экономию средств, выбор различных процессоров, снижение требований и времени на проектирование для клиентов, а также возможность проводить как аппаратное обеспечение, так и разработка программного обеспечения одновременно. [7]