MilCAN is essentially a Higher Layer Protocol that can be applied above standard CAN (as specified by ISO 11898).
MilCAN A uses 29 bit Identifiers and employs a frame format that has similarities with SAE J1939. MilCAN A allows both periodic and event driven data to be transmitted via the bus. MilCAN B uses 11 bit Identifiers. MilCAN B allows only periodic data to be transmitted via the bus.
MilCAN employs a periodic sync frame that informs all nodes of the current sync slot number (slot number increments from 0 to 1023 and then starts over at 0). Nodes access the bus and transmit messages according to a pre-defined message schedule which is based on a 1024 sync slot cycle. The total number of messages that may be transmitted in each slot can be calculated and a schedule created that bounds the latency of each message.
MilCAN employs a Sync Frame Arbitrarion protocol that elects another node as the new sync master in the event of a failure of the current sync frame master node. This protocol is also employed during network start-up.
MilCAN A currently supports 1Mbit and 250Kbit Baud rates. MilCAN B supports a range of data rates from 10 kbps to 1 Mbps.
Exit from Config mode results in a restarting of the network i.e the first slot number will be slot 0. Therefore, upon entry into Config mode all queued messages should be purged because they will be irrelevant on exit from this mode.
MilCAN A is based on the premise that no more than one message identified by a unique message ID shall be triggered in any particular slot. Exceptions to this could occur due to transient fault conditions but if the network recovers from the transient fault condition the general condition that only one unique message ID may be triggered per slot shall hold true.
Time to Live should be referenced to receipt of a sync frame at the end of the slot that defines the latest time by which that message should have been received.