Method and system for lin message passing between lin partitions
By storing a copy of the data of the second LIN partition in the proxy slave device and using BRST and ETST, the problem of communication response time violation between LIN partitions is solved, and efficient data transfer within the LIN response time is achieved.
Patent Information
- Application Number
- CN202110865265.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-04
- Filing Date
- 2021-07-29
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2041-07-29
AI Technical Summary
The communication response time between LIN partitions is difficult to meet the requirements within the LIN response time, especially with the assistance of a high data rate backbone communication network, resulting in response time violations.
Response time is reduced by storing a copy of the data for the second LIN partition in the proxy slave device and using a basic read schedule table (BRST) and an event-triggered schedule table (ETST) to predict and manage data access.
Effectively reduce or prevent response time violations of LIN messaging frames, ensuring response times are within expected ranges.
Smart Images

Figure CN114095306B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to Local Interconnect Network (LIN) and, more particularly, to LIN message passing between LIN partitions that are separated by a backbone communication network. BACKGROUND
[0002] Local Interconnect Network (LIN) standards are commonly used in automotive and industrial automation applications. The LIN standard is described in International Standardization Organization (ISO) 17987 and previous specifications from the LIN Alliance, and the LIN standard defines a low-end multiplexed network scheme with a single master device and multiple slave devices. Communication between the single master device and the multiple slave devices is via a single wire at a bit rate of up to 20 kilobits / second.
[0003] LIN is used in various environments, such as for vehicles. For example, each slave device of the LIN communicates information associated with vehicle operations to a master device via the LIN. Particularly in the case where the LIN is used for vehicles, the LIN converges into a regional architecture that includes multiple zones, where a master device and one or more slave devices coupled together via a single wire define a zone or LIN partition. Additionally, the LIN partitions are coupled by a high data rate backbone communication network, such as Ethernet, to form a partitioned LIN network. The LIN standard requires that transactions, such as a read request between a master device in a first LIN partition and a slave device in a second LIN partition, via the high data rate backbone communication network, occur within a LIN response time. The LIN response time can be a predefined time for providing a response to the read request. SUMMARY
[0004] According to one aspect of the present invention, a method in a partitioned Local Interconnect Network (LIN) including a first LIN partition and a second LIN partition separated by a communication network, includes:
[0005] receiving, by a proxy slave device in the first LIN partition, data from a proxy master device in the second LIN partition, wherein a slave device in the second LIN partition sends the data to the proxy master device, the proxy master device sends the data to the proxy slave device via the communication network, and the proxy slave device is a proxy for the slave device in the second LIN partition;
[0006] storing, by the proxy slave device, the data in a data structure;
[0007] after the data is stored in the data structure, receiving, by the proxy slave device, a read request from an originating master device in the first LIN partition, wherein the read request includes a LIN message identifier subscribed to by the slave device in the second LIN partition, and the proxy master device is a proxy for the originating master device;
[0008] accessing, by the proxy slave device, the data stored in the data structure based on the LIN message identifier in the read request; and
[0009] sending, by the proxy slave device, a LIN response with the stored data from the slave device in the second LIN partition to the originating master device.
[0010] According to one or more embodiments, the data is first data, the read request is a first read request, and the LIN response is a first LIN response, the method additionally comprising:
[0011] sending, by the proxy master device, a second read request, the second read request sent to the slave device in the second LIN partition, wherein the second read request anticipates the first read request;
[0012] receiving, from the slave device in the second LIN partition, a second LIN response, the second LIN response sent to the proxy master device based on a LIN message identifier in the second read request;
[0013] sending, by the proxy master device, the second LIN response in a communication message to the proxy slave device in the first LIN partition via the communication network; and receiving, by the proxy slave device, second data to store in the data structure of the proxy slave device, the second data associated with the second LIN response.
[0014] According to one or more embodiments, the method additionally comprises determining whether the second data associated with the second LIN response has already been sent to the proxy slave device, and if the second data has already been sent, not sending the communication message to the proxy slave device.
[0015] According to one or more embodiments, the method additionally comprises receiving, by the proxy slave device, a write request from the originating master device; sending, by the proxy slave device, the write request to the proxy master device via the communication network; delaying, by the proxy master device, the second read request; and sending, by the proxy master device, the write request to the slave device in the second LIN partition.
[0016] According to one or more embodiments, the data is first data and the LIN response is a first LIN response, the method further comprising: sending, by the proxy master device, a first event trigger frame (ETF); receiving, from the slave devices in the second LIN zone, a second LIN response, the second LIN response sent in response to the first ETF; sending, by the proxy master device, the second LIN response to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the second LIN response and including an indication that the second data was received without a collision; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data.
[0017] According to one or more embodiments, the data is first data; wherein the slave devices in the second LIN zone are first slave devices; and wherein the second LIN zone includes second slave devices, the method further comprising: polling, by the proxy master device, each of the first slave devices and the second slave devices at all times for respective LIN responses associated with a first ETF to which the first slave devices and the second slave devices subscribe; sending, by the proxy master device, the respective LIN responses from one or more of the first slave devices and the second slave devices to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the respective LIN responses of each of the first slave devices and the second slave devices and including an indication that the second data is associated with a collision if the communication message includes the respective responses from the first slave devices and the second slave devices; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data.
[0018] According to one or more embodiments, sending, by the proxy master device, the respective LIN responses to the proxy slave device via the communication network includes sending, by the proxy master device, the respective LIN responses of each of the first slave devices and the second slave devices to the proxy slave device in a single Ethernet frame sent via the communication network.
[0019] According to one or more embodiments, the method additionally includes: accessing, by the proxy slave device, the data structure to read the second data based on the second ETF; determining, by the proxy slave device, that the second data is associated with a conflict based on the indication in the data structure; and sending, by the proxy slave device, a second LIN response to the second ETF without a valid checksum, the second LIN response causing the originating master device to poll for the second data.
[0020] According to a second aspect of the application, there is provided a system comprising:
[0021] a proxy slave device in a first Local Interconnect Network (LIN) partition;
[0022] a proxy master device in a second LIN partition;
[0023] a communication network coupling the first LIN partition and the second LIN partition;
[0024] the proxy master device implemented in circuitry to send data to the proxy slave device, wherein a slave device in the second LIN partition sends the data to the proxy master device, and the proxy master device sends the data to the proxy slave device via the communication network; and
[0025] the proxy slave device implemented in circuitry to: receive the data from the proxy master device; wherein the proxy slave device is a proxy for the slave device in the second LIN partition; store the data in a data structure; after the data is stored in the data structure, receive a read request from an originating master device in the first LIN partition, wherein the read request includes a LIN message identifier subscribed to by the slave device in the second LIN partition, and the proxy master device is a proxy for the originating master device; access the data stored in the data structure based on the LIN message identifier in the read request; and send a LIN response from the slave device in the second LIN partition to the originating master device with the stored data.
[0026] According to one or more embodiments, the proxy slave device in the first LIN partition is implemented in circuitry to send the LIN response within a LIN response time after receiving the read request.
[0027] According to one or more embodiments, the data is first data, the read request is a first read request, and the LIN response is a first LIN response, the system additionally comprising:
[0028] the proxy master device implemented with circuitry to: send a second read request, the second read request sent to the slave device in the second LIN partition, wherein the second read request is predictive of the first read request; receive a second LIN response from the slave device in the second LIN partition, the second LIN response sent to the proxy master device based on a LIN message identifier in the second read request; and send the second LIN response in a communication message to the proxy slave device in the first LIN partition via the communication network; and
[0029] the proxy slave device implemented with circuitry to receive second data for storage in the data structure of the proxy slave device, the second data associated with the second LIN response.
[0030] According to one or more embodiments, the system additionally includes: the proxy slave device implemented with circuitry to: receive a write request from the originating master device; and send the write request to the proxy master device via the communication network; and the proxy master device implemented with circuitry to: delay the second read request; and send the write request to the slave device in the second LIN partition.
[0031] According to one or more embodiments, the data is first data and the LIN response is a first LIN response, the system additionally includes: the proxy master device implemented with circuitry to: send a first event triggered frame (ETF); receive a second LIN response from the slave device in the second LIN partition, the second LIN response sent in response to the first ETF; send the second LIN response in a communication message to the proxy slave device via the communication network; and the proxy slave device implemented with circuitry to: store second data, the second data associated with the second LIN response and including an indication that the second data was received without conflict; and after the second data is stored in the data structure, receive a second ETF from the originating master device to read the second data.
[0032] According to one or more embodiments, the data is first data; wherein the slave device in the second LIN partition is a first slave device; and wherein the second LIN partition includes a second slave device, the system further comprising: the proxy master device implemented with circuitry to: poll each of the first slave device and the second slave device for a respective LIN response associated with a first ETF to which the first slave device and the second slave device subscribe; and send the respective LIN response from one or more of the first slave device and the second slave device to the proxy slave device in a communication message via the communication network; and the proxy slave device implemented with circuitry to: store second data in the data structure, the second data associated with the respective LIN response of each of the first slave device and the second slave device, and including an indication that the second data is associated with a conflict if the communication message includes the respective response from the first slave device and the second slave device; and receive, by the proxy master device from the originating master device, a second ETF to read the second data after the second data is stored in the data structure.
[0033] According to one or more embodiments, the proxy master device implemented with circuitry to send the respective LIN response to the proxy slave device via the communication network includes the proxy master device implemented with circuitry to send the respective LIN response from each of the first slave device and the second slave device to the proxy slave device in a single Ethernet frame sent via the communication network.
[0034] According to one or more embodiments, the system further comprises the proxy slave device implemented with circuitry to: access the data structure to read the second data based on the second ETF; determine that the second data is associated with a conflict based on the indication in the data structure; and send a second LIN response to the second ETF without a valid checksum, the second LIN response causing the originating master device to poll for the second data.
[0035] According to a third aspect of the present invention, there is provided a proxy slave device, comprising:
[0036] a first circuitry arranged to receive data from a proxy master device in a LIN partition coupled to a communication network, wherein slave devices in the LIN partition send the data to the proxy master device, the proxy master device sends the data to the proxy slave device via the communication network, and the proxy slave device is a proxy for the slave devices in the LIN partition;
[0037] a second circuitry arranged to store the data in a data structure;
[0038] a third circuitry arranged to receive, by the proxy slave device, a read request from an originating master device in a LIN partition after the data is stored in the data structure, the LIN partition being different from the LIN partition having the slave devices and the proxy master device, wherein the read request comprises a LIN message identifier subscribed to by the slave devices in the LIN partition, and the proxy master device is a proxy for the originating master device;
[0039] a fourth circuitry arranged to access the data stored in the data structure based on the LIN message identifier in the read request; and
[0040] a fifth circuitry arranged to send a LIN response from the slave devices in the second LIN partition to the originating master device along with the stored data.
[0041] According to one or more embodiments, the data structure comprises an association between the LIN message identifier and the data.
[0042] According to one or more embodiments, the data is first data; wherein the slave devices in the LIN partition are first slave devices; and wherein the LIN partition comprises second slave devices, the proxy slave device additionally comprises a sixth circuitry arranged to receive respective LIN responses associated with each of the first slave devices and the second slave devices in a single Ethernet frame sent via the communication network.
[0043] According to one or more embodiments, the data is first data; and wherein the LIN response is a first LIN response, the proxy slave device further comprises sixth circuitry arranged to receive, from the originating master device, an ETF to which the first slave device and the second slave device are subscribed, access the data structure for second data based on a LIN message identifier associated with the ETF, determine that the second data is associated with a conflict between the first slave device and the second slave device, wherein the data structure indicates the LIN message identifier associated with the ETF and the second data is associated with the conflict; and send a second LIN response without a valid checksum, the second LIN response causing the originating master device to poll for the second data.
[0044] According to another aspect of the application, there is provided a proxy master device comprising:
[0045] first circuitry arranged to send a read request to a slave device in a LIN zone, wherein the read request anticipates a read request sent by an originating master device in another LIN zone, the other LIN zone is coupled to the LIN zone by a communication network, and the proxy master device is a proxy for the originating master device;
[0046] second circuitry arranged to receive a LIN response from the slave device in the LIN zone, the LIN response is sent to the proxy master device based on a LIN message identifier in a second read request; and
[0047] third circuitry arranged to send the second LIN response in a communication message to a proxy slave device in the other LIN zone via the communication network, wherein the proxy slave device is a proxy for the proxy slave device in the LIN zone.
[0048] According to one or more embodiments, the read request sent by the originating master device is sent to the proxy slave device.
[0049] According to one or more embodiments, the proxy master device further comprises a schedule indicating a LIN message identifier associated with data to be read from one or more additional slave devices in the LIN zone, wherein the LIN message identifier matches a LIN message identifier in a read request sent by the originating master device to read the data from the one or more additional slave devices.
[0050] According to one or more embodiments, the schedule is arranged as a circular buffer of the LIN message identifiers; and wherein the proxy master device comprises fourth circuitry arranged to send a respective read request associated with each of the LIN message identifiers, receive a respective LIN response from the one or more additional slave devices, send the respective LIN response to the proxy slave device, and repeat the sending of the respective read request associated with each of the LIN message identifiers, the receiving of the respective LIN response, the sending of the respective LIN response to the proxy slave device to obtain new data from the one or more additional slave devices. BRIEF DESCRIPTION OF DRAWINGS
[0051] Figure 1 is an example system diagram of a split Local Interconnect Network (LIN) that is divided into different LIN partitions via a backbone communication network and configured to support read requests and write requests.
[0052] Figure 2 is an example message flow and timing that shows a master device in a first LIN partition sending a read request with a LIN message identifier that is subscribed by a slave device in a second LIN partition, and wherein a proxy master device in the second LIN partition is executing read requests according to a Basic Read Schedule Table (BRST).
[0053] Figure 3 is an example message flow and timing that shows a master device in a first LIN partition sending a write request with a LIN message identifier that is subscribed by a slave device in a second LIN partition, and wherein a proxy master device is forwarding the write request and executing read requests according to a BRST.
[0054] Figure 4 is an example system diagram of a split LIN that is divided into different LIN partitions via a backbone communication network and configured to support Event Triggered Frames (ETFs).
[0055] Figure 5 is an example message flow and timing that shows a master device in a first LIN partition sending an ETF with a LIN message identifier that is subscribed by a slave device in a second LIN partition, and wherein a proxy master device is sending the ETF according to an Event Trigger Schedule Table (ETST).
[0056] Figure 6 is an example flow diagram of functionality associated with a master device in one LIN partition sending a read request to read data from a slave device in another LIN partition that reduces or prevents a violation of a LIN response time for a LIN message frame.
[0057] Figure 7 is an example flowchart of functionality associated with a master device in one LIN partition sending an ETF to read data from a slave device in another LIN partition that reduces or prevents a violation of a LIN response time for a LIN message frame.
[0058] Figure 8 is an example block diagram of a proxy master or proxy slave device configured to support read requests and write requests.
[0059] The drawings are for purposes of illustrating example embodiments and are not intended to limit the embodiments. DETAILED DESCRIPTION
[0060] The following description includes example systems, methods, techniques, and program flows embodied in aspects of LIN messaging between local interconnect network (LIN) partitions to reduce violations of LIN response interval times in LIN frames. To not obscure the description, well-known instructions, protocols, structures, and techniques are not shown in detail.
[0061] SUMMARY
[0062] An originating master device in a first LIN partition sends a read request with a LIN message identifier that is subscribed to by a slave device in a second LIN partition. A proxy slave device in the first LIN partition receives the read request and forwards the read request to a proxy master device in the second LIN partition via a high-speed backbone network. In response, the proxy master device sends the read request to one or more slave devices in the second LIN partition, and the slave devices in the second LIN partition provide responses with the data to be read to the proxy master device. The proxy master device provides the responses to the proxy slave device via the backbone network, and the proxy slave device provides the responses to the originating master device. The communication between the originating master device and the slave devices in the second LIN partition typically violates a LIN response time, e.g., a maximum LIN response time, which is an expected time for the originating master device to expect a response. The violation is because of the increased latency in sending the request and responses over the high-speed backbone network.
[0063] The various embodiments disclosed herein are directed to LIN messaging between LIN partitions to reduce or prevent violations of a LIN response time for a LIN messaging frame. To reduce or prevent this violation, a proxy slave device of a first LIN partition receives and stores a copy of data received from one or more slave devices in a second LIN partition prior to receiving a read request from an originating master device in the first LIN partition. In this way, the proxy slave device does not need to obtain data from the slave devices in the second LIN partition to be read upon receiving the read request from the originating master device. Instead, the proxy slave device provides the data within the LIN response time in response to the read request. To facilitate the proxy slave device storing a copy of data associated with the slave devices in the second LIN partition, a proxy master device in the second LIN partition has a basic read schedule table (BRST). In an example, the BRST is a data structure, such as an array or linked list. Each entry in the BRST indicates a LIN message identifier that is subscribed by a slave device to read data from the slave device. For example, the proxy master device reads the data indicated by the BRST by sending a read request in the second LIN partition with the LIN message identifier, and a slave device in the second LIN partition that subscribes to the LIN message identifier sends a LIN response with the read data. As another example, the proxy master device sends an event triggered frame (ETF) with the LIN message identifier to read data from one or more slave devices in the second LIN partition that subscribe to the LIN message identifier. The proxy master device in the second LIN partition has an event trigger schedule table (ETST), which is a data structure, such as an array or linked list, of ETFs. If a slave device in the second LIN partition that subscribes to the ETF does not have data, the slave device in the second LIN partition does not send a LIN response, which causes a LIN response timeout, which is acceptable for the ETF. If one slave device in the second LIN partition subscribes to the ETF and has data, the one slave device in the second LIN partition sends a LIN response with the read data. If more than one slave device in the second LIN partition subscribes to the ETF and has data, more than one slave device in the second LIN partition sends respective LIN responses that collide. The ETST can additionally include a collision resolution read time slot for reading data from one or more slave devices in the second LIN partition when there is a collision. In each example, the proxy master device can always forward the read data from the slave devices in the second LIN partition to the proxy slave device via the backbone communication network, only after the data changes, or after some other criteria. In this way, the proxy slave device stores a copy of the data received from the slave devices in the second LIN partition.Next, if the originating master device on the first LIN partition sends a read request or an ETF with a LIN message identifier that is subscribed to by a slave device in the second LIN partition, the proxy slave device provides data associated with the slave device in the second LIN partition. The BRST or ETST causes the proxy master device to proactively read data from the slave device in the second LIN partition and provide the data to the proxy slave device. Additionally, when the originating master device in the first LIN partition sends a read request or an ETF for data stored by a slave device in the second LIN partition, the originating master device in the first LIN partition receives the data from the proxy slave device within the LIN response time.
[0064] Example system
[0065] Figure 1 is a system diagram of a partitioned LIN 100 that is divided into different LIN partitions via a backbone communication network 102 and is configured to support read requests and write requests. The LIN standard is described in International Standardization Organization (ISO) 17987 and previous specifications from the LIN Consortium, and the LIN standard defines a master / slave communication model in which a master device controls one or more slave devices. The partitioned LIN 100 has a first LIN partition 104 and a second LIN partition 106. The first LIN partition 104 has an originating master device 108 and zero, one, or more slave devices, shown as slave devices 110, 112, coupled together via a data path 116. Additionally, the first LIN partition 104 and the second LIN partition 106 are coupled by a backbone communication network 102. The backbone communication network 102 can take the form of an Ethernet protocol network or some other type of data network that tunnels messages between LIN partitions. In an example, a proxy slave device 114 of the first LIN partition 104 and a proxy master device 118 in the second LIN partition 106 can be coupled to the backbone communication network 102. Additionally, the proxy master device 118 can be coupled to one or more other slave devices 120, 122 via a data path 124. The proxy slave device 114 in the first LIN partition 104 is a proxy for the other slave devices 120, 122 in the second LIN partition 106. For example, as described herein, the proxy slave device 114 can store data on the slave devices in the second LIN partition 106. Additionally, the proxy master device 118 in the second LIN partition 106 is a proxy for the originating master device 108 in the first LIN partition 104. For example, as described herein, the proxy master device 118 can perform requests to read data from the slave devices in the second LIN partition 106 and write data to the slave devices in the second LIN partition 106 according to read and write requests performed by the originating master device 108.
[0066] One or both of the master devices 108, 118 may be implemented using circuitry such as analog circuitry, mixed-signal circuitry, memory circuitry, logic circuitry, processing circuitry, etc., which execute code stored in memory that, when executed by the processing circuitry, performs the disclosed functionality, or a combination thereof. One or both of the proxy slave devices 114 and the slave devices may be implemented using circuitry such as analog circuitry, mixed-signal circuitry, memory circuitry, logic circuitry, processing circuitry, etc., which execute code stored in memory that, when executed by the processing circuitry, performs the disclosed functionality, or a combination thereof. Figure 1 The split LIN 100 is shown arranged with two LIN partitions 104, 106, but in other examples, the split LIN 100 may have more than two LIN partitions, such as a third partition coupled to the first or second LIN partition via the backbone communication network 102. The third partition (and other additional partitions) may have corresponding proxy masters for the originating master 108 in the first LIN partition 104. Other variations are also possible.
[0067] The slave devices can provide data. The data can be generated by the slave devices themselves and stored in the slave devices, or received from the originating master device 108 and stored in the slave devices. In an example, the originating master device 108 can initiate a write request for the originating master device 108 to store data in the slave devices. The write request can take the form of a LIN message frame 126. The LIN message frame 126 includes a LIN header 128 and a LIN response 130. The originating master device 108 sends the LIN header 128 and the LIN response 130 as part of the write request. The LIN header 128 includes various fields, including a protected identifier (PID) field 129 with a LIN message identifier. The LIN message identifier can identify a type of data to be written, and slave devices that subscribe to the LIN message identifier can write the data of the write request. A slave device that receives the LIN header 128 uses the LIN message identifier to determine whether the slave device is to perform a write operation. If the slave device subscribes to the LIN message identifier, the slave device stores the data provided in the LIN response 130 of the LIN message frame 126, which is then sent by the originating master device 108 after a period of time referred to as a LIN response interval time 132. To cause the originating master device 108 to read data from the slave devices, the originating master device 108 can perform a read request. The read request can be based on a LIN message frame 126 with a LIN message identifier that indicates the read request. The originating master device 108 can send the LIN header 128 to the slave devices, and then a slave device that receives the LIN header 128 uses the LIN message identifier to determine whether the slave device is to perform the read request. If the slave device subscribes to the LIN message identifier, the slave device sends the LIN response 130 along with the data. The LIN response 130 is to be provided to the originating master device 108 within a LIN response time 133, which is an aggregation of the time of the LIN response 130 and the LIN response interval time 132. In an example, the LIN header 128 and the LIN response 130 define the LIN message frame 126, and the LIN response 130 can have a checksum 131 to detect errors in the LIN response 130.
[0068] The originating master device 108 typically sends a read request or a write request associated with a slave device in the second LIN partition 106. The proxy slave device 114 and the proxy master device 118 can facilitate communication of the read request or the write request from the originating master device 108 to the slave device in the second LIN partition 106. The proxy slave device 114 can be arranged to send the LIN header 128 of the read request to the proxy master device 118, or the LIN header 128 and the LIN response 130 of the write request to the proxy master device 118. If the backbone communication network 102 is Ethernet, the proxy slave device 114 can form an Ethernet frame to the proxy master device 118 in the second LIN partition 106. The payload of the Ethernet frame can include the LIN header 128 of the read request or the LIN header 128 and the LIN response 130 of the write request. The proxy slave device 114 in the second LIN partition 106 can then send the Ethernet frame to the proxy master device 118 in the first LIN partition 104 via Ethernet, which recovers the payload tunneled via Ethernet. Additionally, for the read request, the proxy master device 118 can send the LIN response 130 associated with the read request to the proxy slave device 114 in a backbone communication message via the backbone communication network. In an example, the proxy master device 118 can form the backbone communication message as an Ethernet frame to the proxy slave device 114 in the first LIN partition 104, which sent the read request via the backbone communication network 102. In an example, the payload of the Ethernet frame can include the LIN response 130 of the read request. The proxy master device 118 in the second LIN partition 106 can then send the Ethernet frame to the proxy slave device 114 in the first LIN partition 104 via Ethernet. The proxy slave device 114 can recover the LIN response 130 from the payload tunneled via Ethernet and send the LIN response 130 via the data path 116 for receipt by the originating master device 108.
[0069] The originating master device 108 in the first LIN partition 104 can not be aware of read requests associated with slave devices that can be located in the second LIN partition 106. If a slave device is located in the second LIN partition 106, any latency added due to the following operations can violate the LIN response time 133: (i) the proxy slave device 114 sending the LIN header 128 to the proxy master device 118 via the backbone communication network 102; (ii) the proxy master device 118 sending the LIN header 128 via the data path 124; (iii) the slave device in the second LIN partition 106 sending the LIN response 130 to the proxy master device 118; (iv) the proxy master device 118 sending the LIN response 130 to the proxy slave device 114 via the backbone communication network 102; and (v) the proxy slave device 114 sending the LIN response 130 to the originating master device 108 in the first LIN partition 104. The violation is due to latency in sending messages through the backbone communication network 102.
[0070] Various embodiments are directed to predicting read requests from originating master devices and the proxy slave devices 114 of the first LIN partition 104 storing copies of data associated with slave devices of the second LIN partition 106 to reduce response times for read requests sent by originating master devices 108 of the first LIN partition 104. In this manner, the proxy slave devices 114 do not need to obtain data to be read from slave devices in the second LIN partition 106 upon receiving a read request and do not need to violate the LIN response time 133. Instead, the proxy slave devices 114 responsively provide data associated with a read request that the proxy slave devices 114 have already stored when the read request is received by the originating master device 108.
[0071] To facilitate the proxy slave devices 114 storing copies of data associated with slave devices of the second LIN partition 106, a proxy master device in the second LIN partition stores a basic read schedule table (BRST) 134 in memory. The BRST 134 can have a plurality of entries, an example of which is shown as entry 136. Entries in the BRST have an R designation to indicate data to be read from a slave device in the second LIN partition 106, and, in an example, the entries can include a LIN message identifier. To illustrate, the entry 136 can be associated with a LIN message identifier 1 and other entries can be associated with LIN message identifiers 2-4. In an example, entries in the BRST 134 can match or be in the same order as data to be read by the originating master device 108 in the first LIN partition 104 based on firmware running on one or more of the originating master device 108 and the proxy master device 118.
[0072] The proxy master device 118 can read the data indicated by the BRST 134 by sending a read request with the LIN message identifier in the entry with the BRST 134 in the form of a LIN header. The slave device on the second LIN partition 106 that subscribes to the LIN message identifier sends a LIN response with the data. The proxy master device 118 then forwards the LIN response with the data and an indication of the LIN message identifier associated with the received data. The LIN response and indication are forwarded to the proxy slave device 114 via the backbone communication network 102, which stores a copy of the data.
[0073] The proxy slave device 114 can store the read data as an example table 138 in memory. In examples, the table 138 can be a data structure such as an array or a linked list. The example table 138 can associate a LIN message identifier with data read based on the LIN message identifier. Each row in the example table 138 can have an entry for each column 142-144. The column 142 can define the LIN message identifier. The column 144 can indicate the type of LIN message identifier and store data associated with the read by a designation R corresponding to the read data. In this regard, as an example, a row 148 can indicate that for a LIN message identifier (ID1), read data associated with the LIN message identifier (ID1) is stored. In some examples, the proxy master device 118 can only forward received data to the proxy slave device 114 if the data is different from data associated with a LIN message identifier previously forwarded to the proxy slave device 114. Then, if the originating master device 108 in the first LIN partition 104 sends a read request with a LIN message identifier that is subscribed to by a slave device in the second LIN partition 106, the proxy slave device 114 accesses the table 138 based on the LIN message identifier to determine a row associated with the LIN message identifier. Data associated with the LIN identifier in the table 138 is provided to the originating master device 108 because the proxy slave device 114 has already stored the data associated with the read request. The proxy master device does not have to obtain the data from the slave device in the second LIN partition 106 when the read request is received. The BRST 134 allows the proxy master device 118 to proactively read the data from the slave device in the second LIN partition 106 and provide the data to the proxy slave device 114. Thus, when the originating master device 108 in the first LIN partition 104 sends a read request, the originating master device 108 in the first LIN partition 104 receives the data from the proxy slave device 114 within the LIN response time 133 even though the data is provided by a slave device of the second LIN partition 106.
[0074] In some examples, while the proxy master device 118 is performing read requests according to the BRST 134, the originating master device 108 in the first LIN partition 104 can send a write request having a LIN message identifier that is subscribed to by a slave device in the second LIN partition. The proxy slave device 114 can send the write request to the proxy master device 118 via the backbone communication network 102. When the proxy master device 118 receives the write request, the BRST 134 can be modified to form a BRST 140 having a write time slot denoted as W. The proxy master device 118 stops issuing read requests and sends the write request indicated by the BRST 140. The slave device in the second LIN partition 106 that subscribes to the LIN message identifier in the write request performs a write operation associated with the write request. The proxy master device 118 then continues the read requests associated with the BRST 140. In this regard, the proxy master device 118 is able to perform the read requests defined by the BRST 134 even though the originating master device 108 sent a write request.
[0075] In examples, the operation of the BRST 134 can be performed independently of any read requests from the originating master device 108. In this way, the proxy slave device 114 does not need to obtain data from the slave devices in the second LIN partition 106 to be read when a read request is received. Instead, the proxy slave device 114 responsively provides data associated with a read request that the proxy slave device 114 has already stored when the read request is received by the originating master device 108, thereby reducing or preventing a violation of the LIN response time 133. The BRST 134 can allow the proxy master device 118 to anticipate the data read by the originating master device 108. Additionally, in examples, the BRST 134 can be arranged as a circular buffer of LIN message identifiers. In examples, the proxy master device 118 sends a read request associated with each LIN message identifier in each entry of the BRST 134, and then repeats sending each read request again to obtain new or updated data from the slave devices in the second LIN partition 106 that is subsequently provided to the proxy slave device 114.
[0076] Figure 2 is a message flow that illustrates a master device in a first LIN partition sending a read request having a LIN message identifier that is subscribed to by a slave device in a second LIN partition in the form of a LIN header while a proxy master device in the second LIN partition is performing read requests according to a basic read schedule (BRST). The messages 202-212 can be associated with BRST operations.
[0077] To read data, the proxy master device 118 can send a LIN header 202 with a LIN message identifier that is subscribed to by slave device S3 in the second LIN partition 106. The slave device S3 in the second LIN partition can provide data in a LIN response 204 to the proxy master device 118. The proxy master device 118 in turn can provide the LIN response 204 and the LIN message identifier from the LIN header 202 to the proxy slave device 114 in a backbone communication message 206 sent via the backbone communication network 102. In an example, the backbone communication network 102 can tunnel messages between the first LIN partition 104 and the second LIN partition 106. The proxy slave device 114 can then store the data associated with the LIN response 204 in the table 138. The proxy master device 118 can send additional read requests according to the BRST. The proxy master device 118 can send a LIN header 208 with a LIN message identifier that is subscribed to by slave device S4 in the second LIN partition 106. The slave device S4 in the second LIN partition 106 can provide data in a LIN response 210 to the proxy master device 118. The proxy master device 118 in turn can provide the LIN response 210 to the proxy slave device 114 in a backbone communication network message 212. In response, the proxy slave device 114 can store the data associated with the LIN response 210 in the table 138. This process can be repeated again for each slave device according to the BRST 134. Additionally, this process can be repeated for the same slave device, as shown by messages 218, 220, 222.
[0078] The operations performed by the proxy slave device 114 and the proxy master device 118 can anticipate the originating master device 108 in the first LIN partition 104 to perform a read request in the form of a LIN header with a LIN message identifier that is subscribed to by a slave device in the second LIN partition 106.
[0079] The messages 214-216 can be messages associated with a read request by the originating master device 108. At tl, the originating master device 108 in the first LIN partition 104 can send a LIN header 214 with a LIN message identifier that is subscribed to by a slave device in the second LIN partition 106. At t2, the proxy slave device 114 receiving the LIN header can be arranged to provide data in a LIN response 216 by accessing the table 138 storing data associated with the LIN message identifier in the LIN header 214. At t3, the proxy slave device can be arranged to send the LIN response 216 and the data associated with the LIN message identifier in the LIN header 214, which is received by the originating master device 108 at t4. The time at which the originating master device 108 receives the response can be less than the maximum time of the LIN response time 133, or t4-tl < T FRAME_MAXeven if the slave device associated with the read request is located in a different LIN partition than the originating master device 108. In an example, the LIN response interval 133 time is satisfied.
[0080] Figure 3 is a message flow 300 illustrating the originating master device 108 in the first LIN partition sending a write request with a LIN message identifier subscribed by a slave device in the second LIN partition while the proxy master device 118 is performing a read request according to the BRST 134. The proxy master device 118 can interrupt the read request being performed according to the BRST 134 to perform the write request from the originating master device 108. The messages 302-312 can be associated with the read request being performed according to the BRST 134. The messages can include a LIN header and LIN responses between the proxy master device 118 and the slave device S3, as well as LIN responses from the proxy master device 118 and the proxy slave device 114. The messages cause the proxy slave device 114 to store data from the slave device S3 in the table 138.
[0081] The originating master device 108 in the first LIN partition 104 can send a write request with a LIN message identifier subscribed by a slave device in the second LIN partition 106 in the form of a LIN header while the proxy master device 118 is performing a read request according to the BRST 134. The messages 314-318 can be associated with this write request. The write request can include both a LIN header with a LIN message identifier subscribed by S3 in the second LIN partition 106 and a LIN response. The originating master device 108 can send the message 314 with the write request to the proxy slave device 114. The proxy slave device 114 can forward the message 316 with the write request to the proxy master device 118 via the backbone communication network 102. In an example, the messages can be tunneled between the first LIN partition 104 and the second LIN partition 106. The proxy master device 118 can perform the read request by sending a LIN header to the slave device S3 and then receiving a LIN response from the slave device S3. The proxy master device 118 can add a write slot to the BRST 134 (forming the BRST 140) by delaying the read request and sending the message 318 with the write request to the slave device S3, which causes the slave device S3 in the second LIN partition 106 to complete the write request. The proxy master device 118 can then continue sending the read request associated with the message 308. Based on the message flow 300, the proxy master device 118 can perform a read request according to a BRST even if the originating master device 108 in the first LIN partition 104 sends a write request with a message identifier subscribed by a slave device in the second LIN partition 106.
[0082] An event triggered frame (ETF) enables the master device to obtain data from one or more LIN slave devices in the second LIN partition 106. In an example, the master device sends an ETF, and slave devices that subscribe to the ETF and have data will respond to the ETF. The ETF is a faster way of obtaining data than individually polling slave devices in the second LIN partition 106, provided there is no response collision as discussed below.
[0083] The ETF can take the form of a LIN header specified in ISO 17987-3 LIN header, with a LIN message identifier indicating that the LIN header is associated with the ETF. If a LIN slave device receives the ETF, subscribes to the LIN message identifier, and has new or updated data associated with the LIN message identifier, the LIN slave device responds to the master device with the new or updated data in a LIN response. If a LIN slave device receives the ETF and does not have new or updated data, the LIN slave device does not respond to the master device with new or updated data in a LIN response. In this regard, different scenarios are possible when the master device sends the ETF. If a LIN slave device does not respond to the ETF sent by the master device, there is a response timeout. If one LIN slave device responds to the ETF sent by the master device, the master device receives new or updated data in the LIN response without an error. If more than one LIN slave device responds to the ETF sent by the master device with respective LIN responses, there is a collision between the LIN response results and the collision needs to be resolved. A solution can be to individually poll each of the slave devices with new or updated data for the master device to obtain the new or updated data in respective LIN responses without a collision.
[0084] Figure 4is a system diagram of a split LIN 100 that is decoupled from the backbone communication network 102 and configured to support an ETF. The split LIN 100 has a first LIN partition 104 and a second LIN partition 106. The first LIN partition 104 has an originating master 108 and one or more slave devices 110, 112 coupled together via a data path 116. To facilitate communication between the LIN partitions 104, 106, a proxy slave device 114 of the first LIN partition 104 and a proxy master device 118 in the second LIN partition 106 are coupled to the backbone communication network 102. The proxy master device 118 in the second LIN partition 106 is then coupled to one or more other slave devices 120, 122 via a data path 124. The proxy slave device 114 in the first LIN partition 104 is a proxy slave device for the other slave devices 120, 122 in the second LIN partition 106. The originating master 108 in the first LIN partition 104 can not be aware that a slave device subscribing to the ETF is located in the second LIN partition 106. If a slave device is located in the second LIN partition 106, any latency added due to the proxy slave device 114 sending the ETF and receiving a LIN response in the form of a LIN header (ETF) via the backbone communication network 102 can cause a violation of a LIN response time 133.
[0085] To reduce or prevent a violation of the LIN response time 133, the proxy master device 118 can be arranged in memory with a BRST modified with an event-triggered read slot modification shown as a time slot 402 labeled E to form an event-triggered schedule (ETST) 400. The event-triggered read slot can define the ETF. The proxy master device 118 can send the ETF. If a LIN slave device does not subscribe to the ETF, the response times out and the proxy master device 118 does not receive new or updated data.
[0086] If a slave device responds to the ETF, the proxy master device 118 receives new or updated data without an error in the LIN response. The proxy master device 118 pushes this data and an associated LIN message identifier in a backbone communication message to the slave device proxy 114 with the LIN response via the backbone communication network 102.
[0087] If more than one slave device responds to the ETF sent by the proxy master device 118, a collision occurs between the LIN responses and the collision needs to be resolved. The solution can be to modify the ETST 400 for the proxy master device 118 to generate an ETST 414 with one or more collision resolution read slots 416, 418, denoted as CR, to individually poll each of the identified slave devices involved in the collision that involves new or updated data. As shown, the read slot 416 can be associated with a LIN message identifier subscribed by the slave device 120, and the read slot 418 can be associated with a LIN message identifier subscribed by the slave device 122. The polling can be based on the proxy master device 118 sending multiple read requests one at a time and receiving respective responses to the read requests. The read request can have a LIN message identifier subscribed by one of the slave devices involved in the collision that allows data to be received in the LIN response from the one of the slave devices. The read request can be in the form of a LIN header (CR). The proxy master device 118 sends multiple LIN headers (CR) each with a different LIN message identifier, so that each of the slave devices responds with data without collision. The proxy master device 118 pushes the LIN responses with the data resulting from the polling as backbone communication messages to the proxy slave device 114 via the backbone communication network 102. The backbone communication messages can also include an indication that the ETF caused a collision, and the respective LIN message identifier used to read each data from the polled slave device.
[0088] The proxy slave device 114 can be arranged in memory with an example table 404 to store the received data. The example table 404 has one or more rows with a plurality of entries in one or more columns. As shown, the example table 404 has one or more rows 406, 408, 410, 412, 430 and one or more columns 420, 422, 424, 426. Each row can have a plurality of entries associated with the columns 420, 422, 424, 426. The column 420 can specify a LIN message identifier. The column 422 can be associated with whether the LIN message identifier is associated with an ETF denoted as “E” or a collision resolution slot denoted as “CR”. The column 424 can indicate whether the data associated with the LIN message identifier is updated and to be provided to the originating master device 108. The column 426 can indicate whether the LIN message identifier is associated with a collision.
[0089] To illustrate, row 406 can define an identifier ID1, which can be a LIN message identifier in column 420. Row 406 can also have a designation E, which is an abbreviation for ETF in column 422, and indicates that ID1 is associated with an ETF. Row 406 can have an updated designation in the column that indicates that the data associated with ID1 is updated and is to be provided to the originating master device 108. Row 406 can also have a designation in column 426 that ID1 is associated with a conflict. As another example, row 408 can define an identifier ID2, which can be a LIN message identifier in column 420. Row 408 can also have a designation CR, which is an abbreviation for conflict resolution time slot in column 422, and indicates that ID2 is associated with data resulting from polling a slave device as part of an ETF. Row 408 can have an updated designation in the column that indicates that the data associated with ID2 is updated and is to be provided to the originating master device 108. Row 408 can also have a designation in column 426 that ID2 is not associated with a conflict.
[0090] In an example, having an E designation as a row entry's LIN message identifier in column 422 can indicate that the LIN message identifier is associated with an ETF. The row entry can also point to the LIN message identifiers of the CR time slot that are associated with the ETF. For example, ID1, which is associated with an ETF, can have pointers (not shown) to ID2 and ID3. ID1 is the ETF that generates a conflict, and ID2 and ID3 are LIN message identifiers that are associated with polling a slave device for data associated with the conflict. In some examples, the row for the LIN message identifier associated with the ETF can not have entries in columns 424, 426 to indicate whether the ETF is associated with a conflict, updated data, or a combination thereof. Instead, the proxy slave device 114 can determine whether a conflict is associated with the ETF, or whether the ETF is associated with updated data, based on the information of the CR time slot that is associated with the ETF. For example, if the LIN message identifiers associated with the CR time slot do not have updated data, then the LIN message identifiers associated with the ETF are not associated with a conflict. As another example, if one of the LIN message identifiers associated with the CR time slot has updated data, then the LIN message identifiers associated with the ETF are not associated with a conflict. As yet another example, if two or more of the LIN message identifiers associated with the CR time slot have updated data, then the LIN message identifiers associated with the ETF are associated with a conflict.
[0091] The proxy slave device 114 can use the table 404 to process ETFs received from the originating master device 108 to reduce violations of the LIN response time 133. In an example, the table 404 can store data associated with ETFs prior to the proxy slave device 114 receiving the ETFs from the originating master device 108. When receiving ETFs from the originating master device 108, the proxy slave device 114 does not have to obtain data from slave devices in the second LIN partition 106.
[0092] For example, if the proxy slave device 114 receives an ETF with a LIN message identifier that matches the LIN message identifier in row 430, the proxy slave device 114 can determine whether the data associated with the ETF is updated. If the data is not updated, the data was previously sent to the originating master device 108, and the proxy slave device 114 does not provide a LIN response based on row 430.
[0093] As another example, if the proxy slave device 114 receives an ETF with a LIN message identifier that matches the LIN message identifier in row 412, the proxy slave device 114 can determine that the data associated with the ETF is updated and is not associated with a conflict. The proxy slave device 114 provides the data of row 412 in a LIN response, and an indication of the updated data is changed to indicate that the data is provided to the originating master device 108.
[0094] As yet another example, if the proxy slave device 114 receives an ETF that matches the message identifier in row 406, the proxy slave device 114 can determine that the data associated with the ETF is updated and is associated with a conflict. The proxy slave device 114 provides a LIN response with an error, such as a LIN response without a checksum 131, to cause the originating master device 108 to poll the slave device to read the updated data. The originating master device 108 can send a read request in the form of a LIN header (CR) with a LIN message identifier to read data from each slave device. For example, the proxy slave device 114 can receive the LIN header (CR), access one of rows 408, 410 in the table 404 associated with the LIN message identifier in the LIN header (CR), and provide data associated with one of rows 408, 410 as a LIN response to the read request. The data can be provided within the LIN response time, and an indication of the updated data is set to "No" to indicate that the data is provided to the originating master device 108. The originating master device 108 repeats this process for each slave device that will involve a conflict. In this way, the originating master device 108 can execute ETFs as if the slave devices were in the same LIN partition and without violating the LIN response time 133.
[0095] In an example, data generated by the proxy master device 118 polling the slave devices 120, 122 can be provided from the proxy master device 118 to the proxy slave device 114 via the backbone communication network 102 in a single network frame, such as a single Ethernet frame. The single network frame allows the proxy slave device 114 to receive the polled data together, rather than as separate network frames. By receiving the polled data together, the table 404 can be updated with all of the polled data together. If the data were sent via separate network frames, the table 404 can be updated step-by-step as the network frames with polled data are received. Data stored in the table 404 that does not reflect the contents on the slave devices can be provided to the originating master device 108 in response to an ETF from the originating master device 108.
[0096] In an example, the proxy master device 118 can perform the operations of the ETST 400, 414 independently of any ETFs from the originating master device 108. In this way, the proxy slave device 114 does not obtain data from the slave devices in the second LIN partition 106 to read when an ETF from the originating master device 108 is received, and does not violate the LIN response time 133. Instead, the proxy slave device 114 responsively provides data associated with an ETF to the originating master device 108 that the proxy slave device 114 already stores when the proxy slave device 114 receives the ETF. The ETST 400, 414 can allow the proxy master device 118 to predict the data read by the originating master device 108. Additionally, in an example, the ETST 400, 414 can be arranged as a circular buffer of LIN message identifiers. In an example, the proxy master device 118 sends an ETF associated with each LIN message identifier in each entry of the ETST 400, 414, and repeats sending each ETF again after receiving data from the slave devices in the second LIN partition 106 to obtain new or updated data from the slave devices in the second LIN partition 106, which is then provided to the proxy slave device 114.
[0097] Figure 5 Various message flows 500 are shown associated with the originating master device in the first LIN partition 104 sending an ETF with a LIN message identifier that is subscribed to by a slave device in the second LIN partition 106, and the proxy master device 118 in the second LIN partition 106 sending an ETF according to the ETST 400, 414. A LIN response can be received in response to the ETF.
[0098] When there is no conflict, messages 502-510 can be associated with an ETF sent by the proxy master device 118. The proxy master device 118 can send an ETF in the form of a LIN header (ETF) 502 that is subscribed to by the slave device 120 and the slave device 122. The slave device 120 can send a LIN response 504 that is forwarded to the proxy slave device 114 as a trunk communication message 506 via the trunk communication network 102. In examples, the messages can be tunneled between the first LIN zone 104 and the second LIN zone 106. The proxy slave device 114 can use the LIN response 506 to complete a row in the table 404. Then, when the originating master device 108 sends a LIN header (ETF) 508 to the proxy slave device 114 for data, the proxy slave device 114 can respond with the data in a LIN response 510.
[0099] When there is a conflict, messages 512-538 can be associated with an ETF sent by the proxy master device 118. The proxy master device 118 can send an ETF in the form of a LIN header (ETF) 512 that is subscribed to by the slave device 120 and the slave device 122. The slave device 120 can send a LIN response 514 and the slave device 122 can send a LIN response 514 that conflicts. The conflict can be indicated by information on the data path that is not recognized, such as a LIN response that does not have a checksum 131. The proxy master device 118 can perform a conflict resolution read to receive data from the slave devices 120, 122. The conflict resolution is shown by messages 516-518 that indicate read requests to the slave devices, and then the proxy master device 118 forwards a LIN response 518 to the proxy slave device by a trunk communication message 520 to enter data associated with the LIN response 518 in the table 404. In some examples, the proxy master device 118 can only forward received data to the proxy slave device 114 if the data is different than data associated with a LIN message identifier previously forwarded to the proxy slave device 114. The conflict resolution is also shown by messages 522-524 that indicate read requests to the slave devices, and then a LIN response 524 is forwarded to the proxy slave device by a trunk communication message 526 to enter data associated with the LIN response 524 in the table 404. In some examples, the proxy master device 118 can send the LIN response 520 and the LIN response 526 to the proxy slave device 114 in a single network frame, such as a single Ethernet frame, with the received data from the slave devices 120, 122 and a LIN message identifier used by the proxy master device 118 to receive the data, instead of sending separate LIN responses.
[0100] The proxy slave device 114 can complete the row in table 404 using one or more LIN responses. Then, when the originating master device 108 sends an ETF with a LIN message identifier to which the slave devices 120, 122 are subscribed, the proxy slave device 114 can respond with data based on table 404. Table 404 can indicate that the data associated with the LIN message identifier relates to a conflict. For example, when the originating master device sends an ETF in the form of a LIN header (ETF) 528 to obtain data from slave devices that are subscribed to the LIN message identifier, the proxy slave device 114 can indicate a conflict to the originating master device 108 by having a LIN response 530 with an error checksum 131. The error checksum 131 can cause the originating master device 108 to subsequently poll each slave device associated with the LIN message identifier with a read request, as shown by messages 532-538.
[0101] When there is no response to the ETF, a message 540 can be associated with the ETF sent by the proxy master device 118. The proxy master device 118 can send an ETF in the form of a LIN header (ETF) 540 with a LIN message identifier to which the slave devices 120, 122 are subscribed. The proxy master device 118 can not receive a response to the LIN header (ETF) 540 during a time period T response_max This indicates that none of the slave devices have data to provide in a respective LIN response.
[0102] In an example, the LIN header (ETF) can be interleaved with a read request associated with a BRST of the proxy master device 118. Messages 542, 544, 546, and 548, 550, 552 are examples. The proxy slave device 114 can receive data and store the data in table 138.
[0103] In some examples, the ETST can not be configured with an ETF time slot. Instead, the ETST can be configured only with a conflict resolution read time slot CR associated with the ETF for polling each slave device in the second LIN partition 106. In this regard, the proxy master device 118 can send messages 516, 522 and the proxy master device 118 can not be arranged to send a LIN header (ETF) message, e.g., 502, 512, 540. If no updated data is received as a result of the polling, the data is not pushed to the slave device proxy 114 via the backbone communication network 102. If a LIN response is received from one slave device, the proxy master device 118 pushes the LIN response to the slave device proxy 114 via the backbone communication network 102 and the data associated with the LIN response is indicated in the table 404 as received without a conflict. If LIN responses are received from more than one slave device, the proxy master device 118 pushes the LIN responses to the slave device proxy 114 via the backbone communication network 102 and the data associated with the LIN responses is indicated in the table 404 as received with a conflict, even if no conflict actually arose in the second LIN partition 106. In some examples, the LIN responses from more than one slave device and the LIN message identifier used by the proxy master device 118 to receive the LIN responses are provided as a single network frame, e.g., a single Ethernet frame.
[0104] In some examples, the proxy master device 118 can send the ETF associated with the given LIN message identifier and receive a LIN response from, for example, slave device S3 without a conflict. The LIN response can be sent to the proxy slave device 114 and the proxy slave device 114 stores data associated with the LIN response in a row of table 404 along with the LIN message identifier used to receive the LIN response. Then, if the originating master device 108 sends the ETF associated with the given LIN message identifier, the proxy slave device 114 sends the LIN response and the data from S3 in the row of table 404 and updates the entry for the row in table 404 to indicate that the data was provided to the originating master device 108. In an example, the proxy master device 118 can send another ETF associated with the given LIN message identifier before the originating master device 108 requests the data from S3 stored in the row of table 404. The other ETF can cause the proxy master device 118 to send only data from S4 to the proxy slave device 114 so that the proxy slave device 114 has updated data from both S3 and S4. The proxy slave device 114 stores the data from S4 in another row of table 404 associated with the given LIN message identifier used to receive the data. In this case, the proxy slave device 114 must indicate a conflict to the ETF associated with the given LIN message identifier even though the LIN response and corresponding data from S3 or S4 themselves are not associated with a conflict. The proxy slave device 114 can be arranged to check the received data associated with the given LIN message identifier, for example, using a ternary content addressable memory (TCAM), and update table 404 so that the received data is associated with a conflict, for example, shown by rows 406-410 of table 404. In this way, the proxy slave device 114 is able to indicate a conflict to the originating master device 108 when the ETF associated with the given LIN message identifier is received from the originating master device 108.
[0105] Example operation
[0106] Figure 6is a flowchart of functions 600 associated with a first LIN partition originating master device sending a read request to read data from a slave device in a second LIN partition that reduces or prevents a violation of a LIN response time of a LIN message frame. The functions 600 can be performed by one or more of the originating master device 108, the proxy slave device 114, the proxy master device 118, and the slave devices of the LIN network 100. In an example, the functions in the functions 600 can be implemented using, for example, analog circuitry, mixed-signal circuitry, memory circuitry, logic circuitry, processing circuitry, etc., that execute code stored in memory that, when executed by the processing circuitry, performs the disclosed functions, or combinations thereof.
[0107] At 602, in a split LIN having a first LIN partition containing an originating master device and a proxy slave device and a second LIN partition containing a proxy master device and one or more slave devices, the proxy master device in the second LIN partition accesses a BRST to read data from the one or more slave devices in one LIN partition. The BRST can have one or more read request slots to read data from the slave devices in one LIN partition. In an example, one LIN partition can refer to the LIN partition 106 described above.
[0108] At 604, the proxy master device sends a read request to read data in the second LIN partition with a LIN message identifier. The LIN message identifier can cause the slave devices in the second LIN partition to provide the read data.
[0109] At 606, the proxy master device receives a LIN response and the read data from the slave devices in the second LIN partition.
[0110] At 607, it is determined whether the read data has been provided to the proxy slave device. In an example, if the data associated with the LIN response has been provided to the proxy slave device, the LIN response and the read data are duplicated and will not be provided to the proxy slave device to reduce communications over the backbone network, and the process ends. In other examples, step 607 can not be performed, and the read data from the slave devices is provided to the proxy slave device regardless of whether the data is duplicated.
[0111] At 608, the proxy master device sends the LIN response and the read data to the proxy slave device in the first LIN partition via the backbone communication network along with the LIN message identifier for the read data. The LIN response and the LIN message identifier can be sent in a backbone communication message via the backbone communication network. In an example, the first LIN partition can refer to the LIN partition 104 described above.
[0112] At 610 , the proxy slave device stores the read data in a table associated with the LIN message identifier for the read data.
[0113] At 612, an originating master device in a first LIN partition sends a read request with a LIN message identifier to read data from a slave device subscribing to the LIN message identifier. The slave devices may be in one LIN partition.
[0114] At 614, the proxy slave device sends the read data from the table in a LIN response to the read request from the originating master device in the first LIN partition. The LIN response is sent within the LIN response time 133, even if the read data comes from a slave device in the second LIN partition accessed via the backbone communication network 102.
[0115] Figure 7 1 is a flow chart of functionality 700 associated with the following operations: an originating master device in a first LIN partition sends a LIN header (ETF) in the form of an ETF to read data from a slave device in a second LIN partition, which reduces or prevents LIN response time violations of a LIN message frame. Function 700 can be performed by one or more of the originating master device 108, the proxy slave device 114, the proxy master device 118, and the slave devices of the LIN network 100. In an example, the functions in functionality 700 can be implemented using circuitry such as analog circuitry, mixed-signal circuitry, memory circuitry, logic circuitry, processing circuitry, etc., which executes code stored in memory that, when executed by the processing circuitry, performs the disclosed functions, or a combination thereof.
[0116] At 702, in a partitioned LIN having a first LIN partition including an originating master and a proxy server and a second LIN partition including a proxy master and one or more slave devices, the proxy master in the second partition accesses an ETST having an event trigger frame and a read time slot to send a LIN header (ETF). The LIN header (ETF) is used to read data from one or more slave devices in one LIN partition. In an example, the second LIN partition may be LIN partition 106 described above.
[0117] At 704, the proxy master device in the second LIN partition sends a LIN header (ETF) to read the data. The ETF may have a LIN message identifier indicating the ETF. The ETF in the form of a LIN header (ETF) enables the slave device to not send a LIN response along with the read data, one slave device to send a LIN response along with the read data, or more than one slave device to send a LIN response along with the read data.
[0118] If one slave device sends a LIN response, there is no collision. Processing continues to blocks 706-710.
[0119] At 706, if there is no collision by the LIN header (ETF), the proxy master device receives the LIN response and the read data from the slave device in one LIN partition.
[0120] At 708, the proxy master device sends the LIN response and the read data along with the associated LIN message identifier as a backbone communication message to the proxy slave devices in the first LIN partition via the backbone communication network. In an example, the first LIN partition can refer to the LIN partition 104 described above.
[0121] At 710, the proxy slave devices store the read data associated with the LIN response in the table 404 associated with the LIN message identifier for the read data. Because the read data is associated with the LIN header (ETF) that did not cause a collision, the table 404 can store an indication that the read data is not associated with a collision, such as indicated by the row 412.
[0122] If more than one slave device sends a LIN response, there is a collision with the ETF. Processing continues to blocks 712-716. At 712, the proxy master device polls the slave devices involved in the collision with the read request for the read data and receives the read data. The polled read request can take the form of a LIN header (CR) in which the LIN message identifier of the slave device is polled and the read data is received in a LIN response. The slave devices can be polled according to a collision resolution schedule that identifies the slave devices to be polled in a particular order during the collision associated with the ETF. At 714, the proxy master device sends the LIN response and the read data and associated LIN message identifier resulting from the polling in a backbone communication message to the proxy slave devices in the first LIN partition. At 716, the proxy slave devices store the read data associated with the LIN response in the table 404 associated with the LIN message identifier for the read data. Example storage is indicated by the rows 410-412, for example. The table 404 can also store an indication that the read data is associated with a collision with the ETF, such as indicated by the row 406.
[0123] If the slave device does not send the read data in response to the ETF at 704, processing continues to block 718. Similarly, processing continues from blocks 706-710 associated with no collision and blocks 712-716 associated with a collision to block 718.
[0124] At 718, the originating master device in the first LIN zone sends a LIN header (ETF) with a LIN message identifier indicating the ETF and slave devices subscribing to the ETF.
[0125] At 720, the proxy slave device sends read data, if any, associated with the LIN header (ETF) in a LIN response. The manner in which the proxy slave device sends the read data can depend on whether there is a collision associated with the read data of the ETF. The collision can be indicated in table 404. If there is no collision, as indicated for example by row 412 in table 404, the proxy slave device sends the read data to the originating master device 108 in the first LIN zone in a LIN response. The LIN response is sent within the LIN response time 133, even if the read data is associated with a slave device in the second LIN zone. If there is a collision, as indicated for example by row 406 in table 404, the proxy slave device sends a LIN response to the originating master device 108 without the checksum 131 for emulating the collision. This causes the originating master device 108 to subsequently send a read request to each slave device according to the collision resolution schedule used by the proxy master device 118. The read request can be a LIN header (CR) with a LIN message identifier identifying the respective slave device to be polled. The proxy slave device provides a LIN response according to the read request based on data stored in table 404, for example indicated by rows 410-412. The LIN response is sent within the LIN response time 133, even if the read data is stored in a slave device in one LIN zone. If there is no data associated with the LIN header (ETF), no data is provided in response to the ETF.
[0126] As discussed above, in some examples, the ETST can not be configured with an ETF slot. Instead, the ETST can only be configured with a collision resolution read slot CR associated with the ETF for polling each slave device in the second LIN zone 106. In this regard, only one or more of steps 712, 714, 716 can be performed instead of the proxy master device sending the LIN header (ETF).
[0127] Example device
[0128] Figure 8is a block diagram of a proxy master or a proxy slave, generally referred to as a network device 800 configured to support functionality as described herein. The network device 800 can have processing circuitry 802 (possibly including multiple processors, multiple cores, multiple nodes, and / or implementing multi-threading, etc.) and memory 804, or any one or more other possible implementation of a non-transitory machine-readable medium, such as one or more of cache memory, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc. The memory 804 can store computer code, program instructions, computer instructions, program code, for executing one or more operations or operation control associated with the network device 800 as described above. In addition, the memory 804 can store one or more of a BRST or ETST in a proxy master to read data as described above, or an example table 138, 404 in a proxy slave to store data received from other slaves. The network device 800 also includes an interconnect 808, such as a bus (e.g., PCI, ISA, PCI-Express) coupling the processing circuitry 802, the memory 804, and one or more interfaces shown as an interface 806. The interface 806 can facilitate sending and receiving read and write requests via the data paths 116, 124 and the backbone communication network 102. The network device 800 can also include other components.
[0129] In one embodiment, a method in a partitioned local interconnect network (LIN) comprising a first LIN partition and a second LIN partition separated by a communication network is disclosed. The method comprises: receiving, by a proxy slave device in the first LIN partition, data from a proxy master device in the second LIN partition, wherein a slave device in the second LIN partition sends the data to the proxy master device, the proxy master device sends the data to the proxy slave device via the communication network, and the proxy slave device is a proxy for the slave device in the second LIN partition; storing, by the proxy slave device, the data in a data structure; after the data is stored in the data structure, receiving, by the proxy slave device, a read request from an originating master device in the first LIN partition, wherein the read request comprises a LIN message identifier subscribed to by the slave device in the second LIN partition, and the proxy master device is a proxy for the originating master device; accessing, by the proxy slave device, the data stored in the data structure based on the LIN message identifier in the read request; and sending, by the proxy slave device, a LIN response with the stored data from the slave device in the second LIN partition to the originating master device. In an embodiment, the data is first data, the read request is a first read request, and the LIN response is a first LIN response, the method additionally comprising: sending, by the proxy master device, a second read request, the second read request sent to the slave device in the second LIN partition, wherein the second read request anticipates the first read request; receiving a second LIN response from the slave device in the second LIN partition, the second LIN response sent to the proxy master device based on a LIN message identifier in the second read request; sending, by the proxy master device, the second LIN response in a communication message to the proxy slave device in the first LIN partition via the communication network; and receiving, by the proxy slave device, second data to store in the data structure of the proxy slave device, the second data associated with the second LIN response. In an embodiment, the method additionally comprises determining whether the second data associated with the second LIN response has already been sent to the proxy slave device, and if the second data has already been sent, not sending the communication message to the proxy slave device. In an embodiment, the method additionally comprises: receiving, by the proxy slave device, a write request from the originating master device; sending, by the proxy slave device, the write request to the proxy master device via the communication network; delaying, by the proxy master device, the second read request; and sending, by the proxy master device, the write request to the slave device in the second LIN partition.In embodiments, the data is first data and the LIN response is a first LIN response, the method further comprising: sending, by the proxy master device, a first event trigger frame (ETF); receiving, from the slave devices in the second LIN zone, a second LIN response, the second LIN response sent in response to the first ETF; sending, by the proxy master device, the second LIN response to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the second LIN response and including an indication that the second data was received without a collision; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data. In embodiments, the data is first data; wherein the slave devices in the second LIN zone are first slave devices; and wherein the second LIN zone includes second slave devices, the method further comprising: polling, by the proxy master device, each of the first slave devices and the second slave devices for respective LIN responses associated with a first ETF to which the first slave devices and the second slave devices subscribe; sending, by the proxy master device, the respective LIN responses from one or more of the first slave devices and the second slave devices to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the respective LIN responses of each of the first slave devices and the second slave devices, and including an indication that the second data is associated with a collision if the communication message includes the respective responses from the first slave devices and the second slave devices; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data. In embodiments, the sending, by the proxy master device, the respective LIN responses to the proxy slave device via the communication network includes sending, by the proxy master device, the respective LIN responses of each of the first slave devices and the second slave devices to the proxy slave device in a single Ethernet frame sent via the communication network. In embodiments, the method further comprising: accessing, by the proxy slave device, the data structure to read the second data based on the second ETF; determining, by the proxy slave device, that the second data is associated with a collision based on the indication in the data structure; and sending, by the proxy slave device, a second LIN response to the second ETF that does not have a valid checksum, the second LIN response causing the originating master device to poll for the second data.
[0130] In another embodiment, a system is disclosed. The system includes: a proxy slave device in a first local interconnect network (LIN) partition; a proxy master device in a second LIN partition; a communications network coupling the first LIN partition and the second LIN partition; the proxy master device implemented with circuitry to send data to the proxy slave device, wherein a slave device in the second LIN partition sends the data to the proxy master device, and the proxy master device sends the data to the proxy slave device via the communications network; and the proxy slave device implemented with circuitry to: receive the data from the proxy master device; wherein the proxy slave device The proxy master device is configured to be a proxy for the slave device in the second LIN partition; store the data in a data structure; after the data is stored in the data structure, receive a read request from an originating master device in the first LIN partition, wherein the read request includes a LIN message identifier to which the slave device in the second LIN partition subscribes and the proxy master device is a proxy for the originating master device; access the data stored in the data structure based on the LIN message identifier in the read request; and send a LIN response along with the stored data from the slave device in the second LIN partition to the originating master device. In an embodiment, the proxy slave device in the first LIN partition is implemented with circuitry to send the LIN response within a LIN response time after receiving the read request. In an embodiment, the data is first data, the read request is a first read request, and the LIN response is a first LIN response, the system further comprising: the proxy master device implemented with circuitry to: send a second read request, the second read request being sent to the slave devices in the second LIN partition, wherein the second read request anticipates the first read request; receive a second LIN response from the slave devices in the second LIN partition, the second LIN response being sent to the proxy master device based on a LIN message identifier in the second read request; and send the second LIN response in a communication message via the communication network to the proxy slave devices in the first LIN partition; and the proxy slave device implemented with circuitry to receive second data to store in the data structure of the proxy slave device, the second data being associated with the second LIN response.In embodiments, the system additionally includes the proxy slave device implemented with circuitry to: receive a write request from the originating master device; and send the write request to the proxy master device via the communication network; and the proxy master device implemented with circuitry to: delay the second read request; and send the write request to the slave device in the second LIN partition. In embodiments, the data is first data and the LIN response is a first LIN response, the system additionally includes the proxy master device implemented with circuitry to: send a first event trigger frame (ETF); receive a second LIN response from the slave device in the second LIN partition, the second LIN response sent in response to the first ETF; send the second LIN response to the proxy slave device in a communication message via the communication network; and the proxy slave device implemented with circuitry to: store second data, the second data associated with the second LIN response and including an indication that the second data was received without a collision; and after the second data is stored in the data structure, receive a second ETF from the originating master device to read the second data. In embodiments, the data is first data; wherein the slave device in the second LIN partition is a first slave device; and wherein the second LIN partition includes a second slave device, the system additionally includes the proxy master device implemented with circuitry to: poll each of the first slave device and the second slave device for respective LIN responses associated with a first ETF to which the first slave device and the second slave device subscribe; and send the respective LIN responses from one or more of the first slave device and the second slave device to the proxy slave device in a communication message via the communication network; and the proxy slave device implemented with circuitry to: store second data in the data structure, the second data associated with the respective LIN responses of each of the first slave device and the second slave device, and including an indication that the second data is associated with a collision if the communication message includes the respective responses from the first slave device and the second slave device; and after the second data is stored in the data structure, receive a second ETF from the originating master device by the proxy master device to read the second data.In an embodiment, the proxy master device that is implemented with circuitry to send the respective LIN responses to the proxy slave device via the communication network includes the proxy master device that is implemented with circuitry to send the respective LIN responses from each of the first slave device and the second slave device to the proxy slave device in a single Ethernet frame sent via the communication network. In an embodiment, the proxy slave device is implemented with circuitry to: access the data structure based on the second ETF to read the second data; determine that the second data is associated with a conflict based on the indication in the data structure; and send a second LIN response to the second ETF that does not have a valid checksum, the second LIN response causing the originating master device to poll for the second data.
[0131] In yet another embodiment, a proxy slave device is disclosed. The proxy slave device comprises: first circuitry arranged to receive data from a proxy master device in a LIN zone coupled to a communication network, wherein slave devices in the LIN zone send the data to the proxy master device, the proxy master device sends the data to the proxy slave device via the communication network, and the proxy slave device is a proxy for the slave devices in the LIN zone; second circuitry arranged to store the data in a data structure; third circuitry arranged to receive, by the proxy slave device, a read request from an originating master device in a LIN zone after the data is stored in the data structure, the LIN zone being different from the LIN zone having the slave devices and the proxy master device, wherein the read request comprises a LIN message identifier subscribed to by the slave devices in the LIN zone, and the proxy master device is a proxy for the originating master device; fourth circuitry arranged to access the data stored in the data structure based on the LIN message identifier in the read request; and fifth circuitry arranged to send a LIN response from the slave devices in the second LIN zone to the originating master device with the stored data. In an embodiment, the data structure comprises an association between the LIN message identifier and the data. In an embodiment, the data is first data; wherein the slave devices in the LIN zone are first slave devices; and wherein the LIN zone comprises second slave devices, the proxy slave device additionally comprises sixth circuitry arranged to receive respective LIN responses associated with each of the first slave devices and the second slave devices in a single Ethernet frame sent via the communication network. In an embodiment, the data is first data; and wherein the LIN response is a first LIN response, the proxy slave device additionally comprises sixth circuitry arranged to receive, from the originating master device, an ETF subscribed to by the first slave devices and the second slave devices, access the data structure for second data based on a LIN message identifier associated with the ETF, determine that the second data is associated with a collision between the first slave devices and the second slave devices, wherein the data structure indicates the LIN message identifier associated with the ETF and the second data is associated with the collision; and send a second LIN response without a valid checksum, the second LIN response causes the originating master device to poll for the second data.
[0132] In another embodiment, a proxy master device is disclosed. The proxy master device comprises: first circuitry arranged to send a read request to a slave device in a LIN partition, wherein the read request is predictive of a read request sent by an originating master device in another LIN partition, the other LIN partition is coupled to the LIN partition by a communication network, and the proxy master device is a proxy for the originating master device; second circuitry arranged to receive a LIN response from the slave device in the LIN partition, the LIN response is sent to the proxy master device based on a LIN message identifier in a second read request; and third circuitry arranged to send the second LIN response in a communication message to a proxy slave device in the other LIN partition via the communication network, wherein the proxy slave device is a proxy for the proxy slave device in the LIN partition. In an embodiment, the read request sent by the originating master device is sent to the proxy slave device. In an embodiment, a schedule indicates LIN message identifiers associated with data to be read from one or more additional slave devices in the LIN partition, wherein the LIN message identifiers match LIN message identifiers in read requests sent by the originating master device to read the data from the one or more additional slave devices. In an embodiment, the schedule is arranged as a circular buffer of the LIN message identifiers; and wherein the proxy master device comprises fourth circuitry arranged to send a respective read request associated with each of the LIN message identifiers, receive a respective LIN response from the one or more additional slave devices, send the respective LIN response to the proxy slave device, and repeat the sending of the respective read request associated with each of the LIN message identifiers, the receiving of the respective LIN response, the sending of the respective LIN response to the proxy slave device to obtain new data from the one or more additional slave devices.
[0133] Some embodiments have been described in detail above, and various modifications are possible. The disclosed subject matter, including the functional operations described in this specification, can be implemented in electronic circuitry, computer hardware, firmware, software, or combinations thereof, such as the structural means disclosed in this specification and structural equivalents thereof: potentially including a program (e.g., a program encoded in non-transitory computer-readable medium, which can be a memory device, a storage device, a machine-readable storage substrate, or other physical, machine-readable medium, or combinations thereof) operable to cause one or more data processing apparatus to perform operations described.
[0134] Although the description contains many details, these should not be construed as limiting the scope of the content that can be claimed, but as merely describing features that can be specific to certain embodiments. Certain features described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented separately or in any suitable subcombination. Moreover, although features can be described above as acting in certain combinations and even initially claimed as such, in some cases, the features from a claimed combination can be excised from the combination and the claimed combination can be directed to a subcombination or variation of a subcombination.
[0135] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring such order, nor that all illustrated operations be performed, to implement such operations, nor that the illustrated operations be performed consecutively. In some cases, multiple tasks can be performed at the same time, and / or partially in parallel with one another. Also, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations.
[0136] The use of the phrase "at least one of' following a list with a conjunction should not be read as requiring that the list be exclusive or that all items in the list be selected. A statement that "at least one of A, B, and C" can contain only one of the listed items, multiples of the listed items, and one or more of the listed items and other items not listed. Also, as described herein, the term "table," "BRST," or "ETST" generally refers to a data structure for storing information, and can take many forms, including an array or linked list.
[0137] Other embodiments are within the scope of the following claims.
Claims
1. A method in a split Local Interconnect Network, LIN, comprising a first LIN partition and a second LIN partition separated by a communication network, characterized in that, comprises: receiving, by a proxy slave device in the first LIN partition, data from a proxy master device in the second LIN partition, wherein the slave device in the second LIN partition sends the data to the proxy master device, the proxy master device sends the data to the proxy slave device via the communication network, and the proxy slave device is a proxy for the slave device in the second LIN partition; storing, by the proxy slave device, the data in a data structure; after the data is stored in the data structure, receiving, by the proxy slave device, a read request from an originating master device in the first LIN partition, wherein the read request includes a LIN message identifier that is subscribed to by the slave device in the second LIN partition, and the proxy master device is a proxy for the originating master device; accessing, by the proxy slave device, the data stored in the data structure based on the LIN message identifier in the read request; and sending, by the proxy slave device, a LIN response with the stored data from the slave device in the second LIN partition to the originating master device. the data is first data, the read request is a first read request, and the LIN response is a first LIN response, the method additionally comprising:
2. The method of claim 1, wherein, sending, by the proxy master device, a second read request, the second read request being sent to the slave device in the second LIN partition, wherein the second read request anticipates the first read request; receiving, from the slave device in the second LIN partition, a second LIN response, the second LIN response being sent to the proxy master device based on a LIN message identifier in the second read request; sending, by the proxy master device, the second LIN response in a communication message to the proxy slave device in the first LIN partition via the communication network; and receiving, by the proxy slave device, second data to store in the data structure of the proxy slave device, the second data being associated with the second LIN response. further comprising determining whether the second data associated with the second LIN response has already been sent to the proxy slave device, and if the second data has already been sent, not sending the communication message to the proxy slave device.
3. The method of claim 2, wherein, further comprising: receiving, by the proxy slave device, a write request from the originating master device; sending, by the proxy slave device, the write request to the proxy master device via the communication network; delaying, by the proxy master device, the second read request; and sending, by the proxy master device, the write request to the slave device in the second LIN partition.
4. The method of claim 2, wherein, 5. The method of claim 1, wherein, The data is first data and the LIN response is a first LIN response, the method further comprising: sending, by the proxy master device, a first event trigger frame, ETF; receiving, from the slave devices in the second LIN zone, a second LIN response, the second LIN response sent in response to the first ETF; sending, by the proxy master device, the second LIN response to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the second LIN response and including an indication that the second data was received without a collision; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data.
6. The method of claim 1, wherein, The data is first data; wherein the slave devices in the second LIN zone are first slave devices; And wherein the second LIN zone includes second slave devices, the method further comprising: polling, by the proxy master device, each of the first slave devices and the second slave devices for respective LIN responses associated with a first ETF to which the first slave devices and the second slave devices subscribe; sending, by the proxy master device, the respective LIN responses from one or more of the first slave devices and the second slave devices to the proxy slave device in a communication message via the communication network; storing, by the proxy slave device, second data in the data structure, the second data associated with the respective LIN responses of each of the first slave devices and the second slave devices, and including an indication that the second data is associated with a collision if the communication message includes the respective responses from the first slave devices and the second slave devices; and after the second data is stored in the data structure, receiving, by the proxy master device, a second ETF from the originating master device to read the second data.
7. The method of claim 6, wherein, Sending, by the proxy master device, the respective LIN responses to the proxy slave device via the communication network includes sending, by the proxy master device, the respective LIN responses of each of the first slave devices and the second slave devices to the proxy slave device in a single Ethernet frame sent via the communication network.
8. A system, characterized by Comprise: a proxy slave device in a first local interconnect network, LIN, zone; a proxy master device in a second LIN zone; a communication network coupling the first LIN zone and the second LIN zone; the proxy master device implemented with circuitry to send data to the proxy slave device, wherein a slave device in the second LIN zone sends the data to the proxy master device, and the proxy master device sends the data to the proxy slave device via the communication network; and and The agent slave device is implemented with circuitry to: receive the data from the agent master device; wherein the agent slave device is a proxy for the slave device in the second LIN partition; store the data in a data structure; after the data is stored in the data structure, receive a read request from an originating master device in the first LIN partition, wherein the read request includes a LIN message identifier subscribed to by the slave device in the second LIN partition, and the agent master device is a proxy for the originating master device; access the data stored in the data structure based on the LIN message identifier in the read request; and send a LIN response with the stored data from the slave device in the second LIN partition to the originating master device.
Citation Information
Patent Citations
Serial communication system
US20190165968A1
Systems and methods for safe and reliable autonomous vehicles
US20190258251A1