Что такое MMDVM: модем, прошивка и платы простыми словами
Вы собираете цифровой хотспот или читаете форумы по DMR и постоянно натыкаетесь на слово MMDVM. Звучит как магия, а на деле это вполне конкретная вещь: маленькая плата плюс программа, которые превращают вашу рацию в узел цифровой радиосети. Разберём по полочкам, что это, из чего состоит и что из этого нужно именно вам.
Что такое MMDVM простыми словами
MMDVM расшифровывается как Multi-Mode Digital Voice Modem — многорежимный цифровой голосовой модем. По сути это связка из двух частей: железа (плата-модем) и программного обеспечения, которые вместе работают как мост между радиоэфиром и цифровой сетью в интернете.
Представьте переводчика. С одной стороны у него радиосигнал на 433 или 144 МГц, который излучает ваша рация. С другой стороны — IP-сеть, через которую сервер (мастер) соединяет вас с другими операторами по всему миру. MMDVM принимает радиосигнал, понимает цифровой протокол (DMR и родственные), упаковывает голос в пакеты данных и отправляет на сервер. И наоборот: берёт пакеты из сети, собирает из них радиосигнал и отдаёт его в эфир. Всё это происходит в реальном времени, без заметной задержки для разговора.
Ключевое слово в названии — Multi-Mode. Один и тот же модем умеет работать с несколькими цифровыми режимами, а не только с DMR. Об этом ниже.
Из чего состоит MMDVM-хотспот
Когда говорят «у меня MMDVM», обычно имеют в виду готовый хотспот. Он складывается из трёх слоёв, и важно их различать, потому что настраивается и обновляется каждый отдельно.
- Плата-модем. На ней стоит радиочип ADF7021 — он отвечает за приём и передачу радиосигнала. Чип задаёт частоту, демодулирует и модулирует сигнал. Это и есть «радио» в вашем хотспоте.
- Микроконтроллер с прошивкой модема. Рядом с радиочипом сидит контроллер STM32 (в дешёвых платах его роль играет упрощённая HS-прошивка). Он обрабатывает цифровой протокол на лету: распознаёт биты DMR, считает синхронизацию, формирует кадры. Эта прошивка так и называется — MMDVM_HS.
- Управляющий компьютер с MMDVMHost. Чаще всего это Raspberry Pi (Zero, 3, 4 — что угодно с Linux). На нём крутится программа MMDVMHost, которая командует модемом и держит связь с сетью через интернет.
Грубая аналогия: ADF7021 — это рот и уши, STM32 с прошивкой MMDVM_HS — это нервная система, которая переводит звуки в импульсы, а MMDVMHost на Raspberry Pi — это мозг, который решает, кому и куда звонить. Подробнее про физическую сборку — в материале Свой MMDVM-хотспот.
Какие бывают платы MMDVM
Плат на рынке десятки, но по сути они делятся на несколько типов. Понимание различий сэкономит вам деньги и нервы.
Симплекс против дуплекса
- MMDVM_HS_Hat — простая плата с одним чипом ADF7021. Она работает в симплексе: в один момент времени либо принимает, либо передаёт, на одной частоте. Самый дешёвый и распространённый вариант, его берёт абсолютное большинство новичков.
- MMDVM Dual_Hat (дуплекс) — плата с двумя чипами ADF7021. Один работает на приём, второй на передачу, на разнесённых частотах одновременно. Это дуплекс, как у настоящего репитера. Дороже, греется сильнее, но позволяет работать как полноценный повторитель. Что выбрать из этих двух — разобрано в статье HS_Hat или Dual_Hat.
Способ подключения: GPIO или USB
- GPIO-платы (Hat). Надеваются прямо на пины Raspberry Pi сверху, как «шапка» (отсюда Hat). Компактно, ничего не торчит, питание и данные идут через те же контакты.
- USB-платы. Подключаются кабелем к любому компьютеру по USB. Удобны, если вы хотите повесить модем на обычный ПК или мини-ПК, а не на Raspberry Pi. Чуть универсальнее, но требуют свободного USB-порта и драйвера.
Кварц: обычный или TCXO
Для цифровой связи частота должна держаться очень точно — отклонение в пару сотен герц уже мешает декодированию. За точность отвечает опорный кварцевый генератор. На хороших платах ставят TCXO (термокомпенсированный генератор): он почти не уходит при нагреве и зимой/летом. Дешёвые платы с обычным кварцем требуют ручной правки частоты — этим занимается калибровка MMDVM. Если хотите меньше возни, ищите плату с TCXO.
Прошивка модема и MMDVMHost: кто за что отвечает
Это место, где новички путаются чаще всего. В системе живут две разные «прошивки», и они не одно и то же.
- Прошивка модема (MMDVM_HS). Зашита в микроконтроллер STM32 на самой плате. Отвечает за низкий уровень: работу с радиочипом, демодуляцию, формирование цифровых кадров. Обновляется редко — обычно только при покупке новой платы или когда выходит важное исправление. Прошивается отдельной процедурой (через загрузчик платы).
- MMDVMHost. Это программа на Raspberry Pi, не «прошивка» в железе. Она читает конфиг (какие режимы включить, к какому серверу подключаться, ваш позывной и DMR ID), отдаёт команды модему и ведёт связь с сетью. Меняется и перенастраивается постоянно — это ваш основной инструмент управления.
Правило простое: всё, что вы трогаете при настройке хотспота, — это MMDVMHost. Прошивку модема трогают редко и осознанно. Если хотспот ведёт себя странно сразу после сборки, чаще виноват конфиг MMDVMHost или калибровка, а не прошивка платы — типичные случаи разобраны в материале когда хотспот не работает.
Как MMDVM попадает в сеть
Сам по себе хотспот — это островок. Чтобы он соединял вас с другими, MMDVMHost должен подключиться к мастер-серверу сети. Делается это по протоколу Homebrew (HBP, Homebrew Protocol) — это стандарт связи между хотспотами/репитерами и серверами в мире DMR.
Схема такая: вы прописываете в конфиге MMDVMHost адрес мастера, порт, пароль и свой ID. MMDVMHost устанавливает соединение, представляется серверу и держит канал открытым. Дальше каждый ваш голосовой пакет уходит на мастер, а оттуда — тем, кто слушает ту же Talk Group. Обратные пакеты приходят так же. Всё это работает поверх обычного интернета через ваш домашний роутер.
Что такое таймслоты, Talk Group и Color Code, через которые маршрутизируется голос, подробно объясняет статья DMR с нуля.
Какие режимы тянет MMDVM
Раз модем «многорежимный», он понимает не только DMR. В цифровой радиолюбительской связи есть несколько форматов, и большинство из них построено вокруг семейства вокодеров AMBE+2 — это способ сильно сжать голос, чтобы он влезал в узкий радиоканал.
- DMR — самый массовый стандарт, на нём работает наша сеть и большинство хотспотов.
- Прочие цифровые режимы того же семейства (на базе AMBE+2 и схожих вокодеров) — MMDVM поддерживает их на уровне модема, но для начала достаточно одного DMR.
Новичку не нужно включать всё сразу. Оставьте только DMR — меньше путаницы, проще диагностика, и именно DMR нужен для работы в DMRhub.
Что выбрать новичку
Если вы только начинаете и не уверены, берите следующую связку:
- Плата: MMDVM_HS_Hat (симплекс) с TCXO — дёшево, надёжно, меньше возни с калибровкой.
- Подключение: GPIO-Hat на Raspberry Pi Zero 2 W или Pi 3/4 — самый отработанный и описанный вариант.
- Режим: только DMR.
- Дисплей: по желанию, OLED можно добавить позже.
Дуплекс, USB-платы и остальные режимы оставьте на потом — к ним есть смысл переходить, когда вы уже уверенно поднимаете симплексный хотспот и понимаете, чего вам не хватает.
Готовы выйти в эфир
DMRhub — частная DMR-сеть с собственным мастер-сервером. Зарегистрируйтесь, получите DMR ID и подключите свой MMDVM-хотспот за несколько минут.