TCXO и точность частоты хотспота: почему модем уходит

Категория: КалибровкаСложность: ★★★~9 минут

Хотспот собран, провижен прошёл, в логах вроде всё чисто, рация лежит в полуметре от платы — а связи нет. Или связь есть, но качество данных отвратительное: пакеты теряются, Last Heard моргает, SMS не доходит, а в логах модема растёт BER. В девяти случаях из десяти корень проблемы — не «софт глючит» и не «рация плохая», а уход частоты: реальная частота передатчика хотспота отличается от той, на которой слушает рация, на несколько килогерц. И главный виновник этого ухода — задающий генератор на плате модема. Разберёмся, почему дешёвый кварц «плывёт», что такое TCXO и как лечить уход и программно, и аппаратно.

Симптом: рация рядом, а связи нет

Классическая картина ухода частоты выглядит так:

Последний пункт — почти стопроцентный диагноз температурного ухода. Если поведение зависит от того, сколько модем проработал и насколько нагрелся, дело именно в стабильности задающего генератора.

Почему важна именно точностьВ DMR используется узкополосная 4FSK-модуляция с разносом несущей всего 12,5 кГц. Приёмник ожидает несущую в очень узком окне. Уход на 1–2 кГц уже сдвигает символы по частоте настолько, что демодулятор начинает путать дибиты — отсюда и рост BER без всякой связи с уровнем сигнала.

Причина: кварц уходит от температуры и разброса

Сердце любого радиомодема — опорный генератор, который задаёт точку отсчёта для синтезатора частоты. На бюджетных платах это обычный кварцевый резонатор (XO) на 12 МГц или 14,7456 МГц без какой-либо компенсации. У такого кварца две беды.

Начальный разброс. Заявленная точность дешёвого кварца — порядка ±20…±50 ppm (частей на миллион). На рабочей частоте 434 МГц даже 10 ppm — это уже 4,34 кГц ухода. То есть две одинаковые платы из одной партии могут с завода отличаться по частоте на несколько килогерц просто из-за допуска на изготовление резонатора.

Температурный дрейф. Частота кварца плавает по температуре по характерной параболической кривой. У обычного XO коэффициент может достигать тех же ±20…±40 ppm в диапазоне рабочих температур. Когда плата греется — от собственного потребления, от процессора Pi под ней, от закрытого корпуса, от летней жары — несущая уползает. Именно поэтому хотспот «уходит» в процессе работы: холодный старт даёт одну частоту, прогретый режим — другую.

Складываем разброс и дрейф — и получаем модем, который ни на заводской частоте не стоит, ни на месте не держится.

Что такое TCXO и как он это лечит

TCXO (Temperature Compensated Crystal Oscillator) — термокомпенсированный кварцевый генератор. Внутри корпуса, помимо самого резонатора, стоит схема компенсации: она измеряет температуру и подстраивает нагрузку на кварц так, чтобы скомпенсировать ту самую параболическую кривую дрейфа. На выходе — стабильная частота независимо от прогрева.

Цифры говорят сами за себя. Типичный TCXO для MMDVM-плат имеет точность ±0,5…±2 ppm против ±20…±50 ppm у голого кварца. На 434 МГц это разница между уходом в сотни герц и уходом в несколько килогерц. И, что важнее, TCXO держит эту частоту в диапазоне температур — хотспот ведёт себя одинаково и холодным, и прогретым.

Практический вывод: TCXO не отменяет калибровку (начальный сдвиг всё равно нужно выбрать программно), но он убирает плавание. Без него вы калибруете один раз на холодную, а через час всё разъезжается снова.

Как это проявляется на ADF7021-платах

Большинство любительских хотспотов построены на трансивере ADF7021 — это и HS_Hat (одночастотные платы для Raspberry Pi), и Dual_Hat (двухчастотные). ADF7021 сам по себе хороший чип, но его частотная стабильность целиком зависит от внешнего опорного генератора, который ему подаётся на вход REF.

Здесь и кроется главное различие версий плат:

Если вы выбираете между вариантами, разница в платах подробно разобрана в материале про HS_Hat или Dual_Hat. Для борьбы с уходом частоты наличие TCXO — куда более значимый критерий, чем число частот.

Как отличить плату с TCXOЗагляните на плату рядом с микросхемой ADF7021: TCXO — это металлический прямоугольный корпус (обычно 3,2×2,5 мм или крупнее) с маркировкой частоты, иногда подписанный TCXO в шелкографии. Обычный кварц — это два-три вывода и характерная «бочка» или плоский корпус без схемы внутри. Если продавец молчит про TCXO — почти наверняка его там нет.

Лечение программное: RXOffset, TXOffset и калибровка по BER

Начальный сдвиг частоты (тот, что от заводского разброса) лечится без паяльника — программно. В конфигурации MMDVM есть два параметра:

Эти смещения сдвигают реальную частоту относительно заданной в прошивке, компенсируя уход опорного генератора. Задача калибровки — подобрать такие значения, при которых BER минимален. Удобнее всего идти от наблюдаемого BER: ставите рацию на фиксированную частоту, передаёте с хотспота и крутите TXOffset, пока BER в логах не упадёт к нулю; затем по обратному направлению подбираете RXOffset. Пошагово эта процедура и инструмент для неё описаны в гайдах по калибровке частоты и MMDVMCal по шагам.

Что считать хорошим результатом — смотрите в материале BER: норма: ориентир — устойчивые единицы десятых процента и ниже. Параллельно стоит проверить, что уровень приёма выставлен корректно, иначе хороший BER можно перепутать с проблемой усиления — об этом в заметке про RSSI-калибровку.

Важное ограничение. Программная калибровка фиксирует один сдвиг — на ту температуру, при которой вы калибровали. На плате с TCXO это работает прекрасно: подобрал раз и забыл. На плате без TCXO калибровка справится с разбросом, но не с дрейфом — прогрелась плата, и подобранный сдвиг снова неверен. Это фундаментальное различие: софт чинит постоянное смещение, аппаратная компенсация чинит плавание.

Лечение аппаратное: плата с TCXO

Если хотспот стабильно уходит именно при прогреве и никакой TXOffset не держится дольше получаса — это не лечится софтом. Варианты:

При выборе диапазона и запаса по сдвигу полезно понимать пределы перестройки модема — это разобрано в заметке про диапазон модуляции и перестройки.

Как измерить уход

Прежде чем что-то лечить, уход надо увидеть в цифрах. Несколько практических способов:

Практические советы

Стабильный хотспот — основа надёжной сети

Стабильный приём данных критичен для SMS и Last Heard в DMRhub: уход частоты бьёт по этим функциям первым. Калибровку мы подробно разбираем в наших гайдах.

Источники

  1. Jonathan Naylor (G4KLX). MMDVMCal — утилита калибровки MMDVM. github.com/g4klx/MMDVMCal
  2. Analog Devices. ADF7021 — High Performance Narrow-Band Transceiver IC, техническое описание (datasheet).
  3. Jonathan Naylor (G4KLX). MMDVMHost — параметры RXOffset/TXOffset в MMDVM.ini. github.com/g4klx/MMDVMHost
  4. Application note по применению TCXO как опорного генератора в узкополосных трансиверах (общая теория ppm и температурного дрейфа кварцевых резонаторов).