Deterministic serial bus communication system
First Claim
1. A method for reducing the number of messages needed to transfer data in a deterministic manner between a plurality of nodes communicatively connected by a bus using the Controller Area Network ("CAN") serial communications protocol, said method including the steps of:
- 1) broadcasting a synchronization message having a high priority over said bus to said plurality of nodes wherein said synchronization message includes a synchronization signal that indicates a common time division for transmitting messages that includes sufficient time for transmitting a plurality of high priority messages and at least one low priority message;
2) performing arbitration between said plurality of nodes to transmit a one of said plurality of high priority messages from one of said plurality of nodes;
3) transmitting said one of said plurality of high priority messages from said one of said plurality of nodes responsive to one of said plurality of nodes winning said arbitration;
4) repeating steps 2 and 3 responsive to at least one of said high priority messages remains to be transmitted;
5) determining whether said common time division has time remaining responsive to none of said plurality of high priority messages remain to be transmitted;
6) performing arbitration between said plurality of nodes to transmit said at least one low priority messages responsive to said common time division having time remaining;
7) transmitting one of said at least one low priority messages from one of said plurality of nodes that wins said arbitration;
8) determining whether low priority messages remain to be transmitted; and
9) Repeating steps 5-8 responsive to low priority messages remaining to be transmitted and time remaining in said common time division.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for deterministically communicating data between multiple nodes in a fashion that is consistent with the Controller Area Network ("CAN") communications protocol. The system applies to multiple nodes that functional blocks within an operating system environment and to multiple nodes that are each connected to a serial bus. The system utilizes standard CAN error checking, bus arbitration and message formatting and therefore uses standard CAN controllers and transceivers. One node on the bus is selected as the master node. The master node issues a periodic synchronization signal which defines time divisions within which the operations of each node and communications over the CAN bus are organized. Data, particularly real-time data, is transmitted between nodes on the CAN bus during a known time division. Standard CAN bus arbitration is used to ensure that real-time data is transmitted over the CAN bus prior to the transmission of non-real-time data. This ensures that real-time data is, if appropriate, transmitted during each time division.
196 Citations
23 Claims
-
1. A method for reducing the number of messages needed to transfer data in a deterministic manner between a plurality of nodes communicatively connected by a bus using the Controller Area Network ("CAN") serial communications protocol, said method including the steps of:
-
1) broadcasting a synchronization message having a high priority over said bus to said plurality of nodes wherein said synchronization message includes a synchronization signal that indicates a common time division for transmitting messages that includes sufficient time for transmitting a plurality of high priority messages and at least one low priority message; 2) performing arbitration between said plurality of nodes to transmit a one of said plurality of high priority messages from one of said plurality of nodes; 3) transmitting said one of said plurality of high priority messages from said one of said plurality of nodes responsive to one of said plurality of nodes winning said arbitration; 4) repeating steps 2 and 3 responsive to at least one of said high priority messages remains to be transmitted; 5) determining whether said common time division has time remaining responsive to none of said plurality of high priority messages remain to be transmitted; 6) performing arbitration between said plurality of nodes to transmit said at least one low priority messages responsive to said common time division having time remaining; 7) transmitting one of said at least one low priority messages from one of said plurality of nodes that wins said arbitration; 8) determining whether low priority messages remain to be transmitted; and 9) Repeating steps 5-8 responsive to low priority messages remaining to be transmitted and time remaining in said common time division. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for reducing the number of messages needed to provide deterministic communication between multiple nodes connected by a communications bus using the Controller Area Network ("CAN") serial communications protocol, said apparatus comprising:
-
a one of said plurality of nodes that is a master node having a CAN controller that generates a synchronization message of high priority and transmits said synchronization message over said bus to start a common time division; means in CAN controllers of each remaining node for receiving said synchronization message; means in said CAN controllers of said multiple nodes for arbitrating for control of a bus and transmitting high priority messages during said common time division in response to a reception of said synchronization message; means in said CAN controllers of said multiple nodes for determining all said high priority messages have been transmitted; and means in said CAN controllers of said multiple nodes for arbitrating to transmit low priority messages during a remainder of said common time division responsive to a determination that all of said high priority messages have been transmitted. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification