RU2738446C1 - Synchronizing network device for wireless communication, in particular network terminal, in wireless network - Google Patents
Synchronizing network device for wireless communication, in particular network terminal, in wireless network Download PDFInfo
- Publication number
- RU2738446C1 RU2738446C1 RU2020117531A RU2020117531A RU2738446C1 RU 2738446 C1 RU2738446 C1 RU 2738446C1 RU 2020117531 A RU2020117531 A RU 2020117531A RU 2020117531 A RU2020117531 A RU 2020117531A RU 2738446 C1 RU2738446 C1 RU 2738446C1
- Authority
- RU
- Russia
- Prior art keywords
- synchronization
- iwc
- sync
- event
- ccg
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/0015—Synchronization between nodes one node acting as a reference for the others
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
Изобретение относится к технологии синхронизации сетевого устройства для беспроводной связи, в частности сетевого терминала, в беспроводной сети, где сетевое устройство имеет интегрированную микросхему беспроводной связи (Integrated Wireless Chip; IWC), детектор событий синхронизации (Synchronization Event Detector; SED) для обнаружения событий синхронизации, управляемый генератор временного сигнала (Controllable Clock Generator; CCG) для генерации синхронизированного сигнала времени TCCG и устройство управления синхронизацией (SCD) для управления процессом синхронизации сетевого устройства. Кроме того, изобретение относится к сетевым устройствам, в которых применяется технология, а также к беспроводной сети с такими сетевыми устройствами.The invention relates to a technology for synchronizing a network device for wireless communication, in particular a network terminal, in a wireless network, where the network device has an Integrated Wireless Chip (IWC), a Synchronization Event Detector (SED) for detecting synchronization events , a Controllable Clock Generator (CCG) for generating a synchronized time signal T CCG, and a clock control device (SCD) for controlling the synchronization process of a network device. In addition, the invention relates to network devices using the technology as well as a wireless network with such network devices.
В настоящее время Time-Sensitive Networking (TSN) представляет собой наиболее перспективный независимый от производителя и детерминированный по времени стандарт связи для промышленного применения. Термин TSN обозначает набор стандартов, над которыми работает целевая группа Time-Sensitive Networking Task Group, которая входит в рабочую группу ТЕЕЕ 802.1. TSN включает в себя два основных компонента: во-первых, протокол синхронизации устройств с точностью в субмикросекундном диапазоне IEEE 1588 и, во-вторых, ряд технологий для обеспечения планирования QoS (качества обслуживания) уведомлений в реальном времени с высоким приоритетом. С учетом его преимуществ стоит ожидать, что TSN заменит большую часть современных промышленных полевых шин в долгосрочной перспективе и предложит унифицированную модель связи для широкого спектра промышленного оборудования. Поскольку чисто проводные сети передачи данных имеют ограничения относительно плотности на единицу площади, соединения подвижных деталей, а также миниатюризации узлов, во внимание принимаются гибридные решения на базе проводных магистралей и нескольких островков с хабами с беспроводной связью.Time-Sensitive Networking (TSN) is currently the most promising vendor-independent and time-dependent communication standard for industrial applications. The term TSN denotes a set of standards that the Time-Sensitive Networking Task Group, which is part of the TEE 802.1 working group, is working on. TSN includes two main components: first, the IEEE 1588 submicrosecond precision device synchronization protocol, and second, a number of technologies to provide high priority QoS (Quality of Service) scheduling of notifications. Given its benefits, TSN can be expected to replace most of today's industrial fieldbuses in the long term and offer a unified communication model for a wide range of industrial equipment. Since purely wired data networks have limitations in terms of density per unit area, connections of moving parts, and miniaturization of nodes, hybrid solutions based on wired backbones and multiple islands with wireless hubs are taken into account.
Исследования и разработки последнего десятилетия показали, что беспроводная связь может применяться в различных сферах промышленной автоматизации, включая робототехнику, умные сети энергоснабжения (Smart Grids), крупноформатные сенсорные сетей и т.д., даже в очень сложных электромагнитных средах. Даже в такой среде беспроводная связь по стандарту IEEE 802.11 может достигать пропускной способности, сопоставимой с проводными сетями Ethernet, в частности, в случае применения стандартов IEEE 802.11 ах (Wi-Fi 6) следующего поколения. Это делает стандарты IEEE 802.11 перспективными кандидатами для беспроводных расширений TSN.Research and development over the past decade has shown that wireless communication can be applied in a variety of industrial automation applications, including robotics, Smart Grids, large-format sensor networks, etc., even in very complex electromagnetic environments. Even in this environment, IEEE 802.11 wireless communication can achieve bandwidth comparable to wired Ethernet networks, particularly when the next generation IEEE 802.11ax (Wi-Fi 6) standards are applied. This makes the IEEE 802.11 standards promising candidates for wireless extensions to TSN.
Тем не менее, во временной синхронизации нескольких устройств и планировании высокоприоритетных сообщений в беспроводной сети могут быть сложности: в проводной сети каждый узел имеет выделенный кабель в качестве собственной среды передачи данных. В противоположность этому устройства в беспроводной сети делят между собой одну и ту же коммуникационную среду и управляют доступом через Distributed Coordination Function (распределенная функция координации) (DCF), механизм стандартов IEEE 802.11, с помощью которого регулируется недетерминированный доступ нескольких абонентов к соответствующей беспроводной сети. Однако такого рода доступ может привести к непредсказуемому времени задержки. Использование менее популярных частотных диапазонов и способов перенастройки каналов может частично решить такие проблемы. Но этот подход, как правило, приводит к высокой стоимости заказного аппаратного обеспечения и плохо масштабируется для более крупных сетей.However, the timing of multiple devices and the scheduling of high-priority messages on a wireless network can be difficult: on a wired network, each node has a dedicated cable as its own transmission medium. In contrast, devices on a wireless network share the same communication medium and control access through the Distributed Coordination Function (DCF), an IEEE 802.11 standards mechanism that regulates non-deterministic access by multiple subscribers to a corresponding wireless network. However, this kind of access can lead to unpredictable latency. The use of less popular frequency bands and channel retuning methods can partially solve such problems. But this approach tends to lead to high custom hardware costs and does not scale well for larger networks.
Массовых коллизий и повторной передачи можно избежать посредством планирования сообщений с помощью особых протоколов передачи данных и прикладного уровня на уровне PHY стандарта IEEE802.11. Такие подходы могут значительно снизить вероятность коллизии и улучшить характеристики в реальном времени. Большая часть методов планирования, за исключением основанных на использовании маркеров, нуждается в отдельных механизмах синхронизации, которые намного чувствительнее реагируют на потерю пакетов, чем другой трафик. Ethernet TSN использует синхронизацию по времени на основе IEEE 1588, точность которой гарантируется точным добавлением метки времени в обоих направлениях кадров, предоставляемых TSN коммутаторами со стабильной задержкой передачи.Mass collisions and retransmissions can be avoided by scheduling messages using specific communication protocols and an application layer at the IEEE802.11 PHY layer. Such approaches can significantly reduce the likelihood of collisions and improve real-time performance. Most scheduling techniques, with the exception of token-based scheduling, require separate timing mechanisms that are much more sensitive to packet loss than other traffic. Ethernet TSN uses IEEE 1588 based time synchronization, the accuracy of which is guaranteed by accurate time stamping in both directions of frames provided by TSN switches with stable transmission delay.
Для промышленных применений часто используются бюджетные IWC, которые могут входить в состав, например, компьютера. Такого рода IWC, как правило, реализованы как система на кристалле (System-on-a-Chip) или SoC и могут включать в себя несколько процессоров, модули аналого-цифрового преобразователя и модули цифро-аналогового преобразователя, модуляторы и демодуляторы, а также усилители для отправки и приема беспроводного сигнала. SoC интегрирует как модули PHY, так и модули MAC в один микрочип. Это обеспечивает экономичную и энергоэффективную реализацию. Но в то же время прямой доступ разработчиков к модулю PHY становится невозможным, что не позволяет получить достаточно точные метки времени для отправленных и полученных кадров, а они необходимы для точной синхронизации. Доступ к модулю PHY для формирования меток времени для заданных кадров через внешние интерфейсы создает такие большие фазовые флуктуации, что такие метки времени вряд ли будут пригодны для синхронизации. При этом влияние на фазовые флуктуации, в частности, оказывает загрузка сети и процессора.For industrial applications, budget IWCs are often used, which can be part of, for example, a computer. This kind of IWC is typically implemented as a System-on-a-Chip or SoC and can include multiple processors, A / D converter modules and D / A converter modules, modulators and demodulators, and amplifiers. to send and receive a wireless signal. The SoC integrates both PHY and MAC modules into one microchip. This ensures economical and energy efficient implementation. But at the same time, direct access of developers to the PHY module becomes impossible, which does not allow obtaining sufficiently accurate time stamps for sent and received frames, which are necessary for accurate synchronization. Accessing the PHY to timestamp given frames via external interfaces creates such large phase fluctuations that such timestamps are unlikely to be suitable for synchronization. In this case, the influence on the phase fluctuations, in particular, is exerted by the load of the network and the processor.
Решение этой проблемы описано в работе [А.М. Romanov et al. "High Precision Synchronization between Commercial WiFi-ICs and External Device", 2019, 16th Workshop on Positioning, Navigation and Communications (WPNC), pp. 1-6]. Здесь указывается специальный способ и соответствующее аппаратное обеспечение, позволяющее синхронизировать часы, содержащиеся в бюджетной, работающей по полудуплексной технологии IEEE 802.11-IWC (Integrated Wireless Chip), с внешними часами, реализованными в специальном внешнем аппаратном обеспечении. Внешнее аппаратное обеспечение может быть реализовано, в частности, (в основном) с помощью ПЛИС (Программируемая Логическая Интегральная Схема). Для синхронизации используется высокоточная выходная функция IWC, которая также доступна извне. Для синхронизации генерируются предельно короткие кадры (Ultra Short Frames, USF). Время начала USF присваивается как метка времени, генерируемая часами IWC, так и метка времени, генерируемая часами внешнего аппаратного обеспечения. Эти пары значений меток времени, каждая из которых идентифицирует один и тот же момент времени (но с использованием двух разных часов), затем используются для синхронизации обоих часов с помощью специального алгоритма.The solution to this problem is described in [A.M. Romanov et al. "High Precision Synchronization between Commercial WiFi- ICs and External Device", 2019 16 th Workshop on Positioning, Navigation and Communications (WPNC), pp. 1-6]. Here, a special method and corresponding hardware are indicated, which allows synchronizing the clock contained in the budget, half-duplex IEEE 802.11-IWC (Integrated Wireless Chip) technology with an external clock implemented in special external hardware. External hardware can be implemented in particular (mostly) with an FPGA (Programmable Logic Integrated Circuit). For synchronization, a high-precision IWC output function is used, which is also externally accessible. For synchronization, extremely short frames (Ultra Short Frames, USF) are generated. The USF start time is assigned both the time stamp generated by the IWC clock and the time stamp generated by the external hardware clock. These pairs of timestamp values, each identifying the same point in time (but using two different clocks), are then used to synchronize both clocks using a special algorithm.
Авторы этой технологии признали, что большинство серийных бюджетных IWC имеют особую характеристику, которая может быть использована для синхронизации: такие IWC предназначены для передачи данных в полудуплексе. Очевидно, что входной порт приемно-регистрирующего узла, где IWC в режиме приема получает аналоговый сигнал приема, в режиме передачи переходит на нулевой потенциал, вероятно для того, чтобы избежать получения собственного сигнала передачи. В режиме приема этот порт имеет потенциал, отличный от нуля, например 600 мВ. Авторы обнаружили, что процессы переключения, запускаемые при переходе из режима приема в режим передачи и наоборот, выполняются с высокой точностью. Таким образом, каждый из этих процессов переключения может быть использован в качестве события синхронизации, которому часами IWC и внешними часами присваивается метка времени. Эта метка времени создается системой IWC с помощью встроенной в нее в качестве аппаратного обеспечения функциональной характеристики, при которой эти метки времени обеспечиваются только для синхронизации систем IWC друг с другом, но не для синхронизации системы IWC с внешним аппаратным обеспечением того же самого устройства. Таким образом, может быть реализована высокоточная синхронизация внешних часов с часами схемы IWC.The authors of this technology recognized that most of the commercial budget IWCs have a special characteristic that can be used for synchronization: such IWCs are designed to transmit data in half duplex. Obviously, the input port of the receiving and recording unit, where the IWC receives an analog receive signal in the receive mode, goes to zero potential in the transmit mode, probably in order to avoid receiving its own transmit signal. In receive mode, this port has a potential other than zero, for example 600 mV. The authors have found that the switching processes triggered when changing from the receive mode to the transmit mode and vice versa are performed with high accuracy. Thus, each of these switching processes can be used as a synchronization event, which is time-stamped by the IWC clock and external clock. This time stamp is generated by the IWC system with a hardware feature built into it, in which these time stamps are provided only to synchronize the IWC systems with each other, but not to synchronize the IWC system with external hardware of the same device. Thus, high-precision synchronization of the external clock with the clock of the IWC circuit can be realized.
Здесь следует отметить, что в данном описании метка времени - это значение времени, которое может, например, соответствовать показаниям счетчика с N знаков. Таким образом, такая метка времени может представлять собой временной период, нулевая точка которого соответствует моменту запуска соответствующего счетчика. Например, значение времени, содержащееся в метке времени, генерируемой устройством, выступающим в качестве ведущего, например, точкой доступа (ТД) беспроводной сети, может быть установлено на ноль в процессе инициализации устройства. В дальнейшем термин "метка времени" в зависимости от контекста понимается либо как соответствующее значение времени, либо как соответствующая последовательность битов, содержащаяся в соответствующем кадре, например, в кадре-маяке (beacon), передаваемом в сети IEEE 802.11.It should be noted here that, in this specification, a time stamp is a time value, which may, for example, correspond to a counter with N digits. Thus, such a time stamp can represent a time period, the zero point of which corresponds to the moment when the corresponding counter is started. For example, a time value contained in a timestamp generated by a master device, such as a wireless access point (AP), may be set to zero during device initialization. Hereinafter, the term "timestamp", depending on the context, is understood either as the corresponding time value, or as the corresponding sequence of bits contained in the corresponding frame, for example, in a beacon frame transmitted in the IEEE 802.11 network.
Современные беспроводные сети или сетевые устройства беспроводной связи имеют недостаток, который заключается в том, что при использовании недорогих IWC, которые не позволяют получить внешний доступ к таймерам или часам, содержащимся в них, невозможно достичь достаточной точности при синхронизации с сигналом времени, генерируемым центральными часами.Modern wireless networks or wireless networking devices have the disadvantage that when using inexpensive IWCs that do not allow external access to the timers or clocks contained in them, it is impossible to achieve sufficient accuracy when synchronized with the time signal generated by the central clock. ...
Исходя из этого уровня техники, в основе изобретение лежит задача создания технологии синхронизации устройств, действующих в качестве сетевых узлов в беспроводной сети, который будет прост и сможет быть реализован на экономичных аппаратных средствах и обеспечивает достаточную точность синхронизации. Кроме того, в основе изобретения лежит задача создания простого и экономичного механизма в виде сетевого устройства, позволяющего реализовать данный метод, а также беспроводной сети с такими сетевыми устройствами.Based on this prior art, the invention is based on the problem of providing a synchronization technology for devices acting as network nodes in a wireless network, which is simple and can be implemented on economical hardware and provides sufficient synchronization accuracy. In addition, the invention is based on the problem of providing a simple and economical mechanism in the form of a network device, allowing to implement this method, as well as a wireless network with such network devices.
Изобретение решает эти задачи с признаками формул изобретения 1 и 14, а также 17.The invention solves these problems with the features of
Изобретение основано на том факте, что многие недорогие IWC, особенно те, которые работают в полудуплексе, имеют порт, который после получения кадра синхронизации может создавать изменение потенциала, которое может быть использовано в качестве события синхронизации или представлять собой событие синхронизации. Изменение потенциала, представляющее собой событие синхронизации, может быть начальным или конечным фронтом импульса, генерируемого на соответствующем порту в ответ на прием кадра синхронизации. Разумеется, это может быть положительный импульс, т.е. импульс с положительным (восходящим) передним фронтом и отрицательным (нисходящим) задним фронтом.The invention is based on the fact that many inexpensive IWCs, especially those that operate in half duplex, have a port that, upon receipt of a sync frame, can create a potential change that can be used as a sync event or a sync event. The potential change, which is a sync event, can be the start or end edge of a pulse generated on the corresponding port in response to receiving a sync frame. Of course, this can be a positive impulse, i.e. pulse with a positive (rising) leading edge and a negative (falling) falling edge.
Соответствующим портом, на котором генерируются события синхронизации, может быть порт IWC, специально предусмотренный для этой цели. В этом случае, в частности, каждое изменение потенциала, т.е. каждый восходящий или нисходящий фронт, может также представлять собой событие синхронизации, при котором изменение потенциала происходит в ответ на прием кадра синхронизации без возврата к исходному потенциалу по истечении заданного времени.The corresponding port on which synchronization events are generated may be an IWC port specially provided for this purpose. In this case, in particular, each change in potential, i.e. each rising or falling edge can also be a synchronization event in which a potential change occurs in response to receiving a synchronization frame without returning to its original potential after a predetermined time.
Однако, подходящий порт IWC, который уже доступен для других целей, также может быть использован в качестве порта, на котором генерируются события синхронизации. В этом случае, событие синхронизации может быть сгенерировано путем генерации сигнала на этом порту, который отличается от всех других сигналов, генерируемых на этом порту для соответствующих других целей. В частности, в этом случае в ответ на получение кадра синхронизации может быть сгенерирован импульс заданной длительности, длительность которого отличается от длительности всех остальных импульсов, генерируемых в качестве сигналов на этом порту. Начальный или конечный фронт импульса снова может быть использован в качестве события синхронизации.However, a suitable IWC port that is already available for other purposes can also be used as the port on which synchronization events are generated. In this case, a sync event can be generated by generating a signal on this port that is different from all other signals generated on this port for other corresponding purposes. In particular, in this case, in response to the receipt of the synchronization frame, a pulse of a predetermined duration can be generated, the duration of which is different from the duration of all other pulses generated as signals on this port. The start or end edge of a pulse can again be used as a sync event.
Например, во многих недорогих полудуплексных IWC изменение потенциала происходит при переходе из режима передачи в режим приема (и наоборот) на входном порту приемного тракта, на которую подается аналоговый, возможно, усиленный беспроводной входной сигнал. Например, если в режиме приема порт имеет потенциал 600 мВ, то в режиме передачи потенциал порта изменится примерно до 0 В, чтобы избежать приема сигнала передаваемого самой IWC.For example, in many low-cost half-duplex IWCs, the potential change occurs when changing from transmit to receive mode (and vice versa) at the input port of the receive path, which is fed an analog, possibly amplified wireless input signal. For example, if in receive mode the port has a potential of 600 mV, then in transmit mode the potential of the port will change to about 0 V to avoid receiving the signal transmitted by the IWC itself.
Вместо этого порта приема сигнала, например, порт coexistence интерфейса IWC может также использоваться для генерации событий синхронизации. Этот порт coexistence интерфейса может быть портом, который имеет первый потенциал (например, высокий), когда IWC активна (т.е. передает или принимает), и второй потенциал, когда IWC неактивна. Сигнал с этого порта coexistence интерфейса подается на другое беспроводное передающее и принимающее устройство, например, на устройство связи Bluetooth, и этот сигнал используется для определения того, какое из двух устройств связи может обмениваться данными (используя одну и ту же частотную полосу).Instead of this signal receiving port, for example, the coexistence port of the IWC interface can also be used to generate synchronization events. This interface coexistence port may be a port that has a first potential (eg, high) when the IWC is active (ie, transmitting or receiving) and a second potential when the IWC is inactive. The signal from this port of the coexistence interface is fed to another wireless transmitting and receiving device, such as a Bluetooth communication device, and this signal is used to determine which of the two communication devices can communicate (using the same frequency band).
Во всех таких случаях изменение потенциала, в частности, импульс, может быть сгенерирован на соответствующем порту в ответ на прием кадра синхронизации, изменение потенциала или предопределенный фронт импульса, интерпретируется как событие синхронизации. Как объяснялось выше, в тех случаях, когда данный порт также используется для других целей, импульс может быть сгенерирован с такой временной длительностью, которая отличается от временной длительности всех других импульсов, генерируемых или выводимых в этом порту.In all such cases, a change in potential, in particular a pulse, can be generated at the corresponding port in response to the reception of a synchronization frame, a change in potential or a predetermined edge of the pulse, is interpreted as a synchronization event. As explained above, in cases where this port is also used for other purposes, a pulse can be generated with a time duration that is different from the time duration of all other pulses generated or output in this port.
Изменения потенциала, каждое из которых представляет собой событие синхронизации, может генерироваться высокоуровневым или низкоуровневым программным обеспечением, либо подходящим аппаратным обеспечением IWC в ответ на получение кадра синхронизации, либо соответствующим внешним управлением IWC. В любом случае необходимо убедиться в том, что изменения потенциала, представляющие собой события синхронизации, имеют достаточно короткое время переключения, т.е. соответственно крутой фронт переключения. Кроме того, необходимо обеспечить, чтобы эти потенциальные изменения генерировались с достаточно низким джиггером. Таким образом, можно определить изменение потенциала порта и использовать его как событие синхронизации, позволяющее синхронизировать внешние часы, соотнесенные с IWC, с сигналом времени ведущего устройства, который подается на сетевое устройство посредством передачи кадров синхронизации.Potential changes, each of which is a synchronization event, can be generated by high-level or low-level software, either by the appropriate IWC hardware in response to receiving the synchronization frame, or by an appropriate external IWC control. In any case, it must be ensured that the potential changes, which are synchronization events, have a sufficiently short switching time, i.e. correspondingly steep switching edge. In addition, it must be ensured that these potential changes are generated with a sufficiently low jigger. In this way, a change in port potential can be detected and used as a synchronization event to synchronize the external clock associated with the IWC with the time signal of the master, which is fed to the network device by transmitting synchronization frames.
Сигнал времени ведущего устройства может, например, генерироваться основными часами, содержащимися в точке доступа беспроводной сети. При этом передача сигнала времени ведущего устройства на синхронизируемое сетевое устройство осуществляется с помощью меток времени ТАР, которые содержатся в кадрах синхронизации. Метка времени ТАР может быть сгенерирована, например, для определения момента передачи начала или конца кадра синхронизации.The master time signal can, for example, be generated by a master clock contained in a wireless access point. In this case, the transmission of the time signal of the master device to the synchronized network device is carried out using the time stamps TAP , which are contained in the synchronization frames. The time stamp TAP can be generated, for example, to determine when the start or end of the synchronization frame is transmitted.
При получении кадра синхронизации IWC создает метку времени ТB с использованием часов, содержащихся в IWC, причем метка времени ТB определяет тот же момент времени внутри кадра синхронизации, что и метка времени ТAP, то есть, к примеру, конец кадра синхронизации (в данном случае момент приема конца кадра синхронизации). Если известно время прохождения сигнала между устройством, например, точкой доступа, отправляющей кадр синхронизации, и синхронизируемым сетевым устройством, две метки времени ТAP и ТB могут использоваться для синхронизации внутренних часов IWC и часов ведущего устройства. Поскольку в беспроводной сети удаленность сетевых устройств от соответствующей точки доступа обычно невелика, временем прохождения сигнала при синхронизации можно пренебречь, так как время прохождения сигнала на порядок меньше допустимой погрешности синхронизации. Поскольку передача сигнала происходит со скоростью света, даже на расстоянии 100 м между точкой доступа и соответствующим сетевым устройством время прохождения составит всего 333 нс, что значительно меньше обычно требуемой максимальной погрешности синхронизации, например, составляющей 2 мкс. Тем не менее, цель настоящего изобретения состоит не в синхронизации часов ведущего устройства с внутренними часами системы IWC, а в синхронизации часов ведущего устройства с CCG, поскольку, как минимум недорогие TWC не имеют интерфейса, через который можно было бы получить доступ к внутренним часам системы IWC (т.е. доступ, который в основном может осуществляться без джиггера и без существенной задержки). По этой причине, согласно изобретению, с помощью IWC создается событие синхронизации, которому присваивается как метка времени TSE, сгенерированная с помощью внутренних часов IWC, так и метка времени TS, сгенерированная с помощью CCG. Таким образом, для синхронизации CCG с часами ведущего устройства, согласно изобретению, можно использовать временные метки ТАP, ТB, TSE и TS.Upon receipt of the sync frame, the IWC creates a time stamp T B using the clock contained in the IWC, where the time stamp T B defines the same time within the sync frame as the time stamp T AP , that is, for example, the end of the sync frame (in in this case, the moment of receiving the end of the synchronization frame). If the travel time between the device, such as the access point sending the synchronization frame, and the synchronized network device is known, the two time stamps T AP and T B can be used to synchronize the IWC's internal clock and the master clock. Since the distance of network devices from the corresponding access point in a wireless network is usually small, the signal transit time during synchronization can be neglected, since the signal transit time is an order of magnitude less than the admissible synchronization error. Since the signal is transmitted at the speed of light, even at a distance of 100 m between the access point and the corresponding network device, the transit time will be only 333 ns, which is much less than the usually required maximum synchronization error, for example, 2 μs. However, the purpose of the present invention is not to synchronize the master clock with the internal clock of the IWC system, but to synchronize the master clock with the CCG, since at least inexpensive TWCs do not have an interface through which the internal clock of the system can be accessed. IWC (i.e. an access that can basically be done without a jigger and without significant delay). For this reason, according to the invention, a synchronization event is generated by the IWC, which is assigned both the time stamp T SE generated by the IWC's internal clock and the time stamp T S generated by the CCG. Thus, the time stamps T AP , T B , T SE and T S can be used to synchronize the CCG with the master clock according to the invention.
Событие синхронизации создается посредством перевода IWC в режим передачи и отправки кадра события синхронизации с характерной временной длительностью, при этом на порт IWC на время кадра события синхронизации создается изменение потенциала. Само событие синхронизации может быть начальным или конечным фронтом изменения потенциала определяющего порта. При этом событию синхронизации IWC присваивает метка времени TSE. В то же время событие синхронизации обнаруживается SED, и SED присваивает событию синхронизации метку времени TS с использованием сигнала времени CCG. Это позволяет после каждого получения кадра синхронизации определить набор из 4 меток времени ТАP, ТB, TSE и TS, которые будут использоваться для синхронизации сгенерированного CCG синхронизированного сигнала времени TCCG по основному сигналу времени.A synchronization event is generated by switching the IWC to transmit mode and sending a synchronization event frame with a characteristic time duration, while a potential change is created on the IWC port for the duration of the synchronization event frame. The synchronization event itself can be the start or end edge of the potential change of the determining port. In this case, the IWC timestamp assigns the time stamp T SE to the synchronization event. At the same time, the synchronization event is detected by the SED and the SED assigns the time stamp T S to the synchronization event using the CCG time signal. This allows, after each acquisition of a synchronization frame, to define a set of 4 time stamps T AP , T B , T SE and T S that will be used to synchronize the CCG-generated synchronized time signal T CCG to the main time signal.
Таким образом, изобретение обеспечивает высокую точность синхронизации сетевых устройств с сигналом времени, генерируемым центральными часами, даже если сетевые устройства содержат недорогие IWC, которые не допускают внешнего доступа к таймерам или часам, содержащимся в них.Thus, the invention provides high accuracy in synchronizing network devices with the time signal generated by the central clock, even if the network devices contain inexpensive IWCs that do not allow external access to the timers or clocks contained therein.
Согласно одной из форм выполнения изобретения характерная временная длительность кадра события синхронизации выбрана таким образом, чтобы отличаться от всех обычных временных длительностей кадров передачи, которые могут возникать при коммуникации между сетевым устройством и последующим сетевым устройством, и что с помощью SED посредством анализа временной длительности изменения потенциала порта IWC определяется событие синхронизации, когда временная длительность изменения потенциала находится в заданном диапазоне. Это дает относительно простой способ создания уникальных событий синхронизации. Такие события синхронизации могут определяться посредством оценки промежутка времени между двумя изменениями потенциала соответствующего порта IWC, происходящими при переключении из режима приема в режим передачи и обратно. Только если этот промежуток времени соответствует заданному промежутку времени для кадра события синхронизации, начальный или конечный фронт распознается как событие синхронизации.According to one embodiment of the invention, the characteristic frame timing of the synchronization event is chosen to be different from all the usual transmission frame timing that can occur during communication between a network device and a subsequent network device, and that by means of an SED analysis of the potential change timing the IWC port detects a synchronization event when the time duration of the potential change is within the specified range. This provides a relatively easy way to create unique sync events. Such timing events can be determined by estimating the time interval between two changes in the potential of the corresponding IWC port that occur when switching from receive mode to transmit mode and vice versa. Only if this time interval matches the specified time interval for a sync event frame, the start or end edge is recognized as a sync event.
Согласно следующей форме выполнения кадр события синхронизации генерируется сразу после получения кадра синхронизации или по истечении заданного времени ожидания, которое меньше или равно минимальному времени ожидания, которое может возникнуть при коммуникации между сетевым устройством и следующим, сетевым устройством между приемом и отправкой кадров, причем создание кадра события синхронизации преимущественно вызывается функцией, реализованной с помощью аппаратного и/или программного обеспечения в IWC.According to the following embodiment, a synchronization event frame is generated immediately after receiving a synchronization frame or after a predetermined latency time, which is less than or equal to the minimum latency that can occur during communication between the network device and the next network device between receiving and sending frames, and the creation of the frame Synchronization events are primarily triggered by a function implemented in hardware and / or software in IWC.
Это делает возможной одновременную синхронизацию всех сетевых устройств в соответствующей беспроводной по метке времени синхронизации ТАP, если метка времени синхронизации ТАP передается в кадре сетевой синхронизации, например, Beacon в протоколе передачи IEEE 802.11. В этом случае все сетевые устройства будут одновременно переключаться в режим передачи для создания соответствующего события синхронизации. Хотя в течение времени передачи соответствующих кадров событий синхронизации происходит соответствующее наложение соответствующих передаваемых сигналов сетевых устройств, это не играет никакой роли, поскольку кадры событий синхронизации не используются для коммуникации. С этой целью можно реализовать создание кадра события синхронизации с помощью аппаратного и/или программного обеспечения внутри IWC, а не в результате программной команды, которую SCD передает в IWC. Ведь для этого требуется обработка соответствующих команд в SCD в режиме реального времени и их передача системе IWC. Хотя это и было бы возможно в принципе, это потребовало бы соответствующих характеристик SCD в реальном времени, что противоречило бы принципу экономичности в реализации SCD.This makes it possible for all network devices to synchronize simultaneously on the corresponding wireless on the TAP sync timestamp if the TAP sync timestamp is transmitted in a network sync frame, for example Beacon in the IEEE 802.11 transmission protocol. In this case, all network devices will simultaneously switch to transmit mode to generate the corresponding synchronization event. Although a corresponding overlap of the corresponding transmitted signals from the network devices occurs during the transmission time of the respective synchronization event frames, this is irrelevant since the synchronization event frames are not used for communication. To this end, it is possible to implement the creation of a synchronization event frame by hardware and / or software within the IWC, rather than as a result of a software command that the SCD sends to the IWC. Indeed, this requires the processing of the corresponding commands in the SCD in real time and their transmission to the IWC system. While this would be possible in principle, it would require appropriate real-time SCD performance, which would be contrary to the principle of economy in implementing SCD.
Согласно одной из форм выполнения изобретения синхронизированный сигнал времени, генерируемый CCG, TCCG генерируется с применением отношенияAccording to one embodiment of the invention, a synchronized time signal generated by the CCG, T CCG is generated using the ratio
где TSRC - выходной сигнал таймера CCG, k - коэффициент синхронизации, а Тmd - сдвиг фаз, а коэффициент синхронизации k и сдвиг фаз Тmd определяются SCD из меток времени ТAP, ТB, TSE и TS.where T SRC is the CCG timer output signal, k is the synchronization factor, and T md is the phase shift, and the synchronization factor k and the phase shift T md are determined by SCD from the time stamps T AP , T B , T SE and T S.
В соответствии с предпочтительной формой выполнения изобретения новое значение для сдвига фаз TSRC может определяться циклически, при этом в текущем цикле новое значение для сдвига фаз Tmd определяется сложением с учетом знака предыдущего значения сдвига фаз Tmd и погрешности синхронизации ε, определяемой в текущем цикле, которая определяется в соответствии с соотношениемIn accordance with a preferred embodiment of the invention, the new value for the phase shift T SRC can be determined cyclically, while in the current cycle the new value for the phase shift T md is determined by addition, taking into account the sign of the previous value of the phase shift T md and the synchronization error ε determined in the current cycle , which is determined in accordance with the relation
Коэффициент синхронизации k может быть постоянным в течение фазы синхронизации. Коэффициент синхронизации k может быть определен в ранее выполненной фазе запуска, как описано ниже, а также может быть сохранен в ПЗУ. ПЗУ может быть предусмотрено для этой цели как в CCG, так и в SCD.The sync factor k can be constant during the sync phase. The sync factor k can be determined in a previously performed startup phase, as described below, and can also be stored in ROM. ROM can be provided for this purpose in both the CCG and SCD.
Это означает, что в фазе синхронизации для каждого кадра синхронизации можно определить кортеж из 4 элементов меток времени ТАP, ТB, TSE и TS,, по которым можно определить сдвиг фаз Tmd и загрузить его в CCG.This means that in the synchronization phase, for each synchronization frame, a tuple of 4 timestamp elements T AP , T B , T SE and T S can be determined, from which the phase shift T md can be determined and loaded into the CCG.
Согласно следующей форме выполнения фильтрация ложных срабатываний может быть выполнена для обнаруженных событий синхронизации, предпочтительно с использованием меток времени ТB и TSE, или ТBSE=TSE-ТB и погрешности синхронизации ε, при этом метки времени ТАP, ТB, TSE и TS, присвоенные событию синхронизации, используются для синхронизации только в том случае, если данное событие синхронизации не определено как ложное срабатывание. Например, для погрешности синхронизации ε и/или разности во времени TBSE (т.е. времени между получением кадра синхронизации и событием синхронизации (измеренным с помощью часов IWC), верхняя и нижняя границы могут быть указаны соответственно, при этом событие синхронизации и соответствующий набор из 4 элементов меток времени используются для синхронизации только в том случае, если эти границы соблюдены.According to a further embodiment, false alarm filtering can be performed on detected timing events, preferably using time stamps T B and T SE , or T BSE = T SE -T B and timing error ε, where time stamps T AP , T B , The T SE and T S assigned to a sync event are used for sync only if the sync event is not defined as a false trigger. For example, for the timing error ε and / or the time difference T BSE (i.e., the time between the receipt of the synchronization frame and the synchronization event (measured with the IWC clock), upper and lower bounds can be specified, respectively, with the synchronization event and the corresponding a set of 4 elements of time stamps are used for synchronization only if these boundaries are met.
Согласно одной из форм выполнения изобретения фаза синхронизации сохраняется (т.е. выполняются описанные выше этапы фазы синхронизации) до тех пор, пока не будет выполнен положительный критерий завершения. После выполнения критерия завершения фаза синхронизации может быть изменена на фазу предварительной синхронизации. Для этого погрешность синхронизации ε может быть определена для последовательных событий синхронизации (и, возможно, признана действительной посредством фильтрации) и загружена в CCG как значение для Tmd до тех пор, пока число Nps последовательных значений погрешности синхронизации ε не превысит пороговое значение εlim. При достижении числа Nps последовательных значений погрешности синхронизации ε, превышающего пороговое значение εlim, запускается фаза предварительной синхронизации.According to one embodiment of the invention, the synchronization phase is maintained (ie, the synchronization phase steps described above are performed) until a positive termination criterion is met. Once the termination criterion is met, the synchronization phase can be changed to a pre-synchronization phase. To this end, the synchronization error ε can be determined for successive synchronization events (and possibly recognized as valid through filtering) and loaded into the CCG as a value for T md until the number N ps of consecutive values of the synchronization error ε exceeds the threshold value ε lim ... When the number N ps of consecutive values of the synchronization error ε exceeds the threshold value ε lim , the preliminary synchronization phase starts.
Если положительный критерий завершения не будет достигнут в течение заданного времени или с помощью заданного числа попыток достижения числа Nsync, то фаза предварительной синхронизации может быть перенесена на фазу запуска после следующей формы выполнения.If a positive termination criterion is not reached within a given time or by a given number of attempts to reach the number N sync , then the pre-sync phase can be moved to the start phase after the next form of execution.
В соответствии с предпочтительной формой выполнения изобретения коэффициент синхронизации k определяется на этапе запуска, на котором для множества кадров синхронизации выполняются этапы (а), (с) и (е) по формуле 1. Разумеется, здесь также может быть выполнена фильтрация ложных срабатываний обнаруженных событий синхронизации, для чего могут потребоваться этапы (b) и (d) формулы 1, т.е. этапы для определения меток времени ТB и TSE, если эти параметры используются для фильтрации. Для определения коэффициента синхронизации k можно определить одно или несколько индивидуальных значений ki коэффициента синхронизации в соответствии с отношениемIn accordance with a preferred embodiment of the invention, the synchronization factor k is determined at the start-up stage, in which steps (a), (c) and (e) are performed for a plurality of synchronization frames according to
где индексы [i] и [j] соответственно обозначают различные события синхронизации и соответствующие метки времени ТАP и TS, предпочтительно действует j=i-1, т.е. для событий синхронизации, которые запускаются в ответ на последовательные кадры синхронизации, предпочтительно определять разности во времени и where the subscripts [i] and [j] respectively denote different synchronization events and the corresponding time stamps T AP and T S , preferably j = i-1, i.e. for synchronization events that are triggered in response to successive synchronization frames, it is preferable to determine time differences and
Здесь следует отметить, что нет необходимости использовать каждый кадр синхронизации, полученный от IWC, для генерации кадра события синхронизации и, следовательно, для генерации события синхронизации. Скорее, только выбранные кадры синхронизации, например, только каждый n-й кадр синхронизации, могут быть использованы для генерации или повторного использования кадра события синхронизации или события синхронизации. В качестве альтернативы, хотя кадр события синхронизации может быть сгенерирован в ответ на каждый полученный кадр синхронизации, однако только выбранные кадры события синхронизации, например, только каждый n-й кадр события синхронизации, могут быть использованы для генерации или повторного использования события синхронизации.It should be noted here that it is not necessary to use every sync frame received from the IWC to generate a sync event frame, and therefore to generate a sync event. Rather, only selected sync frames, eg, only every n-th sync frame, can be used to generate or reuse a sync event or sync event frame. Alternatively, although a sync event frame may be generated in response to each sync frame received, only selected sync event frames, eg, only every nth sync event frame, can be used to generate or reuse a sync event.
Для определения коэффициента синхронизации k можно усреднить число Nk индивидуальных значений ki. При этом подлежащие усреднению индивидуальные значения ki могут быть отобраны с помощью одного или нескольких условий фильтрации.To determine the synchronization coefficient k, the number N k of individual values of k i can be averaged. In this case, the individual values of k i to be averaged can be selected using one or more filtering conditions.
Согласно форме выполнения определяются индивидуальные значения ki по меткам времени для пар последовательных событий синхронизации в первую очередь для числа Ns событий синхронизации, предпочтительно последовательных событий синхронизации или событий синхронизации, которые распределены соответственно по постоянному числу промежуточных событий синхронизации. Индивидуальные значения ki используются для дальнейшего вычисления только в том случае, если они были отобраны с использованием одного или нескольких условий фильтрации, а коэффициент синхронизации к вычисляется только в том случае, если достигнуто заданное по умолчанию минимальное количество выбранных индивидуальных значений ki. В ином случае лучше отклонить общее число Ns событий синхронизации и связанных с ними меток времени ТАР и TS для определения коэффициента синхронизации k.According to an embodiment, individual values k i are determined from time stamps for pairs of consecutive synchronization events, primarily for a number N s of synchronization events, preferably successive synchronization events or synchronization events, which are respectively distributed over a constant number of intermediate synchronization events. Individual k i values are used for further computation only if they were selected using one or more filter conditions, and the sync factor k is only computed if the default minimum number of selected individual k i values is reached. Otherwise, it is better to reject the total number N s of synchronization events and their associated time stamps T AP and T S to determine the synchronization factor k.
Значение коэффициента синхронизации k, определенное на этапе запуска, может быть сохранено и загружено в CCG при активировании или сбросе сетевого устройства. Благодаря этому относительно сложное определение коэффициента синхронизации к не требует повторного определения при каждом активировании или сбросе сетевого устройства.The value of the sync factor k determined during the startup phase can be saved and loaded into the CCG when the network device is activated or reset. Due to this, the relatively complex determination of the sync factor k does not require redetermination each time the network device is activated or reset.
Сетевое устройство, согласно изобретению, может быть реализовано с пощью ПЛИС и компьютера с IWC, например, одноплатного компьютера, на котором работает не ОС реального времени. ПЛИС может реализовать как CCG, так и SED. Может также потребоваться согласование потенциала между соответствующим портом IWC и портом ПЛИС, реализующим порт ввода SED. Разумеется, согласование потенциала может быть реализовано с помощью соответствующего дополнительного аппаратного обеспечения.The network device according to the invention can be implemented with an FPGA and an IWC computer, for example a single board computer running a non-real-time OS. FPGA can implement both CCG and SED. Potential matching may also be required between the corresponding IWC port and the FPGA port implementing the SED input port. Of course, potential matching can be realized with the appropriate additional hardware.
Следует четко отметить, что аппаратное обеспечение для реализации функциональных возможностей IWC, SED, SCD и CCG, а также других функциональных возможностей могут быть распределены или даже объединены любым способом. Например, аппаратное обеспечение для реализации SED также может быть объединено с аппаратным обеспечением для IWC в интегральной схеме, например, в виде SoC. Порт IWC, на котором выводится кадр события синхронизации, в данном случае будет реализован как внутренний порт соответствующей интегральной схемы.It should be clearly noted that the hardware to implement the IWC, SED, SCD and CCG functionality as well as other functionality can be distributed or even combined in any way. For example, the hardware for implementing the SED can also be combined with the hardware for the IWC in an integrated circuit, such as a SoC. The IWC port on which the sync event frame is output will in this case be implemented as an internal port of the corresponding IC.
Последующие формы выполнения изобретения вытекают из зависимых пунктов формулы.Further embodiments of the invention follow from the dependent claims.
Изобретение более подробно описывается ниже на примере выполнения, представленном на чертеже. На чертеже представлено следующее:The invention is described in more detail below with reference to the exemplary embodiment shown in the drawing. The drawing shows the following:
Фиг. 1 блок-схема необходимых для понимания изобретения основных компонентов сетевого устройства, реализующего способ синхронизации в соответствии с изобретением;FIG. 1 is a block diagram of the main components of a network device that implements the synchronization method in accordance with the invention, necessary for understanding the invention;
Фиг. 2 диаграмма, показывающая общую последовательность различных фаз способа синхронизации;FIG. 2 is a diagram showing the general sequence of the various phases of the synchronization method;
Фиг. 3 блок-схема фазы запуска реализации способа в соответствии с изобретением;FIG. 3 is a block diagram of the start-up phase of the implementation of the method in accordance with the invention;
Фиг. 4 блок-схема фазы предварительной синхронизации формы выполнения способа в соответствии с изобретением;FIG. 4 is a block diagram of a pre-synchronization phase of an embodiment of a method according to the invention;
Фиг. 5 блок-схема фазы синхронизации формы выполнения способа в соответствии с изобретением; иFIG. 5 is a block diagram of a synchronization phase of an embodiment of a method according to the invention; and
Фиг. 6 гистограмма ошибки синхронизации 6, измеренной в ходе эксперимента в сети, состоящей из точки доступа и двух синхронизируемых сетевых устройств, где на Фиг. 6а показана гистограмма для первого устройства и Фиг. 6b гистограмма для второго устройства.FIG. 6 is a histogram of the synchronization error 6, measured during the experiment in a network consisting of an access point and two synchronized network devices, where in FIG. 6a shows a histogram for the first device and FIG. 6b is a histogram for the second device.
На Фиг. 1 показана блок-схема компонентов сетевого устройства 100, которая далее подробно не описывается, и с помощью которой может быть реализован способ синхронизации в соответствии с настоящим изобретением. Сетевое устройство 100 включает в себя систему IWC 102, с помощью которой сетевое устройство беспроводным способом подключается к точке доступа, которая далее подробно не описывается. В качестве беспроводного протокола передачи принимаются в расчет, например, стандарты согласно IEEE 802.11. Поскольку определенные приложения, работающие на сетевых устройствах, требуют синхронизации с центральными часами или центральным временем, определенным центральными часами, точка доступа может посылать кадры синхронизации в определенные интервалы времени для реализации синхронизации сетевых устройств в определенной ею беспроводной сети, и в каждом кадре будет содержаться метка времени ТAP, генерируемая центральными часами. Например, центральные часы могут быть предусмотрены в самой точке доступа или в любом другом сетевом устройстве, которое не обязательно должно находиться в соответствующей беспроводной сети. В рамках протоколов IEEE 802.11 кадры синхронизации называются маяками (Beacon).FIG. 1 is a block diagram of the components of a
Кроме того, сетевое устройство 100 включает в себя SED 104 для обнаружения событий синхронизации, а также CCG 106 для генерирования синхронизированного сигнала времени TCCG и SCD 108, который управляет способом синхронизации. Как показано на фиг. 1, SED 104 и CCG 106 могут быть интегрированы, например, в виде ПЛИС 110.In addition, the
Принятый сигнал, который генерируется точкой доступа, подается на IWC 102 с помощью антенны, подробно не показанной. Точно так же IWC 102 генерирует передаваемый сигнал, содержащий данные, которые генерируются локально в сетевом устройстве 100. Система IWC также содержит встроенные часы IWC, которые генерируют сигнал времени, но не доступны напрямую через интерфейс IWC 102 для других компонентов внутри сетевого устройства. Внутренние часы IWC, в частности, служат для генерации меток времени при беспроводной коммуникации с другими сетевыми устройствами. В частности, у экономичных систем IWC 102 нет выделенного порта, на который поступает сигнал, содержащий события синхронизации, которые в достаточной степени и без фазовых флуктуаций соответствуют назначенным меткам времени, генерируемыми внутренними часами IWC.The received signal, which is generated by the access point, is supplied to the
Однако авторы изобретения обнаружили, что даже экономичные IWC 102, работающие в полудуплексе, также дают возможность генерировать сигнал синхронизации Ssync, который содержит события синхронизации, которые могут быть использованы для синхронизации внешних часов, а именно в виде CCG 106. Речь идет о порте IWC 102, на который подается аналоговый сигнал приема непосредственно от антенны или через соответствующий усилитель. Установлено, что при переключении из режима приема IWC в режим передачи этот порт переходит с первого потенциала, который может составлять, например, 600 мВ, на второй, который может быть, в частности, нулевым потенциалом. Эти процессы переключения выполняются с высокой точностью и могут быть снабжены метками времени таких IWC, т.е. такая система IWC 102 способна генерировать метку времени, которая определяет соответствующее время переключения, где используется сигнал времени внутренних часов IWC.However, the inventors have found that even an
Для генерации событий синхронизации в виде соответствующих изменений потенциала можно также использовать порт coexistence интерфейса IWC 102, который имеет первый потенциал, если IWC активна (т.е. разрешена передача и/или прием), и второй потенциал, если МКК неактивна и, следовательно, разрешена работа другого устройства беспроводной связи.To generate synchronization events in the form of corresponding potential changes, you can also use the coexistence port of the
Следует отметить, что изобретение не ограничивается такими вариантами IWC, в которых порт для аналогового входного сигнала "используется не по назначению". Также могут использоваться IWC, где предусмотрен соответствующий отдельный порт, на который выводится сигнал, содержащий события синхронизации, каждое из которых генерируется в ответ на получение кадра синхронизации.It should be noted that the invention is not limited to such IWC embodiments in which the port for the analog input signal is “misused”. IWCs can also be used, where a corresponding separate port is provided to which a signal is output containing synchronization events, each of which is generated in response to the receipt of a synchronization frame.
В форме выполнения, представленной на фиг. 1, этот порт IWC 102 обозначен контрольным символом 102а и подключен к порту ввода SED 104. Также может быть предусмотрено аппаратное обеспечение, которое детально не рассматривается, для согласования или разделения потенциалов. Структура SED 104 позволяет обнаруживать события синхронизации, содержащиеся в подаваемом на него сигнале синхронизации Ssync, т.е., в частности, процессы переключения, генерируемые в результате переключения IWC 102 из режима приема на режим передачи и наоборот.In the embodiment shown in FIG. 1, this port of the
Сигнал времени TCCG, генерируемый CCG 106, подается на SED 104. Как уже упоминалось выше, SED 104 и CCG 106 могут быть реализованы в одной интегральной схеме 110, например, ПЛИС, за исключением аппаратного обеспечения для регулировки потенциала, если это необходимо. SED может использовать сигнал TCCG, поставляемый ему для генерации соответствующей метки времени при обнаружении события синхронизации.The time signal T CCG generated by
SCD 108 получает соответствующие метки времени от SED 104 и предназначен для управления и выполнения всех действий описанного ниже способа синхронизации. SCD 108 может иметь структуру как у обычного компьютера и, в частности, как у простого одноплатного компьютера. Эта система управляет CCG 106 таким образом, что генерируемый синхронизированный сигнал времени TCCG соответствует заданным значениям, определенным SCD 108. Для этого SCD 108 загружает в CCG 106 соответствующие параметры синхронизации (см. ниже). SCD 108 может также подавать сигнал синхронизации TCCG, чтобы он также мог использовать синхронизированный сигнал времени и, при необходимости, сделать его доступным для соответствующих приложений, в частности, для программного обеспечения. Кроме того, система SCD 108 также подключена к IWC 102 и может запрашивать из нее метки времени, генерируемые IWC 102, используя внутренние часы IWC или данные, полученные из IWC 102, в частности, метки времени, содержащиеся в кадрах синхронизации, генерируемых с помощью сигнала времени ведущего устройства. Система также может соответствующим образом управлять IWC 102, например, для того чтобы побудить IWC к генерированию кадра события синхронизации с характерной длительностью.The
Далее разъясняются различные варианты способа синхронизации в соответствии с изобретением. В частности, этот способ позволяет снизить требования к возможностям SCD 108 в режиме реального времени. Это достигается путем переноса всех критически важных операций в микропрограммное обеспечение IWC 102 или в аппаратное обеспечение или микропрограммное обеспечение SED 104 или CCG 106, при этом SED и CCG также могут быть реализованы в качестве экономичных ПЛИС.The following explains various variants of the synchronization method according to the invention. In particular, this method can reduce the requirements for the capabilities of the
Например, сигнал времени ведущего устройства или соответствующие метки времени ТАР могут передаваться с помощью функции синхронизации времени, определенной в IEEE 802.11 как источник синхронизации времени ведущего устройства. В этом случае метки времени ТAP передаются кадрами синхронизации, называемыми маяками (Beacon). Однако изобретение также позволяет использовать отдельно сгенерированные кадры синхронизации с использованием любого протокола передачи.For example, the time signal of the master or corresponding time stamps TAP may be transmitted using the time synchronization function defined in IEEE 802.11 as the time synchronization source of the master. In this case, the time stamps T AP are transmitted in synchronization frames called Beacons. However, the invention also allows the use of separately generated sync frames using any transmission protocol.
Целью способа является синхронизация нескольких беспроводных узлов, т.е. нескольких беспроводных сетевых устройств 100, соединенных с точкой доступа. Для этого каждое сетевое устройство 110 должно включать аппаратную инфраструктуру, представленную на фиг. 1.The purpose of the method is to synchronize several wireless nodes, i.e. multiple
Каждый раз, когда IWC 102 получает действительный кадр синхронизации, например, кадр-маяк, он генерирует событие синхронизации на порте 102а. При этом сохраняется метка времени синхронизации ТАР, содержащаяся в кадре синхронизации. Кроме того, IWC 102 генерирует и сохраняет метку времени ТB, которая определяет прием кадра синхронизации, и метку времени TSE, которая определяет время события синхронизации. Метки времени ТB и TSE соответственно генерируются с помощью сигнала времени внутренних часов IWC.Every time the
Как уже разъяснялось выше, событие синхронизации может заключаться во фронте сигнала (например, напряжения), который подается на SED 104 через порт 102а. SED 104 обнаруживает каждое событие синхронизации. Оно может состоять из синхронизирующего фронта сигнала синхронизации Ssync, который генерируется при отправке кадра синхронизации на порт 102а. Событие синхронизации может быть сформировано либо (отрицательным) синхронизирующим фронтом, генерируемым переходом IWC 102 из режима приема в режим передачи (т.е. началом кадра события синхронизации, переданного IWC 102), либо (положительным синхронизирующим фронтом, генерируемым переходом IWC 102 из режима передачи в режим приема (т.е. концом кадра события синхронизации, переданного IWC 102).As explained above, the synchronization event may occur on the edge of a signal (eg, voltage) that is supplied to the
Однако, событие синхронизации может быть сгенерировано любым другим способом на соответствующем порту IWC (см. объяснения выше).However, a sync event can be generated in any other way on the appropriate IWC port (see explanations above).
Тем не менее, SED 104 должен не только определить наличие соответствующего синхронизирующего фронта в сигнале синхронизации Ssync, но и то, действительно ли это - синхронизирующий фронт, генерируемый кадром события синхронизации. Для этой цели, как уже объяснялось выше, каждый кадр события синхронизации имеет характерную длительность, которой обычно не бывает, или, по крайней мере, которая крайне редко бывает при стандартной передаче данных с учетом соответствующего протокола передачи. Например, длительность кадра события синхронизации может быть короче, чем длительность всех обычных кадров. Следовательно, SED 104 должен также иметь способность определять интервалы между синхронизирующими фронтами, которые генерируются соответствующими кадрами (будь то кадры во время стандартной передачи данных или кадры событий синхронизации). Так как передающий кадр в сигнале синхронизации Ssync инициируется, например, падающим синхронизирующим фронтом и завершается нарастающим синхронизирующим фронтом, SED 104 может определять передающие кадры, которые, в силу своей характерной длительности, могут быть только кадрами событий синхронизации. По кадру события синхронизации, обнаруженному таким образом, SED 104 может определить соответствующее событие синхронизации, например, падающий или нарастающий фронт (т.е. начальный или конечный фронт) в сигнале синхронизации Ssync как событие синхронизации.However, the
Кадр события синхронизации для генерации события синхронизации может быть сгенерирован IWC 102 в любое время после получения кадра синхронизации. Этим можно управлять либо автономно с помощью аппаратных средств и/или микропрограммного обеспечения IWC 102, либо по запросу соответствующей команды SCD 108 после того, как система IWC 102 сообщит SCD 108 о том, что она получила кадр синхронизации. В частности, передача кадра события синхронизации может быть выполнена так же, как и передача любого обычного кадра, например, кадра данных, с учетом заданных значений соответствующего протокола передачи. В случае использования протоколов в соответствии с различными стандартами IEEE 802.11 IWC 102 будет, в частности, проверять, свободен ли соответствующий канал и может ли он, таким образом, передавать кадр, не вызывая коллизии.A sync event frame for generating a sync event may be generated by the
Однако этот способ генерирует дополнительный трафик, который не требуется для передачи данных как таковой. Это связано с тем, что кадр события синхронизации в основном служит только для генерации соответствующего события синхронизации в сигнале синхронизации Ssync. Поэтому кадр события синхронизации обычно не содержит никаких полезных данных. Правда, это тоже не исключено. Но в этом случае для кадра события синхронизации должна быть выбрана длительность, в которую можно разумным образом интегрировать полезные данные. В то же время длительность кадров событий синхронизации все равно должна быть характерной. Хотя это и не исключается, на практике, в зависимости от используемого протокола, это может быть реализовано только с увеличением сложности при определении длительности кадра.However, this method generates additional traffic that is not required for data transmission as such. This is because the sync event frame is mainly only used to generate the corresponding sync event in the sync signal S sync . Therefore, the sync event frame usually does not contain any payload. True, this is also possible. But in this case, a duration must be chosen for the sync event frame into which the payload can be intelligently integrated. At the same time, the duration of frames of synchronization events should still be characteristic. Although not excluded, in practice, depending on the protocol used, this can only be realized with increasing complexity in determining the frame length.
По этой причине для кадров события синхронизации проще определить величину, которая будет меньше длительности всех остальных кадров соответствующего протокола. Соответственно, в таких кадрах вряд ли будет достаточно места для полноценной передачи данных. Например, при использовании стандартных протоколов по стандарту IEEE 802.11 для кадров событий синхронизации при скорости передачи данных в 6 Мбит/ сек можно выбрать величину в 12 байт. Это дает временную длительность около 16 мкс для кадра события синхронизации, который должен быть определен системой SED 104.For this reason, it is easier to determine a value for frames of a synchronization event that will be less than the duration of all other frames of the corresponding protocol. Accordingly, such frames are unlikely to have enough space for a full-fledged data transfer. For example, if you are using the IEEE 802.11 standard protocols, you can choose 12 bytes for sync event frames at a data rate of 6 Mbps. This gives a time duration of about 16 μs for a sync event frame, which must be determined by the
Согласно другому варианту, сетевое устройство может генерировать кадр события синхронизации сразу или через предварительно заданный короткий промежуток времени после получения кадра синхронизации. Генерация может быть выполнена аппаратным или программным обеспечением IWC, так что время запуска кадра события синхронизации может быть зафиксировано с достаточной точностью. Время начала предпочтительно определять таким образом, чтобы интервал между концом полученного кадра синхронизации и началом кадра события синхронизации было меньше или равно минимальному времени ожидания между приемом и передачей кадра сетевым устройством, в зависимости от используемого протокола передачи. Таким образом, можно добиться того, что после приема кадра синхронизации, который передается как широковещательный кадр и, следовательно, принимается и обрабатывается всеми сетевыми устройствами, все сетевые устройства реагируют передачей кадра события синхронизации. Хотя это приводит к наложению соответствующих кадров события синхронизации в соответствующем канале передачи, это не является недостатком, так как в этом случае кадры события синхронизации не содержат никаких полезных данных, а служат только для генерации события синхронизации на порт 102а системы IWC 102. Таким образом, трафик, генерируемый требуемой отправкой кадров событий синхронизации, или соответствующая загрузка канала передачи могут быть сведены к минимуму.In another embodiment, the network device may generate a sync event frame immediately or after a predetermined short period of time after receiving the sync frame. The generation can be done by IWC hardware or software so that the timing of the frame triggering event can be captured with sufficient accuracy. The start time is preferably determined so that the interval between the end of the received synchronization frame and the beginning of the synchronization event frame is less than or equal to the minimum waiting time between the reception and transmission of the frame by the network device, depending on the used transmission protocol. In this way, it can be ensured that after receiving a synchronization frame, which is transmitted as a broadcast frame and therefore received and processed by all network devices, all network devices respond by transmitting a synchronization event frame. Although this results in an overlap of the corresponding sync event frames on the corresponding transmission channel, this is not a disadvantage, since in this case the sync event frames do not contain any payload, but only serve to generate a sync event on
Здесь же следует еще раз отметить, что события синхронизации могут генерироваться и на других портах IWC 102 в виде соответствующих изменений потенциала. Следует убедиться только в том, что изменение потенциала, которое может быть интерпретировано как событие синхронизации, может быть сгенерировано с достаточно низким джиттером как реакция на получение кадра синхронизации или что момент времени генерации события синхронизации может быть зафиксирован достаточно точной меткой времени TSE.It should be noted here again that synchronization events can be generated on other ports of the
Во всех вариантах SED 104 генерирует метку времени TS после обнаружения события синхронизации с помощью синхронизированного или подлежащего синхронизации сигнала времени TCCG, который генерируется CCG.In all embodiments, the
SCD периодически считывает все метки времени ТАP, ТB, TSE, TS из IWC 102 и SED 104 и, используя алгоритм синхронизации по умолчанию, определяет параметры синхронизации, которые затем передаются в CCG 106 и которые CCG использует для синхронизации сигнала времени TCCG. При этом можно определить сигнал времени ТСCG, используя следующее отношение:The SCD periodically reads all time stamps T AP , T B , T SE , T S from the
Здесь k - фактор синхронизации, a Tmd - сдвиг фаз. TSRC обозначает расход прецизионного таймера, содержащегося в CCG 104. Срабатывание прецизионного таймера, т.е. срабатывание TSRC, может быть, например, составлять 1/256 мкс, что примерно на два десятичных порядка меньше погрешности синхронизации, желаемой на практике.Here k is the synchronization factor and T md is the phase shift. T SRC denotes the flow rate of the precision timer contained in
Как показано на фиг. 2, алгоритм синхронизации, реализованный в SCD, может состоять из трех фаз: фазы запуска, фазы предварительной синхронизации и фазы синхронизации.As shown in FIG. 2, the synchronization algorithm implemented in SCD can be composed of three phases: a trigger phase, a pre-synchronization phase, and a synchronization phase.
На этапе запуска изначально определяется только значение коэффициента синхронизации k, на которое необходимо умножить значение прецизионного таймера в CCG 104, чтобы без учета сдвига фаз Tmd вычислить синхронизированный или синхронизируемый сигнал времени TCCG. Если не удается определить коэффициент синхронизации k с помощью подходящего алгоритма, то определение можно повторять так часто, как это требуется. Разумеется, здесь также может быть предусмотрен критерий завершения, так что после заданного количества попыток определения коэффициента k генерируется сообщение об ошибке, и фаза запуска прерывается. Если значение коэффициента синхронизации k было успешно определено, то система переходит к фазе предварительной синхронизации.At the start-up stage, only the value of the synchronization factor k is initially determined, by which it is necessary to multiply the value of the precision timer in the
Фазу запуска можно пропустить, если в памяти, предпочтительно в ПЗУ, было сохранено действительное значение коэффициента синхронизации k, определенного на раннее выполненной фазе запуска. При запуске сначала можно проверить, имеется ли действительное значение коэффициента синхронизации k. В этом случае его можно извлечь из памяти и загрузить в CCG 106. После этого можно сразу же приступать к фазе предварительной синхронизации.The starting phase can be skipped if the actual value of the synchronization factor k determined in the earlier executed starting phase has been stored in memory, preferably in ROM. When starting up, you can first check if there is a valid value for the synchronization factor k. In this case, it can be retrieved from memory and loaded into
На этапе предварительной синхронизации сдвиг фаз Tmd можно определить с помощью подходящего алгоритма. Сдвиг фаз Tmd может быть определяться рекурсивно до тех пор, пока погрешность синхронизации ε для заданного числа Nsn циклов не опустится ниже предельного значения εlim. При этом в фазе предварительной синхронизации для определения сдвига фаз Tmd может быть использована частичная фильтрация (или определенный первичный алгоритм фильтра). При достижении указанного выше условия завершения фазы предварительной синхронизации происходит переход в фазу синхронизации.In the pre-synchronization step, the phase shift T md can be determined using a suitable algorithm. The phase shift T md can be determined recursively until the synchronization error ε for a given number of N sn cycles falls below the limit value ε lim . In this case, in the pre-synchronization phase, partial filtering (or a specific primary filter algorithm) can be used to determine the phase shift T md . When the above condition for the completion of the pre-synchronization phase is reached, a transition to the synchronization phase occurs.
В фазе синхронизации значение для сдвига фаз Тmd также определяется циклически. При этом может быть применена полная фильтрация (или определенный второй алгоритм фильтрации). При выполнении критерия завершения происходит переход из фазы синхронизации в фазу предварительной синхронизации. Например, в качестве критерия завершения может выполняться фильтрация ложных срабатываний для определенных значений по сдвигу фаз Tmd. При обнаружении числа Nps ложноположительных значений система переходит в фазу предварительной синхронизации. Также перейти от фазы предварительной синхронизации к фазе запуска, если критерий перехода к фазе синхронизации не достигнут по истечении заданного количества циклов или заданного периода времени.In the synchronization phase, the value for the phase shift T md is also determined cyclically. In this case, full filtering (or a specific second filtering algorithm) can be applied. When the termination criterion is met, a transition occurs from the synchronization phase to the pre-synchronization phase. For example, filtering of false alarms for certain values by phase shift T md can be performed as termination criterion. When N ps false positives are detected, the system enters the pre-synchronization phase. Also move from the pre-sync phase to the start phase if the criterion for transition to the sync phase is not met after a specified number of cycles or a specified period of time.
Отдельные этапы способа в фазе запуска разъясняются ниже с помощью примерной технологической схемы, представленной на фиг. 3. В начале фазы запуска сначала проверяется, доступны ли полезные значения коэффициента синхронизации k и сдвига фаз Tmd из предыдущих процессов синхронизации. Они могут быть сохранены в соответствующем ПЗУ, в SCD 108 или CCG 106. При наличии таких полезных значений фаза предварительной синхронизации может быть запущена немедленно. Полезные значения для k и Tmd загружаются из ПЗУ, в CCG 106. Если ПЗУ находится в CCG 106, то нужно только проверить, существует ли такая действительная пара значений, которая может быть использована для фазы предварительной синхронизации.The individual process steps in the start-up phase are explained below using the exemplary flow chart shown in FIG. 3. At the beginning of the start-up phase, it is first checked whether useful values of the synchronization factor k and the phase shift T md are available from previous synchronization processes. They can be stored in the corresponding ROM, in
В начале фазы запуска сначала устанавливается коэффициент синхронизации k=1 (одновременно может быть установлен сдвиг фаз Tmd=0, чтобы использовать это начальное значение при переходе к фазе предварительной синхронизации; однако, эта установка начального значения для Tmd может быть выполнена и в фазе предварительной синхронизации). Каждый раз, когда SCD 108 получает новую метку времени TS от SED 104, SCD 108 также считывает последний набор (связанных) меток времени ТAP, ТB и TSE из IWC 102. Значения для ТB и TSE, которые непосредственно не требуются для расчета коэффициента синхронизации k, могут использоваться для фильтрации ложных срабатываний, чтобы исключить недействительные или неприемлемые события синхронизации. Для фильтрации ложных срабатываний, например, задается условие разности во времениAt the beginning of the start-up phase, the synchronization factor is first set to k = 1 (at the same time, the phase shift T md = 0 can be set to use this initial value during the transition to the pre-synchronization phase; however, this initial value setting for T md can be performed in the phase pre-synchronization). Every time the
которое должно выполняться для действительного события синхронизации. Эта разность времени равна интервалу времени между приемом кадра синхронизации (например, конец кадра синхронизации можно определить как определяющий момент времени) и временем, в которое генерируется соответствующее событие синхронизации (например, конец переданного кадра события синхронизации). Этот интервал времени равен временной длительности кадра события синхронизации плюс время ожидания между приемом кадра синхронизации и передачей кадра события синхронизации. Учитывая коммутационные характеристики системы IWC или обусловленную ими конечную крутизну синхронизирующих фронтов в сигнале синхронизации Ssync, для TBSE можно определить нижнее и верхнее предельные значения TBSE,low, TBSE,high which should run for a valid sync event. This time difference is equal to the time interval between the reception of the synchronization frame (for example, the end of the synchronization frame can be defined as the defining moment) and the time at which the corresponding synchronization event is generated (for example, the end of the transmitted synchronization event frame). This time interval is equal to the duration of the sync event frame plus the waiting time between the reception of the sync frame and the transmission of the sync event frame. Taking into account the switching characteristics of the IWC system or the resulting finite slope of the synchronization edges in the synchronization signal S sync , the lower and upper limit values of T BSE, low , T BSE, high can be determined for T BSE
Если длительность кадров события синхронизации составляет, например, 40 мкс, а время ожидания - 10 мкс, то, включая время переключения IWC из режима передачи в режим приема, составляющее, например, 2-3 мкс для действительного события синхронизации или действительных кортежей из 4 элементов меток времени ТАP, ТB, TSE и TS может быть определено следующее условие частичной фильтрации,: 52 мкс≤TBSE≤53 мкс Вышеупомянутые верхний и нижний пределы TBSE, конечно же, должны быть адаптированы в зависимости от соответствующих характеристик переключения IWC, заданного времени ожидания и временной продолжительности кадров синхронизации.If the frame duration of a sync event is, for example, 40 μs and the latency is 10 μs, then, including the time to switch the IWC from transmit to receive mode, for example 2-3 μs for a valid sync event or valid 4-tuples timestamps T AP , T B , T SE and T S the following partial filtering condition can be defined: 52 μs≤T BSE ≤53 μs The above upper and lower limits T BSE must of course be adapted depending on the respective switching characteristics IWC, specified latency and timing of synchronization frames.
В соответствии с этим способом для определения коэффициента синхронизации k в фазе запуска сначала определяется и сохраняется заданное количество Ns действительных кадров синхронизации. При этом нет необходимости использовать кадры синхронизации, которые следуют непосредственно друг за другом. Вместо этого SCD 108 может указать, что обрабатываются только выбранные кадры синхронизации. Например, можно использовать только каждый n-ый кадр синхронизации. Это может снизить скорость обработки в SCD 108, поэтому можно использовать и менее дорогое аппаратное обеспечение.In accordance with this method, in order to determine the synchronization factor k in the start-up phase, a predetermined number N s of valid synchronization frames are first determined and stored. In this case, there is no need to use synchronization frames that follow directly one after the other. Instead,
На следующем этапе SCD 108 определяет множество значений ki для коэффициента синхронизации k из числа Ns пар значений временных меток TS[i] и TАP[i] (1≤i≤NS) в соответствии со следующим отношением:In the next step,
Здесь индексы i и j в основном обозначают любые подлежащие оценке события синхронизации или связанные с ними метки времени TS[i], TS[j] и TAP[i], TAP[j]. Однако, желательно использовать последовательные пары событий синхронизации или метки времени, чтобы действовало j=i-1. Значения ki, определенные таким образом для коэффициента синхронизации k, могут быть отфильтрованы еще раз для повышения точности способа. Например, можно не принимать во внимание все значения ki, для которых разница между соответствующим коэффициентом синхронизации ki и средним значением всех коэффициентов синхронизации ki составляет менее 50% от максимального значения всех разниц, образованных коэффициентом синхронизации ki и средним значением всех коэффициентов синхронизации ki. Это - эмпирический способ уменьшения числа пиков по числовой дифференциации в соответствии с уравнением (2), приведенным выше. Окончательное значение коэффициента синхронизации k может быть вычислено как среднее значение по всем коэффициентам синхронизации ki, которые определяются как применимые после эмпирической фильтрации, описанной выше.Here, the indices i and j generally denote any timing events to be evaluated or their associated time stamps T S [i], T S [j] and T AP [i], T AP [j]. However, it is desirable to use consecutive pairs of sync events or timestamps so that j = i-1 is effective. The k i values thus determined for the synchronization factor k can be filtered again to improve the accuracy of the method. For example, it is possible to disregard all values of k i for which the difference between the corresponding synchronization ratio k i and the average value of all synchronization coefficients k i is less than 50% of the maximum value of all differences formed by the synchronization ratio k i and the average value of all synchronization coefficients k i . This is an empirical way to reduce the number of peaks by numerical differentiation according to equation (2) above. The final value of the synchronization factor k can be calculated as the average of all the synchronization factors k i , which are determined to be applicable after the empirical filtering described above.
В случае, если число значений ki для коэффициента синхронизации, оставшихся после данного способа фильтрации, меньше заданного минимального числа Nk,lim, форма выполнения согласно фиг. 3 предусматривает, что должен быть определен совершенно новый набор кадров синхронизации Ns, т.е. способ определения коэффициента синхронизации k будет перезапущен.If the number of values k i for the synchronization coefficient remaining after this filtering method is less than a predetermined minimum number N k, lim , the embodiment according to FIG. 3 stipulates that a completely new set of synchronization frames N s must be defined, i. E. the method for determining the synchronization coefficient k will be restarted.
Разумеется, для повышения точности можно использовать любой другой метод фильтрации. Можно также полностью отказаться от такой фильтрации. Конечно, это относится и к частичной фильтрации меток времени с применением уравнений (2) и (3).Of course, any other filtering method can be used to improve accuracy. You can also completely eliminate this filtering. Of course, this also applies to partial filtering of time stamps using equations (2) and (3).
После определения значения коэффициента синхронизации k он загружается в CCG 106 и может быть дополнительно сохранен в ПЗУ, так что значение коэффициента синхронизации k уже будет доступно в начале следующей фазы запуска, которая запускается, например, при включении или инициализации сетевого устройства 100 или его сбросе. Затем происходит переход к фазе предварительной синхронизации.After determining the value of the sync factor k, it is loaded into
Здесь следует отметить, что коэффициент синхронизации k, конечно же, может быть определен и любым другим методом линейной интерполяции между TSRC и ТAP.It should be noted here that the sync factor k can of course be determined by any other linear interpolation method between T SRC and T AP .
Затем необходимо определить сдвиг фаз Tmd в фазе предварительной синхронизации. На фиг. 4 показана форма выполнения способа предварительной синхронизации. В этой форме исполнения циклически определяется соответствующий набор из 4 элементов меток времени ТAP, ТB, TSE и TS, для последовательных или выбранных полученных кадров синхронизации. При этом частичную фильтрацию (фильтрацию ложных срабатываний), разумеется, можно выполнить с помощью уравнений (2) и (3). На следующем этапе вычисляется погрешность синхронизации ε в соответствии с отношениемThen it is necessary to determine the phase shift T md in the pre-synchronization phase. FIG. 4 shows an embodiment of the pre-synchronization method. In this embodiment, a corresponding set of 4 time stamp elements T AP , T B , T SE and T S is cyclically determined for the consecutive or selected received synchronization frames. In this case, partial filtering (filtering of false positives), of course, can be performed using equations (2) and (3). At the next stage, the synchronization error ε is calculated in accordance with the ratio
Затем ранее действовавшее значение сдвига фаз Tmd корректируется по погрешности синхронизации ε, т.е. к ранее действовавшему значению для сдвига фаз Tmd прибавляется (с учетом знака) определенная погрешность синхронизации ε. Для этого в CCG 106 загружается значение сдвига фаз Tms. Разумеется, SCD 108 также может вычислить новое значение сдвига фаз Tmd, а затем загрузить новое вычисленное значение в CCG 106, если CCG не может выполнить такой расчет самостоятельно.Then, the previously valid phase shift value T md is corrected for the timing error ε, i.e. a certain synchronization error ε is added to the previously valid value for the phase shift T md (taking into account the sign). For this, the phase shift value T ms is loaded into
Затем на следующем этапе проверяется, не оказалось ли действующее расчетное значение погрешности синхронизации ε меньше порогового значения εlim. В этом случае соответствующий счетчик увеличивается на единицу. В ином случае счетчик сбрасывается (т.е. устанавливается на ноль). Если показания счетчика после инкремента превышают заданное пороговое значение Nsync, то происходит выход из фазы предварительной синхронизации и переход в фазу синхронизации. Если счетчик сбрасывается в результате превышения допустимого порогового значения εlim для погрешности синхронизации, то в рамках критерия завершения можно проверить необходимость перехода от фазы предварительной синхронизации к фазе запуска, так как применимое значение для сдвига фаз Tmd определить невозможно. Для этого можно проверить, например, насколько часто сброс счетчика происходит в последовательных циклах. При превышении соответствующего заданного максимального значения можно перейти к фазе запуска.Then, at the next stage, it is checked whether the current calculated value of the synchronization error ε is less than the threshold value ε lim . In this case, the corresponding counter is incremented by one. Otherwise, the counter is reset (i.e., set to zero). If the counter after the increment exceeds the specified N sync threshold, the pre-sync phase is exited and transitioned to the sync phase. If the counter is reset as a result of exceeding the permissible threshold value ε lim for the synchronization error, then within the termination criterion it is possible to check the necessity of transition from the pre-synchronization phase to the start phase, since the applicable value for the phase shift T md cannot be determined. To do this, you can check, for example, how often the counter is reset in successive cycles. If the corresponding set maximum value is exceeded, you can proceed to the start-up phase.
В фазе синхронизации, которая описывается далее на основе формы выполнения согласно фиг. 5, значение сдвига фазы Tmd также определяется циклически для последовательных или выбранных полученных кадров синхронизации. Для этого определяется соответствующий кортеж из 4 элементов меток времени ТAP, TB, TSE и TS. При этом частичную фильтрацию (фильтрацию ложных срабатываний) можно выполнить с помощью уравнений (2) и (3) для исключения недействительных событий синхронизации. На следующем этапе вычисляется погрешность синхронизации ε в соответствии с уравнением (3). На следующем этапе проверяется, не оказалось ли вновь определенное значение погрешности синхронизации ε меньше порогового значения εlim. В этом случае соответствующий счетчик увеличивается на единицу. Если это условие выполнено, то в CCG 106 загружается погрешность синхронизации ε или соответствующее ей новое значение для сдвига фаз Tmd (см. выше описание фазы предварительной синхронизации), и сбрасывается счетчик (разумеется, установленный на ноль в начале способа в фазе синхронизации). Затем выполняется еще один цикл. Если погрешность синхронизации ε не меньше предварительно определенного порогового значения εlim, счетчик будет инкрементировать, и будет выполнен следующий цикл, если значение счетчика инкремента Т не больше предварительно определенного порогового значения Nlim. В ином случае производится переход к фазе предварительной синхронизации.In the synchronization phase, which is described below based on the embodiment of FIG. 5, the phase shift value T md is also determined cyclically for consecutive or selected received sync frames. For this, a corresponding 4-tuple of timestamps T AP , T B , T SE and T S is determined. In this case, partial filtering (filtering of false positives) can be performed using equations (2) and (3) to exclude invalid synchronization events. In the next step, the synchronization error ε is calculated in accordance with equation (3). At the next stage, it is checked whether the newly determined value of the synchronization error ε is less than the threshold value ε lim . In this case, the corresponding counter is incremented by one. If this condition is met, then the synchronization error ε or its corresponding new value for the phase shift T md (see the description of the preliminary synchronization phase) is loaded into the
В фазе синхронизации, в дополнение к описанной выше частичной фильтрации, уравнения (2) и (3) также могут использоваться для фильтрации значений, определенных для погрешности синхронизации ε. Для фильтрации, например, можно задать верхнее и нижнее предельное значение εhigh, εlow для погрешности синхронизации ε. Затем используются только те события синхронизации или связанные с ними метки времени ТAP, ТB, TSE, TS, для которых применяется погрешность синхронизации ε, отвечающая следующим условиям:In the synchronization phase, in addition to the partial filtering described above, equations (2) and (3) can also be used to filter the values determined for the synchronization error ε. For filtering, for example, you can set the upper and lower limit values ε high , ε low for the timing error ε. Then only those synchronization events or associated time stamps T AP , T B , T SE , T S are used for which the synchronization error ε is applied, which meets the following conditions:
Предельные значения могут быть выбраны в соответствии с длительностью передаваемых кадров событий синхронизации. На практике было установлено, что хорошие результаты достигаются в том случае, если значение погрешности синхронизации ε меньше или равно длительности кадра события синхронизации, т.е.The limits can be selected according to the duration of the transmitted synchronization event frames. In practice, it was found that good results are achieved if the value of the synchronization error ε is less than or equal to the frame duration of the synchronization event, i.e.
где ΔtSEF - длительность кадра события синхронизации. Это условие может быть использовано, в частности, для исключения тех кадров, которые неправильно распознаны как кадры события синхронизации и имеют длительность, аналогичную длительности кадров события синхронизации, и передаются после кадра события синхронизации. С помощью частичной фильтрации ложных срабатываний по уравнениям (2) и (3) и дополнительной фильтрации ложных срабатываний по уравнению (7) можно достичь достаточно высокой точности синхронизации и на аппаратном обеспечении с относительно низкой вычислительной мощностью, которое, соответственно, будет экономичным.where Δt SEF is the duration of the synchronization event frame. This condition can be used, in particular, to exclude those frames that are incorrectly recognized as synchronization event frames and have a duration similar to the duration of the synchronization event frames, and are transmitted after the synchronization event frame. By using partial filtering of false alarms according to equations (2) and (3) and additional filtering of false alarms according to equation (7), it is possible to achieve sufficiently high synchronization accuracy on hardware with relatively low computing power, which, accordingly, will be economical.
Так как уравнение (5) с уравнением (2) записывается какSince equation (5) with equation (2) is written as
при расчете погрешности синхронизации ε для TBSE может также использоваться постоянное значение, в частности, значение, полученное, например, посредством усреднения значений TBSE за несколько циклов (например, 100). Это, конечно, не зависит от того, что значение TBSE, определенное в каждом цикле, может быть использовано для частичной фильтрации в соответствии с уравнениями (2) и (3). Так как метка времени IWC 102 является относительно неточной или генерируется с небольшим временем срабатывания, составляющим, например, 1 мкс, точность может быть значительно повышена.when calculating the timing error ε for T BSE , a constant value can also be used, in particular the value obtained, for example, by averaging the T BSE values over several cycles (eg 100). This is, of course, independent of the fact that the T BSE value determined in each cycle can be used for partial filtering according to equations (2) and (3). Since the time stamp of the
Для реализации и проверки способа, описанного выше, изобретатели провели следующий эксперимент: Были изготовлены два беспроводных узла или сетевые устройства, каждый из которых состоял из встраиваемого компьютера 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В и под нагруженным (частично занятым) каналом связи.To implement and test the method described above, the inventors conducted the following experiment: Two wireless nodes or network devices were manufactured, each of which consisted of a Raspberry PI 3B embedded computer with an integrated IWC Cypress CYW43438. Each IWC was connected to an FPGA board through a high speed comparator. The first of the two networking devices used the Digilent Nexys 4 DDR development board to implement SED and CCG. This board was equipped with a Xilinx Artyx-7 FPGA operating at 50 MHz. The second of the network devices included the Lattice iCEstick debug board for the same purpose. In this debug board, a budget FPGA iCE40HXl is installed, operating at a frequency of 48 MHz. Using different FPGAs with different clock generators shows that good results are achieved using the synchronization method described above, rather than using different clock frequencies or phase shifts. As an access point, we used a budget NETGEAR N150 point, which also generated beacon frames for synchronization. A sync error was recorded on both network devices. The tests were carried out under computational load conditions on Raspberry PI 3B computer processors and under a loaded (partly occupied) communication channel.
На фиг. 6 показаны гистограммы ошибки синхронизации ε (уравнение 8) для обоих сетевых устройств (фиг. 6а - Сетевое устройство 1; фиг. 6b - Сетевое устройство 2), полученные при данной настройке и способа, описанного выше. Измерения проводились с загрузкой центрального процессора 90% на каждом сетевом устройстве. Для тестирования сеть была загружена дополнительными данными, передаваемыми со скоростью 15 Мбит/с (UDP-передача) от первого к второму сетевому устройству. Для параметра TBSE из уравнения (8) использовалось значение 53 мкс, которое ранее было определено с использованием соответствующих измерений и усреднения. Тест проводился в течение более 12 часов. Среднеквадратическое отклонение распределения на фиг. 6 составило менее 500 нс. Таким образом, можно показать, что с помощью метода, соответствующего изобретению, можно достичь высокой точности синхронизации даже на очень дешевом оборудовании и без использования операционной системы реального времени.FIG. 6 shows histograms of synchronization error ε (equation 8) for both network devices (FIG. 6a -
Список условных обозначений 100 сетевое устройство
102 IWC (Integrated Wirless Circuit: интегрированная микросхема беспроводной связи)102 IWC (Integrated Wirless Circuit: integrated wireless communication chip)
102а порт102a port
104 SEC (Synchronisationsevent-Detektoreinrichtung: детектор событий синхронизации)104 SEC (Synchronizationsevent-Detektoreinrichtung: synchronization event detector)
106 CCG (steuerbarer Clock-Generator; Controllable Clock Generator: управляемый генератор временного сигнала)106 CCG (steuerbarer Clock-Generator; Controllable Clock Generator: controlled time signal generator)
108 SCD (Synchronisationssteuereinrichtung; Synchronization Control Device: устройство управления синхронизацией)108 SCD (Synchronizationssteuereinrichtung; Synchronization Control Device: synchronization control device)
110 ПЛИС (программируемая логическая интегральная схема)110 FPGA (Programmable Logic Integrated Circuit)
ε погрешность синхронизацииε synchronization error
εlim пороговое значение для погрешности синхронизацииε lim threshold value for synchronization error
εhigh верхняя граница значения εε high is the upper limit of ε
εlow нижняя граница значения εε low the lower bound of the value ε
k коэффициент синхронизацииk sync factor
ТAP метка времени синхронизацииT AP sync time stamp
ТB метка времени (получение кадра синхронизации)T B timestamp (receive sync frame)
TSE метка времени (создание кадра синхронизации)T SE time stamp (create sync frame)
TS метка времени (обнаружение кадра синхронизации)T S time stamp (sync frame detection)
TSRC значение прецизионного таймера в CCG 104T SRC precision timer value in
TCCG время (сигнал времени) CCG доT CCG time (time signal) CCG to
Tmd сдвиг фазT md phase shift
ΔtSEF временная длительность кадра синхронизацииΔt SEF time duration of synchronization frame
NS число кадров синхронизации для определения kN S number of synchronization frames to determine k
Nk,lim минимальная число кадров синхронизации для определения kN k, lim is the minimum number of synchronization frames for determining k
Nsync число циклов в фазе предварительной синхронизацииN sync number of cycles in the pre-sync phase
Nps число циклов в фазе синхронизации.N ps is the number of cycles in the synchronization phase.
Claims (44)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020117531A RU2738446C1 (en) | 2020-05-18 | 2020-05-18 | Synchronizing network device for wireless communication, in particular network terminal, in wireless network |
DE102020118068.3A DE102020118068A1 (en) | 2020-05-18 | 2020-07-08 | SYNCHRONIZATION OF A NETWORK DEVICE FOR WIRELESS COMMUNICATION, IN PARTICULAR A NETWORK TERMINAL DEVICE, IN A WIRELESS NETWORK |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020117531A RU2738446C1 (en) | 2020-05-18 | 2020-05-18 | Synchronizing network device for wireless communication, in particular network terminal, in wireless network |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2738446C1 true RU2738446C1 (en) | 2020-12-14 |
Family
ID=73835177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020117531A RU2738446C1 (en) | 2020-05-18 | 2020-05-18 | Synchronizing network device for wireless communication, in particular network terminal, in wireless network |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102020118068A1 (en) |
RU (1) | RU2738446C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194528A (en) * | 2021-03-18 | 2021-07-30 | 深圳市汇顶科技股份有限公司 | Synchronization control method, chip, electronic device, and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8340010B2 (en) * | 2009-12-16 | 2012-12-25 | Broadcom Corporation | Method and system for energy efficient synchronization in packet based networks |
RU2660458C1 (en) * | 2014-12-16 | 2018-07-06 | Роберт Бош Гмбх | Method for synchronization of clock generators of network devices |
CN110784275A (en) * | 2018-07-29 | 2020-02-11 | 华为技术有限公司 | Time synchronization deviation adjusting method, device, terminal and access stratum equipment |
US10575270B2 (en) * | 2015-12-16 | 2020-02-25 | Sonos, Inc. | Synchronization of content between networked devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110651446B (en) | 2017-06-02 | 2022-09-20 | 索尼公司 | Wireless device and wireless device processing method |
-
2020
- 2020-05-18 RU RU2020117531A patent/RU2738446C1/en active
- 2020-07-08 DE DE102020118068.3A patent/DE102020118068A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8340010B2 (en) * | 2009-12-16 | 2012-12-25 | Broadcom Corporation | Method and system for energy efficient synchronization in packet based networks |
RU2660458C1 (en) * | 2014-12-16 | 2018-07-06 | Роберт Бош Гмбх | Method for synchronization of clock generators of network devices |
US10575270B2 (en) * | 2015-12-16 | 2020-02-25 | Sonos, Inc. | Synchronization of content between networked devices |
CN110784275A (en) * | 2018-07-29 | 2020-02-11 | 华为技术有限公司 | Time synchronization deviation adjusting method, device, terminal and access stratum equipment |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194528A (en) * | 2021-03-18 | 2021-07-30 | 深圳市汇顶科技股份有限公司 | Synchronization control method, chip, electronic device, and storage medium |
CN113194528B (en) * | 2021-03-18 | 2023-01-31 | 深圳市汇顶科技股份有限公司 | Synchronization control method, chip, electronic device, and storage medium |
US11853242B2 (en) | 2021-03-18 | 2023-12-26 | Shenzhen GOODIX Technology Co., Ltd. | Synchronization control method, chip, electronic device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
DE102020118068A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Romanov et al. | A precise synchronization method for future wireless TSN networks | |
CN109074723B (en) | Time synchronization method, sensor embedded terminal and sensor network system | |
WO2008044193A2 (en) | Method and system for time synchronization in a sensor network | |
US20190386763A1 (en) | Performing PHY-Level Hardware Timestamping and Time Synchronization in Cost-Sensitive Environments | |
US20220029724A1 (en) | A tsn enabled controller | |
CN107736059B (en) | Signal detection method in system with sparse synchronization signal rate | |
RU2738446C1 (en) | Synchronizing network device for wireless communication, in particular network terminal, in wireless network | |
CN114980322A (en) | Improved window widening | |
Mahmood et al. | Clock synchronization in wireless LANs without hardware support | |
Mahmood et al. | Software support for clock synchronization over IEEE 802.11 wireless LAN with open source drivers | |
EP3968562A1 (en) | Communication control device and communication control method | |
CN1813434A (en) | Method for clock synchronization of wireless 1394 buses for nodes connected via ieee 802.11 lan | |
Anwar et al. | Precision time protocol over LR-WPAN and 6LoWPAN | |
Ageev | Time synchronization and energy efficiency in wireless sensor networks | |
Bertocco et al. | Estimation of the delay of network devices in hybrid wired/wireless real-time industrial communication systems | |
CN214480655U (en) | Embedded equipment compatible with definable deterministic communication Ethernet | |
Zhang et al. | Precision Time Synchronization Consistency Algorithm for Multi-Node Dynamic Time-Frequency Synchronization Networks | |
Ageev et al. | Synchronization uncertainty contributions in wireless sensor networks | |
Zou et al. | A time synchronization method for wireless sensor networks | |
CN107959968A (en) | A kind of clock synchronizing method for wireless sensor network of high accuracy, low overhead | |
US20220361126A1 (en) | Providing a clock value to a client device | |
CN116321402A (en) | 4G/5G-oriented lightweight PTP time synchronization system and method | |
Yang et al. | The design and implementation of time synchronization for CNC systems based on switched Ethernet | |
Cho | Time synchronization for multi-hop surveillance camera systems | |
CN115623568A (en) | Method and device for adjusting length of wakeup window |