Перейти к содержанию

Почему два модуля CC1101 не видят друг друга?

Обновлено Редакция GAW

CC1101 настраивается десятками регистров, и приёмник поймёт пакет, только если формат совпадает полностью. Поэтому первая проверка — побайтно сравнить конфигурацию обоих модулей, а не только частоту.

Что сверить

  1. Частота — регистры FREQ2–FREQ0 и номер канала; у модулей одного диапазона, если согласующая цепь рассчитана на него (подробнее — в ответе «Можно ли модуль CC1101 на 433 МГц использовать на 868 МГц»).
  2. Модуляция, скорость и девиация — FSK с разной девиацией или скоростью приёмник не демодулирует.
  3. Синхрослово — после сброса 0xD391; библиотеки часто задают своё.
  4. Формат пакета — фиксированная или переменная длина, адрес, CRC, отбеливание данных.

Уход кварцев

TI требует кварц 26–27 МГц с общим допуском ±40 ppm — с учётом начальной точности, температуры и старения (табл. 13). Передатчик и приёмник могут уйти в разные стороны, поэтому худшее расхождение — 80 ppm.

Δf=f⋅80⋅10−6\Delta f = f \cdot 80 \cdot 10^{-6}

Наш расчёт:

ЧастотаРасхождение доСамая узкая полоса фильтра
433,92 МГц34,7 кГц58 кГц
868,3 МГц69,5 кГц58 кГц

Полосу приёмника выбирают так, чтобы в неё помещались и сигнал, и сдвиг. Встроенная компенсация после сброса отслеживает сдвиг до ±BWCHAN/4, то есть при полосе 58 кГц — всего ±14,5 кГц (наш расчёт). На 868 МГц расхождение больше, поэтому там узкая полоса без калибровки не работает. Сравнение модулей на 433 и 868 МГц — в статье «Радиомодули 433 и 868 МГц: OOK, FSK, CC1101, SX1278», похожая проверка для LoRa — в ответе «Почему два модуля LoRa не видят друг друга».

Похожие вопросы

Можно ли просто расширить полосу приёмника?

Можно, это самый простой способ, но полоса должна вместить и спектр самого сигнала, который зависит от скорости и девиации, и сдвиг в обе стороны. Наш расчёт для 433,92 МГц: к ширине спектра сигнала нужно добавить около 2 × 35 = 69 кГц; для сравнения, TI нормирует чувствительность на 38,4 кбод с девиацией 20 кГц при полосе 100 кГц — уже без такого запаса. Но шире полоса — больше шума на входе и ниже чувствительность, поэтому на дальних линиях выгоднее компенсация сдвига: оценить его по регистру FREQEST и записать поправку в FREQOFF.

Компенсация сдвига работает в режиме OOK?

Нет. По разделу 14.1 даташита компенсация работает только для 2-FSK, GFSK, 4-FSK и MSK, а для ASK/OOK TI требует FOC_LIMIT = 0. В режиме OOK запас на уход кварцев закладывают только шириной полосы.

Как проверить, что передатчик вообще излучает?

Приёмник SDR или анализатор спектра покажет несущую и её фактическую частоту — сразу видно и сдвиг кварца. Без приборов помогает RSSI второго модуля: при включении передатчика рядом уровень должен заметно вырасти.

Источники

  1. Texas Instruments. CC1101 Low-Power Sub-1 GHz RF Transceiver (SWRS061I, 2013-11-05) — табл. 7: чувствительность на 433 МГц при 38,4 кбод, GFSK, девиации 20 кГц и полосе фильтра 100 кГц; табл. 13: кварц 26–27 МГц, общий допуск ±40 ppm с учётом начальной точности, температуры и старения; табл. 26: полосы канального фильтра 58–812 кГц при кварце 26 МГц; разд. 14.1: компенсация сдвига частоты для 2-FSK, GFSK, 4-FSK и MSK, предел задаёт FOCCFG.FOC_LIMIT, оценка сдвига — в FREQEST, постоянная поправка — запись в FSCTRL0.FREQOFF; для ASK/OOK компенсация не поддерживается; регистры SYNC1/SYNC0 после сброса 0xD3 и 0x91, FOC_LIMIT после сброса 2 (±BWCHAN/4)
  2. Texas Instruments. CC1101 — страница изделия и ревизии документа — текущая ревизия даташита SWRS061I

Нашли ошибку?