Can communication controller and method of operating can communication controller
A CAN communication controller and a method of operating a CAN communication controller are disclosed. The CAN communication controller is for transmitting first and second types of frames wherein the first type of frame is used to transmit event-triggered communication data and the second type of frame is used to transmit best effort traffic data, the CAN communication controller configured, in response to transmitting a frame of the second type having a given identifier, to delay arbitration of a following frame of the second type having the given identifier, and not to delay arbitration of a frame of the first type.
1 . A controller area network (CAN) communication controller for transmitting first and second types of frames, wherein the first type of frame is used to transmit event-triggered communication data and the second type of frame is used to transmit best effort traffic data, the CAN communication controller configured, in response to transmitting a frame of the second type having a given identifier, to delay arbitration of a following frame of the second type having the given identifier, and not to delay arbitration of a frame of the first type, wherein:
the CAN communication controller comprises:
a CAN protocol engine;
a detector for detecting an end of an enhanced intermission (ITM) that includes ITM and x bits;
at least one finite state machine including a finite state machine associated with the given identifier which includes at least a first state in which bus arbitration for the second type of frame having the given identifier is allowed and a second state in which bus arbitration for the second type of frame is not allowed; and
a message handler which includes a transmit resource for data best effort traffic data having the given identifier;
the finite state machine is configured to, in response to the CAN communication controller transmitting the frame of the second type having the given identifier, to transition from the first state to the second state, the detector is configured to, in response to detecting the end of the enhanced ITM, signal the end of the enhanced ITM to the finite state machine, and the finite state machine is configured to, in response the detector signalling the end of the enhanced ITM, transition out of the second state; and
the finite state machine is configured to transition out of the second state into a third state in which bus arbitration for the second type of frame having the given identifier is not allowed, and the finite state machine is configured to, in response to waiting a period of time corresponding to y bits, transition from the third state to the first state.
2 . The CAN communication controller of claim 1 , wherein the CAN communication controller is configured, in response to transmitting the frame of the second type having the given identifier, not to delay arbitration of a frame of the second type having a, different identifier from the given identifier.
3 . The CAN communication controller of claim 1 , wherein the CAN communication controller is configured, in response to transmitting the frame of the second type having the given identifier, to delay arbitration of an immediately following frame of the second type of frame having the given identifier.
4 . The CAN communication controller of claim 1 , wherein the first type of frame has an identifier assignable from a first, predetermined set of identifier values, and the second type of frame has an identifier assignable from a second, predetermined set of identifier values.
5 . The CAN communication controller of claim 1 is configured to delay arbitration by waiting a first period of time corresponding to the x bits after intermission (ITM).
6 . The CAN communication controller of claim 5 , wherein x=2.
7 . The CAN communication controller of claim 1 is further configured to wait a second period of time corresponding to the y bits.
8 . The CAN communication controller of claim 7 , wherein y=1.
9 . A monolithic integrated circuit comprising:
at least one processor;
memory; and
the controller area network (CAN) communication controller of claim 1 .
10 . A motor vehicle comprising:
a controller area network (CAN) bus; and
a plurality of controller area network (CAN) nodes connected to the CAN bus, wherein at least one of the CAN nodes comprises the CAN communication controller of claim 1 .
11 . A method of operating a controller area network (CAN) communication controller for transmitting first and second types of frames, wherein the first type of frame is used to transmit event-triggered communication data and the second type of frame is used to transmit best effort traffic data, the method comprising:
transmitting a frame of the second type having a given identifier and, in response thereto:
delaying arbitration of a following frame of the second type having the given identifier;
not delaying arbitration of a frame of the first type;
executing a message handler which includes a transmit resource for data best effort traffic data having the given identifier;
transitioning a finite state machine from a first state to a second state, wherein the finite state machine is associated with the given identifier, the finite state machine includes at least a first state in which bus arbitration for the second type of frame having the given identifier is allowed and a second state in which bus arbitration for the second type of frame is not allowed;
detecting an end of an enhanced intermission (ITM) that includes ITM and an additional x bits;
in response to detecting the end of the enhanced ITM, signalling the end of the enhanced ITM to the finite state machine,
in response signalling the end of the enhanced ITM, transitioning the finite state machine out of the second state;
transitioning the finite state machine out of the second state into a third state in which bus arbitration for the second type of frame having the given identifier is not allowed; and
in response to waiting a period of time corresponding to y bits, transitioning the finite state machine from the third state to the first state.
12 . The method of claim 11 , further comprising:
not delaying arbitration of a frame of the second type having a different identifier from the given identifier.