Компания Raspberry Pi разработала, пожалуй, самый популярный и широко используемый одноплатный компьютер на рынке. Эти мощные одноплатные компьютеры давно используются не только в среде энтузиастов и хобби, но и в промышленной сфере.
По мере расширения области применения форм-фактор этих плат вырисовывается как стандарт 'де-факто' для одноплатных компьютеров и модулей. Введение в конце 2020 года вычислительного модуля CM4 отметило установление нового стандарта форм-фактора для систем на модулях.
С тех пор различные SoC от производителей, таких как Allwinner и Rockchip, наряду с надежными FPGA, беспрепятственно интегрировались в широко принятый форм-фактор CM4.
Модуль Pi.MX8 присоединится к списку модулей, совместимых с CM4.
При всем этом разнообразии доступных совместимых SoM, почему мы должны инвестировать время в разработку еще одного варианта?
Ответ прост: когда мы строим сложную и иногда дорогостоящую систему вокруг компьютерного модуля, мы также хотим иметь суверенитет дизайна над самим модулем. Мы хотим иметь доступ к исходным данным схемы и компоновки, мы хотим иметь возможность самостоятельно решать о составе BOM модуля в случае дефицита компонентов, и, что наиболее важно, мы хотим иметь доступ к документации всех компонентов, используемых на печатной плате.
Все это возможно только в контексте полностью открытого проекта, использующего компоненты с легкодоступной документацией.
Изображение предыдущей ревизии компоновки Pi.MX8
В этой и последующих статьях мы будем рассматривать разработку полностью открытого модуля, совместимого с CM4. В конце нашего пути исходные данные для модуля, совместимого с CM4, будут опубликованы для обзора, модификации или использования всеми желающими!
Основным строительным блоком, который мы должны определить перед выбором любых периферийных компонентов, является система-на-чипе. Есть SoC, который соответствует всем требованиям к легкодоступной документации и широко используется в промышленности, i.MX8M Plus от NXP.
Этот SoC доступен в нескольких вариантах, начиная от двух до четырех ядер Cortex-A53 с тактовой частотой до 1.8 ГГц. Кроме того, в этой серии процессоров доступен вторичный ядро cortex M7 и интегрированный ускоритель машинного обучения.
Особенности аппаратного обеспечения SoC i.MX8M Plus - источник изображения: веб-сайт NXP
i.MX8 предоставляет почти все периферийные интерфейсы, как и BCM2711, используемый в модуле Raspberry Pi CM4, за одним значительным исключением:
На i.MX8 доступен только один интерфейс HDMI в отличие от двух портов, доступных на BCM2711. Это ограничение можно обойти, используя мост DSI к HDMI. Чтобы сохранить количество компонентов и сложность на низком уровне, этот ИС пока не будет интегрирован в наш модуль.
Кроме второго интерфейса HDMI, i.MX8 отлично подходит для нашего приложения!
Высокоуровневая блок-схема модуля состоит всего из нескольких ключевых компонентов. Центральным элементом является SoC i.MX8, который предоставляет все интерфейсы для необходимых периферийных компонентов. Проще говоря, мы создаем развязывающую плату для процессора i.MX8:
Блок-схема Pi.MX8
Давайте начнем с рассмотрения системы питания. Интегральная схема управления питанием (коротко PMIC) обеспечивает несколько напряжений, необходимых для SoC, но также предназначена для питания интерфейсов, таких как разъем для SD-карты.
PMIC также отвечает за обеспечение правильной последовательности включения и выключения, что может быть довольно сложным для больших SoC.
NXP предлагает PMIC, который был специально разработан для использования с процессорами приложений i.MX 8M. Этот интегральный чип обеспечивает до 11 напряжений, генерируемых комбинацией понижающих преобразователей и линейных стабилизаторов (LDO). Основные напряжения для SoC генерируются понижающими преобразователями, поскольку потребность в токе довольно высока при низких рабочих напряжениях. Напряжение, которое питает четыре ядра A53, генерируется двухфазным понижающим преобразователем, интегрированным в PMIC, для удовлетворения высокого спроса на ток.
PMIC, который мы будем использовать, это PCA9450.
NOR flash небольшой емкости может использоваться для хранения специфических для платы данных, а также как загрузочное средство. Процессор i.MX8, среди прочего, поддерживает несколько интерфейсов SPI для доступа к загрузочному средству. В данном случае мы используем четырехканальный интерфейс SPI для подключения к 32MB SPI NOR flash.
Устройство - это IS25WP256D-RHLE от Integrated Silicon Solution, Inc.
Этот конкретный пакет и распиновка также доступны от разных производителей, что позволяет заменить компонент в случае проблем с доступностью.
Ethernet PHY должен поддерживать гигабитные скорости, а также протокол точного времени для совместимости с функциональностью CM4. Интерфейс к SoC должен быть уменьшенным гигабитным медиа-независимым интерфейсом (RGMII). Этот тип интерфейса поддерживается широким спектром ethernet PHY для встроенных приложений.
Мы будем использовать LAN8840 от Microchip Technology.
Этот PHY поддерживает как гигабитные скорости, так и высокоточную маркировку времени в соответствии с IEEE 1588-2008 (v2). Корпус QFN48 также относительно компактен, что позволяет экономить ценное место на плате модуля.
Мы будем использовать память DDR4 низкого энергопотребления на модуле Pi.MX8. Несколько производителей предоставляют IC LPDDR4 в одном и том же корпусе и распиновке, что упрощает реагирование на проблемы с доступностью или поддержку нескольких емкостей памяти. Samsung и Micron являются наиболее часто используемыми производителями устройств LPDDR4. Мы будем использовать устройства, поддерживающие 32-битную шину с скоростью передачи данных 3733 Мбит/с.
Pi.MX8 может быть оснащен несколькими емкостями памяти:
Таблица емкостей памяти
Coral Edge TPU может использоваться для ускорения вычислений нейронных сетей на встроенных устройствах. Coral TPU часто используется в виде расширительной карты M.2 и также доступен в маленьком LGA-пакете.
Этот модуль содержит процессор тензоров, а также микросхему управления питанием, необходимую для работы TPU. Нам нужно обеспечить интерфейс PCIe для этого модуля, чтобы использовать доступную вычислительную мощность.
Поскольку этот модуль предназначен только для ограниченного числа случаев использования и относительно дорог, мы реализуем его как вариант сборки.
WiFi и Bluetooth Low Energy являются одними из наиболее часто используемых беспроводных интерфейсов для приложений IoT. Мы будем использовать модуль MURATA LBEE5PK2BC как полностью интегрированное решение.
Этот модуль обеспечивает как W-LAN, так и Bluetooth, минимизируя количество необходимых внешних компонентов. Не каждому приложению нужна беспроводная связь, поэтому модуль WiFi/BLE также будет реализован как вариант сборки.
Модуль eMMC обеспечивает до 32 ГБ емкости хранения для модуля Pi.MX8. Как и в случае с DRAM LPDDR4, мы можем выбирать между многими производителями модулей eMMC, которые соответствуют одному и тому же стандарту корпуса и распиновки. Одним из наиболее часто используемых производителей модулей eMMC является SanDisk.
eMMC также будет реализован как вариант сборки, чтобы сэкономить на стоимости BOM для приложений, которым не требуется большой объем емкости для хранения данных.
Перед переходом к следующему этапу настройки схемы и дизайна печатной платы давайте быстро посмотрим на требования к пространству для всех компонентов, которые мы только что выбрали.
Для этой цели мы можем настроить компоненты библиотеки печатных плат и разместить их внутри контура печатной платы форм-фактора CM4.
Примерка ключевых компонентов
Все ключевые компоненты помещаются на верхнем слое в контуре форм-фактора CM4. Это предварительное размещение также показывает, что для более крупных компонентов на верхней стороне остается мало места. Высота соединения платы с платой, которое мы используем, составляет всего 2 мм. Это ограничивает высоту компонентов, которые мы можем разместить на нижней стороне печатной платы. В идеале, все ключевые компоненты будут размещены на верхней стороне платы, чтобы избежать любых столкновений с частями, которые могут быть размещены на несущей плате под модулем.
Впереди захватывающие обновления! С завершением выбора компонентов наш путь продолжается для финализации схем в предстоящем обновлении. Заметили ли вы что-то отсутствующее на скриншоте раскладки печатной платы в начале? Это потому, что это старая ревизия, и мы перепроектируем всю печатную плату, чтобы включить новую функциональность. Присоединяйтесь к нам в этом путешествии и следите за реальным прогрессом через встроенный просмотрщик A365 и наш общедоступный рабочий пространство! Не пропустите — следите за захватывающим преобразованием!