Single-wire bidirectional serial communication

A microcontroller-based solution with IO and OI ports via DMA channel addresses limitations in existing protocols by enabling high-speed, low-latency single-wire bidirectional communication for connected lighting devices, facilitating efficient network management and control.

WO2026046858A1PCT designated stage Publication Date: 2026-03-05SIGNIFY HOLDING BV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/073988
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-09
Filing Date
2025-08-22
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing networking protocols for connected lighting devices, such as DMX, Ethernet-based protocols, and wireless technologies like Bluetooth and Wi-Fi, face limitations in cost, reliability, and complexity, particularly in bidirectional communication and device addressing, especially in single-wire and bi-wire configurations.

Method used

Implementing a microcontroller with IO and OI ports connected via a DMA channel, allowing for high-speed, low-latency single-wire bidirectional serial communication by switching between downstream, upstream, and slave-master modes to facilitate device addressing, light data programming, and unicast commands.

Benefits of technology

Enables efficient, flexible, and cost-effective bidirectional communication with low latency, allowing centralized control and real-time monitoring of large networks of lighting devices with reduced infrastructure changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025073988_05032026_PF_FP_ABST
    Figure EP2025073988_05032026_PF_FP_ABST
Patent Text Reader

Abstract

A network device comprising a microcontroller is provided. The microcontroller has an IO port configured to be coupled to an upstream device. The microcontroller also has an OI port configured to be coupled to a downstream device. The microcontroller is configured to parse input data to derive a network command. The microcontroller is further configured implement one of a plurality of connection modes based on the network command. The connection modes comprise an upstream mode, a downstream mode, and a slave-master mode. The microcontroller is further configured to generate output data based on at least the input data and the connection mode. The microcontroller is further configured to transmit, based on the connection mode, the output data to the upstream device or downstream device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] 2024PF80024

[0002] 1

[0003] SINGLE-WIRE BIDIRECTIONAL SERIAL COMMUNICATION

[0004] FIELD OF THE INVENTION

[0005] The present disclosure is generally directed to connected electronic devices, and, more particularly, to implementing single-wire bidirectional serial communication between connected devices, such as lighting devices.

[0006] BACKGROUND OF THE INVENTION

[0007] Electronic devices can be connected together into a network for a wide variety of purposes. In the case of connected lighting devices including LED light sources, networking allows for centralized control of multiple light sources, enabling synchronization of lighting effects, color changes, and brightness adjustments across a large area. This is common in applications like architectural lighting, stage lighting, and large-scale displays. Furthermore, by connecting lighting devices into a network, power consumption can be optimized. For example, in a smart lighting system, LED light sources can be selectively dimmed or turned off in areas where they are not needed, reducing waste of energy. Also, networking enables real-time monitoring of light source performance and condition. By collecting data on individual LEDs or groups of LEDs, issues can be identified and addressed quickly, reducing downtime and operational costs. Further yet, lighting networks can easily scale to accommodate changes in lighting requirements. New lighting devices can be added to the network without significant infrastructure changes, making it a flexible solution for evolving environments. Advantageously, such networks can be integrated with other building automation systems, such as HVAC and security systems, to create a more cohesive and efficient building management solution.

[0008] The connection of lighting devices including LED light sources into a network typically involves the use of communication protocols such as DMX (Digital Multiplex) or Ethernet-based protocols like Art-Net or sACN (Streaming ACN). These protocols allow LED controllers or lighting consoles to communicate with individual LEDs or groups of LEDs, sending instructions for color, intensity, and other parameters over the network. Additionally, wireless technologies like Bluetooth and Wi-Fi are increasingly being used to connect LED devices, offering more flexibility in installation and control. 2024PF80024

[0009] 2

[0010] Networking protocols for coordinating communication between connected lighting devices typically fall into three categories. First, a single-wire unidirectional broadcast protocol may be used for serially connected lighting devices, such as low performance LED strings. This protocol is not able to individually address each device of the string, nor is it necessary, as the number of lighting devices may be counted by measuring currents. The reliability of the current measurements depend upon a current measuring circuit.

[0011] Second, a single-wire bidirectional data bus protocol may be used for digitally multiplexed lighting fixtures. Since the lighting devices are attached to the data bus, bidirectional communication can be implemented by sharing bus timing data. Signal fading may limit the overall run-length of the system. Further, determining relative locations of each lighting device in the system is impossible.

[0012] Third, a bi-wire bidirectional data bus protocol may be implemented with serially connected address lines. The cable between each lighting device has three data wires. Accordingly, each device then requires three interfaces for the bi-wire data bus, address in wire, and address out wire. While this protocol enables bidirectional communication, implementation cost is high, while system robustness is low.

[0013] SUMMARY OF THE INVENTION

[0014] The present disclosure is generally directed to network devices, systems, and methods for implementing high speed, low latency, single-wire bidirectional serial communication between multiple network devices implementing general purpose microcontrollers, such as connected lighting devices. The communication may be implemented to execute a number of commands, including device addressing and locating, light data programming, unicasting, and more. Each network device includes a microcontroller with an input-output (IO) port and an output-input (01) port. The IO and 01 ports may be universal asynchronous receiver / transmitter (UART) interfaces. Generally, the IO port may be connected to an upstream device, while the 01 port may be connected to a downstream device. Within the microcontroller, the IO port may be connected to the 01 port via a hardware-implemented direct memory access (DMA) channel, resulting in a low amount of delay and / or latency between the microcontroller receiving data at one port and transmitting the data at the output port. The data output by the microcontroller will have a delay of one data frame, which, depending on the data processing rate of the microcontroller, may translate to a latency of less than 50 microseconds, or even, in some examples, less than 2024PF80024

[0015] 3

[0016] 10 microseconds. This high-speed communication enables a central device to quickly program and / or gather information regarding large numbers of network devices (such as hundreds) while only using simple, general-purpose microcontrollers.

[0017] The microcontroller is configured to operate in three different modes, namely, downstream mode, upstream mode, and slave-master mode. In downstream mode, the microcontroller receives input data from an upstream device (such as a network controller or another network device) at the IO port, processes the input data (such as by implementing a lighting data command), while automatically passing the input data to the 01 port (via a DMA channel) to forward on the input data to a downstream device (such as another network device). In upstream mode, the microcontroller receives the input data from a downstream device, processes the input data, while automatically passing the input data to the IO port to forward on the input data to an upstream device. Further, also in upstream mode, the microcontroller may generate response data based on the input data and transmit the response data to the upstream device via the IO port. In slave-master mode, the microcontroller may receive input data at either the IO port or the OI port, generate response data based on the input data, and then transmit the response data via the same port. Thus, the network device acts as a slave to any upstream devices, as the network device receives commands via its IO port, and also transmits responses to the commands via its IO port. Similarly, the network device acts as a master to any downstream devices, as the network device sends commands via its OI port, and then receives responses via its OI port. The default mode of the microcontroller may be downstream mode. Switching between the downstream mode, upstream mode, and slave-master mode enables the single-wire bidirectional communication.

[0018] As an example of one of various commands which may be implemented using the aforementioned network device, the network device may be configured to implement an addressing command. The addressing command is configured to cause the various connected devices on the network to provide serial numbers and location indexes to the network controller. The serial numbers are used to identify the specific network device, while the location index indicates the relative location of the network device from the controller (i.e., how many other network devices are serially between the network device and the controller). When the network device receives the addressing command, the microcontroller of the network device is set into slave-master mode. The addressing command includes a location index indicative of the relative location of the network device receiving the addressing command. The microcontroller then retrieves a serial number from a memory, and transmits an addressing response comprising both the location index and the serial number back to the 2024PF80024

[0019] 4 upstream device via the IO port. This addressing response will be passed upstream to the network controller, thereby enabling the network controller to learn the relative location of the network device.

[0020] In order to determine the location of devices downstream of the network device, the microcontroller increments the location index and generates a second addressing command which includes the incremented location index. The microcontroller then transmits the second addressing command to the downstream device via the 01 port. After transmitting the second addressing command, the microcontroller is configured to upstream mode. This enables the microcontroller to receive downstream addressing responses from the downstream network devices and relay the responses to the network controller. The microcontroller may allow set a timer during which the microcontroller may receive and relay the downstream addressing responses. Following the expiration of the timer, the microcontroller is set back into downstream mode.

[0021] In further examples, the network device may be configured to implement a variety of broadcast configuration commands. One example of a broadcast configuration command is a light data command. Upon receiving the light data command, the microcontroller passes the light data command to one or more downstream devices. The light data command configures the network device to behave in a certain manner, such as providing a certain type or amount of illumination. However, even after processing and transmitting the light data command, the network device remains in downstream device mode.

[0022] In even further examples, the network device may be configured to implement a unicast command. In this example, four network devices may be serially connected. The first network device transmits a unicast command with a serial number corresponding to the third network device. When the second network device receives the unicast command from the first network device, the second network device passes the unicast command onto the third network device, and then changes to upstream mode to receive the response generated by the downstream device with a serial number matching the unicast command. The microcontroller of the third network device processes then unicast command via an IO firmware function and then sets the connection mode to upstream to send response data back to the upstream devices without forwarding the unicast command to the downstream devices. Further, the fourth network device, and any other network devices downstream of the third network device, will remain in downstream mode. 2024PF80024

[0023] 5

[0024] Generally, in one aspect, a network device is provided. The network device comprises a microcontroller. The microcontroller has an IO port configured to be coupled to an upstream device. The microcontroller also has an 01 port configured to be coupled to a downstream device. The microcontroller is configured to parse input data to derive a network command.

[0025] The microcontroller is further configured implement one of a plurality of connection modes based on the network command. The connection modes comprise an upstream mode, a downstream mode, and a slave-master mode.

[0026] The microcontroller is further configured to generate output data based on at least the input data and the connection mode.

[0027] The microcontroller is further configured to transmit, based on the connection mode, the output data to the upstream device or downstream device.

[0028] According to an example, when the microcontroller is configured in the downstream mode, the microcontroller is further configured to: (1) receive the input data from the upstream device via the IO port; (2) process the input data according to an IO firmware function; and (3) pass the input data from the IO port to the 01 port for transmission to the downstream device.

[0029] According to an example, when the microcontroller is configured in the upstream mode, the microcontroller is further configured to: (1) receive the input data from the downstream device via the 01 port; (2) process the input data according to an 01 firmware function; and (3) pass the input data from the 01 port to the 10 port for transmission to the upstream device.

[0030] According to an example, the microcontroller is further configured to: (1) generate response data based on the input data and an 10 firmware function; and (2) pass the response data to the 10 port for transmission to the upstream device.

[0031] According to an example, when the microcontroller is configured in the slavemaster mode, the microcontroller is further configured to: (1) receive the input data from the upstream device via the 10 port; (2) process the input data according to an 10 firmware function; (3) generate response data based on the input data and an 01 firmware function; and (4) pass the response data to the 01 port for transmission to the downstream device.

[0032] According to an example, when the microcontroller is configured in the slavemaster mode, the microcontroller is further configured to: (1) receive the input data from the downstream device via the 01 port; (2) process the input data according to an 01 firmware 2024PF80024

[0033] 6 function; (3) generate response data based on the input data and an IO firmware function; and (4) pass the response data to the IO port for transmission to the upstream device.

[0034] According to an example, the network command is an addressing command comprising a location index. The microcontroller is set to the downstream mode. The microcontroller is further configured to: (1) set the connection mode to the slave-master mode; (2) retrieve a serial number from a memory of the network device; (3) generate an addressing response comprising the serial number and the location index; and (4) transmit the addressing response to the upstream device via the IO port.

[0035] According to an example, the microcontroller is further configured to: (1) increment the location index to generate an incremented location index; (2) increment the location to generate a second addressing command, wherein the second addressing command includes the incremented location index; and (3) transmit the second addressing command to the downstream device via the 01 port.

[0036] According to an example, the microcontroller is further configured to, following the transmitting of the second addressing command, set the connection mode to the upstream mode to enable the microcontroller to receive one or more downstream addressing responses.

[0037] According to an example, the microcontroller is further configured to: (1) set a timer for the microcontroller to receive the one or more downstream addressing responses and (2) following expiration of the timer, set the connection mode to the downstream mode.

[0038] According to an example, the network command is a light data command and the microcontroller is set to the downstream mode. The microcontroller is further configured to: (1) process the light data command according to an IO firmware function; and (2) pass the light data command from the IO port to the 01 port for transmission to the downstream device.

[0039] According to an example, the network command is a unicast command corresponding to the network device and the microcontroller is set to the downstream mode. The microcontroller is further configured to: (1) process the unicast command to a first IO firmware function; (2) set the connection mode to the upstream mode; (3) generate response data based on the unicast command and a second IO firmware function; (4) transmit the response data to the upstream device via the IO port; and (5) set the connection mode to the downstream mode. 2024PF80024

[0040] 7

[0041] In some embodiments, the network device further includes one or more light sources. In some version of these embodiments, either or both of the upstream device and the downstream device is a lighting device including the one or more light sources.

[0042] According to an example, the IO port and the 01 port are single-wire halfduplex UART interfaces.

[0043] Generally, in another aspect, a method for processing input data via a microcontroller of a network device is provided. The microcontroller comprises an IO port configured to be coupled to an upstream device and an 01 port configured to be coupled to a downstream device. The method includes: (1) parsing input data to derive a network command; (2) configuring the microcontroller according one of three connection modes based on the network command, wherein the connection modes comprise an upstream mode, a downstream mode, and a slave-master mode; (3) generating output data based on at least the input data and the connection mode; and (4) transmitting, based on the connection mode, the output data to the upstream device or downstream device.

[0044] It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein. It should also be appreciated that terminology explicitly employed herein that also may appear in any disclosure incorporated by reference should be accorded a meaning most consistent with the particular concepts disclosed herein.

[0045] In various implementations, a processor or controller may be associated with one or more storage media (generically referred to herein as “memory,” e.g., volatile and non-volatile computer memory such as RAM, PROM, EPROM, EEPROM, floppy disks, compact disks, optical disks, magnetic tape, SSD, etc.). In some implementations, the storage media may be encoded with one or more programs that, when executed on one or more processors and / or controllers, perform at least some of the functions discussed herein. Various storage media may be fixed within a processor or controller or may be transportable, such that the one or more programs stored thereon can be loaded into a processor or controller so as to implement various aspects as discussed herein. The terms “program” or “computer program” are used herein in a generic sense to refer to any type of computer code (e.g., software or microcode) that can be employed to program one or more processors or controllers. 2024PF80024

[0046] 8

[0047] These and other aspects of the various embodiments will be apparent from and elucidated with reference to the embodiment s) described hereinafter.

[0048] BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the various embodiments.

[0050] FIG. l is a functional block diagram of a network device, in accordance with an example.

[0051] FIG. 2 is a functional block diagram of a network device in downstream mode, in accordance with an example.

[0052] FIG. 3 is a functional block diagram of a network device in upstream mode, in accordance with an example.

[0053] FIG. 4 is a functional block diagram of a network device in slave-master mode, in accordance with an example.

[0054] FIG. 5 is a functional block diagram of network devices implementing a light data command, in accordance with an example.

[0055] FIG. 6 is a functional block diagram of network devices implementing a unicast command, in accordance with an example.

[0056] FIG. 7 is a functional block diagram of network devices implementing an addressing command, in accordance with an example.

[0057] FIG. 8 is a functional block diagram of network devices in both serial and parallel arrangements implementing an addressing command, in accordance with an example.

[0058] FIG. 9 is a schematic view of a network device, in accordance with an example.

[0059] FIG 10 is a flowchart of a method for processing input data via a microcontroller of a network device, in accordance with an example.

[0060] DETAILED DESCRIPTION OF EMBODIMENTS

[0061] The present disclosure is generally directed network devices, systems, and methods for implementing high speed, low latency, single-wire bidirectional serial communication between multiple network devices implementing general purposes microcontrollers, such as connected lighting devices. The communication may be implemented to execute a number of commands, including device addressing and locating, 2024PF80024

[0062] 9 light data programming, unicasting, and more. Each network device includes a microcontroller with an input-output (IO) port and an output-input (01) port. Generally, the IO port may be connected to an upstream device, while the 01 port may be connected to a downstream device. Within the microcontroller, the IO port may be connected to the 01 port via a direct memory access (DMA) channel. The microcontroller is configured to operate in three different modes, namely, downstream mode, upstream mode, and slave-master mode. In downstream mode, the microcontroller receives input data from an upstream device (such as a network controller or another network device) at the IO port, processes the input data (such as by implementing a lighting data command), while passing the input data to the 01 port (via a DMA channel) to forward on the input data to a downstream device (such as another network device). In upstream mode, the microcontroller receives the input data from a downstream device, processes the input data, while passing the input data to the IO port to forward on the input data to an upstream device. Further, also in upstream mode, the microcontroller may generate response data based on the input data and transmit the response data to the upstream device via the IO port. In slave-master mode, the microcontroller may receive input data at either the IO port or the 01 port, generate response data based on the input data, and then transmit the response data via the same port. The default mode of the microcontroller may be downstream mode. Switching between the downstream mode, upstream mode, and slave-master mode enables the single-wire bidirectional communication.

[0063] Turning now to the figures, FIG. l is a functional block diagram showing aspects of a network device 10 for high speed, low latency, data processing and transmission. In the non-limiting example of FIG. 1, the network device 10 is a connected lighting device including a microcontroller 100 and light sources 200. The microcontroller 100 is a simple, general-purpose microcontroller. The light sources 200 may include one or more lightemitting diodes (LEDs). In some examples, the network device 10 may be a luminaire. In other examples, the network device 10 may be a component of a luminaire incorporating more than one network device 10. In this way, the luminaire may have several individually programmable aspects. However, in other examples, the network device 10 could be another type of device which is not configured to provide light. In these examples, the network device 10 may be any other type of device capable of bidirectionally receiving, processing, and transmitting data over a single-wire connection. In some examples, the network device 100 may be a component of a single-wire network including tens or evens hundreds serially wired devices. 2024PF80024

[0064] 10

[0065] In the example of FIG. 1, the network device 10 is configured to transmit data to and / or receive input data 106 or output data 118 from upstream device lOu and downstream device lOd. In some examples, the upstream device lOu and / or the downstream device lOd may be the same type of device as the network device 10, such as a lighting device. In other examples, the upstream device lOu and / or the downstream device lOd may be different types of devices, such as a network controller configured to program the lighting devices and / or retrieve data from the lighting devices. In further examples, the upstream device lOu or downstream device lOd may be any other type of device capable of bidirectionally receiving, processing, and transmitting data over a single-wire connection. As the network device 10 is bidirectional, the network device 10 may receive input data 106 from either the upstream device lOu or the downstream device lOd. Similarly, the network device 10 may transmit output data 118 to either the upstream device lOu or the downstream device lOd.

[0066] As shown in FIG. 1, the microcontroller 100 includes an IO port 102 and an OI port 104. As further shown in FIG. 9, the microcontroller 100 also includes a memory 125 and a processor 175. The IO port 102 is connected, via a single wire connection, to the upstream device lOu. The OI port 104 is connected, via another single wire connection, to the downstream device lOu. The IO port 102 and the OI port 104 are connected via a first DMA channel 101. The first DMA channel 101 may be hardware-implemented and configured to pass data received from the IO port 102 to the OI port 104 and vice versa. By using the first DMA channels to convey data upstream or downstream, the data output by the microcontroller 100 will have a delay of only one data frame, which, depending on the data processing rate of the first DMA channel 101, may translate to a latency of less than 50 microseconds, or even, in some examples, less than 10 microseconds. In some examples, the first DMA channel 101 may be configured as a high data rate channel configured to transmit data at a rate of, for example, 250 kbps or 1.25 Mbps. In some non-limiting examples, the IO port 102 and the OI port 104 are each universal asynchronous receiver / transmitter (UART) interfaces configured for single-wire, bidirectional communication.

[0067] FIGS. 2-4 illustrate three connection modes 110 of the microcontroller 100, namely, upstream mode 112, downstream mode 114, and slave-master mode 116. Switching between the three connection modes 110 enables the microcontroller 100 to engage in bidirectional communication with the upstream device lOu and the downstream device lOd. The microcontroller 100 may select the appropriate connection mode 110 based on a network command 108 received by the network device 100 as input data 106. In some examples, the 2024PF80024

[0068] 11 network command 108 may cause the network device 100 to switch between different connection modes 110 to execute the network command 108. The network command 108 may also include additional data to configure the network device 100. For example, the network command 108 could include lighting data to configure one or more lighting properties of the light sources 200 of the network device 10.

[0069] FIG. 2 shows a microcontroller 100 in the downstream mode 112. In some examples, the default of the microcontroller 100 may be the downstream mode 112, thereby enabling data to flow downstream from the upstream device lOu, to the network device 10, and to one or more downstream devices lOu. As shown in FIG. 2, the IO port 102 of the microcontroller 100 receives the input data 106 from an upstream device lOu. As previously described, the input data 106 may include a network command 108 or other data to be processed and / or passed on by the microcontroller 100. In the downstream mode 112, the first DMA channel 101 conveys the input data 106 to the OI port 104 of the microcontroller 100. As the OI port 104 is coupled to the downstream device lOd, the input data 106 is conveyed to the downstream device lOd. Further, a second DMA channel 103 conveys the received input data 106 to a first IO firmware function 120a, labelled as “io_rx()” in FIG. 2. The first IO firmware function 120a parses the input data 106 as such to implement one or more aspects of the input data 106. For example, the first IO firmware function 120a could parse the input data 106 to derive and implement a network command 108. In some examples, this network command 108 could include one or more lighting settings to be implemented by the microcontroller 100, such as dimming, color temperature, etc. Accordingly, the downstream mode 112 serves two fundamental purposes. First, the downstream mode 112 implements aspects of the input data 106, such as programming certain lighting parameters. Second, the downstream mode 112 passes on, unmodified, the input data 106 to the next downstream device lOd, thereby enabling the network device 10 and each downstream device lOd in the single-wire network to implement the same input data 106. Further, in the downstream mode 112, the IO port 102 is configured in receive mode only, while the OI port 104 is configured in transmit mode only.

[0070] FIG. 3 shows a microcontroller 100 in upstream mode 114. In upstream mode 114, the OI port 104 of the microcontroller 100 receives input data 106 from the downstream device lOd via the OI port 104. Accordingly, the IO port 102 is configured in transmit mode only, while the OI port 104 is configured in receive mode only. The first DMA channel 101 conveys the input data 106 to the IO port 102 of the microcontroller 100. As the IO port 102 is coupled to the downstream device lOd, the input data 106 is conveyed to the upstream 2024PF80024

[0071] 12 device lOu. Further, a third DMA channel 107 conveys the received input data 106 to a first 01 firmware function 122a, labelled as “oi_rx()” in FIG. 3. The first 01 firmware function 122a parses the input data 106 to implement one or more aspects of the input data 106. For example, the first 01 firmware function 122a could parse the input data 106 to derive and implement a network command 108. Additionally, the upstream mode 114 also processes data stored in the memory 125 via a second IO firmware function 120b, labelled as “io_tx()” in FIG. 3. In some examples, the first 01 firmware function 122a generates response data 124 to provide one or more upstream devices lOu with information regarding the network device 100. This information could include, but is not limited to, identifying information (such as serial numbers (SN) or location information) or parameter information (such as lighting settings). A second DMA channel 105 then passes the response data 124 to the IO port 102, which then conveys the response data 124 to the upstream device lOu. Accordingly, the upstream mode 114 serves three fundamental purposes. First, the upstream mode 114 implements aspects of the input data 106, such as programming certain lighting parameters. Second, the upstream mode 114 passes on, unmodified, the input data 106 to the next upstream device lOu, thereby the enabling the network device 10 and each upstream device lOu in the single-wire network to receive the same input data 106. Third, the upstream mode 114 generates response data 124, enabling the upstream devices lOu to gather information about the network device 10.

[0072] FIG. 4 shows a microcontroller 100 in slave-master mode 116. Unlike the downstream mode 112 or the upstream mode 114, the IO port 102 and the OI port 104 in the slave-master mode 116 are both configured in bidirectional transmit-receive mode. Further, in the slave-master mode 116, the IO port 102 and the OI port 104 are not directly connected via a DMA channel. Rather, the IO port 102 and OI port 104 work independently. Accordingly, in the slave-master mode 116, the microcontroller 100 acts as a slave of the upstream devices lOu, and as a master of the downstream devices lOd. While acting as a slave, the microcontroller 100 receives and implements network commands 108a from the upstream devices lOu while transmitting response data 124a. While acting as a master, the microcontroller 100 transmits commands 108b to the downstream devices lOd while receiving response data 124b.

[0073] In particular, when the microcontroller 100 is acting as a slave, the IO port 102 is configured to receive first input data 106a, which may include a first network command 108a, from an upstream device lOu. A first DMA channel 103 passes the first input data 106a to a first IO firmware function 120a, labelled as “io_rx()” in FIG. 4. As in the downstream 2024PF80024

[0074] 13 mode 112, the first 10 firmware function 120a parses the input data 106a to implement one or more aspects of the input data 106a. Further, as in the upstream mode 114, data stored in the memory 125 is processed via a second IO firmware function 120b, labelled as “io_tx()” in FIG. 4. In some examples, the second IO firmware function 120b generates first response data 124a to provide one or more upstream devices lOu with information regarding the network device 100. A second DMA channel 105 then passes the first response data 124b to the IO port 102, which then conveys the response data 124a to the upstream device lOu.

[0075] Similarly, the OI port 104 is configured to transmit second input data 106b, which may include a second network command 108b, to a downstream device lOd. The second input data 106b may be derived from data stored in the memory 125 processed via a second OI firmware function 122b, labelled as “oi_tx()” in FIG. 4. A fourth DMA channel 109 then passes the second input data 106b to the OI port 104, which then conveys the second input data 106b to the downstream device lOd. Further, the IO port 102 is configured to receive response data 124b from the downstream device lOd. A third DMA channel 107 passes the second response data 124b to a first OI firmware function 122a, labelled as “oi_rx()” in FIG. 4, to parse and process the second response data 124b. Accordingly, the IO port 102 functions as a slave component to process input data 106a from upstream devices lOu and transmits response data 124a if needed, while the OI port 104 functions as a master component to send data 106b (including commands 108b) to the downstream devices lOd while also parsing responses 124b provided from the downstream devices lOd.

[0076] FIG. 5 illustrates a series of devices connected as a single-wire bidirectional network for the purposes of implementing an example of a broadcast configuration command, namely a lighting data command 142. As shown in FIG. 5, the network includes a network device 10, an upstream device lOu, and a first downstream device lOdl, and a series of additional downstream devices lOdN connected in series to the downstream device lOd. It should be understood that the upstream device lOu and downstream devices lOdN are defined relative to the network device 10. Accordingly, if the network device 10 is defined in a different location on the single-wire network, the number of upstream devices lOu and downstream devices lOdN could change, as some of the downstream devices lOdN may then be considered upstream devices lOu relative to the network device.

[0077] In this non-limiting example, the upstream device lOu is defined as a network controller, such as a power data supply (PDS). The PDS lOu may be coupled to an external device, such as a computer (desktop computer, tablet computer, smartphone, etc.), to receive network commands 108 to configure the network device 10 and the downstream devices 2024PF80024

[0078] 14 lOdN or collect response data 124 corresponding to the network device 10 and the downstream devices lOdN.

[0079] In the non-limiting example of FIG. 5, the PDS lOu generates a light data command 142. The light data command 142 may be generated based on data received from an external device. The light data command 142 may include any appropriate parameters or data used to configure the lighting settings (dimming, color temperature, etc.) of the light sources 200 of the network device 10. The PDS lOu transmits the light data command 142 to the network device 10. The network device 10 and the downstream devices lOdN may be configured in a default mode of downstream mode 112. If not, upon receiving the light data command 142, the network device 10 is configured into downstream mode 112. As described with respect to FIG. 2, the network device 10 implements the lighting settings of the light data command 142, thereby emitting light in a desired manner. The network device 10 also passes on the light data command 142 in an un-modified manner to the first downstream device lOdl. The first downstream device lOdl also implements the lighting settings of the light data command 142 via the IO firmware function 120a, and passes on the light data command 142 to a second downstream device 10d2. This process continues until each downstream network device lOdN is configured according to the light data command 142. The network device and each downstream network device lOdN remains in the downstream mode 112 following implementation of the light command 142. In some examples, the light data command 142 operates as a data stream continually providing data to be implemented and transmitted by the network device 10 and the downstream devise lOdN.

[0080] FIG. 6 illustrates a series of devices connected as a single-wire bidirectional network for the purposes of implementing a unicast command 144. In this example, the unicast command 144 may be used to generate response data 124 from a target device. For example, the response data 124 could include one or more status indicators regarding aspects of the target device, such as lighting properties or device health. The unicast command 144 may identify the target device based on a serial number (SN). The unicast command 144 may convey the serial number of the target device along with checksum data and / or cyclic redundancy check (CRC) data. Each device receiving the unicast command 144 analyzes the corresponding target serial number as soon as the unicast command 144 is received. If the serial number of the device does not match the corresponding target serial number, the device enters upstream mode 114 to convey any response data generated by the target device back to the device generating the unicast command 144. If the serial number of the device match the corresponding target serial number, the device immediately ceases downstream mode 112 2024PF80024

[0081] 15 and enters slave-master mode 116. Accordingly, any devices downstream of the target device only receive a portion of unicast command 144, and remain in downstream mode 112.

[0082] In the example of FIG. 6, first downstream device lOdl is the target device. The PDS lOu transmits the unicast command 144 to the network device 10 which has been previously set to downstream mode 112. The unicast command 144 contains a serial number corresponding to the first downstream device lOdl. Upon processing the unicast command 144 via the first IO firmware function 120a, the microcontroller 100 determines that the current network device 10 is not the target device of the unicast command 144. Accordingly, after passing the unicast command 144 onto the next device (first downstream device 1 Od 1 ), the network device 10 enters upstream mode 114. Once the first downstream device lOdl receives the unicast command 144, the first downstream device lOdl identifies its own serial number as conveyed by the unicast command 144, and enters slave-master mode 116, thereby cutting off data transmitted to a second downstream device 10d2. The first downstream device lOdl generates response data 124, which is transmitted to the network device 10. The first downstream device lOdl then returns to the downstream mode 112 following transmission of the response data 124. The network device 10, in upstream mode 114, passes the response data 124 to the PDU lOu, and the network device 10 is set back to the default downstream mode 112.

[0083] Thus, as a non-limiting example, in the downstream mode 112, the DMA can pass data at the IO port 102 to the OI port 104 by hardware with a 1-byte time delay. At the same time, the IO function can process the command to the IO port such that: (1) If it is broadcast command or the message is broken, it may not change the connection; (2) If it is a unicast whose serial number matches the serial number of the microcontroller, it can change the connection to upstream immediately, and the devices downstream may get broken messages and keep the downstream mode; and (3) If it is a non-broken unicast but the serial number does not match its serial number, the microcontroller can change the connection to upstream and start a timer to guard it.

[0084] Additionally, as another non-limiting example, in the upstream mode 114, the DMA can pass data at the OI port 104 to the IO port 102 by hardware with a 1-byte time delay. The microcontroller can process data at the OI port 104, which is generally a response of a unicast command to a device in the downstream of the device. The device may change the connection back to the downstream mode once the response has passed the device completely. 2024PF80024

[0085] 16

[0086] FIG. 7 illustrates a series of devices connected as a single-wire bidirectional network for the purposes of implementing an addressing command 126. The addressing command 126 is used to determine the relative distance (or network hops) of each device in the single-wire network to the PDS lOu in the form of a serial number 128 paired with a location index 132. Accordingly, the PDS lOu or another device may use this information to map the relative locations of the network 10 and the downstream devices lOdN.

[0087] In the non-limiting example of FIG. 7, the PDS lOu transmits the addressing command 126 to the network device 10. The addressing command 126 includes a location index 130. The location index 130 may be initially set to zero, indicating the network device 10 receiving the addressing command is zero hops away from the PDS lOu. Other initial values of the location index 130 may be used when appropriate. The network device 10 then processes the addressing command 126 via the first IO firmware function 120a, which triggers the network device 10 to switch to slave-master mode 116 as illustrated in FIG. 4. The first IO firmware function 120a also retrieves the serial number 128 of the network device from the memory 125 of the microcontroller 100. The second IO firmware function 120b then generates an addressing response 132. The addressing response 132 includes the retrieved serial number 128 and the location index 130. The network device then transmits the addressing response 132 to the PDS lOu. As this location index 130 has an initial value of zero, the PDS lOu now knows that the network device 10 is zero hops away from the PDS lOu. In other words, the PDS lOu knows that the network device 10 is directly connected to the PDS lOu.

[0088] In order to determine the relative location of the downstream devices lOdN, the second OI firmware function 122b increments the location index 130 to generate an incremented location index 134. For example, the incremented location index 134 may have a value of one, representing “one hop” away from the PDS lOu. The second OI firmware function 122 also generates a second addressing command 136 which includes the incremented location index 134, and transmits the second addressing command 136 to the first downstream device lOdl. Following the transmission of the second addressing command 136, the network device 10 switches into upstream mode 114.

[0089] Following the same process as the network device 10, the first downstream device lOdl generates a downstream addressing response 138. The downstream addressing response 138 includes the incremented location index 134 as well as the serial number of the first downstream device lOdl. The downstream addressing response 138 is transmitted to the network device 10. As the network device 10 is now configured in upstream mode 114, the 2024PF80024

[0090] 17 network device 10 simply passes the downstream addressing response 138 to the PDS lOu. Thus, the PDS lOu now knows that the first downstream device lOdl is one hop away from the PDS lOu. Each downstream device lOdN repeats this process, enabling the PDS lOu to learn the relative location of each downstream device lOdN. Further, the network device 10 may also store the downstream addressing responses 138, enabling the network device 10 to also learn the serial numbers and location indices associated with the downstream devices lOdN relative to the network device 10.

[0091] In some examples, the network device 10 may also set an addressing timer 140. The addressing timer 140 sets a length of time for the network device 10 to be set to upstream mode 114 to forward on downstream addressing responses 138. Following the expiration of the addressing timer 140, the network device 10 is set back to the default downstream mode 112, thereby allowing the network device 10 to receive new input data 106 (such as new network commands 108) from the PDS lOu.

[0092] FIG. 8 illustrates a variation of FIG. 7 where an addressing command 126 is used in combination with additional network commands 108 to map a network of devices comprising several parallel branches. Due to the parallel nature of some of the connections of FIG. 8, some of the downstream devices lOdN will have equivalent location indices (representing the number of hops from the PDS lOu). Accordingly, additional information will be needed to determine the mapping of the downstream devices lOdN.

[0093] First, the process described in reference to FIG. 7 is implemented by transmitting an addressing command 126 to the network device 10. As the downstream addressing commands 128 are forwarded to the various downstream devices lOdN, the network device 10 and each downstream device lOdN learns its own location and the location of each device positioned downstream. The PDS lOu then issues a binary search by bit algorithm (also referred to as BlinkScan) to gather all of the serial numbers 128 of the downstream devices lOdN.

[0094] The PDS lOu then queries each of the downstream devices lOdN by serial number 128 to determine the location index 130 and number of downstream devices lOdN relative to the queried downstream device lOdN. The PDS then sets the connection mode 110 of any downstream device lOdN sharing a location index 130 with another downstream device lOdN to the slave-master mode 116 by transmitting one or more set commands. The downstream devices lOdN configured in the slave-master mode 116 then transmit a get command to each downstream device lOdN (meaning devices downstream of the slavemaster devices) having a location index 130 corresponding to one hop away from the slave- 2024PF80024

[0095] 18 master devices. Any downstream devices lOdN which fail to respond to the get command are determined to be directly connected to the slave-master devices.

[0096] FIG. 9 illustrates a schematic diagram of a non-limiting example of a network device 10. Broadly, the network device 10 includes a microcontroller 100 and one or more light sources 200. The microcontroller 100 includes an IO port 102, an OI port 104, a memory 125, and a processor 175. The microcontroller 100 also includes five DMA channels 101, 103, 105, 107, 109. The memory 125 is configured to store a wide array of data received by, generated by, or otherwise handled by the network device 10, including input data 106, network commands 108 (including an addressing command 126, a second addressing command 136, a light data command 142, and a unicast command 144), connection modes 110 (including downstream mode 112, upstream mode 114, and slave-master mode 116), output data 118, response data 124 (including a addressing response 132 and a downstream addressing response 138), a serial number 128, a location index 130, an incremented location index 136, and an addressing time 140. The processor 175 may be configured to execute an IO firmware function 120 and an OI firmware function 122.

[0097] FIG. 10 illustrates a flow chart of a method 900 for processing input data 106 via a microcontroller 100 of a network device 10. The microcontroller 900 comprises an IO port 102 configured to be coupled to an upstream device lOu and an OI port 104 configured to be coupled to a downstream device lOd. The method 900 includes, in step 902, parsing input data 106 to derive a network command 108.

[0098] The method 900 further includes, in step 904, configuring the microcontroller 100 according to one of three connection modes 110 based on the network command 108. The connection modes 110 comprise an upstream mode 114, a downstream mode 112, and a slave-master mode 116.

[0099] The method 900 further includes, in step 906, generating output data 118 based on at least the input data 106 and the connection mode 110.

[0100] The method 900 further includes, in step 908, transmitting, based on the connection mode 110, the output data 118 to the upstream device lOu or downstream device lOd.

[0101] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and / or ordinary meanings of the defined terms. 2024PF80024

[0102] 19

[0103] The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”

[0104] The phrase “and / or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and / or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and / or” clause, whether related or unrelated to those elements specifically identified.

[0105] As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when separating items in a list, “or” or “and / or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of’ or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.”

[0106] As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.

[0107] It should also be understood that, unless clearly indicated to the contrary, in any methods claimed herein that include more than one step or act, the order of the steps or acts of the method is not necessarily limited to the order in which the steps or acts of the method are recited.

[0108] In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” 2024PF80024

[0109] 20

[0110] “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of’ and “consisting essentially of’ shall be closed or semi-closed transitional phrases, respectively.

[0111] The above-described examples of the described subject matter can be implemented in any of numerous ways. For example, some aspects may be implemented using hardware, software, or a combination thereof. When any aspect is implemented at least in part in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single device or computer or distributed among multiple devices / computers.

[0112] The present disclosure may be implemented as a system, a method, and / or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.

[0113] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0114] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may 2024PF80024

[0115] 21 comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0116] Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user's computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some examples, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0117] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to examples of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0118] The computer readable program instructions may be provided to a processor of a, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other 2024PF80024

[0119] 22 programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram or blocks.

[0120] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0121] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various examples of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0122] Other implementations are within the scope of the following claims and other claims to which the applicant may be entitled.

[0123] While various examples have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and / or structures for performing the function and / or obtaining the results and / or one or more of the advantages described herein, and each of such variations and / or modifications is deemed to be within the scope of the examples described herein. More generally, those skilled in the art will readily 2024PF80024

[0124] 23 appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and / or configurations will depend upon the specific application or applications for which the teachings is / are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific examples described herein. It is, therefore, to be understood that the foregoing examples are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, examples may be practiced otherwise than as specifically described and claimed. Examples of the present disclosure are directed to each individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and / or methods, if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent, is included within the scope of the present disclosure.

Claims

2024PF8002424CLAIMS1. A network device (10) compri sing : a microcontroller (100) having an IO port (102) configured to be coupled to an upstream device (lOu) via a first single wire connection, and an OI port (104) configured to be coupled to a downstream device (lOd) via a second single wire connection, the IO port (102) and the OI port (104) being configured for single-wire bidirectional communication, wherein the microcontroller (100) is configured to: parse input data (106) to derive a network command (108); implement one of a plurality of connection modes (110) based on the network command (108), wherein the connection modes (110) comprise a downstream mode (112), an upstream mode (114), and a slave-master mode (116); generate output data (118) based on at least the input data (106) and the connection mode (110); and transmit, based on the connection mode (110), the output data (118) to the upstream device (lOu) or downstream device (lOd).

2. The network device (10) of claim 1, wherein, when the microcontroller (100) is configured in the downstream mode (114), the microcontroller (100) is further configured to: receive the input data (106) from the upstream device (lOu) via the IO port (102); process the input data (106) according to an IO firmware function (120); and pass the input data (106) from the IO port (102) to the OI port (104) for transmission to the downstream device (lOd).

3. The network device (10) of claim 1, wherein, when the microcontroller (100) is configured in the upstream mode (112), the microcontroller (100) is further configured to: receive the input data (106) from the downstream device (lOd) via the OI port(104); process the input data (106) according to an 01 firmware function (122); and2024PF8002425 pass the input data (106) from the OI port (104) to the IO port (102) for transmission to the upstream device (lOu).

4. The network device (10) of claim 3, wherein the microcontroller (100) is further configured to: generate response data (124) based on the input data (106) and an IO firmware function (120); and pass the response data (124) to the IO port (102) for transmission to the upstream device (lOu).

5. The network device (10) of claim 1, wherein, when the microcontroller (100) is configured in the slave-master mode (116), the microcontroller (100) is further configured to: receive the input data (106) from the upstream device (lOu) via the IO port (102); process the input data (106) according to an IO firmware function (120); generate response data (124) based on the input data (106) and an OI firmware function (122); and pass the response data (124) to the OI port (122) for transmission to the downstream device (lOd).

6. The network device (10) of claim 1, wherein, when the microcontroller (100) is configured in the slave-master mode (116), the microcontroller (100) is further configured to: receive the input data (106) from the downstream device (lOd) via the OI port (104); process the input data (106) according to an OI firmware function (122); generate response data (124) based on the input data (106) and an IO firmware function (120); and pass the response data (124) to the IO port (102) for transmission to the upstream device (lOu).

7. The network device (10) of claim 1, wherein the network command (108) is an2024PF8002426 addressing command (126) comprising a location index (128) and the microcontroller (100) is set to the downstream mode (lOd), the microcontroller (10) is further configured to: set the connection mode (110) to the slave-master mode (116); retrieve a serial number (130) from a memory (175) of the network device (io); generate an addressing response (132) comprising the serial number (130) and the location index (128); and transmit the addressing response (132) to the upstream device (lOu) via the IO port (102).

8. The network device (10) of claim 7, wherein the microcontroller (100) is further configured to: increment the location index (128) to generate an incremented location index (134); generate a second addressing command (136), wherein the second addressing command (136) includes the incremented location index (134); and transmit the second addressing command (136) to the downstream device (lOd) via the OI port (104).

9. The network device (10) of claim 8, wherein the microcontroller (100) is further configured to, following the transmission of the second addressing command (136), set the connection mode (110) to the upstream mode (112) to enable the microcontroller (100) to receive one or more downstream addressing responses (136).

10. The network device (10) of claim 9, wherein the microcontroller (100) is further configured to: set a timer (140) for the microcontroller (100) to receive the one or more downstream addressing responses (136); following expiration of the timer (140), set the connection mode (110) to the downstream mode (114).

11. The network device (10) of claim 1, wherein the network command (108) is a light data command (142) and the microcontroller (100) is set to the downstream mode (114), the microcontroller (100) is further configured to:2024PF8002427 process the light data command (142) according to an IO firmware function (120); and pass the light data command (142) from the IO port (102) to the OI port (104) for transmission to the downstream device (lOd).

12. The network device (10) of claim 1, wherein the network command (108) is a unicast command (144) corresponding to the network device (10) and the microcontroller (100) is set to the downstream mode (114), the microcontroller (100) is further configured to: process the unicast command (144) to a first IO firmware function (120a); set the connection mode (110) to the upstream mode (112); generate response data (124) based on the unicast command (144) and a second IO firmware function (120b); transmit the response data (124) to the upstream device (lOu) via the IO port (102); and set the connection mode (110) to the downstream mode (114).

13. The network device (10) of claim 1, further comprising one or more light sources (200), wherein, optionally, the upstream device (lOu) and / or the downstream device (lOd) comprises the one or more light sources (200).

14. The network device (10) of claim 1, wherein the IO port (102) and the OI port (104) are single-wire half-duplex UART interfaces.

15. A method (900) for processing input data via a microcontroller of a network device, wherein the microcontroller comprises an IO port configured to be coupled to an upstream device via a first single wire connection, and an OI port configured to be coupled to a downstream device via a second single wire connection, the IO port and the OI port being configured for single-wire bidirectional communication, the method comprising: parsing (902) input data to derive a network command; configuring (904) the microcontroller according to one of three connection modes based on the network command, wherein the connection modes comprise an upstream mode, a downstream mode, and a slave-master mode; generating (906) output data based on at least the input data and the connection mode; and2024PF8002428 transmitting (908), based on the connection mode, the output data to the upstream device or downstream device.

Citation Information

Patent Citations

  • Intermediate Networking Devices

    US20140098671A1

  • Close proximity transport configuration

    US20160183031A1

  • Digital Processing Connectivity

    US20200301876A1