Зачастую при проектировании встраиваемых систем перед разработчиком встает непростой выбор между одноплатными компьютерами (SBC – single board computer) и процессорными модулями (COM – computer on module).
Сегодня вычислительные системы проникли во все сферы жизнедеятельности человека: высокопроизводительные встраиваемые системы используются в абсолютно разных областях, начиная от управления производственными линиями и заканчивая медицинским оборудованием. Чтобы сделать грамотный выбор в пользу той или иной встраиваемой системы, необходимо прежде всего проанализировать такие показатели, как производительность и архитектура процессора, реализованные интерфейсы, потребляемая энергия, используемое программное обеспечение, стоимость и время разработки.
Понятно, что процесс проектирования становится все более сложным. Используемые встраиваемые системы часто должны поддерживать определенные интерфейсы, требуемые программным обеспечением конечного пользователя, работать при экстремальных температурах и обеспечивать низкое энергопотребление с высокой производительностью в удаленном и необслуживаемом оборудовании с соответствующей надежностью.
Разработчики должны ориентироваться в технических и организационно-коммерческих вопросах, влияющих на проектирование, чтобы выбрать оптимальное решение. Правильно оценив все требования к разработке, инженеры в конечном итоге отдают предпочтение наиболее подходящему форм-фактору для создания системы. Технические и организационно-коммерческие нюансы могут иметь одинаковый приоритет при определении алгоритма проектирования системы, поэтому они должны рассматриваться разработчиком в комплексе: так, например, нужно одинаково учитывать и производительность процессора и набор интерфейсов, и время разработки, повторяющиеся и единовременные затраты на инженерные работы, возможность обновления, а также иные факторы. Отметим, что подробное техническое задание поможет значительно снизить количество возможных вариантов разработки системы в каждом конкретном случае.
Какой форм-фактор лучше всего подходит для разрабатываемой системы?
Одноплатные компьютеры и процессорные модули могут предложить сходные возможности, предполагая при этом совершенно различные пути разработки для достижения требуемой производительности. Долгосрочное влияние принятого решения является существенным и связывает выбранный форм-фактор с жизненным циклом продукта. Выбор форм-фактора для создания системы может сильно ограничить требование по совместимости с существующими системами, в отличие от того, если бы система создавалась с чистого листа.
Одноплатные компьютеры – это готовое решение, которое позволяет исключить этап разработки и производства в случае применения процессорных модулей для создания несущей платы, следовательно, разработчики системы концентрируются только на программных вопросах. Это решение позволяет максимально быстро вывести продукцию на рынок, однако оно обладает и более высокой стоимостью. Так как одноплатные компьютеры выпускаются с учетом максимально возможного удовлетворения всех требований заказчика, то здесь не избежать избыточности по поддерживаемым интерфейсам: их количеству, объему установленной памяти и т. п. Также надо учитывать, что жизненный цикл системы будет ограничен сроком производства конкретного одноплатного компьютера, используемого в этой системе. При его снятии с производства придется обновлять и свою систему с учетом отличий нового компьютера от устаревшего, например, иное расположение разъемов интерфейсов на плате компьютера. На рынке встраиваемых систем получили широкое распространение следующие форм-факторы одноплатных компьютеров: 3,5’’ (146х102 мм), 2,5’’ (100х72 мм, альтернативное название Pico ITX) и РС/104 (96х90 мм).
Особое внимание стоит уделить одноплатным компьютерам стандарта РС/104. Дочерние платы, или модули расширения для компьютеров РС/104, имеют те же размеры 96х90 мм, что и плата компьютера, и объединяются с ней жестко определенными стандартом интерфейсами PCI, PCI Express (PCIe) и ISA (в более ранних версиях) (рис. 1). Таким образом, стандарт РС/104 позволяет избежать необходимости в собственной разработке несущей платы и более оптимально сконфигурировать компьютер, используя модули различных производителей. Следует отметить, что за долгое время существования стандарта РС/104 множество производителей разработало огромное количество различных по назначению и выполняемым функциям модулей. Дополнительная свобода от конкретной платы компьютера обеспечивается тем, что в РС/104 разъемы интерфейсов на корпусе соединены с платой компьютера или модулем расширения с помощью кабелей. Ограничением в применении одноплатных компьютеров РС/104 является использование процессоров небольшой мощности. Потребляемая мощность одноплатного компьютера РС/104 должна быть не более 25 Вт, и связано это с ограничением по нагрузке ис- пользуемых межплатных разъемов в стандарте РС/104. Еще одной сложностью является то, что используются процессоры в основном х86 архитектуры из-за применяемых в стандарте РС/104 интерфейсов. Совсем недавно в ARM-процессорах стали использовать PCIe интерфейс, а ранее для применения ARM в одноплатных компьютерах РС/104 приходилось использовать дополнительные микросхемы для реализации интерфейсов PCI, PCIe и ISA.
Процессорные модули (рис. 2) как компоненты, устанавливаемые на печатную плату, оптимально устраняют избыточность системы.. Разработчик может максимально точно следовать требованиям технического задания, учитывая размер печатной платы, ее форму, размещение интерфейсов и типы используемых разъемов, и применить при этом только ту периферию на несущей плате, которая необходима для данной системы. Благодаря стандартизации модулей существует возможность простой модификации системы путем замены модулей на несущей плате. Таким образом, можно осуществить более тонкую настройку системы под требования заказчика и выпускать версии системы с более или менее производительными процессорами или даже менять архитектуру процессора путем простой замены модуля. Благодаря взаимозаменяемости модулей обеспечивается легкое обновление системы при появлении новых процессоров, а это также продлевает жизненный цикл изделия, делает его свободным от устаревания и снятия с производства конкретного модуля и устраняет зависимость от одного производителя.
Также, как и у одноплатных компьютеров стандарта РС/104, для процессорных модулей учитываются ограничения по мощности. Для модулей COM Express жестких стандартов не установлено, но значение потребляемой мощности определяется характеристиками межплатных разъемов. Оно соответствует примерно 50 Вт для модулей Type 2, Type 6 и Type 7 и 25 Вт для Type 10 (Mini COM Express), так как данный тип модулей использует только один разъем в отличие от предыдущих. Строго ограничивают потребляемую модулем мощность стандарты Qseven – до 12 Вт и SMARC(Smart Mobility ARChitecture) – до 15 Вт.
Насколько низким должно быть энергопотребление разрабатываемой системы?
Производительность процессора напрямую связана с энергопотреблением: процессоры с более низкой производительностью требуют меньше энергии. Кроме того, выбор процессора зависит также от системы охлаждения. Меньше ограничений накладывает активная система охлаждения, позволяя выбрать процессор необходимой производительности. Когда же система ограничена пассивным безвентиляторным охлаждением, в приоритете будут процессоры с низким энергопотреблением, и жертвовать придется производительностью процессора из-за ограничений по массогабаритным параметрам системы охлаждения.
В области малой мощности CISC (complex instruction set computer, компьютер с полным набором команд) платформа x86 исторически проигрывала архитектуре RISC (reduced instruction set computer,компьютер с сокращенным набором команд), на которой построены процессоры ARM. Более простая архитектура ARM имеет небольшую площадь кристалла и существенно меньше потребляет энергию. Это преимущество позволило данным процессорам занять ведущее место среди форм-факторов с минимальными размерами. Стандарты Qseven и SMARC изначально разрабатывались с учетом особенностей архитектуры ARM. Тем не менее, развитие платформы x86 продолжается, и сегодня разработчики имеют доступ к малопотребляющим x86 моделям. Новые процессоры обеспечивают более высокую производительность, чем у предыдущего поколения x86, при этом потребляя менее 10 Вт. Это позволило использовать новые малопотребляющие процессоры x86 в модулях Qseven и SMARC и создать новый модуль COM Express Mini (Type 10), который обеспечивает преемственность стандарта COM Express в меньшем по размеру модуле.
Выбор операционной системы и программного обеспеченияНа выбор архитектуры процессора, установленного на модуле или в одноплатном компьютере, влияет операционная система. И наоборот, если инженер ограничен в выборе операционной системы, это может повлиять на выбор используемого процессора.
Linux – наиболее универсальная операционная система. Она поддерживает как x86, так и ARM процессоры. Традиционно при применении ARM использовались Linux и построенная на ее основе Android. И только совсем недавно Microsoft портировала Windows для архитектуры ARM. Многие производители одноплатных компьютеров и процессорных модулей с процессорами ARM ограничиваются поддержкой Linux, что накладывает ограничения на используемую операционную систему. В рассматриваемом случае более универсальными оказываются x86 процессоры. Они поддерживаются и Linux, и Windows, а при необходимости использовать VxWorks или QNX чаша весов будет склоняться в сторону x86 процессоров, так как эти операционные системы поддерживают только некоторые ядра архитектуры ARM. В пользу Windows, даже при том, что она увеличивает стоимости системы, говорит огромный объем программного обеспечения, системы разработки и отладки, написанные под эту ОС, и профессиональная поддержка.
Факторы, влияющие на стоимость системыСтоимость системы формируется сложным многообразием факторов. Например, можно предположить, что стоимость зависит от размера модуля или одноплатного компьютера, мотивируя это тем, что на меньшей печатной плате установлено меньше компонентов. Тем не менее, в действительности меньший модуль может быть дороже, чем модуль большей площади. Технические характеристики, модель с одноядерным или четырехъядерным процессором и реализованные интерфейсы ввода / вывода являются теми условиями, которые будут определять общую стоимость платы.
Ресурсы, потраченные на разработку и отладку, стоимость используемого программного обеспечения и оборудования – все это, в свою очередь, скажется на стоимости решения. Рассмотрим модули COM Express Basic, Compact и Mini форм-факторов с одним и тем же установленным процессором. У модуля Mini меньше площадь печатной платы, но могут потребоваться те же функции, что в Basic и Compact модулях. Чтобы их эффективно реализовать, понадобятся дополнительные слои печатной платы, а это дорогостоящая и кропотливая инженерный работа, увеличивающая время разработки, и, соответственно, стоимость производства.
Инженерные затраты обычно выстраиваются таким образом: наиболее дорогостоящими являются полностью сформированные, готовые к использованию одноплатные компьютеры PC/104 (из-за плотности монтажа на печатной плате), затем идут одноплатные компьютеры 3,5’’ и Pico ITX, близко по стоимости к ним находятся модули стандарта COM Express. Модули SMARC и Qseven имеют меньше компонентов и, как правило, имеют более низкую функциональность, чем COM Express, что заметно уменьшает их стоимость.
Для оценки полной стоимости системы нельзя оставлять без внимания ресурсы, потраченные на разработку, отладку и тестирование несущей платы для решения на процессорных модулях. Данное решение (несущая плата + процессорный модуль) начинает выигрывать по стоимости после превышения определенного количества изделий, когда стоимость разработки и отладки несущей платы начинает компенсироваться более дешевым производством несущей платы из-за более простой структуры и меньшим количеством реализованных интерфейсов по сравнению с одноплатным компьютером.
Нельзя забывать и о рабочем температурном диапазоне модулей и одноплатных компьютеров. Использование компонентов с так называемым индустриальным температурным диапазоном –40...+85 °С и последующие температурные тесты могут увеличить стоимость в 1,5 раза по сравнению с коммерческими моделями 0...+70 °С. Поэтому нельзя пренебрегать возможностью смягчить требования к рабочему температурному диапазону даже на 10...20 °С: так, рабочий температурный диапазон –20...+75 °С значительно снизит стоимость решения по сравнению с –40...+85 °С. Также стоит обратить внимание, что минусовой диапазон –40...–20 °С больше влияет на стоимость, чем плюсовой диапазон +60...+85 °С.
Выбор оптимального вариантаПри жестких сроках сдачи работы, когда, например, на реализацию проекта дается не более полугода и времени на разработку несущей платы не остается, возникает необходимость использовать одноплатный компьютер. Одноплатный компьютер – это фактически готовая система, от вас требуется только добавить питание, подключить нужные интерфейсы, устанавить и отладить программное обеспечение.
Такое же решение в пользу одноплатного компьютера, очевидно, принимается при небольших количествах разрабатываемой системы – например, 100 шт, – когда затраты на разработку и производство несущей платы явно превысят выгоду от применения процессорного модуля по сравнению с одноплатным компьютером.
Если необходимо обеспечить длительное время использования системы, например, от 10 лет, то решение с большой вероятностью будет принято в пользу применения процессорного модуля. Жизненный цикл одноплатного компьютера напрямую зависит от жизненного цикла важнейших компонентов, установленных на плате компьютера, снятие с производства которых делает нецелесообразным модификацию машины и, следовательно, также ведет к снятию его с производства. Такими важнейшими компонентами являются чипсет и процессор. Для примера, максимальный период производства серии Embedded компании Intel составляет всего 7 лет. Длительный жизненный цикл системы обеспечивается простой заменой устаревших процессорных модулей на разработанной вами несущей плате.
Еще сложнее сделать выбор между х86 процессорами и ARM. Как было рассмотрено ранее, немаловажную роль здесь сыграет применяемое программное обеспечение и энергопотребление системы. Windows и отсутствие жестких ограничений говорит о целесообразности использования х86 процессоров, а Linux и экстремально низкое энергопотребление – об ARM.
Итак, как было продемонстрировано выше, обычно у разработчика имеется несколько работоспособных вариантов создания системы. Целью же данной статьи было обратить внимание на основные факторы и помочь расставить правильные приоритеты для выбора наиболее оптимального варианта решения.