Synchronization of components in a network

By introducing a network synchronization device into the Ethernet communication network to generate and process timing frames, the problem of component synchronization and coordination is solved, and precise time synchronization of sensors and actuators is achieved, which is suitable for industrial control and real-time control applications.

CN115699797BActive Publication Date: 2026-05-26MICROCHIP TECHNOLOGY INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MICROCHIP TECHNOLOGY INC
Filing Date
2021-05-20
Publication Date
2026-05-26

Smart Images

  • Figure CN115699797B_ABST
    Figure CN115699797B_ABST
Patent Text Reader

Abstract

This invention discloses a network synchronization device that may include a matched filter. The matched filter may be configured to generate an event for synchronizing the operation of elements in the network, at least in part in response to a timing frame generated at a network switch. The event for synchronizing the operation of the element may include a first event generated at least in part in response to first information associated with a first element and a second event generated at least in part in response to second information associated with a second element. Related systems and methods are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 704,921, filed June 3, 2020, entitled “Synchronization of Edge Elements,” the entire disclosure of which is incorporated herein by reference. Technical Field

[0003] This disclosure relates generally to communication networks, and more specifically to elements in synchronous networks. Even more specifically, various examples of this disclosure relate to elements in synchronous communication networks, which, as non-limiting examples, include sensors and actuators. Background Technology

[0004] Various interface standards are available for connecting computers and external peripherals to provide high-speed connectivity. The Ethernet protocol is a widely used and flexible networking standard for connecting computers (e.g., in local area networks (LANs) and wide area networks (WANs)). Ethernet communication typically refers to point-to-point communication within a network of multiple endpoints. The Ethernet protocol generally makes efficient use of shared resources, is easy to maintain and reconfigure, and is compatible with many systems. Attached Figure Description

[0005] Although this disclosure concludes with claims that specifically point out and clearly claim particular examples, the various features and advantages of the examples within the scope of this disclosure can be more readily identified by the following description when read in conjunction with the accompanying drawings:

[0006] Figure 1 This is a functional block diagram illustrating an exemplary environment in which one or more examples of this disclosure can be configured to operate.

[0007] Figure 2 This is a functional block diagram illustrating an exemplary system including a switch configured to operate, according to one or more examples of this disclosure.

[0008] Figure 3 This is a functional block diagram illustrating an exemplary system including an exemplary network synchronization device according to one or more examples of this disclosure.

[0009] Figure 4 This is a functional block diagram illustrating an exemplary system including another exemplary network synchronization device according to one or more examples of this disclosure.

[0010] Figure 5 This is a flowchart illustrating an exemplary method of operating a synchronization element according to one or more examples of this disclosure.

[0011] Figure 6 This is a flowchart of another exemplary method of operating a synchronization element according to one or more examples of this disclosure.

[0012] Figure 7 This is a flowchart of an exemplary method for synchronizing the operation of elements in a network according to one or more examples of this disclosure.

[0013] Figure 8 This is a diagram illustrating an exemplary Ethernet frame according to one or more examples of this disclosure.

[0014] Figure 9 This is a flowchart of an exemplary method for generating timing frames in a network, according to one or more examples of this disclosure.

[0015] Figure 10 It is a block diagram illustrating an exemplary device that can be used to implement various functions, operations, actions, processes, or methods according to one or more examples of this disclosure. Detailed Implementation

[0016] In the following detailed description, reference is made to the accompanying drawings, which form part of this disclosure, and specific examples of how this disclosure may be practiced are shown by way of example in the drawings. These examples are described in sufficient detail to enable those skilled in the art to practice this disclosure. However, other examples enabled herein may be utilized, and structural, material, and process changes may be made without departing from the scope of this disclosure.

[0017] The illustrations presented herein are not intended to be actual views of any particular method, system, device, or structure, but are merely idealized representations used to describe examples of this disclosure. In some cases, for the convenience of the reader, similar structures or components in the various figures may retain the same or similar numbering; however, similarity in numbering does not necessarily mean that the structures or components are identical in size, composition, construction, or any other property.

[0018] The elements described herein may include multiple instances of the same element. These elements may be generally indicated by a numeric indicator (e.g., 384) and specifically indicated by a numeric indicator followed by a letter indicator (e.g., 384A).

[0019] The following description may include examples to assist those skilled in the art in practicing the examples disclosed herein. The use of the terms “exemplary,” “by example,” and “for example” indicates that the related description is illustrative, and while the scope of this disclosure is intended to cover examples and legal equivalents, the use of such terms is not intended to limit the scope of the examples of this disclosure to the specified parts, steps, features, or functions, etc.

[0020] It should be readily understood that the components of the examples described herein and shown in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following description of various examples is not intended to limit the scope of this disclosure, but rather to represent various examples only. While various aspects of these examples are given in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated otherwise.

[0021] Furthermore, the specific embodiments shown and described are merely examples and should not be construed as the only way to implement this disclosure unless otherwise indicated herein. Components, circuits, and functions may be shown in block diagram form so as not to obscure this disclosure with unnecessary detail. Rather, the specific embodiments shown and described are merely exemplary and should not be construed as the only way to implement this disclosure unless otherwise indicated herein. Additionally, block definitions and logical partitioning between blocks are examples of specific embodiments. It will be apparent to those skilled in the art that this disclosure can be practiced with many other partitioning solutions. In most cases, details regarding timing considerations, etc., have been omitted, where such details do not require a full understanding of this disclosure and are within the capabilities of those skilled in the art.

[0022] Those skilled in the art will understand that information and signals can be represented using any of a variety of different techniques and methods. For clarity of presentation and description, some accompanying drawings may show a signal as a single signal. It should be understood by those skilled in the art that a signal may represent a signal bus, wherein the bus may have multiple bit widths, and this disclosure can be implemented on any number of data signals, including a single data signal.

[0023] The various exemplary logic blocks, modules, and circuits described in connection with the examples disclosed herein may be implemented or executed using a processor (e.g., a general-purpose processor, a special-purpose processor, a digital signal processor (DSP)), an integrated circuit (IC), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform one or more of the features or functions of the examples described herein. A general-purpose processor (which may also be referred to herein as a “host processor” or simply a “host”) may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. When a general-purpose computer is configured to execute computational instructions (e.g., software code) related to the examples of this disclosure, the general-purpose computer including the processor is considered a special-purpose computer.

[0024] Examples can be described based on processes depicted as flowcharts, schematic diagrams, structural diagrams, or block diagrams. While a flowchart may describe actions as a continuous process, many of these actions may be performed in another sequence, in parallel, or substantially simultaneously. Furthermore, the order of actions can be rearranged. Processes in this document may correspond to methods, threads, functions, procedures, subroutines, subroutines, other structures, or combinations thereof. Furthermore, the methods disclosed herein can be implemented in hardware, software, or both. If implemented in software, these functions may be stored or transferred as one or more instructions or code onto a computer-readable medium. Computer-readable media includes both computer storage media and communication media, which includes any medium that facilitates the transfer of a computer program from one location to another.

[0025] Automation / control systems (e.g., industrial control systems) are used to control the operation of processes or machines, and are typically suited for different control applications through the configuration and interconnection of multiple control system components or devices (e.g., control modules, input / output (I / O) modules, I / O devices, motor drives, but not limited thereto). Some control systems may include a processor that runs or executes control programs to interact with I / O systems (e.g., typically one or more I / O modules or devices) to receive system information in the form of analog or digital inputs from sensors and to provide outputs (analog or digital outputs) to one or more actuators. Control systems may interconnect with management information and other systems in a manufacturing facility and can be operatively connected to any number of communication networks to facilitate various management functions (e.g., inventory control, accounting, and manufacturing control, but not limited thereto) in addition to process / machine control functions.

[0026] The desire to integrate business and control network architectures to interconnect control systems with general-purpose systems, along with the evolution and development of Ethernet (e.g., in switching modes with full-duplex capabilities), has allowed Ethernet networks (e.g., Ethernet / Internet Protocol networks that allow devices to connect directly to Ethernet networks) to be widely used in a variety of applications (e.g., industrial applications).

[0027] Time-Sensitive Networking (TSN) is a set of standards being developed by the Time-Sensitive Networking Task Group of the IEEE 802.1 Working Group. The IEEE 802.1CB ("Reliability Frame Duplication and Elimination") and IEC 62439-3 (High Availability Seamless Redundancy (HSR) and Parallel Redundancy Protocol (PRP)) standards introduce redundancy and fault detection, which are important for functional safety and frame duplication and elimination. The TSN standard aims to improve the robustness, reliability, redundancy, and fault detection capabilities of Ethernet, enabling its use in real-time control and safety-critical applications.

[0028] Examples of this disclosure can provide synchronization of elements in a network. In one example, these elements may be edge elements. Examples of this disclosure can provide synchronization between elements of a network (e.g., a control system including sensors or actuators). Synchronization between elements of a network can be important for providing precisely coordinated operation of the elements. For example, a first operation of a first actuator (e.g., moving a workpiece from a first position to a second position) may need to be precisely coordinated in time with a second operation of a second actuator (e.g., applying a tool to the workpiece at the second position), where the first and second actuators are examples of elements of the network.

[0029] In various examples, a switch may be configured to generate timing frames at regular intervals. In various examples, the switch may synchronize with a synchronization host (“synchronization host”) that can be connected to the network. A timing frame may include an indication that it is a timing frame. For example, a timing frame may include one or more bits in its header or payload that can be interpreted as an indication that it is a timing frame. A timing frame definition may define a frame (e.g., an Ethernet frame) as an indication of a timing frame. Additionally, in various examples, a timing frame may include information indicating an element or an operation to be performed or reported by that element. A timing frame definition may define information indicating an element.

[0030] In various examples, a network synchronization device may be configured to receive frames (e.g., Ethernet frames) (e.g., at regular intervals) and determine whether the received frames are timing frames. The network synchronization device may be configured to determine that a received frame is a timing frame based on a comparison between the received frame and a timing frame definition. The network synchronization device may be further configured to generate an event in response to determining that a received frame is a timing frame. In other words, the network synchronization device may be configured to generate an event in response to receiving a timing frame. In this disclosure, the term "event" can refer to a signal that an element may be configured to recognize or respond to.

[0031] In various examples, a network synchronization device may be communicatively coupled to one or more elements of a network, such as one or more sensors or one or more actuators. In various examples, a network synchronization device may include one or more elements of a network (e.g., one or more sensors or actuators). In any case, an event generated by the network synchronization device may cause one or more elements of the network to operate. For example, in various examples, a sensor may respond to the event to sense or report an indication of a sensed property (also referred to herein as "acquiring a reading"). For example, by providing an event to a sensor, the network synchronization device may poll the sensor. As another example, an actuator may operate in response to the event (e.g., move or cause movement). In various embodiments, the event may be or may include an operating instruction, such as an instruction on how or when an element operates.

[0032] Additionally or alternatively, in various examples, the network synchronization device may be configured to provide a data frame indicating a sensed attribute in response to determining that a received frame (e.g., an Ethernet frame) is a timing frame. For example, a sensor may sense an attribute and provide an indication of the sensed attribute (e.g., a reading) to the network synchronization device at a first time. The first time may or may not respond to the event. The network synchronization device may store the indication of the sensed attribute until, for example, at a second time, it determines that the received frame is a timing frame. In response to determining that the received frame is a timing frame, the network synchronization device may be configured to provide a data frame indicating the sensed attribute to another device on the network, for example, via a switch that provides the timing frame. The data frame may have been generated by the network synchronization device when the indication of the sensed attribute is received, when the received frame is determined to be a timing frame, or at some other time.

[0033] Additionally or alternatively, in various examples, the network synchronization device may be configured to provide control signals to the actuator to control the operation of the actuator. The control signals may be based on data frames received by the network synchronization device at a first time. The network synchronization device may be configured to store the control signals until the network synchronization device determines, for example, at a second time, that the received frame (e.g., an Ethernet frame) is a timing frame. In response to determining that the received frame is a timing frame, the network synchronization device may be configured to provide control signals to the actuator, for example, to control the timing of the actuator's operation. Alternatively, the network synchronization device may be configured to provide control signals to the actuator upon receiving a data frame (e.g., at a first time) and to generate an event in response to receiving a timing frame (e.g., at a second time). In such cases, the actuator may be configured to operate according to the control signals when the actuator receives an event.

[0034] By polling one or more sensors to provide indications of sensed attributes, or by controlling the operation of actuators in response to determining that a received frame is a timing frame (one or more of which may be the result of generating an event), a network synchronization device may be able to synchronize elements or the operation of elements in a network.

[0035] Additionally, in various examples, the timing frame may include information indicating an element or an operation to be performed or reported. In these or other examples, the network synchronization device may be configured to receive a timing frame and determine which element the timing frame indicates. The network synchronization device may be configured to determine which element the timing frame indicates based on a comparison between the received timing frame and a timing frame definition. The network synchronization device may be further configured to generate an event for the indicated element in response to determining the indicated element. In other words, the network synchronization device may be configured to generate an event for the element in response to receiving a timing frame indicating the element.

[0036] Figure 1 This is a functional block diagram illustrating an exemplary environment 100 in which one or more examples of this disclosure can be configured to operate. Environment 100 includes a controller 102, a network 104, a switch 106A, a switch 106B, a sensor 108, an actuator 110, a first network synchronization device 112, and a second network synchronization device 114. Sensor 108 and actuator 110 are non-limiting examples of the components.

[0037] Controller 102 is typically configured to send control signals to one or more actuators (e.g., actuator 110) and receive input from one or more sensors (e.g., sensor 108). In various examples, controller 102 may be a programmable logic controller (PLC). Controller 102 may be configured to control the operation of a network or system of elements (including, but not limited to, sensor 108 or actuator 110) to perform coordinated operations (e.g., manufacturing or processing operations, but not limited to).

[0038] Controller 102 can be communicatively connected to sensor 106 and actuator 110 via network 104. Network 104 can be or includes a communication network through which controller 102 sends control signals to actuator 110 and receives input from sensor 108. Network 104 may include one or more switches, bridges, or network cables, etc. Network 104 can be configured to operate according to the Ethernet protocol; in other words, network 104 can be an Ethernet network.

[0039] Switches 106A and 106B are typically configured to receive communications (e.g., Ethernet frames, but not limited to) over network 104, which are addressed to one or more of the sensors 108 or actuators 110 to which they are communicatively connected, and to forward the received communications to their respective destinations.

[0040] In various examples, switches 106A and 106B can be configured to generate timing frames at regular intervals and provide these timing frames to the first network synchronization device 112 and the second network synchronization device 114, respectively. Additional details regarding the operation of switches 106A and 106B are detailed below. Figure 2 The switch 106 is described in detail.

[0041] Sensor 108 is typically configured to sense one or more properties. Non-limiting examples of sensor 108 include: acoustic sensors, angle sensors, chemical sensors, electrical sensors, magnetic sensors, radiation sensors, fluid sensors, position sensors, displacement sensors, velocity sensors, optical sensors, pressure sensors, force sensors, weight sensors, thermal sensors, and combinations thereof.

[0042] Each sensor in sensor 108 may include an interface for receiving input and providing output. Sensor 108 may be configured to receive events at its respective interface. Sensor 108 may be configured to provide an indication of the sensed attribute (e.g., a reading, but not limited to) at its respective interface.

[0043] In various examples, each sensor 108 may be configured to sense attributes or report sensed attributes in response to events (such as receiving a polling message, but not limited to this). Additionally or alternatively, sensor 108 may be configured to report sensed attributes asynchronously without waiting for external stimuli such as events. As a non-limiting example, sensor 108 may be configured to sense attributes and provide indications of sensed attributes continuously or at pre-specified intervals defined at sensor 108.

[0044] Actuator 110 is typically configured to move, electrically connect to, or control a mechanism or system directly or indirectly in response to a control signal. Actuator 110 may optionally include a sensor configured to measure movement, for example, for a control loop, but is not limited thereto. Non-limiting examples of actuator 110 include: hydraulic actuators, pneumatic actuators, electric actuators, thermal actuators, magnetic actuators, motors, or mechanical actuators.

[0045] Each actuator 110 may include an interface for receiving input. Actuator 110 may be configured to receive an event at its respective interface. Actuator 110 may be configured to operate in response to receiving an event (e.g., when an event is received). Additionally or alternatively, actuator 110 may be configured to receive a control signal that can control the operation of actuator 110 (e.g., the control signal may indicate the degree of operation, such as how much movement, how fast movement, or how much force is applied). In various examples, the event may include the control signal. In other examples, the event and the control signal may be separate, and actuator 110 may be configured to operate according to the control signal in response to receiving an event (e.g., when an event is received, but not limited to this). Additionally, in various examples, actuator 110 may provide an indication that a given control action has been performed at its respective interface.

[0046] In various examples, the first network synchronization device 112 may be configured to synchronize the operation of one or more elements of environment 100, including synchronizing sensors 108 or actuators 110 connected to the first network synchronization device 112. In various examples, the first network synchronization device 112 may be configured to synchronize the sensors 108 or actuators 110 to which it is connected with other sensors 108 or actuators 110 that are not directly connected to it. For example, environment 100 may include multiple network synchronization devices (not shown), each connected to a switch, each connected to one or more sensors or actuators (not shown), and all network synchronization devices communicatively coupled to network 104. The multiple network synchronization devices may be configured to synchronize all sensors or actuators to which they are commonly connected. In these or other examples, the first network synchronization device 112 may be configured to synchronize the sensors 108 or actuators 110 to which it is connected with another element on network 104 (e.g., a synchronization host). Reference is made below. Figure 3 Additional details regarding the operation of the first network synchronization device 112 are described.

[0047] In various examples, the second network synchronization device 114 may be configured to provide synchronization between one or more sensors 108 or one or more actuators 110 connected to the second network synchronization device 114. The second network synchronization device 114 may include one or more sensors 108 or actuators 110. In various examples, similar to those described above with respect to the first network synchronization device 112, the second network synchronization device 114 may be configured to synchronize its included sensors 108 or actuators 110 with other sensors 108 or actuators 110. References below... Figure 4 Additional details regarding the operation of the second network synchronization device 114 are described.

[0048] Figure 2 This is a functional block diagram illustrating an exemplary system 200 including a switch 206 configured to operate, according to one or more examples of this disclosure. The switch 206 may be configured to generate timing frames 284 at regular intervals to allow network synchronization devices (e.g., Figure 1 The first network synchronization device 112 or the second network synchronization device 114) is for sensors or actuators (e.g., Figure 1 The system 200 is synchronized with the sensor 108 or actuator 110. The system 200 includes a controller 202, a network 204, a switch 206, and a synchronization host 208, also known as a synchronization host 208.

[0049] The controller 202 of system 200 can be compared with the above. Figure 1 The environment 100 described for the controller 102 is the same as or substantially similar to that described for the controller 102. Additionally, Figure 2Communication between controller 202 and a sensor or actuator (not shown) is shown as data frame 281. Data frame 281 may be referred to as a "frame" because communication between controller 202 and the sensor or actuator may be included in a format suitable for communication in network 204 (e.g., Ethernet frame).

[0050] System 200's network 204 can be compared with the above. Figure 1 The environment 100 described by network 104 is the same as or substantially similar to that described by network 104. Additionally, Figure 2 The communication between controller 202, switch 206, and synchronization host 208 is shown as data frame 281 and timing signal 282, respectively. Network 204 can be configured to provide communication between controller 202, switch 206, and synchronization host 208.

[0051] Synchronization host 208 may be configured to provide timing signal 282 to network 204 or to one or more components connected to network 204. Synchronization host 208 may include an external clock source 210. External clock source 210 is referred to as "external" because it is external from the perspective of switch 206. One or more components communicatively coupled to network 204 may be configured to synchronize according to timing signal 282 from synchronization host 208. Timing signal 282 provided by synchronization host 208 may be based on protocols, as non-limiting examples, including: IEEE 1588, IEEE 802.1AS, and Internet Engineering Task Force (IETF) Request for Comments (RFC) 5905 Network Time Protocol.

[0052] Figure 2 The switch 206 of system 200 can be an example of switch 106A or switch 106B, as mentioned above. Figure 1 Environment 100 is described. Switch 206 includes frame generator 218, internal clock source 216, switching logic 224, network-facing interface 212 and edge-facing interface 214.

[0053] Switch 206 may be configured to forward frames according to Ethernet protocols. For example, switch 206 may be configured to provide communication to and from network 204 (or to and from components connected to network 204) from and to components connected to switch 206 (e.g., sensors or actuators) via intermediate devices (e.g., network synchronization devices, but not limited to).

[0054] Switch 206 may be configured to generate timing frames 284 (e.g., Ethernet frames configured as timing frames 284) and provide timing frames 284 to one or more components (e.g., sensors or actuators). For example, frame generator 218 may be configured to generate timing frames 284 according to timing frame definition 222. Frame generator 218 may be configured to generate timing frames 284 to include identification information 279, such as indicating that timing frame 284 is a timing frame. For example, timing frame 284 may be an Ethernet frame and may include one or more bits in its header or payload that are configured to be interpreted as indicating that timing frame 284 is a timing frame. As an example, one or more of the following may include a source MAC address, a Virtual Local Area Network (VLAN) tag (e.g., as described in IEEE standard 802.1Q), an EtherType value (e.g., a field in an Ethernet frame used to indicate the protocol encapsulated in the payload of the Ethernet frame), or a portion of the payload of timing frame 284, including one or more bits configured to be interpreted as indicating that timing frame 284 is a timing frame.

[0055] For example, Figure 8 An Ethernet frame 800 is shown, including a header 802 and a payload 804 (not drawn to scale). The header includes a source MAC address, a VLAN tag, and an EtherType. One or both of identification information 879 and component information 838 may be included in one or more of the source MAC address, VLAN tag, EtherType (i.e., in header 802), and payload 804. In various embodiments, the Ethernet frame 800 may include component information for one or more components. A timing frame definition 222 may include an indication of which bits will be interpreted as a timing frame 284.

[0056] Additionally, in various examples, frame generator 218 may be configured to generate a timing frame 284 that includes component information 238 identifying the element (e.g., a sensor or actuator) to which timing frame 284 is intended. For example, frame generator 218 may generate a first timing frame 284A that includes first component information 238A intended for a first element. Frame generator 218 may also generate a second timing frame 284B that includes second component information 238B intended for a second element. Component information 238 may be included in the header or payload of timing frame 284, such as relative to... Figure 8As described, frame generator 218 can be configured to generate timing frames 284 for elements based on information and associations found in timing frame definition 222. For example, timing frame definition 222 may include the association between each of two or more elements and information that may be included in timing frame 284 to indicate each of the two or more elements. In various examples, each timing frame 284 may include an indication of an element for which timing frame 284 is intended.

[0057] In various examples, switch 206 may be configured to generate and provide timing frames 284 at regular intervals (e.g., every 10 milliseconds or every 100 milliseconds, but not limited thereto). In various examples, switch 206 may be configured to generate or provide timing frames 284 at regular intervals based on the timing of an internal clock source 216 or an external clock source 210. For example, switch 206 may include an internal clock source 216, which may be configured to receive a timing signal 282 generated by a synchronization host 208 and, in response to the received timing signal 282 (e.g., according to any of the protocols listed above), synchronize the timing of the internal clock source 216 with the external clock source 210. Additionally, internal clock source 216 may be configured to provide a timing signal 283 to a frame generator 218, and frame generator 218 may be configured to generate timing frames 284 based on timing signal 283. Therefore, switch 206 can be configured to synchronize the generation of timing frame 284 with other components on the network (e.g., other components synchronized with synchronization host 208) via synchronization with internal clock source 216.

[0058] Figure 3 This is a functional block diagram illustrating an exemplary network 300 including a network synchronization device 312 according to one or more examples of this disclosure. Specifically, Figure 3 A network synchronization device 312 is shown communicatively coupled between a switch 306 and one or more components 336 (e.g., sensor 308 or actuator 310), which in this example can be considered edge components. The network synchronization device 312 includes a switch-facing interface 302, a matched filter 316 at the link layer 334, a framer 318, an edge-facing interface 320, and a memory 330.

[0059] Network synchronization device 312 can be configured to provide sensor 308 or actuator 310 with (e.g., Figure 1Synchronization between one or more other components of the network (environment 100). For example, network synchronization device 312 may be configured to receive timing frame 384, generate event 385 in response to timing frame 384, and provide the generated event 385 to one or more of sensor 308 or actuator 310. Additionally, network synchronization device 312 may be configured to provide outgoing data frame 381 in response to verification timing frame 384. The reception of timing frame 384 and the provision of event 385 or outgoing data frame 381 allow sensor 308 or actuator 310 to synchronize with (e.g., Figure 1 Synchronization between other components in a larger system or network (environment 100).

[0060] Switch 306 can be Figure 2 Example of switch 206. Switch 306 can be configured to receive at least incoming data frames 382 (e.g., via...). Figure 2 204 error from the network Figure 2 The controller 202) and timing frames 384 (e.g., Ethernet frames configured as timing frames) are provided to the network synchronization device 312. The switch 306 can be configured to receive outgoing data frames 381 from the network synchronization device 312 and can be configured to... Figure 2 Network 204 will transmit data frame 381 to the controller (e.g., Figure 2 (Controller 202). Additionally, switch 306 may be configured to provide timing frames 384 to network synchronization device 312 at regular intervals. Furthermore, in various examples, switch 306 may be configured to provide timing frames 384 that include component information 338 indicating a specific component (e.g., a sensor or actuator). For example, a first timing frame 384A may include first component information 338A, and a second timing frame 384B may include second component information 338B.

[0061] Sensor 308 can be Figure 1 An example of sensor 108. Actuator 310 may be... Figure 1 Example of actuator 110.

[0062] The switch-oriented interface 302 may be an interface of the network synchronization device 312, such as an Ethernet port configured to send and receive signals. The switch-oriented interface may include a switching architecture (not shown) or a classifier (not shown). The switch-oriented interface 302 may be configured to receive incoming frames (e.g., Ethernet frames), including incoming data frames 382 and timing frames 384 (e.g., from switch 306), and to provide the incoming data frames 382 to the framer 318 and the timing frames 384 to the matched filter 316. The switch-oriented interface 302 may be configured to receive outgoing data frames 381 (e.g., from framer 318) and to provide outgoing data frames 381 to switch 306.

[0063] Matched filter 316 may be configured to verify timing frames 384. For example, matched filter 316 may be configured to receive timing frames 384 from a switch-facing interface 302 and determine whether each of the timing frames 384 is a valid timing frame. For example, matched filter 316 may include timing frame definition 322. Matched filter 316 may be configured to compare timing frames 384 with timing frame definition 322 to determine whether each of the timing frames 384 is a valid timing frame. Matched filter 316 may include any suitable logic (e.g., digital filter, but not limited to) configured to determine whether timing frames 384 are valid timing frames. The comparison of timing frames 384 with timing frame definition 322 may include, for example, comparing identification information 379 in the header of timing frame 384 with identification information 377 in timing frame definition 322. For example, identification information 379 found in one or more of the following can be compared with identification information 377 of timing frame definition 322: the source media access control (MAC) address of timing frame 384, a VLAN tag (e.g., according to IEEE 802.1Q, but not limited to), or an EtherType tag. Additionally or alternatively, identification information 379 found in one or more bits of the payload of timing frame 384 can be compared with identification information 377 of timing frame definition 322 to determine whether timing frame 384 is a valid timing frame. As shown, in various non-limiting examples, matched filter 316 may operate at link layer 334 of network synchronization device 312.

[0064] Additionally, in various examples, the matched filter 316 can be configured in a similar manner to determine the element indicated by the timing frame 384. For example, the matched filter 316 can be configured to compare element information 338 (e.g., bits in the header or payload) in the timing frame 384 with the timing frame definition 322 to determine which element is indicated by the timing frame 384. For example, a first timing frame 384A may include first element information 338A that indicates a first element, and a second timing frame 384B may include second element information 338B that indicates a second element. The timing frame definition 322 may include the relationship between the first element information 338A and the first element, and the relationship between the second element information 338B and the second element.

[0065] Matched filter 316 can be configured to generate event 385. Specifically, in response to determining that timing frame 384 is a valid timing frame, matched filter 316 can be configured to generate event 385. Network synchronization device 312 can be configured to provide event 385 to one or more sensors 308 or actuators 310. Sensors 308 or actuators 310 can be configured to operate in response to event 385. For example, in response to event 385, sensor 308 can be configured to sense an attribute or report the sensed attribute, and actuator 310 can be configured to operate (e.g., cause movement).

[0066] Additionally or alternatively, in various examples, network synchronization device 312 may be configured to provide outgoing data frame 381 in response to determining that timing frame 384 is a valid timing frame. For example, network synchronization device 312 may receive an indication of sensed attributes from a sensor at a first time. Network synchronization device 312 may be configured to store the indication of sensed attributes at memory 330. Matched filter 316 may be configured to receive and verify timing frame 384 at a second time. Matched filter 316 may be configured to provide a trigger 375 to framer 318 indicating that timing frame 384 has been verified, at which point outgoing data frame 381 may be provided to switch 306 at interface 302 facing the switch. Memory 330 may be any suitable form of memory, including, as non-limiting examples, volatile data memory (e.g., random access memory (RAM)) and non-volatile data memory (e.g., flash memory, hard disk drive, solid-state drive, erasable programmable read-only memory (EPROM)).

[0067] Additionally or alternatively, in various examples, the matched filter 316 may be configured to generate an event 385 for a specific element, for example, in response to a received timing frame 384 indicating the element. For example, if the matched filter 316 determines that the first received timing frame 384A includes first element information 338A indicating a specific actuator in actuator 310, the matched filter 316 may be configured to generate an event 385A for the specific actuator in actuator 310. And if the matched filter 316 determines that the second received timing frame 384B includes second element information 338B indicating a specific sensor in sensor 308, the matched filter 316 may be configured to generate an event 385B for the specific sensor in sensor 308. As a non-limiting example, generating an event 385 for a specific element may include providing an event 385 to the specific element.

[0068] The network synchronization device 312 can be configured to communicate with the sensor 308 or the actuator 310 via an edge-oriented interface 320. The edge-oriented interface 320 may include one or more buses, serial communication ports, or other suitable ports for communication coupling between the network synchronization device 312 and the sensor 308 and actuator 310. The edge-oriented interface 320 may include an event exchange architecture 332 and can be configured to provide specific events 385 to specific elements 336, for example, via direct connection or via addressing signals at bus 342.

[0069] An analog-to-digital converter (ADC) 324 may be present between sensor 308 and edge-oriented interface 320. ADC 324 may be configured to convert an analog indication (e.g., reading 387) of a sensed attribute from sensor 308 into a digital signal suitable for transmission to network synchronization device 312 via edge-oriented interface 320. In various examples, ADC 324 may be part of sensor 308. In other examples, ADC 324 may be part of edge-oriented interface 320. The output of ADC 324 is transmitted via edge-oriented interface 320 to framer 318, which inserts the output of ADC 324 (i.e., a converted indication of the sensed attribute (e.g., digitized reading 389)) into a data frame for transmission.

[0070] A digital-to-analog converter (DAC) 326 may be present between the actuator 310 and the edge-facing interface 320. The DAC 326 may be configured to convert the digital output from the edge-facing interface 320 into an analog signal suitable for operation by the actuator 310. For example, the DAC 326 may convert the digital value of the control signal 386 (e.g., from...) into an analog signal. Figure 2The controller 202 receives data (incoming data frames intended for use by the actuator 310) and converts it into an analog signal 388, which enables the actuator 310 to operate according to a control signal. In various examples, the DAC 326 may be part of the actuator 310. In other examples, the DAC 326 may be part of an edge-facing interface 320.

[0071] The framer 318 may be configured to receive a transition indication (e.g., a digitized reading 389) of a sensed attribute from the sensor 308 (e.g., via the ADC 324 and the edge-facing interface 320), and format the transition indication of the sensed attribute for communication at the switch-facing interface 302. For example, the framer 318 may be configured to receive an indication of a sensed attribute (e.g., a digitized reading 389 from the sensor 308) and frame the data indicating the sensed attribute into outgoing data frames (e.g., Ethernet frames). The framer 318 may provide outgoing data frames 381 to the switch-facing interface 302.

[0072] Additionally or optionally, the framer 318 may be configured to receive signals from the switch-facing interface 302 (which may already be controlled by a controller, e.g., Figure 2 The controller 202 generates and receives the incoming data frame 382, ​​and provides a control signal 386 to the actuator 310 based on the incoming data frame 382. In various examples, the control signal 386 may include one or more indications of an operation to be performed by the actuator or an indication of the extent to which an operation is performed. In various examples, the control signal 386 may be configured to be used directly by the actuator 310, for example, after digital-to-analog conversion, or without digital-to-analog conversion, in either case without additional processing.

[0073] In various examples, for instance, a control signal 386 generated in response to an incoming data frame 382 may be delayed, for example, to correspond to the generation of event 385 (e.g., in response to the reception or verification of timing frame 384). For example, framer 318 may receive the incoming data frame 382 at a first time. Framer 318 may generate control signal 386 in response to the incoming data frame at the first time. Control signal 386 may be stored in memory 330. Matched filter 316 may receive and verify timing frame 384 at a second time. At the second time, matched filter 318 may provide trigger 375 to framer 318, and in response, framer 318 may provide control signal 386 to actuator 310. In various examples, framer 318 or edge-oriented interface 320 may not delay control signal 386; instead, actuator 310 may be configured to delay action and operate only based on control signal 386 in response to event 385.

[0074] Figure 4 This is a functional block diagram illustrating an exemplary system 400 including a network synchronization device 414 according to one or more examples of this disclosure. Specifically, Figure 4 A network synchronization device 414 is shown that is communicatively coupled to a switch 406 and includes a sensor 408 or an actuator 410, or alternatively includes both a sensor 408 and an actuator 410. The network synchronization device 414 includes a switch-facing interface 402, a matched filter 416 at a link layer 434, a framer 418, a memory 430, and one or more elements, such as the sensor 408 or the actuator 410.

[0075] Network synchronization device 414 can be configured to provide sensor 408 or actuator 410 with (e.g., Figure 1 Synchronization between one or more other components of the network (environment 100). For example, network synchronization device 414 may be configured to receive timing frame 484, generate event 485 in response to timing frame 484, and provide the generated event 485 to one or more of sensor 408 or actuator 410. Additionally, network synchronization device 414 may be configured to provide outgoing data frame 481 in response to verification timing frame 484, for example, in response to a trigger 475 sent from matched filter 416 to framer 418 in response to verification timing frame 484 by matched filter 416. The reception of timing frame 384 and the provision of event 485 or outgoing data frame 481 allow sensor 408 or actuator 310 to synchronize with (e.g., Figure 1 Synchronization between other components in a larger network or system (e.g., environment 100).

[0076] Switch 406 can be Figure 2 Example of switch 206. Switch 406 can be configured to receive at least incoming data frames 482 (e.g., via...). Figure 2 204 error from the network Figure 2 The controller 202) and timing frames 484 (e.g., Ethernet frames configured as timing frames) are provided to the network synchronization device 414. The switch 406 can be configured to receive outgoing data frames 481 from the network synchronization device 414, and can be configured to... Figure 2 Network 204 will transmit data frame 481 to the controller (e.g., Figure 2(Controller 202). Additionally, switch 406 may be configured to provide timing frames 484 to network synchronization device 414 at regular intervals. Furthermore, in various examples, switch 406 may be configured to provide timing frames 484 that include component information 438 indicating a specific component (e.g., a sensor or actuator). For example, a first timing frame 484A may include first component information 438A, and a second timing frame 484B may include second component information 438B.

[0077] Sensor 408 can be Figure 1 An example of sensor 108. Actuator 410 may be Figure 1 Example of actuator 110.

[0078] The switch-oriented interface 402 may be an interface of the network synchronization device 414, such as an Ethernet port configured to send and receive signals. The switch-oriented interface may include a switching architecture (not shown) or a classifier (not shown). The switch-oriented interface 402 may be configured to receive incoming frames (e.g., Ethernet frames), including incoming data frames 482 and timing frames 484 (e.g., from switch 306), and to provide the incoming data frames 482 to the framer 418 and the timing frames 484 to the matched filter 416. The switch-oriented interface 402 may be configured to receive outgoing data frames 481 (e.g., from framer 418) and to provide outgoing data frames 481 to switch 306.

[0079] Matched filter 416 may be configured to verify timing frames 484. For example, matched filter 416 may be configured to receive timing frames 484 from a switch-facing interface 402 and determine whether each of the timing frames 484 is a valid timing frame. For example, matched filter 416 may include timing frame definition 422. Matched filter 416 may be configured to compare timing frames 484 with timing frame definition 422 to determine whether each of the timing frames 484 is a valid timing frame. Matched filter 416 may include any suitable logic (e.g., a digital filter) configured to determine whether timing frames 484 are valid timing frames. The comparison of timing frames 484 with timing frame definition 422 may include, for example, comparing identification information 479 in the header of timing frame 484 with identification information 477 in timing frame definition 422. For example, one or more of the following can be compared with the identification information 477 of the timing frame definition 422: the source Media Access Control (MAC) address, VLAN tag (e.g., according to IEEE 802.1Q), or EtherType tag of the timing frame 484. Additionally or alternatively, identification information 479 found in one or more bits of the payload of the timing frame 484 can be compared with identification information 477 to determine whether the timing frame 484 is a valid timing frame. As shown, in various non-limiting examples, the matched filter 416 can operate at the link layer 434 of the network synchronization device 414.

[0080] Additionally, in various examples, the matched filter 416 may be configured to provide event 485 to a specific element, such as actuator 410 or sensor 408, in response to element information 438 in timing frame 484. For example, the matched filter 416 may be configured to compare element information 438 (e.g., bits in the header or payload) in timing frame 484 with timing frame definition 422 to determine which of the two actuators, sensor 408 or actuator 410, is indicated by timing frame 484. For example, if the matched filter 416 determines that the first received timing frame 484A includes first element information 438A indicating a specific actuator in actuator 410, then the matched filter 416 may be configured to generate event 485A for the specific actuator in actuator 410. And if the matched filter 416 determines that the second received timing frame 484B includes second element information 438B indicating a specific sensor in sensor 408, then the matched filter 416 may be configured to generate event 485B for the specific sensor in sensor 408. As a non-limiting example, generating event 485 for a specific element may include providing event 485 to the specific element.

[0081] Additionally, in various examples, network synchronization device 414 may be configured to provide outgoing data frame 481 in response to a verification timing frame 484, such as a trigger 475 sent from matched filter 416 to framer 418 in response to a verification timing frame 484 by matched filter 416. The reception of timing frame 484 and the provision of event 485 and / or outgoing data frame 481 may allow synchronization between sensor 408 or actuator 410 and other devices or components.

[0082] As indicated, switch 406 can be Figure 2 Example of switch 206, and can be as above relative to Figure 2 or Figure 3 It functions as described. As indicated, sensor 408 can be Figure 1 An example of sensor 108, and can be as described above relative to... Figure 1 or Figure 3 It functions as described. As indicated, actuator 410 can be Figure 1 An example of actuator 110, and can be as described above relative to... Figure 1 or Figure 3 It works as described.

[0083] The 402 interface for switches can be used with Figure 3 The interface 302 facing the switch is the same as or substantially similar to it, and can be as described above relative to... Figure 3 It works as described. The matched filter 416 can be used with Figure 3 The matched filter 316 is the same as or substantially similar to it, and can be used as described above relative to... Figure 3 It works as described. Timing frame definition 422 can be used with... Figure 3 The timing frame definition is the same as or substantially similar to 322, and can be as described above relative to... Figure 3 It functions as described. The framer 418 can be used with... Figure 3 The framing unit 318 is the same as or substantially similar to the above, and can be as described above relative to... Figure 3 It functions as described. The memory 430 can be used with... Figure 3 The memory 330 is the same as or substantially similar to the memory described above, and can be as described above relative to the memory 330. Figure 3 It works as described. The event switching architecture 432 can be used with... Figure 3 The event switching architecture is the same as or substantially similar to 332, and can be as described above relative to... Figure 3 It functions as described. Bus 442 can be used with... Figure 3 The bus 342 is the same as or substantially similar to the bus 342, and can be as described above relative to the bus 342. Figure 3 It works as described. The ADC 424 can be used with... Figure 3The ADC 324 is the same as or substantially similar to it, and can be compared to the above. Figure 3 It functions as described above, except that the ADC 424 can be part of or included in the network synchronization device 414. The DAC 426 can be... Figure 3 The DAC 326 is the same as or substantially similar to it, and can be compared to the above. Figure 3 It works as described, except that DAC 426 can be part of or included in network synchronization device 414.

[0084] Figure 3 Network synchronization device 312 and Figure 4 The difference between the network synchronization devices 414 and 312 is that the network synchronization device 414 includes elements therein, such as one or more sensors 408 or actuators 410, while the network synchronization device 312 is configured to communicate with one or more external elements, such as sensors 308 or actuators 310.

[0085] Figure 5 This is a flowchart illustrating an exemplary method 500 of operating a synchronization element according to one or more examples of this disclosure. Network synchronization device 112, Figure 1 Network synchronization device 114 Figure 3 Network synchronization device 312 and Figure 4 One or more of the network synchronization devices 414 may be configured to perform one or more of the operations described herein with respect to method 500.

[0086] At box 502, frames (e.g., Ethernet frames) can be received at regular intervals at the device's port. These frames may include timed frames. They can be received from, for example, a switch (e.g., as described above relative to...). Figure 2 The switch 206 receives frames. The switch can be configured to generate timed frames at regular intervals.

[0087] At box 504, it can be determined whether a frame in the received frame is a timing frame. For example, a comparison can be made between the received frame and a timing frame definition. This comparison may include comparing at least a portion of the header of the received frame with the timing frame definition. In various examples, this can be achieved by a matched filter (e.g., Figure 3 Matched filter 316 or Figure 4 The matched filter 416 is compared with the matched filter 416.

[0088] At box 506, an event can be generated at the device in response to confirmation that the received frame is a timing frame. In various examples, the event can be generated by a matched filter used for comparison.

[0089] In optional box 508, an event can be provided to the sensor, and in response to the event, an attribute can be sensed at the sensor. In optional box 510, a data frame can be generated and transmitted (e.g., transmitted to a switch, for example). Figure 2 (Switch 206). Data frames can indicate attributes sensed at box 508.

[0090] At optional box 516, an attribute can be sensed. At optional box 518, in response to the event (or, in response to determining that the received frame is a timing frame), a data frame indicating the sensed attribute can be provided (e.g., provided to a switch, for example). Figure 2 Switch 206).

[0091] At optional block 522, in response to determining that the received frame is a timing frame, an event can be provided to the actuator. This event can cause the actuator to operate (e.g., induce movement). In various examples, the operation can be based on control signals from previously received data frames. For example, the degree of actuator operation can be indicated by an event and based on control signals. In some examples, control signals can be provided to the actuator before the event, and the actuator can be configured to operate only after the actuator receives the event.

[0092] At box 524, in response to the event, the actuator can be operated, for example, the actuator can cause movement, but is not limited to this.

[0093] Figure 6 This is a flowchart illustrating an exemplary method 600 of operating a synchronization element according to one or more examples of this disclosure. Network synchronization device 112, Figure 1 Network synchronization device 114 Figure 3 Network synchronization device 312 and Figure 4 One or more of the network synchronization devices 414 may be configured to perform one or more of the operations described herein with respect to method 600.

[0094] At box 602, frames (e.g., Ethernet frames) can be received.

[0095] At box 604, it can be determined that the received frame is a timing frame. This determination can be based on a comparison between at least a portion of the received frame and a timing frame definition. For example, at least a portion of the header or payload of the received frame can be compared with at least a portion of the timing frame definition.

[0096] At box 606, an event can be generated in response to determining that the received frame is a timing frame.

[0097] At box 608, in response to the event, one or more of the following can be performed: the property can be sensed, an indication of the previously sensed property can be provided, or the actuator can be operated.

[0098] Figure 7 This is a flowchart illustrating an exemplary method for synchronizing the operation of components in a network according to one or more examples of this disclosure. Network synchronization device 112, Figure 1 Network synchronization device 114 Figure 3 Network synchronization device 312 and Figure 4 One or more of the network synchronization devices 414 may be configured to perform one or more of the operations described herein with respect to method 700. Specifically, in various embodiments, Figure 3 Matched filter 316 or Figure 4 The matched filter 416 can be configured to perform one or more of the operations described herein with respect to method 700.

[0099] At optional box 702, the first received information of the first received timing frame can be compared with the first defined information associated with the first element. The first timing frame may have already been generated at the network switch.

[0100] At box 704, in response to the relationship between the first received information and the first defined information, a first event can be generated for the first element.

[0101] At optional box 706, the second received information of the second received timing frame can be compared with the second definition information associated with the second element. The second timing frame may have already been generated at the network switch.

[0102] At box 708, in response to the relationship between the second received information and the second defined information, a second event can be generated for the second element.

[0103] Figure 9 This is a flowchart of an exemplary method for generating timing frames in a network, according to one or more examples of this disclosure. Figure 1 106 switches Figure 2 Switch 206 Figure 3 Switch 306 and Figure 4 One or more of the switches 406 may be configured to perform one or more of the operations described herein with respect to method 900.

[0104] At box 902, the internal clock can be synchronized at least in part in response to the received timing signal.

[0105] At box 904, timing frames can be generated at regular intervals. Each timing frame may include one or both of the following: identification information indicating that the timing frame is a timing frame and element information associated with the element. Figure 3 Identification information 379 and Figure 4 Identification information 379 is an example of identification information in method 900. Figure 3 Component information 338 and Figure 4 Component information 438 is an example of information associated with a component in method 900.

[0106] Figure 10 This is a block diagram of an exemplary device 1000, which, in various examples, can be used to implement the various functions, operations, actions, processes, or methods disclosed herein. Device 1000 includes, but is not limited to, one or more processors 1002 (sometimes referred to herein as "processor 1002") operably coupled to one or more means such as a data storage device (sometimes referred to herein as "storage device 1004"). Storage device 1004 includes machine-executable code 1006 stored thereon (e.g., stored on a computer-readable storage medium), and processor 1002 includes logic circuitry 1008. Machine-executable code 1006 includes information describing functional elements that can be implemented (e.g., executed by) the logic circuitry 1008. Logic circuitry 1008 is adapted to implement (e.g., execute) the functional elements described by machine-executable code 1006. When executing the functional elements described by machine-executable code 1006, device 1000 should be considered as dedicated hardware configured to execute the functional elements disclosed herein. In various examples, processor 1002 may be configured to execute the functional elements described by machine executable code 1006 sequentially, simultaneously (e.g., on one or more different hardware platforms), or in one or more parallel process flows.

[0107] When implemented by the logic circuitry 1008 of the processor 1002, the machine-executable code 1006 is configured to adapt the processor 1002 to perform the operations of the examples disclosed herein. For example, the machine-executable code 1006 may be configured to adapt the processor 1002 to perform... Figure 5 Method 500, at least some or all Figure 6 Method 600, in part or in whole, or Figure 7 Method 700 may be a part or all of it. As another example, machine-executable code 1006 may be configured to adapt processor 1002 to execute code targeting... Figure 2 The system 200 discusses at least some or all of the operations, and more specifically, regarding Figure 2The operation discussed refers to the switch 206 (e.g., internal clock source 216, frame generator 218, or switching logic 224, but not limited to this). As another example, machine-executable code 1006 may be configured to adapt processor 1002 to perform operations targeting... Figure 3 The system 300 discusses at least some or all of the operations, and more specifically, regarding Figure 3 The network synchronization device 312 (e.g., matched filter 316 or framer 318, but not limited thereto) discusses the operation. As another example, machine-executable code 1006 may be configured to adapt processor 1002 to perform operations targeting... Figure 4 The system 400 discusses at least some or all of the operations, and more specifically, regarding Figure 4 The operation of the network synchronization device 414 (e.g., matched filter 416 or framer 418, but not limited to) is discussed.

[0108] Processor 1002 may include a general-purpose processor, a special-purpose processor, a central processing unit (CPU), a microcontroller, a programmable logic controller (PLC), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, other programmable devices, or any combination thereof designed to perform the functions disclosed herein. A general-purpose computer including a processor is considered a special-purpose computer when configured to execute computational instructions (e.g., software code) relevant to the examples of this disclosure. It should be noted that a general-purpose processor (also referred to herein as a host processor or simply host) may be a microprocessor, but alternatively, processor 1002 may include any conventional processor, controller, microcontroller, or state machine. Processor 1002 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.

[0109] In various examples, storage device 1004 includes volatile data storage devices (e.g., random access memory (RAM)), non-volatile data storage devices (e.g., flash memory, hard disk drive, solid-state drive, erasable programmable read-only memory (EPROM), but not limited thereto). In various examples, processor 1002 and storage device 1004 may be implemented as a single device (e.g., semiconductor device product, system-on-a-chip (SoC), but not limited thereto). In various examples, processor 1002 and storage device 1004 may be implemented as a separate device.

[0110] In various examples, the machine-executable code 1006 may include computer-readable instructions (e.g., software code, firmware code). As a non-limiting example, the computer-readable instructions may be stored in storage device 1004, directly accessed by processor 1002, and executed by processor 1002 using at least logic circuitry 1008. Also as a non-limiting example, the computer-readable instructions may be stored on storage device 1004, transferred to a memory device (not shown) for execution, and executed by processor 1002 using at least logic circuitry 1008. Therefore, in various examples, logic circuitry 1008 includes electrically configurable logic circuitry.

[0111] In various examples, machine-executable code 1006 can describe the hardware (e.g., circuitry) to be implemented in logic circuitry 1008 to perform functional elements. This hardware can be described from any of a range of abstraction levels, from low-level transistor layout to high-level description languages. At high-level abstraction, hardware description languages ​​(HDLs), such as the IEEE standard hardware description language (HDL), can be used without limitation. As a non-limiting example, Verilog can be used. TM SystemVerilog TM Or Very Large Scale Integration (VLSI) Hardware Description Language (VHDL) TM ).

[0112] HDL descriptions can be transformed into descriptions at any of a variety of other levels of abstraction as needed. As a non-limiting example, a high-level description can be transformed into a logic-level description such as Register Transfer Language (RTL), Gate-level (GL) description, layout-level description, or mask-level description. As a non-limiting example, micro-operations to be performed by the hardware logic circuitry of logic circuitry 1008 (e.g., gates, flip-flops, registers, but not limited thereto) can be described in RTL and then transformed into a GL description by a synthesis tool, and the GL description can be transformed into a layout-level description by placement and routing tools, which corresponds to the physical layout of an integrated circuit, discrete gate or transistor logic, discrete hardware components, or combinations thereof of a programmable logic device. Therefore, in various examples, machine-executable code 1006 can include HDL, RTL, GL descriptions, mask-level descriptions, other hardware descriptions, or any combination thereof.

[0113] In an example where machine executable code 1006 includes a hardware description (at any level of abstraction), a system (not shown, but including storage device 1004) may be configured to implement the hardware description described by machine executable code 1006. As a non-limiting example, processor 1002 may include a programmable logic device (e.g., an FPGA or PLC), and logic circuitry 1008 may be electrically controlled to implement circuitry corresponding to the hardware description into logic circuitry 1008. Also as a non-limiting example, logic circuitry 1008 may include hardwired logic manufactured by a manufacturing system (not shown, but including storage device 1004) according to the hardware description of machine executable code 1006.

[0114] Regardless of whether the machine-executable code 1006 includes computer-readable instructions or a hardware description, the logic circuit 1008 is adapted to execute the functional elements described by the machine-executable code 1006 when implementing the functional elements of the machine-executable code 1006. It should be noted that although the hardware description may not directly describe the functional elements, it indirectly describes the functional elements that the hardware elements described by the hardware description can execute.

[0115] Any reference to elements in this document using names such as “first”, “second”, etc., does not limit the number or order of those elements unless such limitation is explicitly stated. Rather, these names may be used herein as a convenient way to distinguish between two or more elements or instances of elements. Thus, referring to a first element and a second element does not imply that only two elements can be used there, or that the first element must somehow precede the second element. Furthermore, unless otherwise specified, a group of elements may include one or more elements.

[0116] As used herein, the term "substantially" refers to and includes the degree to which a given parameter, attribute, or condition is satisfied with a small degree of variance, such as, for example, within acceptable manufacturing tolerances. By way of example, depending on the specific parameter, attribute, or condition that is substantially satisfied, it may be satisfied at least 90%, at least 95%, or even at least 99%.

[0117] As used in this disclosure, the terms "module" or "component" can refer to a specific hardware implementation configured to perform actions of a module or component and / or software object or software routine that can be stored on and / or executed by general-purpose hardware (e.g., computer-readable media, processing devices, etc.) of a computing system. In various examples, the different components, modules, engines, and services described in this disclosure can be implemented as objects or processes (e.g., as separate threads) that execute on a computing system. While some of the systems and methods described in this disclosure are generally described as being implemented in software (stored on and / or executed by general-purpose hardware), specific hardware implementations or combinations of software and specific hardware implementations are also possible and contemplated.

[0118] As used in this disclosure, the term "combination" referring to multiple elements can include any combination of all elements or any combination of various different sub-combinations of certain elements. For example, the phrase "A, B, C, D or combinations thereof" can refer to any one of A, B, C, or D; a combination of each of A, B, C, and D; and any sub-combination of A, B, C, or D, such as A, B, and C; A, B, and D; A, C, and D; B, C, and D; A and B; A and C; A and D; B and C; B and D; or C and D.

[0119] Terms used in this disclosure, and especially in the appended claims (e.g., the body of the appended claims), are generally intended to be “open” terms (e.g., the term “comprising” should be interpreted as “including but not limited to”, the term “having” should be interpreted as “at least having”, the term “comprising” should be interpreted as “including but not limited to”, etc.).

[0120] Furthermore, if a specific number of introduced claim statements are anticipated, such an intent will be explicitly stated in the claims, and without such statements, no such intent exists. For example, to aid understanding, the appended claims may contain the use of introductory phrases “at least one” and “one or more” to introduce claim statements. However, the use of such phrases should not be construed as implying that a claim statement introduced by the indefinite article “a” or “an” limits any particular claim containing such an introduced claim statement to an example containing only one such statement, even when the same claim includes the introductory phrase “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and / or “an” can be interpreted as referring to “at least one” or “one or more”); the same applies to the use of definite articles to introduce claim statements.

[0121] Furthermore, even when specific numbers of the introduced claim statements are explicitly listed, those skilled in the art will recognize that such statements should be interpreted as referring to at least the number listed (e.g., in the absence of other modifiers, the basic statement of "two statements" means at least two statements or two or more statements). Moreover, in cases where conventions such as "at least one of A, B, and C" or "one or more of A, B, and C" are used, such constructions are generally intended to include only A, only B, only C, both A and B, both A and C, both B and C, or all three A, B, and C, etc.

[0122] Furthermore, any separate word or phrase presenting two or more alternative terms in the specification, claims, or drawings should be understood to include the possibility of including one term, any one term, or both terms. For example, the phrase "A or B" should be understood to include the possibility of including "A" or "B" or "A and B".

[0123] Additional non-limiting examples of this disclosure may include:

[0124] Example 1. A network synchronization device, comprising: a matched filter configured to generate, at least partially, events for synchronizing the operation of elements of a network in response to information included in a timing frame generated at a network switch, wherein the events for synchronizing the operation of elements include a first event generated at least partially in response to first information associated with a first element and a second event generated at least partially in response to second information associated with a second element.

[0125] Example 2. The network synchronization device according to Example 1, wherein a matched filter is provided at the link layer of the network synchronization device.

[0126] Example 3. A network synchronization device according to any one of Examples 1 to 2, wherein each of the first element and the second element includes an edge element communicatively coupled to the network synchronization device.

[0127] Example 4. A network synchronization device according to any one of Examples 1 to 3, comprising a first element and a second element.

[0128] Example 5. A network synchronization device according to any one of Examples 1 to 4, wherein at least one timing frame in the timing frames includes one or more of first information and second information.

[0129] Example 6. A network synchronization device according to any one of Examples 1 to 5, wherein the matched filter is configured to: generate a first event at least in part in response to receiving a first timing frame including first information; and generate a second event at least in part in response to receiving a second timing frame including second information.

[0130] Example 7. A network synchronization device according to any one of Examples 1 to 6, wherein the matched filter further includes a timing frame definition containing first information and second information, and the matched filter is configured to determine whether the received timing frame includes one or more of the first information and the second information in response to observing the relationship between the received timing frame and the timing frame definition.

[0131] Example 8. A network synchronization device according to any one of Examples 1 to 7, wherein the first event includes an operation instruction for a first element, and the second event includes an operation instruction for a second element.

[0132] Example 9. A network synchronization device according to any one of Examples 1 to 8, wherein each timing frame in the timing frame includes identification information indicating that the timing frame is a timing frame.

[0133] Example 10. The network synchronization device according to Example 9, wherein the matched filter is configured to determine whether the received frame is a timing frame in response at least in part to the presence or absence of identification information in the received frame.

[0134] Example 11. A network synchronization device according to any one of Examples 1 to 10, comprising a framer configured to generate data frames indicating attributes sensed by a sensor of a first element.

[0135] Example 12. A network synchronization device according to any one of Examples 1 to 11, comprising a framer configured to generate control signals indicating an operation to be performed by an actuator of a first element.

[0136] Example 13. A system comprising: a network switch configured to generate timing frames; and a network synchronization device comprising: a matched filter configured to generate events for synchronizing the operation of elements of a network, at least partially in response to information included in the timing frames, wherein the events for synchronizing the operation of the elements include a first event generated at least partially in response to first information associated with a first element and a second event generated at least partially in response to second information associated with a second element.

[0137] Example 14. The system according to Example 13, wherein the network switch is configured to generate timing frames to include one or more of first information and second information.

[0138] Example 15. The system according to any one of Examples 13 to 14, wherein the network switch is configured to generate timing frames at regular intervals.

[0139] Example 16. The system according to any one of Examples 13 to 15, wherein the network switch is configured to synchronize an internal clock in at least a partial response to a received timing signal.

[0140] Example 17. The system according to any one of Examples 13 to 16, wherein the network switch is configured to generate each timing frame in the timing frames to include identification information indicating that the timing frame is a timing frame.

[0141] Example 18. The system according to Example 17, wherein the identification information is included in the header of the timing frame.

[0142] Example 19. The system according to any one of Examples 17 to 18, wherein the timing frame is an Ethernet frame, and identification information is included in each Ethernet frame of one or more of the following: source media access control address, virtual LAN tag, or EtherType tag.

[0143] Example 20. The system according to any one of Examples 17 to 19, wherein identification information is included in the payload of the timing frame.

[0144] Example 21. A system comprising: a first element; a second element; and a network synchronization device, the network synchronization device comprising: a matched filter configured to generate, at least partially in response to information included in a timing frame generated at a network switch, events for synchronizing the operation of the elements of the network, wherein the events for synchronizing the operation of the elements include a first event generated at least partially in response to first information associated with the first element and a second event generated at least partially in response to second information associated with the second element.

[0145] Example 22. The system according to Example 21, wherein the first element is a sensor configured to sense an attribute in response to a first event.

[0146] Example 23. The system according to any one of Examples 21 to 22, wherein the first element is a sensor configured to provide a reading indicating the sensed attribute in response to a first event.

[0147] Example 24. The system according to any one of Examples 21 to 23, wherein the first element is a sensor configured to sense an attribute and provide a reading indicating the sensed attribute to a network synchronization device, and the network synchronization device is configured to generate a data frame based on the reading in at least part of response to receiving a timing frame.

[0148] Example 25. The system according to any one of Examples 21 to 24, wherein the first element is an actuator configured to operate at least in part in response to a first event.

[0149] Example 26. The system according to any one of Examples 21 to 25, wherein the first element is an actuator configured to operate at least in part in response to a first event in accordance with a previously received control signal.

[0150] Example 27. A method for synchronizing the operation of elements in a network, the method comprising: comparing first received information of a first received timing frame with first definition information associated with a first element, the first timing frame being generated at a network switch; generating a first event for the first element in response to observing a relationship between the first received information and the first definition information; comparing second received information of a second received timing frame with second definition information associated with a second element, the second timing frame being generated at a network switch; and generating a second event for the second element in response to observing a relationship between the second received information and the second definition information.

[0151] While this disclosure describes the invention with respect to certain illustrated examples, those skilled in the art will recognize and understand that the invention is not limited thereto. Rather, many additions, deletions, and modifications may be made to the illustrated examples and the examples themselves without departing from the scope of the invention as claimed below and its legal equivalents. Furthermore, features from one example may be combined with features from another example while still being included within the scope of the invention as contemplated by the inventors.

Claims

1. A network synchronization device, comprising: Matched filter, the matched filter being configured as follows: The validity of a timing frame is determined by comparing the identification information included in the timing frame generated by the network switch with the identification information in the timing frame definition. Determine which network components are indicated by the valid timing frame; as well as Generate events for synchronizing the operation of these components in the network.

2. The network synchronization device according to claim 1, wherein the matched filter is provided at the link layer of the network synchronization device.

3. The network synchronization device of claim 1, wherein the elements of the network include edge elements communicatively coupled to the network synchronization device.

4. The network synchronization device according to claim 1, wherein the network synchronization device includes the elements of the network.

5. The network synchronization device according to claim 1, wherein the matched filter is configured as follows: The first event in the events is generated at least in part in response to the identification information included in the first timing frame; and The second event in the event is generated in at least part of the response to the identification information included in the second timing frame.

6. The network synchronization device of claim 1, wherein the corresponding event in the event includes an operation instruction for the corresponding element of the elements of the network.

7. The network synchronization device according to claim 1, wherein each timing frame in the timing frames includes identification information indicating that the timing frame is a timing frame.

8. The network synchronization device of claim 7, wherein the matched filter is configured to determine whether a received frame is a timing frame in response at least in part to the presence or absence of the identification information in the received frame.

9. The network synchronization device of claim 1, further comprising a framer configured to generate data frames indicating attributes sensed by a sensor of one of the elements of the network.

10. The network synchronization device of claim 1, further comprising a framer configured to generate control signals instructing an actuator of one of the elements of the network to perform an operation.

11. A system comprising: A network switch configured to generate timed frames; and Network synchronization device, the network synchronization device comprising: Matched filter, the matched filter being configured as follows: The timing frame is determined to be a valid timing frame by comparing the identification information included in the timing frame with the identification information in the timing frame definition. Determine which network components are indicated by the valid timing frame; as well as Generate events for synchronizing the operation of these components in the network.

12. The system of claim 11, wherein the network switch is configured to generate the timing frames at regular intervals.

13. The system of claim 11, wherein the network switch is configured to synchronize an internal clock in at least a portion of response to a received timing signal.

14. The system of claim 11, wherein each of the timing frames is generated to include identification information indicating that the timing frame is a timing frame.

15. The system of claim 14, wherein the identification information is included in the header of the timing frame.

16. The system of claim 14, wherein the timing frame is an Ethernet frame, and the identification information includes one or more of the following: a source media access control address, a virtual LAN tag, or an EtherType tag.

17. The system of claim 14, wherein the identification information is included in the payload of the timing frame.

18. A system comprising: The network comprises elements, including a first element and a second element; and Network synchronization device, the network synchronization device comprising: Matched filter, the matched filter being configured as follows: The validity of a timing frame is determined by comparing the identification information included in the timing frame generated by the network switch with the identification information in the timing frame definition. Determine which elements of the network are indicated by the valid timing frame; and Generate an event to synchronize the operations of the first element and the second element.

19. The system of claim 18, wherein the first element is a sensor configured to sense an attribute in response to one of the generated events.

20. The system of claim 18, wherein the first element is a sensor configured to provide a reading indicating the sensed attribute in response to one of the generated events.

21. The system of claim 18, wherein the first element is a sensor configured to sense an attribute and provide a reading indicating the sensed attribute to the network synchronization device, and the network synchronization device is configured to generate a data frame based on the reading in at least part of response to receiving a valid timing frame.

22. The system of claim 18, wherein the first element is an actuator configured to operate at least in part in response to one of the generated events.

23. The system of claim 18, wherein the first element is an actuator configured to operate in response at least in part to one of the generated events in accordance with a previously received control signal.