Message loss prevention by using sender and receiver buffers in event-triggered distributed embedded real-time systems
First Claim
1. A distributed embedded real-time controller area network system for a vehicle comprising:
- a communication bus for transmitting messages within the controller area network system;
a plurality of nodes forming a plurality of communication endpoints that are communicably coupled by the communication bus, wherein each node comprises;
at least one application component for generating vehicle operation data;
an electronic control unit in communication with the at least one application component, the electronic control unit generating a message containing the vehicle operation data, the electronic control unit functioning in an event-triggered mode to initiate a transmission of the message to the communication bus, the electronic control unit including a sending buffer for storing the generated message; and
a bus controller that interfaces with the electronic control unit, the bus controller managing a transfer of messages to and from the communication bus, the transfer of messages onto the communication bus being executed by the bus controller on a periodic basis, the bus controller being unavailable to receive a message from the electronic control unit when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus, and wherein the bus controller is available to receive the message from the electronic control unit when the memory is empty;
wherein messages are stored in the sender buffer when the bus controller is unavailable, and wherein a respective message within the sender buffer is transferred to the bus controller when the bus controller is available;
wherein the electronic control unit includes an enqueuing task module that manages a transfer of messages from the at least one application component to the sender buffer, wherein the enqueuing task module determines whether an empty cell is available within the sender buffer, and wherein the message is stored in the empty cell in response to the empty cell being available in the sender buffer; and
wherein the electronic control unit includes a sender message link list for maintaining a priority ordering of the stored messages within the sender buffer, wherein the enqueuing task module adds the message to the sender message link list.
3 Assignments
0 Petitions
Accused Products
Abstract
A vehicular distributed embedded real-time controller area network system includes ECUs functioning in an event-triggered mode for initiating transmission of a message to a communication bus. Each ECU includes a sending buffer for storing message. A bus controller interfaces with the ECUs and manages the transfer of messages to and from the communication bus. The transfer of messages onto the communication bus is executed by the bus controller on a periodic basis. The bus controller is unavailable to receive a message from an ECU when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus. The bus controller is available to receive a message from an ECU when the memory is empty. Messages are stored in the sender buffer when the bus controller is unavailable. A respective message within the sender buffer is transferred to the bus controller when the bus controller is available.
17 Citations
20 Claims
-
1. A distributed embedded real-time controller area network system for a vehicle comprising:
-
a communication bus for transmitting messages within the controller area network system; a plurality of nodes forming a plurality of communication endpoints that are communicably coupled by the communication bus, wherein each node comprises; at least one application component for generating vehicle operation data; an electronic control unit in communication with the at least one application component, the electronic control unit generating a message containing the vehicle operation data, the electronic control unit functioning in an event-triggered mode to initiate a transmission of the message to the communication bus, the electronic control unit including a sending buffer for storing the generated message; and a bus controller that interfaces with the electronic control unit, the bus controller managing a transfer of messages to and from the communication bus, the transfer of messages onto the communication bus being executed by the bus controller on a periodic basis, the bus controller being unavailable to receive a message from the electronic control unit when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus, and wherein the bus controller is available to receive the message from the electronic control unit when the memory is empty; wherein messages are stored in the sender buffer when the bus controller is unavailable, and wherein a respective message within the sender buffer is transferred to the bus controller when the bus controller is available; wherein the electronic control unit includes an enqueuing task module that manages a transfer of messages from the at least one application component to the sender buffer, wherein the enqueuing task module determines whether an empty cell is available within the sender buffer, and wherein the message is stored in the empty cell in response to the empty cell being available in the sender buffer; and wherein the electronic control unit includes a sender message link list for maintaining a priority ordering of the stored messages within the sender buffer, wherein the enqueuing task module adds the message to the sender message link list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for communicating messages between nodes within a distributed embedded real-time controller area network system of a vehicle, the controller area network system including a communication bus, a bus controller for controlling a transmission of messages on the communication bus where the transfer of messages onto the communication bus is executed by the bus controller on a periodic basis, the controller area network system further including a plurality of nodes forming a plurality of communication endpoints that are communicably coupled by the communication bus, each node includes at least one application component, an electronic control unit, a sender buffer, and a receiver buffer, the method comprising the steps of:
-
receiving, by the electronic control unit, vehicle operation data from the at least one application component and generating a message that includes the vehicle operation data for transmission on the communication bus, the electronic control unit functioning in an event-triggered mode for initiating the transmission of the message on the communication bus to a next respective node; storing the message in the sender buffer in response to the bus controller indicating that the communication bus is unavailable; and transferring a message from the sender buffer when the bus controller is available to receive the message, the bus controller being unavailable to receive the message from the electronic control unit when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus, and wherein the bus controller is available to receive the message from the electronic control unit when the memory is empty; and transmitting the message on the communication bus; wherein an encqueuing task module manages a transfer of messages from the at least one application component to the sender buffer, wherein the enqueuing task module determines whether an empty cell is available within the sender buffer, wherein the message is stored in the empty cell in response to the empty cell being available in the sender buffer; and wherein the electronic control unit includes a sender message link list for maintaining a priority ordering of stored messages, wherein the enqueuing task module deletes a stored message in the sender buffer in response to an empty cell not being available in the sender buffer, wherein the enqueuing task module adds the message to the empty cell. - View Dependent Claims (17, 18, 19, 20)
-
Specification