Ying Zhang, Kimon Roufas, Mark Yim, and Craig Eldershaw
Massively Distributed Control Nets (MDCN) is a CAN (Controller Area Network) based high-level protocol that has the following featorcs: (I) Three types communication: individual, group and broadcast, with eight priority levels. (2) Addressing of up to 254 nodes and groups in standard CAN format, and up to 100,000’s in extended CAN format. (3) I/O (node-to-node) and (point/process-to-point/process) communications, where I/O is mostly reserved for system processes with high priorities and short message sizes, and port is for user applications, with lower priorities and possibly large message sizes. Compared to the existing widely used high-level CAN protocols, MDCN can address more communication nodes, has simpler APIs, is easier and more efficient to implement. Also the bridge protocol is transparent to users as whether it is a single CAN bus or a networked CAN buses. MDCN is currently implemented in C for MPC555 TouCAN controller on the Real-Time Operating Systems vxWorks, and in Java on host PC. The API is designed and implemented for multi-threaded environments. MDCN is a general protocol that not only can be applied to modular robots, but also can be applied to any industry control or automation using CAN bus network with hundreds of communication nodes.