Синхронизация локальных часов в кластере FlexRay основана на том факте, что временные точки отправки и получения всех статических сообщений известны каждому
узлу FlexRay с самого начала. Это гарантирует, что все узлы кластера FlexRay смогут корректировать как смещение, так и скорость. Всего через несколько циклов все узлы FlexRay начинают каждый
цикл обмена данными в один и тот же момент времени и с одинаковой скоростью.
В кластере FlexRay по меньшей мере 2 и максимум 15 узлов FlexRay действуют как узлы синхронизации (synchronization node), которые передают сообщение синхронизации (synchronization message) в определенном
статическом слоте каждого цикла. Это не дополнительные сообщения, скорее это статические сообщения, в которых установлен индикатор кадра синхронизации.
Все узлы FlexRay сравнивают априори известные моменты времени с точками, в которые фактически поступают сообщения синхронизации. Затем они создают отсортированный список различий, из которого вычисляют значение коррекции смещения, используя алгоритм отказоустойчивой средней точки (FTM).
Алгоритм FTM удаляет экстремальные значения из списка, чтобы серьезные отклонения локальных часов не приводили к нарушению связи в кластере FlexRay. В пуле, насчитывающем до семи узлов синхронизации, отбрасываются минимальные и максимальные значения. Если имеется более семи узлов синхронизации, также отбрасываются вторые по величине и вторые по наименьшему измеренные значения.
Остальные измеренные значения суммируются и вычисляется среднее значение — результаты представляют собой значение коррекции смещения. Метод вычисления значения коррекции скорости идентичен, единственное отличие состоит в том, что узлы FlexRay измеряют длины циклов, лежащие в основе сообщений синхронизации.
Как коррекция смещения, так и коррекция скорости выполняются на основе локальных часов, наименьшей единицей измерения которых является микротык. Смещение корректирует
узел FlexRay, добавляя или удаляя определенное количество микрочастиц (соответствующих смещению) в NIT в конце каждого нечетного цикла. Так
узел FlexRay сдвигает свое собственное начало следующего цикла и адаптируется к другим узлам FlexRay.
Чтобы гарантировать, что коррекция скорости не действует как коррекция смещения,
узел FlexRay равномерно распределяет количество микротаклей значения коррекции скорости в течение следующих четных и нечетных циклов. Таким образом, каждый
узел FlexRay способен либо сокращать, либо удлинять свой цикл.