OpenLCB nodes on a CAN segment emit and receive a number of frames during startup of the segment. This is an example calculation of the number of messages and how long it takes.
See also the "Messages Types for Simple Nodes" note.
A simple CAN node, in the typical case (no contention, no non-unique MUIDs, etc) will generate the following messages at startup:
6 CIM messages while allocating a alias
1 RIM message at the end of the allocation
1 Initialization Complete message at the end of initialization
Npc Producer/Consumer Indentified messages for events of interest
Assume a segment of 100 simple nodes, each producing or consuming 32 events (Npc = 32).
Then a total of
100 * (8+32) = 4000 messages
will be emitted at startup.
An extended-header CAN frame is 65 bit times plus data content. Assuming (for now) 8-byte data contents, this is approximately 4000*16*8 = 512,000 bits, or about 4 seconds at 125kbps.
CAN is very good at contention management, so it's quite capable of reaching (close to) 100% utilization for something like this. Therefore, each node will be presented with those 4000 packets at about 1000 packets per second during startup.
Routing/Gateway nodes need to be able to handle the full rate. They don't have to forward the RIM/CIM frames off the segment, so the bandwidth requirements are a little less, but they still have to process those to keep an alias table.
Simple nodes that only act on P/C messages need only listen to the CIM/RIM messages at the beginning.
Site hosted by
This is SVN $Revision: 721 $