Для решения задач электронного секундомера можно использовать протокол BLE.
Например в сетях на чипах NRF52xx можно получить следующую точность синхронизации работы таймеров.
Вот результаты полученные NORDIC:
Таймер свободного хода визуализируется с помощью измерения переключения GPIO на осциллографе или логическом анализаторе. В этом тесте используются два nRF52-DK, каждый из которых расположен очень близко друг к другу, чтобы быть доступным с помощью зондов логического анализатора. В реальном сценарии расстояние будет больше, что добавит некоторое дрожание (свет проходит около 19 метров за такт 16 МГц, поэтому ожидайте, что по крайней мере 1 такт дрожания на 19 метров между устройствами).
На рисунке ниже показаны два устройства, когда синхронизации нет.
Как только одно из устройств берет на себя роль ведущего синхронизации, используя скорость передачи 100 Гц, таймеры свободного хода выстраиваются в линию. Обратите внимание, что полярность GPIO не принудительна. Важная часть заключается в том, что GPIO переключаются одновременно.
Крупным планом синхронизированные сигналы. В этом случае логический анализатор сообщает о смещении между двумя устройствами на 20 наносекунд.
Анализируя переключение во времени, мы можем генерировать некоторую статистику. Это происходит после запуска тестовой установки в течение 30 минут:
Например в сетях на чипах NRF52xx можно получить следующую точность синхронизации работы таймеров.
Вот результаты полученные NORDIC:
Таймер свободного хода визуализируется с помощью измерения переключения GPIO на осциллографе или логическом анализаторе. В этом тесте используются два nRF52-DK, каждый из которых расположен очень близко друг к другу, чтобы быть доступным с помощью зондов логического анализатора. В реальном сценарии расстояние будет больше, что добавит некоторое дрожание (свет проходит около 19 метров за такт 16 МГц, поэтому ожидайте, что по крайней мере 1 такт дрожания на 19 метров между устройствами).
На рисунке ниже показаны два устройства, когда синхронизации нет.
Как только одно из устройств берет на себя роль ведущего синхронизации, используя скорость передачи 100 Гц, таймеры свободного хода выстраиваются в линию. Обратите внимание, что полярность GPIO не принудительна. Важная часть заключается в том, что GPIO переключаются одновременно.
Крупным планом синхронизированные сигналы. В этом случае логический анализатор сообщает о смещении между двумя устройствами на 20 наносекунд.
Анализируя переключение во времени, мы можем генерировать некоторую статистику. Это происходит после запуска тестовой установки в течение 30 минут:
- 439445 переключатели, найденные в пределах диапазона здравомыслия
- Общее время в канале 0: 1800.0027646 с
- Общее время в канале 1: 1800.00276466 с
- Самая большая разница: 220,0 НС при переключении #54446 (223.010816 секунд)
- Средняя разница между переключателями 439445 = 65,6412747898 НС
- Стандартное отклонение по переключателям 439445 = 41,0020747807 НС
GitHub - nordic-auko/nRF5-ble-timesync-demo: nRF52 clock synchronization demo code
nRF52 clock synchronization demo code. Contribute to nordic-auko/nRF5-ble-timesync-demo development by creating an account on GitHub.
github.com