Для начала ещё раз внимательно все прочитали даташит CC1101.
В двух словах:
CC1101 в режиме WOR:
-работает только RC-генератор (кварцевый генератор и встроенный процессор - отключены).
-RC-генератор через каждые несколько миллисекунд включает блок приёмника (кварцевый генератор и встроенный процессор - по прежнему отключены).
-если блок приёмника обнаруживает сигнал то включаются кварцевый генератор и встроенный процессор. CC1101 переходит в режим приёма и обработки пакета.
-в режим приёма и обработки пакета потребляемый ток 14 mA.
-в режиме WOR, когда работает только RC-генератор, который каждые несколько миллисекунд кратковременно включает блок приёмника - потребляемый ток 35 микроампер.
Думаю разобрались))
NiTr0 писал(а):в том же эзернете вполне нормально обработка коллизий например реализована. сотня хостов, разнесенных на расстояние до 500 метров, вполне себе уживается при активном обмене (до 10 мбит/с).
Коллизии были только в старом изернет 10 мбит/с , который работал по коаксиальному кабелю в режиме симплекс.
Топология - общая шина.
В новом изернете 10 мбит/с и 100 мбит/с коллизий нет от слова совсем)) Новый изернет 10 мбит/с и 100 мбит/с работает работает в режиме дуплекс.
Топология - звезда.
С изернетом разобрались))
Коллизии есть в старом Wi-Fi. Там все дружно слушают одну частоту и пытаются передать кому как вздумается. Без общей синхронизации.
В новом Wi-Fi 6 (теперь он так называется) коллизии... свели к минимуму. Тем все устройства синхронизированы (только те что поддерживают Wi-Fi 6).
Теперь там другие коллизии... Например когда одно устройство Wi-Fi 6 не видет другое устройство Wi-Fi 6 и пытается передавать пакеты... Но это уже другая тема))
С Wi-Fi разобрались))

Теперь считаем потребляемый ток NRF.
-время передачи пакета NRF ~1,2 мс.
(при скорости 250 кБит/c один бит - 4 мкс) (преамбула 8 бит + адрес 40 бит + Data 256 бит + CRC 16 бит = 1,2 мc)
(+ PLL 0,13 мс + SPI МК + обработка пакета = 1,5 мс)
NRF: TX = 1,5 мс, RX = 1,5 мс
Итого: 3 мс
Если передавать пакеты каждую минуту:
1 минута = 60 секунд.
Отношение активный/не активный = 60 / 0,003 = 20.000
Потребляемый ток NRF (1 пакет каждую минуту) = 12 mA / 20.000 = 0,0006 mA. (Или 0,6 микроампер).
Вывод: при передачи пакетов каждую минуту общий потреблямый ток NRF составляет 0,6 микроампер !!! ))

Обратите внимание NRF отправляет пакет мастеру TX = 1,5 мс и получает от мастера подтверждение доставки пакета RX = 1,5 мс.
Гарантированная доставка пакетов с общим током потребления NRF = 0,6 микроампер !!! ))
Круто))
А если отправлять пакеты один раз в час ?
0,6 микроампер / 60 минут = 0,01 микроампер !!! ))
Дальше посчитайте сами))
На сколько нам хватит батарейки ? Батарейка Duracell 2 шт ёмкостью грубо 500 mA/час.
500 mA/час / (1 пакет каждую минуту) 0,0006 mA = 833.333 часов работы.
или 34.722 дня работы.
или 95 лет работы.))
Скорее батарейка просто сдохнет от старости))

Вероятность коллизии.
Какова вероятность коллизии при передачи одного пакета каждую минуту (отношение активный/не активный = 1/20.000) ?
Если в схеме два датчика, то вероятность того что они нажнут передавать одновременно = 1/20.000. Нормально.
Если в схеме 1000 датчиков, то вероятность того что они нажнут передавать одновременно = 1/20. Нормально.
Вообще то вероятность считается не так... Там всё через графики и коэффициенты... Ну да ладно))
Реально в схеме не будет 1000 датчиков. Максимум ~20 штук. ))
Поэтому предлагаю вообще забить на коллизии)) Достаточно простого ACK для гарантированной доставки пакетов.

На самом деле всё зависит от трафика. Если устройств мало (<1000) и время передачи один раз в минуту - то коллизии пофигу))
Важно ещё добавить во все устройства генератор случайных чисел. Чтобы все устройства передавали пакеты через случайное время. Чтоб не было "зацикливания коллизий" Точно так же как сделано в старом Wi-Fi или старом изернет. Тогда всё будет хорошо))
