Low Complexity Ethernet Node (LEN) 1 port

JP7651629B2Active Publication Date: 2025-03-26ANALOG DEVICES INT UNLTD CO
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023121807
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-06-28
Filing Date
2023-07-26
Publication Date
2025-03-26
Estimated Expiration
2040-06-04

Smart Images

  • Figure 0007651629000001
    Figure 0007651629000001
  • Figure 0007651629000002
    Figure 0007651629000002
  • Figure 0007651629000003
    Figure 0007651629000003
Patent Text Reader

Abstract

To provide a network interface module for coupling a host device to a switched network as a network node.SOLUTION: A network interface module comprises a single half-duplex port for communicatively coupling to a shared bus of a switched network, at least one frame queue sized to store one multicast read frame received via the shared bus, and logic circuitry. The logic circuitry is configured to decode a read command for the interface module included in a payload of the multicast read frame that includes multiple read commands for other network nodes of the switched network, and transmit a response frame including read data on the shared bus when detecting the shared bus is available for transmitting.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Claiming priority This application claims priority to U.S. Provisional Application No. 62 / 868,288, filed June 28, 2019, which is incorporated by reference in its entirety.

[0002] This document relates to switched networks, and in particular to devices that interface to multipoint and multidrop networks. [Background technology]

[0003] An area network (e.g., a wide area network (WAN) or a local area network (LAN)) is composed of multiple network nodes. Information can be communicated between the nodes of the network by transmitting packets of data according to a protocol, such as the Ethernet protocol. A network switch device can be used to implement the area network. However, a network switch typically includes multiple ports, and each port includes hardware and software for communication. This makes network switch devices cost-prohibitive for certain applications.

[0004] In the drawings, which are not necessarily drawn to scale, like numbers may represent like components in different drawings. Like numbers with different letter suffixes may represent different instances of like components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document. [Brief description of the drawings]

[0005] [Figure 1A] FIG. 1 is a block diagram of an example of a low-complexity multi-drop network. [Figure 1B] FIG. 1 is a block diagram of an example of a low-complexity multi-drop network. [Figure 1C] FIG. 1 is a block diagram of an example of a low-complexity multi-drop network. [Diagram 2] FIG. 2 is a block diagram of an example network interface module. [Figure 3A] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 3B] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 4A] 1 illustrates a block diagram of another example of a network interface module. [Figure 4B] 1 illustrates a block diagram of another example of a network interface module. [Diagram 5] 1 is an example of a multicast write frame for a half-duplex multi-drop network. [Figure 6] 1 is an example of a unicast write frame for a half-duplex multi-drop network. [Figure 7] FIG. 1 is an example of a multicast read request for a full-duplex point-to-point network. [Figure 8] FIG. 2 is an example of a multicast read request for a half-duplex multi-drop network. [Figure 9] 1 is an example of a multicast lead frame for a half-duplex multi-drop network. [Figure 10] 1 is an example of a unicast lead frame for a half-duplex multi-drop network. [Figure 11] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 12] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 13] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 14] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 15]FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 16] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 17] FIG. 1 is a block diagram of a further example of a low complexity multi-drop network. [Figure 18] 1 is a flow chart of an example method for controlling operation of a switched network. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] To reduce the cost of implementing switched networks such as Ethernet networks, low complexity multi-point or multi-drop networks can be implemented using half-duplex devices.

[0007] FIG. 1A is a block diagram of an example of a low-complexity multi-drop network. The network includes a master device 102, or master node, and multiple network interface modules connected as network nodes on a shared network link 108 (e.g., a shared bus). In this example, the multi-drop network is an Ethernet network and the network interface modules are Ethernet network interface modules (EIMs). The master device 102 may be any Ethernet-aware device with sufficient processing power to perform the described functions. Examples include a personal computer (PC), a cloud-based server, a programmable logic controller (PLC), an electronic control unit (ECU), a central / zone processing unit, or a dedicated controller. The master device 102 initiates actions to be performed by the EIM, which is a slave node, and sends read, write, detect, and status frames to the EIM.

[0008] The EIM 104 is used to connect devices (e.g., the host device 110) to the network. To keep the EIM simple and low cost, the EIM 104 may consist of only hardware circuitry and may not include a processor or controller that executes instructions contained in software. The EIM 104 may include hardware state machines and other logic circuitry to perform the described functions. The network may include other Ethernet devices 106 other than the master device and the EIM. These other devices include a physical (PHY) layer, a media access control (MAC) layer, and typically include a microprocessor or microcontroller to perform functions related to transferring data using the network.

[0009] The network is a multi-drop network in which all network nodes see all data transmitted on a shared link (e.g., a shared bus). Due to the broadcast nature of a multi-drop network, there is a single transmitter and multiple receivers on the network at the same time. Network nodes have only a single half-duplex port to the shared network link 108. Access to the link is shared between all network nodes, so each node can only transmit if no other node is currently transmitting. This means that a network node must store all relevant information to be transmitted until the shared link becomes available, at which point it can transmit data on the shared link and all other nodes on the shared link can receive the data. The half-duplex nature of a multi-drop network also means that network nodes must be able to properly handle collisions on the shared link.

[0010] FIG. 2 is a block diagram of an example of a network interface module 204 (e.g., EIM). The half-duplex port of the network interface module 204 includes a PHY layer 212 and a MAC layer 214. The network interface module 204 includes a frame queue 216 that locally buffers frames. The frames will be held in the frame queue 216 until successful transmission or a retry limit is reached. The network interface module 204 may include a short queue 218 for evaluation of received packets by the evaluation logic 220, or the evaluation logic may evaluate the frames using the frame queue 216. The evaluation logic 220 monitors received frames as they traverse the short queue 218 and compares the destination address of the frame with addresses stored locally for this device. Frames with errors are discarded. The read / write logic 224 and the register / memory space 226 are used for data transfer with the connected device. The size and complexity of the read / write logic 224 and the register / memory space 226 depend on the complexity of the connected device. An external device (e.g., a host device) is connected to the external interface 222. Some examples of the external interface 222 include a serial peripheral interface (SPI), a general purpose input / output (GPIO) interface, and a universal asynchronous receiver / transmitter (UART) interface.

[0011] In a half-duplex multi-drop network, data can only be transmitted or received at a time, so if a node wants to transmit data out of its ingress / egress port, if a shared link is available, the node can do this without risk of losing incoming data (by definition, one cannot transmit and receive at the same time), and there is no additional requirement to buffer received data beyond what is needed to handle collisions at the MAC layer.

[0012] This allows a low-complexity Ethernet device on a half-duplex Ethernet network to simply generate frames of Ethernet data to be transmitted without being explicitly requested by a master device in the network. The generation of the frames is typically in response to some local event. Some examples of such local events include: Events that occur within a node (e.g., memory access errors, local timeouts, etc.) Events occurring on the network interface (e.g. frame check sequence error, loss / recovery of lock, loss of network overload condition, incorrect command sequence, etc.) Events on the sensor / actuator interface (e.g. data pushed from an external sensor, external IO triggers, framing errors, protocol check errors, collision errors, etc.) Time-triggered events that operate against a global synchronous time or against a locally free execution time (e.g., synchronous data capture, output or playback, heartbeat status updates, etc.) These functions may be configured by the master device as part of the master-slave architecture of the network.

[0013] In a half-duplex multi-drop network, the network master node (e.g., master device 102 in FIG. 1A) does not need to provide a container frame for the slave nodes to put their data in in order to query the slave nodes for the above information. Such operation has several advantages: It improves network efficiency (reduced network traffic with the same or more information). It removes the need for polling devices that require network access in a non-predetermined manner. It improves the latency for slave nodes to access the network.

[0014] 1B is a block diagram of another example of a low-complexity Ethernet multi-drop network, where the network includes multiple master devices 102 (Master 1, Master 2) and multiple EIMs 104 (EIM A, EIM B, EIM C). The network can be used to transmit unicast and multicast frames.

[0015] The following network sequence illustrates collision detection / backoff transmission management for unicast and multicast operation on a half-duplex multi-drop network. 1. Master 1 sends a discovery frame to the default multicast address. 2. EIM A has the shortest backoff and begins normal transmission of a discovery response frame. 3. EIM B, Master 2, and EIM C will all collide when they try to send responses after EIM A has finished. 4. Master 2 takes control of the link and sends its response successfully. 5. EIM C controls and transmits. 6. EIM B controls the link and transmits. At this point, both Master 1 and Master 2 have a complete view of the devices on the segment. Then, using a single-cast operation, Master 1 programs several parameters into each device to optimize future network operations, such as unicast transmit delay, multicast transmit delay, and maximum number of transmit retries.

[0016] Each EIM is programmed with a minimum unicast transmission delay value to minimize transmission / response times. In the case of multicast delays, devices are prioritized so that there are no collisions and the timing of responses is always the same. The number of retries can be set to a small value so that the master device 302 can respond quickly to failures. EIM A Unicast transmission delay TX_DELAY_MIN ○ Multicast transmission delay MCAST_TX_DELAY_MIN ○ Maximum retries 2 (for example) EIM B Unicast transmission delay TX_DELAY_MIN Multicast transmission delay MCAST_TX_DELAY_MIN+DELAY_INCREMENT Maximum retries: 2 EIM C Unicast transmission delay TX_DELAY_MIN Multicast transmission delay MCAST_TX_DELAY_MIN+(2 * DELAY_INCREMENT) Maximum retries: 2 This maximizes overall network responsiveness and allows for both unicast and multicast operation. Note that in this case, unicast operation proceeds as follows: The master device sends a single multicast frame. Each EIM responds to the frame in turn.

[0017] 1C is a block diagram of another example of a low-complexity Ethernet multi-drop network, where the network includes a master device 102 and multiple EIMs 104 (EIM A, EIM B, EIM C) connected to a shared network link 108. EIM B connects multiple sensors or actuators to the shared network link 108. The multiple sensors or actuators are added to a shared bus 160 that is connected to an external interface of EIM B. In a particular example, the multiple sensors / actuators are connected in parallel using, for example, an SPI, a GPIO interface, or a UART interface. In a particular example, the multiple sensors / actuators are connected to the EIMs through analog signal inputs and outputs.

[0018] 3A is a block diagram of another example of a low-complexity Ethernet multi-drop network. A master device 302 is connected through an intermediate network connection (e.g., a network bridge device) and does not need to be connected to a slave node by a network link 308.

[0019] 3B is a block diagram of yet another low-complexity Ethernet multi-drop network. The network includes multiple master devices 302, one of which (e.g., a microcontroller unit, or MCU) is connected to the network through an EIM 304. The master devices connected through the EIM include a PHY layer and a MAC layer connected to the microcontroller. This allows the slave devices to function as both master and slave devices.

[0020] 4A and 4B show block diagrams of an example network interface module that is an EIM 404. The EIM 404 couples a host device (not shown) to a multi-drop network as a low-complexity half-duplex network node for the multi-drop network. In a variation, the host device can be a sensor or actuator, and the network interface module enables the host device to be part of an Industrial Internet of Things (IIoT). In another variation, the network interface module can make the host device part of a network for automotive, aviation, or rail applications.

[0021] In FIG. 4B, the half-duplex port of the EIM 404 includes a PHY layer 412, a MAC layer 414, and an external input / output (IO) interface. The external interface 422 to the associated device can include one or both of an SPI and a GPIO interface. Other options for the external interface can include an Inter-Integrated Circuit (I2C) interface, an Improved Inter-Integrated Circuit (I3C) interface, a Controller Area Network (CAN) interface, a CAN Flexible Data Rate (CAN-FD) interface, a Next Evolution CAN (CAN-XL) interface, a Local Internet Network (LIN) interface, a General Purpose Clock IO, a UART, a Peripheral Sensor Interface 5 (PSI5), and the like. In addition to the half-duplex port MAC layer and PHY layer, the EIM 404 can include a second external interface with a dedicated SPI 424. This allows the EIM 404 to function as a dual master and slave device, as in the example of FIG. 3B. As an example, it may be useful to have a Low Complexity Ethernet (LCE) slave device in parallel with the MCU connected to sensors / actuators and acting as a master to additional devices connected through a dedicated SPI 424.

[0022] Memory 426 (e.g., random access memory or RAM) and registers 427 are used to transfer data to and from the host device. EIM 404 includes receive analysis logic 420 for evaluating received frames. EIM 404 also includes high priority frame queue 416 and low priority frame queue 417. Multiple receive (Rx) and transmit (Tx) queues 416 allow traffic to be directed to and from either the dedicated SPI 424 or half-duplex port on a frame-by-frame basis, and also allow prioritization of both transmit and receive traffic. The queues are each large enough to store at least one frame of the maximum frame size. In some aspects, the queues do not hold entire frames. Queues 416 may store only source address, destination address, VLAN header, Ethertype, LEN subcommand and LEN command, and the payload is read from memory 426 as the frame is being generated on the fly.

[0023] The EIM 404 also includes a frame builder 430. The frame builder 430 may include state machine logic for building frames for transmission. The frame builder 430 may build frames on the fly (e.g., when a frame is to be transmitted). The frame builder 430 builds frames that include a frame header (e.g., a standard Ethernet frame header), network commands, and payload data that is read from the memory 426.

[0024] The EIM 404 may also include a parallel interface path to an external MCU. This may operate in addition to the low-complexity network interface that controls external sensors / actuators. This interface has access to the MAC layer through high and low priority Tx and Rx queues 416. Frames are routed to either the low-complexity interface or the external MCU based on the destination address of the received frame. The Tx message router arbitrates access to the MAC. This parallel interface to the external MCU provides network access at the same time that local sensors and actuators are controlled via the low-complexity network interface.

[0025] The EIM 404 may include encryption logic 432. A master node may communicate encrypted data to the EIM 404 as a slave node. The encryption logic 432 may use a unique key to encrypt and decrypt data. The EIM 404 may include time stamp logic that adds a time stamp to a frame indicating when the frame is sent or received.

[0026] The EIM 404 may include a time / sync circuit 434 connected to the PHY layer 412 to provide a hardware-based option for time synchronization. This hardware processes time synchronization frames (802.1AS-rev) and uses the information therein, in addition to captured event timestamps for input and output frames, to synchronize and synthesize local clocks to the global time transported from the network grandmaster clock contained within the synchronization frame. The global time interface goes to the external interface 422 where it can be used for data capture timestamps / scheduling time actuations / creating synchronized clock sources. The time synchronization hardware sends and receives time synchronization frames to calculate network delays and to request and respond to time synchronization information. The synchronized time is used locally to actuate events based on the synchronized time, create synchronized clock sources, and timestamp events both internally and on the sensor / actuator interface.

[0027] Ethernet unicast and multicast write frames arriving on half-duplex ports are checked for the relevant Ethertype, address and command, and are decoded and processed according to the network protocol (e.g., the Ethernet protocol) implemented by the multi-drop network. When appropriate, the data is written to the relevant section of RAM 426. Because of the shared link, there is a high probability of collisions, meaning that there will be many instances where a partial frame is received before a collision is detected. The network protocol handles these situations by not performing any host actions or register writes until the frame is completely received and the Frame Check Sequence (FCS) is verified.

[0028] The EIM 404 can receive and process unicast and multicast frames. FIG. 5 is an example of a multicast write frame containing multiple low-complexity Ethernet commands for a multi-drop network. Multicast frame writes have several significant advantages in terms of data efficiency and latency over unicast frame writes. In a multicast frame, the overhead of the preamble, destination address, source address, virtual local area network (VLAN) header (if included), Ethertype, padding (if required), and FCS are shared among each node addressed by the multicast address. A single multicast frame containing these fields is transmitted only once with the data and / or commands to be written to each node (e.g., nodes 1 through N in FIG. 5, where N is an integer greater than 1), and each node extracts the data and commands destined for the node. The extracted data can then be forwarded to a host device associated with the slave node.

[0029] The message payload can include a "destination override" field to allow each individual command to be directed to one or more interfaces in the multicast group of slave devices, without requiring a fixed offset location of the data on each device.

[0030] Each LCE command may receive a sequence number. These sequence numbers are incremented sequentially. If the interface receives a command with an out-of-order sequence number, the command is not processed. An optional error event interrupt frame may also be generated and sent back to the master device originating the command. All messages generated locally within the EIM also contain a sequence number that must be verified by the master upon receipt. An acknowledgment frame can be requested from the LCE slave node by setting an appropriate flag in the LCE command header. When these requests are received and processed by the LCE slave device, the LCE responds with a frame containing the next expected sequence number it expects to receive. When an out-of-order sequence number is received, the next expected sequence number is not incremented, thus the slave device always responds indicating the point at which the sequence was interrupted, allowing the master device to take appropriate corrective action.

[0031] Figure 6 is an example of a unicast write frame containing a single LCE command for a multi-drop network. The unicast write frame is sent to one network node. The unicast addressing of each node requires that the field be uniquely replicated in the unicast frame sent to each node (e.g., once for each of the N nodes). No destination override field is required.

[0032] Multicast multi-command frames are also very efficient from a latency perspective. Not having to repeat all of the above fields for each frame means that the time required to get data from a sending node to a group of multicast receiving nodes is greatly reduced. The relative magnitude of the reduction is related to the size of the payload. For small payloads, the improvement in data efficiency is significant as the payload size increases with increasing Ethernet overhead relative to the payload, and the latency advantage achieved from using multicast addressing versus unicast addressing is reduced as well.

[0033] In addition to relative synchronization of output actuation or input capture, multiple EIMs can be preloaded with necessary data and / or commands and subsequent multicast frames can be used to trigger actions on all nodes in parallel. Because the EIMs are hardware-based and do not incur the variable software processing latency of traditional solutions at each node, precise relative time synchronization accuracy can be achieved.

[0034] Network read frames, read / write frames, configuration read frames, discovery return frames, and status return frames are also received, decoded, and processed by the EIM 404. Due to the half-duplex operation of the EIM 404, the relevant sections of the frames are stored in a priority queue until the shared link is available to transmit a response frame. The stored frame fields include the following: Source address (destination address of returned frames) VLAN header Network Subcommands Network Commands ○ + Related Payload Section Frame Priority Things that do not need to be queued include: FCS (checked but not stored) Non-applicable multicast fields related to other network nodes Data to be written to memory 426.

[0035] The queues 416 may store transmission requests until the shared bus is available, at which point the highest priority queues send data for transmission first. The queues 416 also include priority receive queues that allow messages that are more important to process to be received first over lower priority frames, thus increasing the responsiveness of the network to such frames. The priority queues may be used in conjunction with a schedule synchronized to the global time provided by the time synchronization circuitry 434 to further improve the network determinism and performance of these low-complexity Ethernet devices.

[0036] When an opportunity to transmit exists, a response frame may be constructed on the fly by the frame builder 430. After a standard Ethernet frame header is constructed from a combination of the stored frame request and pre-configured registers, the appropriate network subcommand and command are entered, followed by the data payload content which is read directly from the memory 426. The contents of the memory 426 and the contents of the stored frame request will not be overwritten in the queue until the full frame is successfully transmitted over the shared link or the retry limit is reached. A response frame may also be transmitted as a frame acknowledgment without any read data.

[0037] Upon successful completion of the transmission, the transmission request and memory related contents are released for write access. If a collision occurs at any point during the transmission, depending on the architecture of the MAC layer 414 and PHY layer 412 to which the frame builder 430 interfaces, the frame generation process may be frozen, rewound (back to a specific point depending on the amount of data stored in the MAC+PHY), or restarted completely. This is possible because all relevant data is still available (e.g., in the frame queue) and has not been overwritten or deleted due to the detection of a collision.

[0038] The data returned from the EIM 404 to the network master device when a multicast request is received is optimized for data transferred in a full-duplex point-to-point network approach where two ports connect the devices in a daisy-chain topology. Only requested data relevant to a particular network node is returned by the network node. Also, a request for data from the master device is not required for the EIM 404 to insert space in the frame to insert that data. This increases the network's efficiency in using channel capacity compared to a full-duplex point-to-point transmission approach.

[0039] FIG. 7 is a diagram of an example of a multicast read request for a full-duplex point-to-point network. In the example, a network master node 702 transmits a multicast read frame 705 to two slave nodes (slave node 1, slave node 2). The multicast read frame 705 includes payload space for data requested from each of slave node 1 and slave node 2. The multicast read frame 705 is passed from the master device to slave node 1, which processes the multicast read frame 705 and modifies the frame by inserting the requested data into the slave node 1 payload space of the multicast frame. Slave node 1 then passes the multicast read frame 705 to slave node 2, which processes the multicast read frame and inserts the requested data into the slave node 2 payload space. Because the network is a full-duplex point-to-point network, slave node 2 reflects the multicast read frame 705 back toward the master device 702 from the port on which it was received.

[0040] It can be seen that the network capacity is not fully utilized because the multicast read frame 705 must be passed to the point-to-point form nodes to be filled and then returned again to the master device 702. As the number of nodes increases, the channel capacity usage decreases. For example, if the master device 702 wants to read 100 bytes of data from eight slave nodes, the master device 702 must construct a multicast read frame that includes payload space for 800 bytes of data in addition to the standard Ethernet frame protocol fields. The large-scale multicast read frame must then be received, modified, and transmitted by each of the eight slave nodes in the point-to-point network (and received and transmitted by any intervening nodes) to collect data from all eight slave nodes.

[0041] 8 is a diagram of an example of a multicast read request for a half-duplex multi-drop network. In the example, a network master node 802 sends a multicast read frame 805 to two slave nodes (slave node 1, slave node 2). Slave node 804 may be an EIM. Each slave node decodes one or more commands contained in the frame and returns a response frame 810 with the requested read data to the master device 802.

[0042] In an example where a multicast lead frame 805 is constructed to request 100 bytes of data from eight slave nodes on a half-duplex multi-drop network, the frame requires only standard Ethernet and multi-drop network protocol fields. The multicast lead frame 805 does not require the additional 800 bytes of payload space required to carry the requested data from each slave node. The response frame 810 sent from each slave node contains only the requested 100 bytes, not the additional 700 bytes from the other seven slave nodes.

[0043] 9 is a diagram of a multicast frame 905 of multiple read commands destined for different EIM devices for a half-duplex multi-drop network. Multiple commands can be included within a single frame, and each command may include multiple interface commands for a particular interface type (e.g., SPI, I2C, etc.).

[0044] FIG. 10 is an illustration of a unicast frame 1015 consisting of a single read command for a half-duplex multi-drop network. A multicast read frame does not need to include a payload placeholder for a half-duplex multicast read operation. The receiving slave node waits until the shared link transmission medium is available before returning the requested data to the master node. This allows the multicast read request frame to be optimized, as shown in FIG. 9. The frame requires only standard Ethernet fields and multi-drop network protocol fields (e.g., network command and subcommand). The read frame includes an SPI command field and an SPI size field that indicate the number of bytes to be read. Note that the frame does not include a placeholder for the SPI payload. The greater the amount of data read from the slave node, the greater the data efficiency improvement. As multiple read data placeholders are eliminated, the data efficiency improvement for the multicast read operation increases even more.

[0045] The devices, systems and methods described herein provide a low-complexity multi-drop switched network whose protocols utilize multicast and unicast operation to optimize the use of channel capacity.

[0046] FIG. 11 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1102 and multiple EIMs 1104 connected as network nodes on a single Ethernet link 1108 that connects multiple sensors and actuators 1142 in a multi-drop fashion. The single low-complexity multi-drop network 1100 can support the replacement of multiple legacy networks. No processing is required in the sensor nodes 1140 or actuator nodes 1142 allowing all processing to take place in the master node 1102. The master node 1102 can be incorporated into a central or zone processing unit or other electronic control unit (ECU). This network can be used to provide sensor and actuator connectivity for car doors and car seats.

[0047] 12 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1202 and EIMs 1204 connected as network nodes on a single Ethernet link 1208 that connects multiple audio devices, such as a microphone 1244 and a speaker 1246, to the network. The network supports Ethernet connections to multiple audio devices without requiring processing at the audio device nodes. This provides low-latency, deterministic connectivity for automotive applications.

[0048] 13 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1302 and EIMs 1304 connected as network nodes on a single Ethernet link 1308 that connects multiple ultrasonic sensors 1348 or other ultrasonic devices to the network. The multi-drop approach allows for removing processing from each ultrasonic sensor and consolidates the processing within the master node 1302.

[0049] 14 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1402 and EIMs 1404 connected as network nodes on a single Ethernet link 1408 that connects multiple arrays of light-emitting diodes (LED arrays 1450) to the network. The LED arrays 1450 can be used for interior lighting of the vehicle or for exterior headlights of the vehicle. Conventional Ethernet devices 1406 that do not use low-complexity technology can also be connected to the network.

[0050] 15 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1502 and EIMs 1504 connected as network nodes on a single Ethernet link 1508 that connects an analog-to-digital conversion (ADC) device 1552 and a digital-to-analog conversion (DAC) device 1554.

[0051] Figure 16 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1602 and EIMs 1604 connected as network nodes on a single Ethernet link 1608. Similar to the network of Figure 15, the network connects to analog-to-digital conversion (ADC) devices 1652 and digital-to-analog conversion (DAC) devices 1654, but multiple ADCs and DACs can be connected to a single EIM 1604.

[0052] 17 is a block diagram of another example of a low-complexity multi-drop network. The network includes one or more master devices 1702 and EIMs 1704 connected as network nodes on a single Ethernet link 1708 that connects a video sensor device 1756 and a video display device 1758.

[0053] 18 is a flow diagram of an example method 1800 for controlling the operation of a switched network. The switched network may be any of the example networks described herein. The switched network is a multi-drop switched network in which all network nodes see all data transmitted on a shared network link.

[0054] At 1805, a multicast command frame is transmitted from a network master node to a plurality of network slave nodes coupled to a shared network link. The network slave nodes include nodes coupled to the shared link using a network interface module.

[0055] At 1810, a multicast frame is received into a frame queue of a first network interface module of a first network slave node. The multicast frame is received using a half-duplex port coupled to a shared network link. At 1815, if the multicast frame is a multicast read frame for a host device coupled to the first network interface module, the first network interface module decodes a read command in the payload of the multicast frame. The payload of the multicast frame may include multiple read commands for other network slave nodes of the multiple network slave nodes.

[0056] The read data is retrieved from the host device by the first network interface module, and upon detecting that the shared network link is available for transmission at 1820, a response frame including the read data is transmitted on the shared network link. The multicast frame may be received on an interface to the switched network that is a half-duplex port including a PHY layer and a MAC layer, and the response frame may be transmitted using the half-duplex port. The read data may be obtained from the host device using a second interface coupled to the host device.

[0057] The network interface module of the first slave node may include a third external interface connected to a second master node that is not connected to the shared network link. The network interface module may receive commands for one or more other slave nodes from the second master node and broadcast the commands using the half-duplex port when the shared link is available.

[0058] The low complexity provides the advantage of using the described networks in various technology domains such as automotive, aircraft and railway applications, industrial automation, building automation (e.g., control of sensors, elevators, etc.), etc. Other technology domains include backplane applications (e.g., the physical layer of Multipoint Low-Voltage Differential Signaling (M-LVDS) networks).

[0059] Further Description and Aspects

[0060] A first aspect (Aspect 1) involves subject matter (a network interface module) including a first external interface including a single half-duplex port for communicatively coupling to a shared bus of a switched network, a second external interface for communicatively coupling to a host device, at least one frame queue sized to store one multicast read frame received over the shared bus, and logic circuitry configured to decode a read command for the interface module included in a payload of the multicast read frame including multiple read commands for other network nodes of the switched network, and transmit a response frame including the read data on the shared bus upon detecting that the shared bus is available for transmission.

[0061] In aspect 2, the subject matter of aspect 1 optionally includes a third external interface including a dedicated serial peripheral interface (SPI) for communicatively coupling the network master node to a shared bus of the switched network.

[0062] In aspect 3, the subject matter of one or both of aspects 1 and 2 optionally includes a frame queue sized to store one multicast write frame and logic circuitry configured to extract write data from a designated portion of the multicast write frame, the multicast write frame including multiple portions containing write data for other network nodes of the switched network, and transmit the extracted write data to the host device.

[0063] In aspect 4, the subject matter of one or any combination of aspects 1-3 optionally includes a higher priority frame queue and a lower priority frame queue, and logic configured to transmit frames from the higher priority queue before transmitting frames from the lower priority queue upon detecting that the shared bus is available for transmission.

[0064] In aspect 5, the subject matter of one or any combination of aspects 1-4 optionally includes a network interface module included in the network slave node, wherein the payload of the multicast read frame includes a plurality of commands for the network slave node and other network slave nodes, and logic configured to decode the commands addressed to the network slave node and transmit the read data to a master node of the switched network upon detecting that the shared bus is available for transmission.

[0065] In aspect 6, the subject matter of one or any combination of aspects 1-5 optionally includes logic circuitry configured to hold the response frame in at least one frame queue upon detection of a collision when transmitting the response frame on the shared bus.

[0066] In aspect 7, the subject matter of one or any combination of aspects 1-6 optionally includes logic circuitry configured to decode a read or write command for the interface module included in the payload of the frame.

[0067] In aspect 8, the subject matter of aspect 7 optionally includes a payload of the frame including a multicast read or write command targeted to other network nodes.

[0068] In aspect 9, the subject matter of one or any combination of aspects 1-8 optionally includes a logic circuit configured to decode a plurality of interface types and a plurality of commands for the network interface module included in the payload of the received frame, and to decode a plurality of commands for the plurality of interface types included in one of the plurality of commands.

[0069] In an embodiment 10, the subject matter of one or any combination of embodiments 1-9 optionally includes logic circuitry configured to transmit a response frame that does not include data as the frame acknowledgment.

[0070] Example 11 includes subject matter (such as a switched network) or can optionally include such subject matter in combination with one or any combination of examples 1-10, including a first network master node and a network slave node including a host device connected to the network by a network interface module including a first external interface including a single half-duplex port connected to a shared bus of the switched network, a second external interface connected to the host device, at least one frame queue sized to store one multicast read frame received over the shared bus, and logic circuitry configured to: decode a read command for the interface module included in a payload of the multicast read frame including multiple read commands for other network nodes of the switched network, and transmit a response frame including read data on the shared bus upon detecting that the shared bus is available for transmission.

[0071] In aspect 12, the subject matter of aspect 11 optionally includes a second network master node connected to the switched network through a network interface module, the network interface module including a third external interface including a dedicated serial peripheral interface (SPI) connected to the second network master node.

[0072] In example 13, the subject matter of one or both of examples 11 and 12 optionally includes logic circuitry of the network interface module configured to extract a read command for the network slave node from a received frame including a frame payload of multiple commands for the network slave node and other slave nodes of the switched network, and upon detecting that the shared bus is available for transmission, decode the read command and transmit the read data to a first network master node of the switched network.

[0073] In example 14, the subject matter of one or any combination of examples 11-13 optionally includes logic circuitry where the network interface module includes multiple interface types and is configured to extract commands for the network slave node from a received frame including a frame payload of multiple commands for the network slave node and other slave nodes of the switched network, and decode the multiple commands for the multiple interface types included in the extracted commands.

[0074] In aspect 15, the subject matter of one or any combination of aspects 11-14 optionally includes a network interface module coupled to the shared bus as a slave node, and a first network master node coupled to the shared bus via an intermediate network connection.

[0075] Example 16 may include subject matter (such as a method of controlling operation of a multi-drop switched network in which all network nodes see all data transmitted on a shared network link) or may optionally include such subject matter in combination with one or any combination of examples 1-15, and may include transmitting, by a first network master node, a multicast read frame to a plurality of network slave nodes coupled to the shared network link; receiving, using a half-duplex port coupled to the shared network link, the multicast read frame into a frame queue of a first network interface module of the first network slave node; decoding, by the first network interface module, a read command for a host device coupled to the first network interface module included in a payload of the multicast read frame, the read command including a plurality of read commands for other network slave nodes of the plurality of network slave nodes; and upon detecting that the shared network link is available for transmission, transmitting a response frame including the read data on the shared network link.

[0076] In aspect 17, the subject matter of aspect 16 optionally includes receiving a multicast read frame on a first external interface of the first network interface module, the first external interface being connected to a shared network link; receiving read data from a host device connected to the first network interface module on a second external interface of the first network interface module; sending a response on the first external interface of the first network interface module; receiving a command for another slave node from a second network master node on a third external interface of the first network interface module, the second network master node not being connected to the shared network link; and broadcasting the command on the first external interface upon detecting that the shared network link is available.

[0077] In aspect 18, the subject matter of one or both of aspects 16 and 17 optionally includes receiving a multicast write frame into a frame queue of the first network interface module using a first external interface of the first network interface module, the first external interface being connected to a shared network link; extracting write data from a designated portion of the multicast write frame, the designated portion including multiple portions including write data for other network slave nodes of the multiple network slave nodes; and transmitting the extracted write data to the host device using a second external interface of the first network interface module.

[0078] In aspect 19, the subject matter of one or both of aspects 16-18 optionally includes receiving a multicast command frame in a frame queue of a first network interface module, where a payload of the multicast command frame includes a multicast read or write command targeted to other network slave nodes of the plurality of network slave nodes, decoding a first command for the first network interface module included in the payload, and decoding multiple commands for multiple interfaces of different interface types of the first network interface module included in the first command.

[0079] In aspect 20, the subject matter of one or any combination of aspects 16-19 optionally includes retaining the response frame in a frame queue of the first network interface module upon detecting a collision on the shared network link.

[0080] These non-limiting aspects may be combined in any permutation or combination. The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are also referred to herein as "examples." All publications, patents, and patent documents mentioned in this document are incorporated herein by reference in their entirety as if each were individually incorporated by reference. In the event of a conflicting usage between this document and a document incorporated by reference, the usage in the incorporated reference shall be deemed supplementary to the usage in this document, and the usage in this document shall control in the event of an irreconcilable conflict.

[0081] In this document, the terms "a" or "an" are used to include one or more, as is common in patent documents, regardless of other instances or uses of "at least one" or "one or more." In this document, the term "or" is used to refer to a non-exclusive "or," such that "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise specified. In the appended claims, the terms "including" and "wherein" are used as the plain English equivalents of the respective terms "comprising" and "wherein." Also, in the following claims, the terms "including" and "comprising" are open-ended, i.e., systems, devices, articles, or processes that include elements in addition to those recited after such terms in a claim are still considered to be within the scope of that claim. Furthermore, in the following claims, terms such as "first," "second," and "third" are used merely as labels and are not intended to impose numerical requirements on their subject matter. The example methods described herein may be implemented, at least in part, in a machine or computer.

[0082] The above description is illustrative and not restrictive. For example, the above examples (or one or more aspects thereof) can be used in combination with each other. Other embodiments can be used by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided in compliance with 37 C.FR §1.72(b) to enable the reader to quickly ascertain the nature of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to simplify the disclosure. This should not be construed as intending that any unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Accordingly, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The scope of the invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. [Explanation of symbols]

[0083] 102 Master Device 104 EIM 106 Other Ethernet Devices 108 Shared Network Links 110 Host Device

Claims

1. A multi-drop network, comprising: a shared network link coupling all network devices of said network; a first network master device including a media access control (MAC) layer configured to transmit multicast read frames to a plurality of network slave devices coupled to the shared network link, where all network devices see all data transmitted on the shared network link; a first network interface module of a first network slave device, a half-duplex port coupled to the shared network link; a frame queue for storing the multicast read frames received via the half-duplex port; and a logic circuit configured to detect a read command for a host device coupled to the first network interface module included in a payload of the multicast read frame and to transmit a response frame including read data on the shared network link, the multicast read frame including a plurality of read commands for other network slave devices of the plurality of network slave devices, the first network interface module comprising: a first external interface including the half-duplex port coupled to the shared network link; a second external interface coupled to a host device for receiving the read data from the host device, the logic circuit configured to transmit the response frame on the first external interface; and a third external interface for receiving commands for a second network slave device from a second network master device, the second network master device not being coupled to the shared network link; A multi-drop network, wherein the logic circuitry of the first network interface module is configured to broadcast the command on the first external interface upon detecting that the shared network link is available.

2. A multi-drop network, comprising: a shared network link coupling all network devices of said network; a first network master device including a media access control (MAC) layer configured to transmit multicast read frames to a plurality of network slave devices coupled to the shared network link, where all network devices see all data transmitted on the shared network link; a first network interface module of a first network slave device, a half-duplex port coupled to the shared network link; a frame queue for storing the multicast read frames received via the half-duplex port; and a logic circuit configured to detect a read command for a host device coupled to the first network interface module included in a payload of the multicast read frame and to transmit a response frame including read data on the shared network link, the multicast read frame including a plurality of read commands for other network slave devices of the plurality of network slave devices, the first network interface module comprising: a first external interface including the half-duplex port coupled to the shared network link for receiving a multicast command frame into the frame queue, the payload of the multicast command frame including a multicast read or write command intended for other network slave devices in the multi-drop network; The logic circuit comprises: Decoding a first command for the first network interface module contained in the payload; A multi-drop network configured to decode a plurality of commands for a plurality of interfaces of different interface types of the first network interface module included in the first command.

Citation Information

Patent Citations

  • Multiplex transmission equipment for vehicle

    JP1991283845A

  • Polling method in monitoring control system

    JP1996023586A

  • Master / slave communication system

    JP2008060753A

  • Information processing apparatus and control network system

    JP2011176718A

  • In-vehicle communication device, in-vehicle communication system, synchronous processing method, and synchronous processing program

    JP2018196038A