СИНХРОНИЗАЦИЯ СЕТЕВОГО УСТРОЙСТВА ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ, В ЧАСТНОСТИ СЕТЕВОГО ТЕРМИНАЛА, В БЕСПРОВОДНОЙ СЕТИ
SYNCHRONIZING NETWORK DEVICE FOR WIRELESS COMMUNICATION, IN PARTICULAR NETWORK TERMINAL, IN WIRELESS NETWORK

CCG
Изобретение относится к технологии синхронизации сетевого устройства для беспроводной связи, в частности сетевого терминала, в беспроводной сети, где сетевое устройство имеет интегрированную микросхему беспроводной связи (Integrated Wireless Chip; IWC), детектор событий синхронизации (Synchronization Event Detector; SED) для обнаружения событий синхронизации, управляемый генератор временного сигнала (Controllable Clock Generator; CCG) для генерации синхронизированного сигнала времени T и устройство управления синхронизацией (SCD) для управления процессом синхронизации сетевого устройства. Кроме того, изобретение относится к сетевым устройствам, в которых применяется технология, а также к беспроводной сети с такими сетевыми устройствами.
В настоящее время Time-Sensitive Networking (TSN) представляет собой наиболее перспективный независимый от производителя и детерминированный по времени стандарт связи для промышленного применения. Термин TSN обозначает набор стандартов, над которыми работает целевая группа Time-Sensitive Networking Task Group, которая входит в рабочую группу ТЕЕЕ 802.1. TSN включает в себя два основных компонента: во-первых, протокол синхронизации устройств с точностью в субмикросекундном диапазоне IEEE 1588 и, во-вторых, ряд технологий для обеспечения планирования QoS (качества обслуживания) уведомлений в реальном времени с высоким приоритетом. С учетом его преимуществ стоит ожидать, что TSN заменит большую часть современных промышленных полевых шин в долгосрочной перспективе и предложит унифицированную модель связи для широкого спектра промышленного оборудования. Поскольку чисто проводные сети передачи данных имеют ограничения относительно плотности на единицу площади, соединения подвижных деталей, а также миниатюризации узлов, во внимание принимаются гибридные решения на базе проводных магистралей и нескольких островков с хабами с беспроводной связью.
Исследования и разработки последнего десятилетия показали, что беспроводная связь может применяться в различных сферах промышленной автоматизации, включая робототехнику, умные сети энергоснабжения (Smart Grids), крупноформатные сенсорные сетей и т.д., даже в очень сложных электромагнитных средах. Даже в такой среде беспроводная связь по стандарту IEEE 802.11 может достигать пропускной способности, сопоставимой с проводными сетями Ethernet, в частности, в случае применения стандартов IEEE 802.11 ах (Wi-Fi 6) следующего поколения. Это делает стандарты IEEE 802.11 перспективными кандидатами для беспроводных расширений TSN.
Тем не менее, во временной синхронизации нескольких устройств и планировании высокоприоритетных сообщений в беспроводной сети могут быть сложности: в проводной сети каждый узел имеет выделенный кабель в качестве собственной среды передачи данных. В противоположность этому устройства в беспроводной сети делят между собой одну и ту же коммуникационную среду и управляют доступом через Distributed Coordination Function (распределенная функция координации) (DCF), механизм стандартов IEEE 802.11, с помощью которого регулируется недетерминированный доступ нескольких абонентов к соответствующей беспроводной сети. Однако такого рода доступ может привести к непредсказуемому времени задержки. Использование менее популярных частотных диапазонов и способов перенастройки каналов может частично решить такие проблемы. Но этот подход, как правило, приводит к высокой стоимости заказного аппаратного обеспечения и плохо масштабируется для более крупных сетей.
Массовых коллизий и повторной передачи можно избежать посредством планирования сообщений с помощью особых протоколов передачи данных и прикладного уровня на уровне PHY стандарта IEEE802.11. Такие подходы могут значительно снизить вероятность коллизии и улучшить характеристики в реальном времени. Большая часть методов планирования, за исключением основанных на использовании маркеров, нуждается в отдельных механизмах синхронизации, которые намного чувствительнее реагируют на потерю пакетов, чем другой трафик. Ethernet TSN использует синхронизацию по времени на основе IEEE 1588, точность которой гарантируется точным добавлением метки времени в обоих направлениях кадров, предоставляемых TSN коммутаторами со стабильной задержкой передачи.
Для промышленных применений часто используются бюджетные IWC, которые могут входить в состав, например, компьютера. Такого рода IWC, как правило, реализованы как система на кристалле (System-on-a-Chip) или SoC и могут включать в себя несколько процессоров, модули аналого-цифрового преобразователя и модули цифро-аналогового преобразователя, модуляторы и демодуляторы, а также усилители для отправки и приема беспроводного сигнала. SoC интегрирует как модули PHY, так и модули MAC в один микрочип. Это обеспечивает экономичную и энергоэффективную реализацию. Но в то же время прямой доступ разработчиков к модулю PHY становится невозможным, что не позволяет получить достаточно точные метки времени для отправленных и полученных кадров, а они необходимы для точной синхронизации. Доступ к модулю PHY для формирования меток времени для заданных кадров через внешние интерфейсы создает такие большие фазовые флуктуации, что такие метки времени вряд ли будут пригодны для синхронизации. При этом влияние на фазовые флуктуации, в частности, оказывает загрузка сети и процессора.
th
Решение этой проблемы описано в работе [А.М. Romanov et al. "High Precision Synchronization between Commercial WiFi-ICs and External Device", 2019, 16 Workshop on Positioning, Navigation and Communications (WPNC), pp. 1-6]. Здесь указывается специальный способ и соответствующее аппаратное обеспечение, позволяющее синхронизировать часы, содержащиеся в бюджетной, работающей по полудуплексной технологии IEEE 802.11-IWC (Integrated Wireless Chip), с внешними часами, реализованными в специальном внешнем аппаратном обеспечении. Внешнее аппаратное обеспечение может быть реализовано, в частности, (в основном) с помощью ПЛИС (Программируемая Логическая Интегральная Схема). Для синхронизации используется высокоточная выходная функция IWC, которая также доступна извне. Для синхронизации генерируются предельно короткие кадры (Ultra Short Frames, USF). Время начала USF присваивается как метка времени, генерируемая часами IWC, так и метка времени, генерируемая часами внешнего аппаратного обеспечения. Эти пары значений меток времени, каждая из которых идентифицирует один и тот же момент времени (но с использованием двух разных часов), затем используются для синхронизации обоих часов с помощью специального алгоритма.
Авторы этой технологии признали, что большинство серийных бюджетных IWC имеют особую характеристику, которая может быть использована для синхронизации: такие IWC предназначены для передачи данных в полудуплексе. Очевидно, что входной порт приемно-регистрирующего узла, где IWC в режиме приема получает аналоговый сигнал приема, в режиме передачи переходит на нулевой потенциал, вероятно для того, чтобы избежать получения собственного сигнала передачи. В режиме приема этот порт имеет потенциал, отличный от нуля, например 600 мВ. Авторы обнаружили, что процессы переключения, запускаемые при переходе из режима приема в режим передачи и наоборот, выполняются с высокой точностью. Таким образом, каждый из этих процессов переключения может быть использован в качестве события синхронизации, которому часами IWC и внешними часами присваивается метка времени. Эта метка времени создается системой IWC с помощью встроенной в нее в качестве аппаратного обеспечения функциональной характеристики, при которой эти метки времени обеспечиваются только для синхронизации систем IWC друг с другом, но не для синхронизации системы IWC с внешним аппаратным обеспечением того же самого устройства. Таким образом, может быть реализована высокоточная синхронизация внешних часов с часами схемы IWC.
Здесь следует отметить, что в данном описании метка времени - это значение времени, которое может, например, соответствовать показаниям счетчика с N знаков. Таким образом, такая метка времени может представлять собой временной период, нулевая точка которого соответствует моменту запуска соответствующего счетчика. Например, значение времени, содержащееся в метке времени, генерируемой устройством, выступающим в качестве ведущего, например, точкой доступа (ТД) беспроводной сети, может быть установлено на ноль в процессе инициализации устройства. В дальнейшем термин "метка времени" в зависимости от контекста понимается либо как соответствующее значение времени, либо как соответствующая последовательность битов, содержащаяся в соответствующем кадре, например, в кадре-маяке (beacon), передаваемом в сети IEEE 802.11.
Современные беспроводные сети или сетевые устройства беспроводной связи имеют недостаток, который заключается в том, что при использовании недорогих IWC, которые не позволяют получить внешний доступ к таймерам или часам, содержащимся в них, невозможно достичь достаточной точности при синхронизации с сигналом времени, генерируемым центральными часами.
Исходя из этого уровня техники, в основе изобретение лежит задача создания технологии синхронизации устройств, действующих в качестве сетевых узлов в беспроводной сети, который будет прост и сможет быть реализован на экономичных аппаратных средствах и обеспечивает достаточную точность синхронизации. Кроме того, в основе изобретения лежит задача создания простого и экономичного механизма в виде сетевого устройства, позволяющего реализовать данный метод, а также беспроводной сети с такими сетевыми устройствами.
Изобретение решает эти задачи с признаками формул изобретения 1 и 14, а также 17.
Изобретение основано на том факте, что многие недорогие IWC, особенно те, которые работают в полудуплексе, имеют порт, который после получения кадра синхронизации может создавать изменение потенциала, которое может быть использовано в качестве события синхронизации или представлять собой событие синхронизации. Изменение потенциала, представляющее собой событие синхронизации, может быть начальным или конечным фронтом импульса, генерируемого на соответствующем порту в ответ на прием кадра синхронизации. Разумеется, это может быть положительный импульс, т.е. импульс с положительным (восходящим) передним фронтом и отрицательным (нисходящим) задним фронтом.
Соответствующим портом, на котором генерируются события синхронизации, может быть порт IWC, специально предусмотренный для этой цели. В этом случае, в частности, каждое изменение потенциала, т.е. каждый восходящий или нисходящий фронт, может также представлять собой событие синхронизации, при котором изменение потенциала происходит в ответ на прием кадра синхронизации без возврата к исходному потенциалу по истечении заданного времени.
Однако, подходящий порт IWC, который уже доступен для других целей, также может быть использован в качестве порта, на котором генерируются события синхронизации. В этом случае, событие синхронизации может быть сгенерировано путем генерации сигнала на этом порту, который отличается от всех других сигналов, генерируемых на этом порту для соответствующих других целей. В частности, в этом случае в ответ на получение кадра синхронизации может быть сгенерирован импульс заданной длительности, длительность которого отличается от длительности всех остальных импульсов, генерируемых в качестве сигналов на этом порту. Начальный или конечный фронт импульса снова может быть использован в качестве события синхронизации.
Например, во многих недорогих полудуплексных IWC изменение потенциала происходит при переходе из режима передачи в режим приема (и наоборот) на входном порту приемного тракта, на которую подается аналоговый, возможно, усиленный беспроводной входной сигнал. Например, если в режиме приема порт имеет потенциал 600 мВ, то в режиме передачи потенциал порта изменится примерно до 0 В, чтобы избежать приема сигнала передаваемого самой IWC.
Вместо этого порта приема сигнала, например, порт coexistence интерфейса IWC может также использоваться для генерации событий синхронизации. Этот порт coexistence интерфейса может быть портом, который имеет первый потенциал (например, высокий), когда IWC активна (т.е. передает или принимает), и второй потенциал, когда IWC неактивна. Сигнал с этого порта coexistence интерфейса подается на другое беспроводное передающее и принимающее устройство, например, на устройство связи Bluetooth, и этот сигнал используется для определения того, какое из двух устройств связи может обмениваться данными (используя одну и ту же частотную полосу).
Во всех таких случаях изменение потенциала, в частности, импульс, может быть сгенерирован на соответствующем порту в ответ на прием кадра синхронизации, изменение потенциала или предопределенный фронт импульса, интерпретируется как событие синхронизации. Как объяснялось выше, в тех случаях, когда данный порт также используется для других целей, импульс может быть сгенерирован с такой временной длительностью, которая отличается от временной длительности всех других импульсов, генерируемых или выводимых в этом порту.
Изменения потенциала, каждое из которых представляет собой событие синхронизации, может генерироваться высокоуровневым или низкоуровневым программным обеспечением, либо подходящим аппаратным обеспечением IWC в ответ на получение кадра синхронизации, либо соответствующим внешним управлением IWC. В любом случае необходимо убедиться в том, что изменения потенциала, представляющие собой события синхронизации, имеют достаточно короткое время переключения, т.е. соответственно крутой фронт переключения. Кроме того, необходимо обеспечить, чтобы эти потенциальные изменения генерировались с достаточно низким джиггером. Таким образом, можно определить изменение потенциала порта и использовать его как событие синхронизации, позволяющее синхронизировать внешние часы, соотнесенные с IWC, с сигналом времени ведущего устройства, который подается на сетевое устройство посредством передачи кадров синхронизации.
АР
АР
Сигнал времени ведущего устройства может, например, генерироваться основными часами, содержащимися в точке доступа беспроводной сети. При этом передача сигнала времени ведущего устройства на синхронизируемое сетевое устройство осуществляется с помощью меток времени Т, которые содержатся в кадрах синхронизации. Метка времени Т может быть сгенерирована, например, для определения момента передачи начала или конца кадра синхронизации.
B
B
AP
AP
B
SE
S
АP
B
SE
S
При получении кадра синхронизации IWC создает метку времени Т с использованием часов, содержащихся в IWC, причем метка времени Т определяет тот же момент времени внутри кадра синхронизации, что и метка времени Т, то есть, к примеру, конец кадра синхронизации (в данном случае момент приема конца кадра синхронизации). Если известно время прохождения сигнала между устройством, например, точкой доступа, отправляющей кадр синхронизации, и синхронизируемым сетевым устройством, две метки времени Т и Т могут использоваться для синхронизации внутренних часов IWC и часов ведущего устройства. Поскольку в беспроводной сети удаленность сетевых устройств от соответствующей точки доступа обычно невелика, временем прохождения сигнала при синхронизации можно пренебречь, так как время прохождения сигнала на порядок меньше допустимой погрешности синхронизации. Поскольку передача сигнала происходит со скоростью света, даже на расстоянии 100 м между точкой доступа и соответствующим сетевым устройством время прохождения составит всего 333 нс, что значительно меньше обычно требуемой максимальной погрешности синхронизации, например, составляющей 2 мкс. Тем не менее, цель настоящего изобретения состоит не в синхронизации часов ведущего устройства с внутренними часами системы IWC, а в синхронизации часов ведущего устройства с CCG, поскольку, как минимум недорогие TWC не имеют интерфейса, через который можно было бы получить доступ к внутренним часам системы IWC (т.е. доступ, который в основном может осуществляться без джиггера и без существенной задержки). По этой причине, согласно изобретению, с помощью IWC создается событие синхронизации, которому присваивается как метка времени T, сгенерированная с помощью внутренних часов IWC, так и метка времени T, сгенерированная с помощью CCG. Таким образом, для синхронизации CCG с часами ведущего устройства, согласно изобретению, можно использовать временные метки Т, Т, T и T.
SE
S
АP
B
SE
S
CCG
Событие синхронизации создается посредством перевода IWC в режим передачи и отправки кадра события синхронизации с характерной временной длительностью, при этом на порт IWC на время кадра события синхронизации создается изменение потенциала. Само событие синхронизации может быть начальным или конечным фронтом изменения потенциала определяющего порта. При этом событию синхронизации IWC присваивает метка времени T. В то же время событие синхронизации обнаруживается SED, и SED присваивает событию синхронизации метку времени T с использованием сигнала времени CCG. Это позволяет после каждого получения кадра синхронизации определить набор из 4 меток времени Т, Т, T и T, которые будут использоваться для синхронизации сгенерированного CCG синхронизированного сигнала времени T по основному сигналу времени.
Таким образом, изобретение обеспечивает высокую точность синхронизации сетевых устройств с сигналом времени, генерируемым центральными часами, даже если сетевые устройства содержат недорогие IWC, которые не допускают внешнего доступа к таймерам или часам, содержащимся в них.
Согласно одной из форм выполнения изобретения характерная временная длительность кадра события синхронизации выбрана таким образом, чтобы отличаться от всех обычных временных длительностей кадров передачи, которые могут возникать при коммуникации между сетевым устройством и последующим сетевым устройством, и что с помощью SED посредством анализа временной длительности изменения потенциала порта IWC определяется событие синхронизации, когда временная длительность изменения потенциала находится в заданном диапазоне. Это дает относительно простой способ создания уникальных событий синхронизации. Такие события синхронизации могут определяться посредством оценки промежутка времени между двумя изменениями потенциала соответствующего порта IWC, происходящими при переключении из режима приема в режим передачи и обратно. Только если этот промежуток времени соответствует заданному промежутку времени для кадра события синхронизации, начальный или конечный фронт распознается как событие синхронизации.
Согласно следующей форме выполнения кадр события синхронизации генерируется сразу после получения кадра синхронизации или по истечении заданного времени ожидания, которое меньше или равно минимальному времени ожидания, которое может возникнуть при коммуникации между сетевым устройством и следующим, сетевым устройством между приемом и отправкой кадров, причем создание кадра события синхронизации преимущественно вызывается функцией, реализованной с помощью аппаратного и/или программного обеспечения в IWC.
АP
АP
Это делает возможной одновременную синхронизацию всех сетевых устройств в соответствующей беспроводной по метке времени синхронизации Т, если метка времени синхронизации Т передается в кадре сетевой синхронизации, например, Beacon в протоколе передачи IEEE 802.11. В этом случае все сетевые устройства будут одновременно переключаться в режим передачи для создания соответствующего события синхронизации. Хотя в течение времени передачи соответствующих кадров событий синхронизации происходит соответствующее наложение соответствующих передаваемых сигналов сетевых устройств, это не играет никакой роли, поскольку кадры событий синхронизации не используются для коммуникации. С этой целью можно реализовать создание кадра события синхронизации с помощью аппаратного и/или программного обеспечения внутри IWC, а не в результате программной команды, которую SCD передает в IWC. Ведь для этого требуется обработка соответствующих команд в SCD в режиме реального времени и их передача системе IWC. Хотя это и было бы возможно в принципе, это потребовало бы соответствующих характеристик SCD в реальном времени, что противоречило бы принципу экономичности в реализации SCD.
CCG
Согласно одной из форм выполнения изобретения синхронизированный сигнал времени, генерируемый CCG, T генерируется с применением отношения
SRC
md
md
AP
B
SE
S
где T - выходной сигнал таймера CCG, k - коэффициент синхронизации, а Т - сдвиг фаз, а коэффициент синхронизации k и сдвиг фаз Т определяются SCD из меток времени Т, Т, T и T.
SRC
md
md
В соответствии с предпочтительной формой выполнения изобретения новое значение для сдвига фаз T может определяться циклически, при этом в текущем цикле новое значение для сдвига фаз T определяется сложением с учетом знака предыдущего значения сдвига фаз T и погрешности синхронизации ε, определяемой в текущем цикле, которая определяется в соответствии с соотношением
Коэффициент синхронизации k может быть постоянным в течение фазы синхронизации. Коэффициент синхронизации k может быть определен в ранее выполненной фазе запуска, как описано ниже, а также может быть сохранен в ПЗУ. ПЗУ может быть предусмотрено для этой цели как в CCG, так и в SCD.
АP
B
SE
S
md
Это означает, что в фазе синхронизации для каждого кадра синхронизации можно определить кортеж из 4 элементов меток времени Т, Т, T и T,, по которым можно определить сдвиг фаз T и загрузить его в CCG.
B
SE
BSE
SE
B
АP
B
SE
S
BSE
Согласно следующей форме выполнения фильтрация ложных срабатываний может быть выполнена для обнаруженных событий синхронизации, предпочтительно с использованием меток времени Т и T, или Т=T-Т и погрешности синхронизации ε, при этом метки времени Т, Т, T и T, присвоенные событию синхронизации, используются для синхронизации только в том случае, если данное событие синхронизации не определено как ложное срабатывание. Например, для погрешности синхронизации ε и/или разности во времени T (т.е. времени между получением кадра синхронизации и событием синхронизации (измеренным с помощью часов IWC), верхняя и нижняя границы могут быть указаны соответственно, при этом событие синхронизации и соответствующий набор из 4 элементов меток времени используются для синхронизации только в том случае, если эти границы соблюдены.
md
ps
lim
ps
lim
Согласно одной из форм выполнения изобретения фаза синхронизации сохраняется (т.е. выполняются описанные выше этапы фазы синхронизации) до тех пор, пока не будет выполнен положительный критерий завершения. После выполнения критерия завершения фаза синхронизации может быть изменена на фазу предварительной синхронизации. Для этого погрешность синхронизации ε может быть определена для последовательных событий синхронизации (и, возможно, признана действительной посредством фильтрации) и загружена в CCG как значение для T до тех пор, пока число Nпоследовательных значений погрешности синхронизации ε не превысит пороговое значение ε. При достижении числа N последовательных значений погрешности синхронизации ε, превышающего пороговое значение ε, запускается фаза предварительной синхронизации.
sync
Если положительный критерий завершения не будет достигнут в течение заданного времени или с помощью заданного числа попыток достижения числа N, то фаза предварительной синхронизации может быть перенесена на фазу запуска после следующей формы выполнения.
B
SE
i
В соответствии с предпочтительной формой выполнения изобретения коэффициент синхронизации k определяется на этапе запуска, на котором для множества кадров синхронизации выполняются этапы (а), (с) и (е) по формуле 1. Разумеется, здесь также может быть выполнена фильтрация ложных срабатываний обнаруженных событий синхронизации, для чего могут потребоваться этапы (b) и (d) формулы 1, т.е. этапы для определения меток времени Т и T, если эти параметры используются для фильтрации. Для определения коэффициента синхронизации k можно определить одно или несколько индивидуальных значений k коэффициента синхронизации в соответствии с отношением
АP
S
где индексы [i] и [j] соответственно обозначают различные события синхронизации и соответствующие метки времени Т и T, предпочтительно действует j=i-1, т.е. для событий синхронизации, которые запускаются в ответ на последовательные кадры синхронизации, предпочтительно определять разности во времени  и
Здесь следует отметить, что нет необходимости использовать каждый кадр синхронизации, полученный от IWC, для генерации кадра события синхронизации и, следовательно, для генерации события синхронизации. Скорее, только выбранные кадры синхронизации, например, только каждый n-й кадр синхронизации, могут быть использованы для генерации или повторного использования кадра события синхронизации или события синхронизации. В качестве альтернативы, хотя кадр события синхронизации может быть сгенерирован в ответ на каждый полученный кадр синхронизации, однако только выбранные кадры события синхронизации, например, только каждый n-й кадр события синхронизации, могут быть использованы для генерации или повторного использования события синхронизации.
k
i
i
Для определения коэффициента синхронизации k можно усреднить число N индивидуальных значений k. При этом подлежащие усреднению индивидуальные значения k могут быть отобраны с помощью одного или нескольких условий фильтрации.
i
s
i
i
s
АР
S
Согласно форме выполнения определяются индивидуальные значения k по меткам времени для пар последовательных событий синхронизации в первую очередь для числа N событий синхронизации, предпочтительно последовательных событий синхронизации или событий синхронизации, которые распределены соответственно по постоянному числу промежуточных событий синхронизации. Индивидуальные значения k используются для дальнейшего вычисления только в том случае, если они были отобраны с использованием одного или нескольких условий фильтрации, а коэффициент синхронизации к вычисляется только в том случае, если достигнуто заданное по умолчанию минимальное количество выбранных индивидуальных значений k. В ином случае лучше отклонить общее число N событий синхронизации и связанных с ними меток времени Т и T для определения коэффициента синхронизации k.
Значение коэффициента синхронизации k, определенное на этапе запуска, может быть сохранено и загружено в CCG при активировании или сбросе сетевого устройства. Благодаря этому относительно сложное определение коэффициента синхронизации к не требует повторного определения при каждом активировании или сбросе сетевого устройства.
Сетевое устройство, согласно изобретению, может быть реализовано с пощью ПЛИС и компьютера с IWC, например, одноплатного компьютера, на котором работает не ОС реального времени. ПЛИС может реализовать как CCG, так и SED. Может также потребоваться согласование потенциала между соответствующим портом IWC и портом ПЛИС, реализующим порт ввода SED. Разумеется, согласование потенциала может быть реализовано с помощью соответствующего дополнительного аппаратного обеспечения.
Следует четко отметить, что аппаратное обеспечение для реализации функциональных возможностей IWC, SED, SCD и CCG, а также других функциональных возможностей могут быть распределены или даже объединены любым способом. Например, аппаратное обеспечение для реализации SED также может быть объединено с аппаратным обеспечением для IWC в интегральной схеме, например, в виде SoC. Порт IWC, на котором выводится кадр события синхронизации, в данном случае будет реализован как внутренний порт соответствующей интегральной схемы.
Последующие формы выполнения изобретения вытекают из зависимых пунктов формулы.
Изобретение более подробно описывается ниже на примере выполнения, представленном на чертеже. На чертеже представлено следующее:
Фиг. 1 блок-схема необходимых для понимания изобретения основных компонентов сетевого устройства, реализующего способ синхронизации в соответствии с изобретением;
Фиг. 2 диаграмма, показывающая общую последовательность различных фаз способа синхронизации;
Фиг. 3 блок-схема фазы запуска реализации способа в соответствии с изобретением;
Фиг. 4 блок-схема фазы предварительной синхронизации формы выполнения способа в соответствии с изобретением;
Фиг. 5 блок-схема фазы синхронизации формы выполнения способа в соответствии с изобретением; и
Фиг. 6 гистограмма ошибки синхронизации 6, измеренной в ходе эксперимента в сети, состоящей из точки доступа и двух синхронизируемых сетевых устройств, где на Фиг. 6а показана гистограмма для первого устройства и Фиг. 6b гистограмма для второго устройства.
AP
На Фиг. 1 показана блок-схема компонентов сетевого устройства 100, которая далее подробно не описывается, и с помощью которой может быть реализован способ синхронизации в соответствии с настоящим изобретением. Сетевое устройство 100 включает в себя систему IWC 102, с помощью которой сетевое устройство беспроводным способом подключается к точке доступа, которая далее подробно не описывается. В качестве беспроводного протокола передачи принимаются в расчет, например, стандарты согласно IEEE 802.11. Поскольку определенные приложения, работающие на сетевых устройствах, требуют синхронизации с центральными часами или центральным временем, определенным центральными часами, точка доступа может посылать кадры синхронизации в определенные интервалы времени для реализации синхронизации сетевых устройств в определенной ею беспроводной сети, и в каждом кадре будет содержаться метка времени Т, генерируемая центральными часами. Например, центральные часы могут быть предусмотрены в самой точке доступа или в любом другом сетевом устройстве, которое не обязательно должно находиться в соответствующей беспроводной сети. В рамках протоколов IEEE 802.11 кадры синхронизации называются маяками (Beacon).
CCG
Кроме того, сетевое устройство 100 включает в себя SED 104 для обнаружения событий синхронизации, а также CCG 106 для генерирования синхронизированного сигнала времени T и SCD 108, который управляет способом синхронизации. Как показано на фиг. 1, SED 104 и CCG 106 могут быть интегрированы, например, в виде ПЛИС 110.
Принятый сигнал, который генерируется точкой доступа, подается на IWC 102 с помощью антенны, подробно не показанной. Точно так же IWC 102 генерирует передаваемый сигнал, содержащий данные, которые генерируются локально в сетевом устройстве 100. Система IWC также содержит встроенные часы IWC, которые генерируют сигнал времени, но не доступны напрямую через интерфейс IWC 102 для других компонентов внутри сетевого устройства. Внутренние часы IWC, в частности, служат для генерации меток времени при беспроводной коммуникации с другими сетевыми устройствами. В частности, у экономичных систем IWC 102 нет выделенного порта, на который поступает сигнал, содержащий события синхронизации, которые в достаточной степени и без фазовых флуктуаций соответствуют назначенным меткам времени, генерируемыми внутренними часами IWC.
sync
Однако авторы изобретения обнаружили, что даже экономичные IWC 102, работающие в полудуплексе, также дают возможность генерировать сигнал синхронизации S, который содержит события синхронизации, которые могут быть использованы для синхронизации внешних часов, а именно в виде CCG 106. Речь идет о порте IWC 102, на который подается аналоговый сигнал приема непосредственно от антенны или через соответствующий усилитель. Установлено, что при переключении из режима приема IWC в режим передачи этот порт переходит с первого потенциала, который может составлять, например, 600 мВ, на второй, который может быть, в частности, нулевым потенциалом. Эти процессы переключения выполняются с высокой точностью и могут быть снабжены метками времени таких IWC, т.е. такая система IWC 102 способна генерировать метку времени, которая определяет соответствующее время переключения, где используется сигнал времени внутренних часов IWC.
Для генерации событий синхронизации в виде соответствующих изменений потенциала можно также использовать порт coexistence интерфейса IWC 102, который имеет первый потенциал, если IWC активна (т.е. разрешена передача и/или прием), и второй потенциал, если МКК неактивна и, следовательно, разрешена работа другого устройства беспроводной связи.
Следует отметить, что изобретение не ограничивается такими вариантами IWC, в которых порт для аналогового входного сигнала "используется не по назначению". Также могут использоваться IWC, где предусмотрен соответствующий отдельный порт, на который выводится сигнал, содержащий события синхронизации, каждое из которых генерируется в ответ на получение кадра синхронизации.
sync
В форме выполнения, представленной на фиг. 1, этот порт IWC 102 обозначен контрольным символом 102а и подключен к порту ввода SED 104. Также может быть предусмотрено аппаратное обеспечение, которое детально не рассматривается, для согласования или разделения потенциалов. Структура SED 104 позволяет обнаруживать события синхронизации, содержащиеся в подаваемом на него сигнале синхронизации S, т.е., в частности, процессы переключения, генерируемые в результате переключения IWC 102 из режима приема на режим передачи и наоборот.
CCG
CCG
Сигнал времени T, генерируемый CCG 106, подается на SED 104. Как уже упоминалось выше, SED 104 и CCG 106 могут быть реализованы в одной интегральной схеме 110, например, ПЛИС, за исключением аппаратного обеспечения для регулировки потенциала, если это необходимо. SED может использовать сигнал T, поставляемый ему для генерации соответствующей метки времени при обнаружении события синхронизации.
CCG
CCG
SCD 108 получает соответствующие метки времени от SED 104 и предназначен для управления и выполнения всех действий описанного ниже способа синхронизации. SCD 108 может иметь структуру как у обычного компьютера и, в частности, как у простого одноплатного компьютера. Эта система управляет CCG 106 таким образом, что генерируемый синхронизированный сигнал времени T соответствует заданным значениям, определенным SCD 108. Для этого SCD 108 загружает в CCG 106 соответствующие параметры синхронизации (см. ниже). SCD 108 может также подавать сигнал синхронизации T, чтобы он также мог использовать синхронизированный сигнал времени и, при необходимости, сделать его доступным для соответствующих приложений, в частности, для программного обеспечения. Кроме того, система SCD 108 также подключена к IWC 102 и может запрашивать из нее метки времени, генерируемые IWC 102, используя внутренние часы IWC или данные, полученные из IWC 102, в частности, метки времени, содержащиеся в кадрах синхронизации, генерируемых с помощью сигнала времени ведущего устройства. Система также может соответствующим образом управлять IWC 102, например, для того чтобы побудить IWC к генерированию кадра события синхронизации с характерной длительностью.
Далее разъясняются различные варианты способа синхронизации в соответствии с изобретением. В частности, этот способ позволяет снизить требования к возможностям SCD 108 в режиме реального времени. Это достигается путем переноса всех критически важных операций в микропрограммное обеспечение IWC 102 или в аппаратное обеспечение или микропрограммное обеспечение SED 104 или CCG 106, при этом SED и CCG также могут быть реализованы в качестве экономичных ПЛИС.
АР
AP
Например, сигнал времени ведущего устройства или соответствующие метки времени Т могут передаваться с помощью функции синхронизации времени, определенной в IEEE 802.11 как источник синхронизации времени ведущего устройства. В этом случае метки времени Т передаются кадрами синхронизации, называемыми маяками (Beacon). Однако изобретение также позволяет использовать отдельно сгенерированные кадры синхронизации с использованием любого протокола передачи.
Целью способа является синхронизация нескольких беспроводных узлов, т.е. нескольких беспроводных сетевых устройств 100, соединенных с точкой доступа. Для этого каждое сетевое устройство 110 должно включать аппаратную инфраструктуру, представленную на фиг. 1.
АР
B
SE
B
SE
Каждый раз, когда IWC 102 получает действительный кадр синхронизации, например, кадр-маяк, он генерирует событие синхронизации на порте 102а. При этом сохраняется метка времени синхронизации Т, содержащаяся в кадре синхронизации. Кроме того, IWC 102 генерирует и сохраняет метку времени Т, которая определяет прием кадра синхронизации, и метку времени T, которая определяет время события синхронизации. Метки времени Т и T соответственно генерируются с помощью сигнала времени внутренних часов IWC.
sync
Как уже разъяснялось выше, событие синхронизации может заключаться во фронте сигнала (например, напряжения), который подается на SED 104 через порт 102а. SED 104 обнаруживает каждое событие синхронизации. Оно может состоять из синхронизирующего фронта сигнала синхронизации S, который генерируется при отправке кадра синхронизации на порт 102а. Событие синхронизации может быть сформировано либо (отрицательным) синхронизирующим фронтом, генерируемым переходом IWC 102 из режима приема в режим передачи (т.е. началом кадра события синхронизации, переданного IWC 102), либо (положительным синхронизирующим фронтом, генерируемым переходом IWC 102 из режима передачи в режим приема (т.е. концом кадра события синхронизации, переданного IWC 102).
Однако, событие синхронизации может быть сгенерировано любым другим способом на соответствующем порту IWC (см. объяснения выше).
sync
sync
sync
Тем не менее, SED 104 должен не только определить наличие соответствующего синхронизирующего фронта в сигнале синхронизации S, но и то, действительно ли это - синхронизирующий фронт, генерируемый кадром события синхронизации. Для этой цели, как уже объяснялось выше, каждый кадр события синхронизации имеет характерную длительность, которой обычно не бывает, или, по крайней мере, которая крайне редко бывает при стандартной передаче данных с учетом соответствующего протокола передачи. Например, длительность кадра события синхронизации может быть короче, чем длительность всех обычных кадров. Следовательно, SED 104 должен также иметь способность определять интервалы между синхронизирующими фронтами, которые генерируются соответствующими кадрами (будь то кадры во время стандартной передачи данных или кадры событий синхронизации). Так как передающий кадр в сигнале синхронизации S инициируется, например, падающим синхронизирующим фронтом и завершается нарастающим синхронизирующим фронтом, SED 104 может определять передающие кадры, которые, в силу своей характерной длительности, могут быть только кадрами событий синхронизации. По кадру события синхронизации, обнаруженному таким образом, SED 104 может определить соответствующее событие синхронизации, например, падающий или нарастающий фронт (т.е. начальный или конечный фронт) в сигнале синхронизации S как событие синхронизации.
Кадр события синхронизации для генерации события синхронизации может быть сгенерирован IWC 102 в любое время после получения кадра синхронизации. Этим можно управлять либо автономно с помощью аппаратных средств и/или микропрограммного обеспечения IWC 102, либо по запросу соответствующей команды SCD 108 после того, как система IWC 102 сообщит SCD 108 о том, что она получила кадр синхронизации. В частности, передача кадра события синхронизации может быть выполнена так же, как и передача любого обычного кадра, например, кадра данных, с учетом заданных значений соответствующего протокола передачи. В случае использования протоколов в соответствии с различными стандартами IEEE 802.11 IWC 102 будет, в частности, проверять, свободен ли соответствующий канал и может ли он, таким образом, передавать кадр, не вызывая коллизии.
sync
Однако этот способ генерирует дополнительный трафик, который не требуется для передачи данных как таковой. Это связано с тем, что кадр события синхронизации в основном служит только для генерации соответствующего события синхронизации в сигнале синхронизации S. Поэтому кадр события синхронизации обычно не содержит никаких полезных данных. Правда, это тоже не исключено. Но в этом случае для кадра события синхронизации должна быть выбрана длительность, в которую можно разумным образом интегрировать полезные данные. В то же время длительность кадров событий синхронизации все равно должна быть характерной. Хотя это и не исключается, на практике, в зависимости от используемого протокола, это может быть реализовано только с увеличением сложности при определении длительности кадра.
По этой причине для кадров события синхронизации проще определить величину, которая будет меньше длительности всех остальных кадров соответствующего протокола. Соответственно, в таких кадрах вряд ли будет достаточно места для полноценной передачи данных. Например, при использовании стандартных протоколов по стандарту IEEE 802.11 для кадров событий синхронизации при скорости передачи данных в 6 Мбит/ сек можно выбрать величину в 12 байт. Это дает временную длительность около 16 мкс для кадра события синхронизации, который должен быть определен системой SED 104.
Согласно другому варианту, сетевое устройство может генерировать кадр события синхронизации сразу или через предварительно заданный короткий промежуток времени после получения кадра синхронизации. Генерация может быть выполнена аппаратным или программным обеспечением IWC, так что время запуска кадра события синхронизации может быть зафиксировано с достаточной точностью. Время начала предпочтительно определять таким образом, чтобы интервал между концом полученного кадра синхронизации и началом кадра события синхронизации было меньше или равно минимальному времени ожидания между приемом и передачей кадра сетевым устройством, в зависимости от используемого протокола передачи. Таким образом, можно добиться того, что после приема кадра синхронизации, который передается как широковещательный кадр и, следовательно, принимается и обрабатывается всеми сетевыми устройствами, все сетевые устройства реагируют передачей кадра события синхронизации. Хотя это приводит к наложению соответствующих кадров события синхронизации в соответствующем канале передачи, это не является недостатком, так как в этом случае кадры события синхронизации не содержат никаких полезных данных, а служат только для генерации события синхронизации на порт 102а системы IWC 102. Таким образом, трафик, генерируемый требуемой отправкой кадров событий синхронизации, или соответствующая загрузка канала передачи могут быть сведены к минимуму.
SE
Здесь же следует еще раз отметить, что события синхронизации могут генерироваться и на других портах IWC 102 в виде соответствующих изменений потенциала. Следует убедиться только в том, что изменение потенциала, которое может быть интерпретировано как событие синхронизации, может быть сгенерировано с достаточно низким джиттером как реакция на получение кадра синхронизации или что момент времени генерации события синхронизации может быть зафиксирован достаточно точной меткой времени T.
S
CCG
Во всех вариантах SED 104 генерирует метку времени T после обнаружения события синхронизации с помощью синхронизированного или подлежащего синхронизации сигнала времени T, который генерируется CCG.
АP
B
SE
S
CCG
СCG
SCD периодически считывает все метки времени Т, Т, T, T из IWC 102 и SED 104 и, используя алгоритм синхронизации по умолчанию, определяет параметры синхронизации, которые затем передаются в CCG 106 и которые CCG использует для синхронизации сигнала времени T. При этом можно определить сигнал времени Т, используя следующее отношение:
md
SRC
SRC
Здесь k - фактор синхронизации, a T - сдвиг фаз. T обозначает расход прецизионного таймера, содержащегося в CCG 104. Срабатывание прецизионного таймера, т.е. срабатывание T, может быть, например, составлять 1/256 мкс, что примерно на два десятичных порядка меньше погрешности синхронизации, желаемой на практике.
Как показано на фиг. 2, алгоритм синхронизации, реализованный в SCD, может состоять из трех фаз: фазы запуска, фазы предварительной синхронизации и фазы синхронизации.
md
CCG
На этапе запуска изначально определяется только значение коэффициента синхронизации k, на которое необходимо умножить значение прецизионного таймера в CCG 104, чтобы без учета сдвига фаз T вычислить синхронизированный или синхронизируемый сигнал времени T. Если не удается определить коэффициент синхронизации k с помощью подходящего алгоритма, то определение можно повторять так часто, как это требуется. Разумеется, здесь также может быть предусмотрен критерий завершения, так что после заданного количества попыток определения коэффициента k генерируется сообщение об ошибке, и фаза запуска прерывается. Если значение коэффициента синхронизации k было успешно определено, то система переходит к фазе предварительной синхронизации.
Фазу запуска можно пропустить, если в памяти, предпочтительно в ПЗУ, было сохранено действительное значение коэффициента синхронизации k, определенного на раннее выполненной фазе запуска. При запуске сначала можно проверить, имеется ли действительное значение коэффициента синхронизации k. В этом случае его можно извлечь из памяти и загрузить в CCG 106. После этого можно сразу же приступать к фазе предварительной синхронизации.
md
md
sn
lim
md
На этапе предварительной синхронизации сдвиг фаз T можно определить с помощью подходящего алгоритма. Сдвиг фаз T может быть определяться рекурсивно до тех пор, пока погрешность синхронизации ε для заданного числа N циклов не опустится ниже предельного значения ε. При этом в фазе предварительной синхронизации для определения сдвига фаз T может быть использована частичная фильтрация (или определенный первичный алгоритм фильтра). При достижении указанного выше условия завершения фазы предварительной синхронизации происходит переход в фазу синхронизации.
md
md
ps
В фазе синхронизации значение для сдвига фаз Т также определяется циклически. При этом может быть применена полная фильтрация (или определенный второй алгоритм фильтрации). При выполнении критерия завершения происходит переход из фазы синхронизации в фазу предварительной синхронизации. Например, в качестве критерия завершения может выполняться фильтрация ложных срабатываний для определенных значений по сдвигу фаз T. При обнаружении числа N ложноположительных значений система переходит в фазу предварительной синхронизации. Также перейти от фазы предварительной синхронизации к фазе запуска, если критерий перехода к фазе синхронизации не достигнут по истечении заданного количества циклов или заданного периода времени.
md
md
Отдельные этапы способа в фазе запуска разъясняются ниже с помощью примерной технологической схемы, представленной на фиг. 3. В начале фазы запуска сначала проверяется, доступны ли полезные значения коэффициента синхронизации k и сдвига фаз T из предыдущих процессов синхронизации. Они могут быть сохранены в соответствующем ПЗУ, в SCD 108 или CCG 106. При наличии таких полезных значений фаза предварительной синхронизации может быть запущена немедленно. Полезные значения для k и T загружаются из ПЗУ, в CCG 106. Если ПЗУ находится в CCG 106, то нужно только проверить, существует ли такая действительная пара значений, которая может быть использована для фазы предварительной синхронизации.
md
md
S
AP
B
SE
B
SE
В начале фазы запуска сначала устанавливается коэффициент синхронизации k=1 (одновременно может быть установлен сдвиг фаз T=0, чтобы использовать это начальное значение при переходе к фазе предварительной синхронизации; однако, эта установка начального значения для T может быть выполнена и в фазе предварительной синхронизации). Каждый раз, когда SCD 108 получает новую метку времени T от SED 104, SCD 108 также считывает последний набор (связанных) меток времени Т, Т и Tиз IWC 102. Значения для Т и T, которые непосредственно не требуются для расчета коэффициента синхронизации k, могут использоваться для фильтрации ложных срабатываний, чтобы исключить недействительные или неприемлемые события синхронизации. Для фильтрации ложных срабатываний, например, задается условие разности во времени
sync
BSE
BSE,low
BSE,high
которое должно выполняться для действительного события синхронизации. Эта разность времени равна интервалу времени между приемом кадра синхронизации (например, конец кадра синхронизации можно определить как определяющий момент времени) и временем, в которое генерируется соответствующее событие синхронизации (например, конец переданного кадра события синхронизации). Этот интервал времени равен временной длительности кадра события синхронизации плюс время ожидания между приемом кадра синхронизации и передачей кадра события синхронизации. Учитывая коммутационные характеристики системы IWC или обусловленную ими конечную крутизну синхронизирующих фронтов в сигнале синхронизации S, для T можно определить нижнее и верхнее предельные значения T, T
АP
B
SE
S
BSE
BSE
Если длительность кадров события синхронизации составляет, например, 40 мкс, а время ожидания - 10 мкс, то, включая время переключения IWC из режима передачи в режим приема, составляющее, например, 2-3 мкс для действительного события синхронизации или действительных кортежей из 4 элементов меток времени Т, Т, T и Tможет быть определено следующее условие частичной фильтрации,: 52 мкс≤T≤53 мкс Вышеупомянутые верхний и нижний пределы T, конечно же, должны быть адаптированы в зависимости от соответствующих характеристик переключения IWC, заданного времени ожидания и временной продолжительности кадров синхронизации.
s
В соответствии с этим способом для определения коэффициента синхронизации k в фазе запуска сначала определяется и сохраняется заданное количество N действительных кадров синхронизации. При этом нет необходимости использовать кадры синхронизации, которые следуют непосредственно друг за другом. Вместо этого SCD 108 может указать, что обрабатываются только выбранные кадры синхронизации. Например, можно использовать только каждый n-ый кадр синхронизации. Это может снизить скорость обработки в SCD 108, поэтому можно использовать и менее дорогое аппаратное обеспечение.
i
s
S
АP
S
На следующем этапе SCD 108 определяет множество значений k для коэффициента синхронизации k из числа N пар значений временных меток T[i] и T[i] (1≤i≤N) в соответствии со следующим отношением:
S
S
AP
AP
i
i
i
i
i
i
i
Здесь индексы i и j в основном обозначают любые подлежащие оценке события синхронизации или связанные с ними метки времени T[i], T[j] и T[i], T[j]. Однако, желательно использовать последовательные пары событий синхронизации или метки времени, чтобы действовало j=i-1. Значения k, определенные таким образом для коэффициента синхронизации k, могут быть отфильтрованы еще раз для повышения точности способа. Например, можно не принимать во внимание все значения k, для которых разница между соответствующим коэффициентом синхронизации k и средним значением всех коэффициентов синхронизации k составляет менее 50% от максимального значения всех разниц, образованных коэффициентом синхронизации k и средним значением всех коэффициентов синхронизации k. Это - эмпирический способ уменьшения числа пиков по числовой дифференциации в соответствии с уравнением (2), приведенным выше. Окончательное значение коэффициента синхронизации k может быть вычислено как среднее значение по всем коэффициентам синхронизации k, которые определяются как применимые после эмпирической фильтрации, описанной выше.
i
k,lim
s
В случае, если число значений k для коэффициента синхронизации, оставшихся после данного способа фильтрации, меньше заданного минимального числа N, форма выполнения согласно фиг. 3 предусматривает, что должен быть определен совершенно новый набор кадров синхронизации N, т.е. способ определения коэффициента синхронизации k будет перезапущен.
Разумеется, для повышения точности можно использовать любой другой метод фильтрации. Можно также полностью отказаться от такой фильтрации. Конечно, это относится и к частичной фильтрации меток времени с применением уравнений (2) и (3).
После определения значения коэффициента синхронизации k он загружается в CCG 106 и может быть дополнительно сохранен в ПЗУ, так что значение коэффициента синхронизации k уже будет доступно в начале следующей фазы запуска, которая запускается, например, при включении или инициализации сетевого устройства 100 или его сбросе. Затем происходит переход к фазе предварительной синхронизации.
SRC
AP
Здесь следует отметить, что коэффициент синхронизации k, конечно же, может быть определен и любым другим методом линейной интерполяции между T и Т.
md
AP
B
SE
S
Затем необходимо определить сдвиг фаз T в фазе предварительной синхронизации. На фиг. 4 показана форма выполнения способа предварительной синхронизации. В этой форме исполнения циклически определяется соответствующий набор из 4 элементов меток времени Т, Т, T и T, для последовательных или выбранных полученных кадров синхронизации. При этом частичную фильтрацию (фильтрацию ложных срабатываний), разумеется, можно выполнить с помощью уравнений (2) и (3). На следующем этапе вычисляется погрешность синхронизации ε в соответствии с отношением
md
md
ms
md
Затем ранее действовавшее значение сдвига фаз T корректируется по погрешности синхронизации ε, т.е. к ранее действовавшему значению для сдвига фаз T прибавляется (с учетом знака) определенная погрешность синхронизации ε. Для этого в CCG 106 загружается значение сдвига фаз T. Разумеется, SCD 108 также может вычислить новое значение сдвига фаз T, а затем загрузить новое вычисленное значение в CCG 106, если CCG не может выполнить такой расчет самостоятельно.
lim
sync
lim
md
Затем на следующем этапе проверяется, не оказалось ли действующее расчетное значение погрешности синхронизации ε меньше порогового значения ε. В этом случае соответствующий счетчик увеличивается на единицу. В ином случае счетчик сбрасывается (т.е. устанавливается на ноль). Если показания счетчика после инкремента превышают заданное пороговое значение N, то происходит выход из фазы предварительной синхронизации и переход в фазу синхронизации. Если счетчик сбрасывается в результате превышения допустимого порогового значения ε для погрешности синхронизации, то в рамках критерия завершения можно проверить необходимость перехода от фазы предварительной синхронизации к фазе запуска, так как применимое значение для сдвига фаз T определить невозможно. Для этого можно проверить, например, насколько часто сброс счетчика происходит в последовательных циклах. При превышении соответствующего заданного максимального значения можно перейти к фазе запуска.
md
AP
B
SE
S
lim
md
lim
lim
В фазе синхронизации, которая описывается далее на основе формы выполнения согласно фиг. 5, значение сдвига фазы T также определяется циклически для последовательных или выбранных полученных кадров синхронизации. Для этого определяется соответствующий кортеж из 4 элементов меток времени Т, T, T и T. При этом частичную фильтрацию (фильтрацию ложных срабатываний) можно выполнить с помощью уравнений (2) и (3) для исключения недействительных событий синхронизации. На следующем этапе вычисляется погрешность синхронизации ε в соответствии с уравнением (3). На следующем этапе проверяется, не оказалось ли вновь определенное значение погрешности синхронизации ε меньше порогового значения ε. В этом случае соответствующий счетчик увеличивается на единицу. Если это условие выполнено, то в CCG 106 загружается погрешность синхронизации ε или соответствующее ей новое значение для сдвига фаз T (см. выше описание фазы предварительной синхронизации), и сбрасывается счетчик (разумеется, установленный на ноль в начале способа в фазе синхронизации). Затем выполняется еще один цикл. Если погрешность синхронизации ε не меньше предварительно определенного порогового значения ε, счетчик будет инкрементировать, и будет выполнен следующий цикл, если значение счетчика инкремента Т не больше предварительно определенного порогового значения N. В ином случае производится переход к фазе предварительной синхронизации.
high
low
AP
B
SE
S
В фазе синхронизации, в дополнение к описанной выше частичной фильтрации, уравнения (2) и (3) также могут использоваться для фильтрации значений, определенных для погрешности синхронизации ε. Для фильтрации, например, можно задать верхнее и нижнее предельное значение ε, ε для погрешности синхронизации ε. Затем используются только те события синхронизации или связанные с ними метки времени Т, Т, T, T, для которых применяется погрешность синхронизации ε, отвечающая следующим условиям:
Предельные значения могут быть выбраны в соответствии с длительностью передаваемых кадров событий синхронизации. На практике было установлено, что хорошие результаты достигаются в том случае, если значение погрешности синхронизации ε меньше или равно длительности кадра события синхронизации, т.е.
SEF
где Δt - длительность кадра события синхронизации. Это условие может быть использовано, в частности, для исключения тех кадров, которые неправильно распознаны как кадры события синхронизации и имеют длительность, аналогичную длительности кадров события синхронизации, и передаются после кадра события синхронизации. С помощью частичной фильтрации ложных срабатываний по уравнениям (2) и (3) и дополнительной фильтрации ложных срабатываний по уравнению (7) можно достичь достаточно высокой точности синхронизации и на аппаратном обеспечении с относительно низкой вычислительной мощностью, которое, соответственно, будет экономичным.
Так как уравнение (5) с уравнением (2) записывается как
BSE
BSE
BSE
при расчете погрешности синхронизации ε для T может также использоваться постоянное значение, в частности, значение, полученное, например, посредством усреднения значений T за несколько циклов (например, 100). Это, конечно, не зависит от того, что значение T, определенное в каждом цикле, может быть использовано для частичной фильтрации в соответствии с уравнениями (2) и (3). Так как метка времени IWC 102 является относительно неточной или генерируется с небольшим временем срабатывания, составляющим, например, 1 мкс, точность может быть значительно повышена.
Для реализации и проверки способа, описанного выше, изобретатели провели следующий эксперимент: Были изготовлены два беспроводных узла или сетевые устройства, каждый из которых состоял из встраиваемого компьютера Raspberry PI 3В со встроенным IWC Cypress CYW43438. Каждая IWC была подключена к плате на базе ПЛИС через высокоскоростной компаратор. Первое из двух сетевых устройств использовало отладочную плату Digilent Nexys 4 DDR для реализации SED и CCG. Эта плата была оснащена FPGA Xilinx Artyx-7, работающей на частоте 50 МГц. Второе из сетевых устройств для тех же целей включало в себя отладочную плату Lattice iCEstick. В на этой отладочной плате установлена бюджетная ПЛИС iCE40HXl, работающая на частоте 48 МГц. Использование различных ПЛИС с разными генераторами тактовых импульсов показывает, что хорошие результаты достигаются с помощью описанного выше метода синхронизации, а не с помощью различных тактовых частот или фазовых сдвигов. В качестве точки доступа использовалась бюджетная точка NETGEAR N150, которая также генерировал кадры-маяки для синхронизации. Ошибка синхронизации была зафиксирована на обоих сетевых устройствах. Тестирование проводилось с в условиях вычислительной нагрузки на процессорах компьютеров Raspberry PI 3В и под нагруженным (частично занятым) каналом связи.
BSE
На фиг. 6 показаны гистограммы ошибки синхронизации ε (уравнение 8) для обоих сетевых устройств (фиг. 6а - Сетевое устройство 1; фиг. 6b - Сетевое устройство 2), полученные при данной настройке и способа, описанного выше. Измерения проводились с загрузкой центрального процессора 90% на каждом сетевом устройстве. Для тестирования сеть была загружена дополнительными данными, передаваемыми со скоростью 15 Мбит/с (UDP-передача) от первого к второму сетевому устройству. Для параметра T из уравнения (8) использовалось значение 53 мкс, которое ранее было определено с использованием соответствующих измерений и усреднения. Тест проводился в течение более 12 часов. Среднеквадратическое отклонение распределения на фиг. 6 составило менее 500 нс. Таким образом, можно показать, что с помощью метода, соответствующего изобретению, можно достичь высокой точности синхронизации даже на очень дешевом оборудовании и без использования операционной системы реального времени.
Список условных обозначений 100 сетевое устройство
102 IWC (Integrated Wirless Circuit: интегрированная микросхема беспроводной связи)
102а порт
104 SEC (Synchronisationsevent-Detektoreinrichtung: детектор событий синхронизации)
106 CCG (steuerbarer Clock-Generator; Controllable Clock Generator: управляемый генератор временного сигнала)
108 SCD (Synchronisationssteuereinrichtung; Synchronization Control Device: устройство управления синхронизацией)
110 ПЛИС (программируемая логическая интегральная схема)
ε погрешность синхронизации
lim
ε пороговое значение для погрешности синхронизации
high
ε верхняя граница значения ε
low
ε нижняя граница значения ε
k коэффициент синхронизации
AP
Т метка времени синхронизации
B
Т метка времени (получение кадра синхронизации)
SE
T метка времени (создание кадра синхронизации)
S
T метка времени (обнаружение кадра синхронизации)
SRC
T значение прецизионного таймера в CCG 104
CCG
T время (сигнал времени) CCG до
md
T сдвиг фаз
SEF
Δt временная длительность кадра синхронизации
S
N число кадров синхронизации для определения k
k,lim
N минимальная число кадров синхронизации для определения k
sync
N число циклов в фазе предварительной синхронизации
ps
N число циклов в фазе синхронизации.