I need to create a mini wired network of MCUs. I already have custom application layer protocol and need to send messages of this format between MCUs.
My requirements are:
- Up to 20 units in the network.
- Distance between nodes up to 20m (ideally) or up to 5m (ok).
- Typical message size is several KB per packet, several packets per second.
- Message loss is not critical.
- Connection topology should be (best to worst): bus, line, ring or star.
- (Nice to have) Simple wiring. Non-tech users will plug MCUs together.
I'd like to use some standard (drop-in) solution, but I haven't found anything suitable. What I've considered:
- CAN, Modbus, Profibus - data frames are small << 10KB. Will have to cut messgaes into lots of small parts, and then glue them together.
- RS-485 bus or RS-422 links between individual MCUs. Seems OK, but will have to solve message routing problem. Or implement bus arbitration for RS-485.
- UDP/TCP - seems like an overkill.
- Current loop as a physical layer (have no idea if it is better than RS-485/RS-422).
Have I missed a good candidate? Or maybe my considerations are wrong?