Raspberry Pi Compute Module 4

Raspberry Pi · Compute Module 4 / CM4 Lite, BCM2711; RAM, eMMC и радио по артикулу

Встраиваемый Linux-модуль на BCM2711 с вариантами RAM, eMMC и беспроводной связи. Требуется carrier board; пример на официальной CM4 IO Board.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСложно
Проекты с компонентом

О МОДУЛЕ

Что делает Compute Module 4 / CM4 Lite, BCM2711; RAM, eMMC и радио по артикулу

Compute Module 4 предназначен для встраивания вычислительной части Raspberry Pi в собственное устройство. На модуле находятся процессор, RAM, цепи питания и, в зависимости от артикула, eMMC и радиомодуль. Пользовательские USB, HDMI, Ethernet, разъёмы датчиков и вход питания реализует плата-носитель.

Перед выбором модуля зафиксируйте три независимых признака: объём RAM, Lite или eMMC, наличие беспроводной связи. У варианта Lite накопитель организуется на carrier board; у eMMC-варианта интерфейс штатного microSD-слота CM4 IO Board недоступен. Наличие Wi-Fi и Bluetooth тоже нельзя определить только по названию CM4.

Для прототипа удобно использовать официальную CM4 IO Board. Контакты в таблице подключения примера относятся к гребёнке CM4 IO Board. Пять справочных изображений галереи отдельно перечисляют все 200 контактов двух разъёмов самого CM4 по редакции datasheet от 24.11.2023. Это таблицы номеров и сигналов, а не физический вид платы; положение pin 1 и ориентацию разъёмов нужно сверить с механическим чертежом производителя. При разработке своей платы отдельно проверяются питание, GPIO_VREF, сигналы загрузки и высокоскоростная разводка. CM4 имеет другой форм-фактор, чем старые SODIMM-модули; механической совместимости по названию Compute Module нет.

Raspberry Pi Compute Module 4 с беспроводным модулем. Источник SparkFun описывает показанный вариант как 2 ГБ RAM / 8 ГБ eMMC; объёмы памяти не определялись по маркировке фотографии. Другие варианты CM4 могут отличаться.

Фото: SparkFun, CC BY 2.0. Источник: https://commons.wikimedia.org/wiki/File:CM_4_TOP_DOWN_ON_WHITE.jpg . Лицензия: https://creativecommons.org/licenses/by/2.0/ . SLDV LAB удалил белый фон и фон в четырёх монтажных отверстиях, равномерно масштабировал фото и разместил его на предоставленном фоне. Реальные компоненты и маркировка не перерисовывались. Оригинал 600×600 ограничивает мелкие детали. Справочник контактов: оригинальная табличная компоновка SLDV LAB по Raspberry Pi CM4 Datasheet, редакция 24.11.2023, глава 4.

Справочник контактов модуля

Справочник всех 200 контактов CM4, Raspberry Pi CM4 Datasheet, редакция 24.11.2023, глава 4. Это номера и сигналы двух разъёмов модуля; таблица не задаёт физическую ориентацию и не относится к 40-pin гребёнке IO Board.

Официальный datasheet CM4.

Справочник в полном разрешении

Характеристики

Процессор
Broadcom BCM2711, 4 × 64-битных Arm Cortex-A72
Штатная частота CPU
1.5 ГГц
Варианты RAM
1 / 2 / 4 / 8 ГБ LPDDR4
Варианты eMMC
Lite без eMMC; 8 / 16 / 32 / 64 ГБ по текущим datasheet и таблице артикулов product brief
Опциональный радиомодуль
С радио или без; у wireless: Wi-Fi 2,4/5 ГГц 802.11ac, Bluetooth 5.0/BLE
Соединение с carrier board
2 высокоплотных разъёма по 100 контактов
PCIe
Gen 2 x1, выводится на carrier board
USB модуля
Один USB 2.0; число разъёмов зависит от carrier board и USB-хаба
Ethernet
Gigabit Ethernet PHY на модуле; разъём и магнетика на carrier board
GPIO
28; логические уровни задаёт GPIO_VREF
Штатные аналоговые входы общего назначения
0
Размер модуля
55 × 40 мм
Интерфейс
I²C, SPI, UART, Wi-Fi, Bluetooth
Питание модуля
Сам CM4 питается от 5 В через carrier board. В примере официальная CM4 IO Board питается от 12 В через DC J19, 2,1 мм, плюс в центре; 12 В нельзя подавать напрямую на модуль или GPIO. GPIO_VREF выбирает 1,8 или 3,3 В; карточка предполагает штатные 3,3 В IO Board. GPIO не допускают 5 В.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
Питание опорной системыDC-разъём J19 CM4 IO Board: 12 В, плюс в центреДля Raspberry Pi Compute Module 4 IO Board. Сам Raspberry Pi Compute Module 4 получает 5 В от carrier board; не подавайте входное напряжение carrier board напрямую на модуль.
GND периферии40-контактная гребёнка Raspberry Pi Compute Module 4 IO Board, физический контакт 6Общая земля. Собирать при отключённом питании.
Питание совместимой маломощной периферии40-контактная гребёнка Raspberry Pi Compute Module 4 IO Board, 3V3, физический контакт 1Выход питания 3,3 В. Ограничение тока берите из документации carrier board; это не допустимый ток GPIO.
SDA устройства I²C на 3,3 В40-контактная гребёнка Raspberry Pi Compute Module 4 IO Board, GPIO2, физический контакт 3Только при GPIO_VREF = 3,3 В. Включите соответствующую шину в ОС; подтяжки должны соответствовать уровню GPIO.
SCL устройства I²C на 3,3 В40-контактная гребёнка Raspberry Pi Compute Module 4 IO Board, GPIO3, физический контакт 5Номер физического контакта не является номером GPIO или gpiochip line. Диагностические примеры не используют эту шину.

Подходит для Raspberry Pi. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать Raspberry Pi Compute Module 4 в устройство. Уточни полный артикул модуля, RAM, eMMC или Lite, наличие радио, точную carrier board, схему питания, охлаждение, ОС и задачу. Не считай модуль готовой платой с USB, HDMI и 40-контактной гребёнкой.

В этой карточке опорная конфигурация — Raspberry Pi Compute Module 4 IO Board со штатным GPIO_VREF 3,3 В. Для другой carrier board сначала проверь её схему и электрические уровни. Подготовь соединения с номерами контактов именно её разъёмов, необходимые драйверы и overlays, минимальный пример и порядок проверки. Для GPIO не угадывай номер gpiochip; для аналогового сигнала добавь внешний АЦП.

Раздели установку ОС на Lite и eMMC: слот microSD официальной IO Board предназначен для Lite. При работе с eMMC сначала используй подходящую процедуру usbboot производителя; перед записью образа покажи, какой носитель будет стёрт. Для первого безопасного запуска достаточно диагностики из карточки. Не обещай жёсткое реальное время в Linux, не питай силовую нагрузку от GPIO и корректно заверши ОС перед отключением питания.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Опорная carrier board
Raspberry Pi Compute Module 4 IO Board

Все физические контакты в карточке относятся к этой плате-носителю, не к двум высокоплотным разъёмам самого модуля.

ОС
Raspberry Pi OS, актуальный образ для Raspberry Pi Compute Module 4

Установить на носитель выбранного варианта. Загрузчик и образ должны поддерживать модуль.

Среда
Python 3.10+

Пример диагностики использует только стандартную библиотеку; дополнительные GPIO-пакеты для него не нужны.

GPIO в опорной конфигурации
3,3 В

Проверить GPIO_VREF и отсутствие аппаратных изменений IO Board; иные carrier boards могут использовать 1,8 В.

Вариант носителя
Lite / eMMC

Выберите по полному артикулу. Наличие microSD-слота на carrier board не означает его доступность у eMMC-модуля.

Raspberry Pi Compute Module 4 · сведения о загруженной системе

python
from pathlib import Path
import platform
import sys

def read_text(path):
    try:
        return Path(path).read_text(encoding="utf-8", errors="replace").replace("\x00", "").strip()
    except OSError as exc:
        return f"Недоступно: {exc}"

print("Модель:", read_text("/proc/device-tree/model"))
print("Ядро:", platform.release())
print("Архитектура:", platform.machine())
print("Python:", sys.version.split()[0])
for line in read_text("/etc/os-release").splitlines():
    if line.startswith("PRETTY_NAME="):
        print("ОС:", line.split("=", 1)[1].strip(chr(34)))
for line in read_text("/proc/meminfo").splitlines():
    if line.startswith("MemTotal:"):
        print("Память, доступная ядру:", line.split(":", 1)[1].strip())

Полный файл board_info.py, Python 3.10+ и Raspberry Pi OS на Raspberry Pi Compute Module 4 IO Board. Запуск: python3 board_info.py. Только чтение, внешние подключения не нужны. Синтаксис проверен; аппаратного теста не было.

Raspberry Pi Compute Module 4 · проверка корневого носителя

text
# Выполняйте в терминале загруженного Linux на модуле.
# Команды только показывают накопители и корневую файловую систему.
uname -r
findmnt -n -o SOURCE,FSTYPE,TARGET /
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS

Самостоятельные команды оболочки Linux; утилиты findmnt и lsblk из util-linux в Raspberry Pi OS. Только чтение. Не делайте вывод о номере eMMC/microSD по чужому примеру и не записывайте образ на найденный диск автоматически. На старой версии lsblk вместо MOUNTPOINTS может потребоваться MOUNTPOINT.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты