As usual these days I'm fighting against component shortage. As in completely redesigning boards since they give us lead times in the 2023 years.
At the moment I have this product line where the boards talk to each other via CAN over cat-5 cable; for historical reasons the MCUs do not have an embedded controller and we are using a mix of Microchip and TI SPI connected CAN controllers (by the way the latest Microchip and the TCAN455x family are essentially the same Bosch IP wrapped inside a SPI). Too bad that they are now unavailable in substantial quantities so I need to redesign the whole architecure.
My first idea would be RS485: substantially the same medium but no arbitration. The big problem is that the whole architecture is multimaster, not master slave like, say, modbus. I have a designated network master for various purposes but most communication is peer-to-peer.
As discussed in Can RS485 be considered a multi-master bus? the real issue is bus contention which can be straightly damaging (depending on the kind of transceiver, the good ones simply go in current limitation).
Link layer is completely under my control. I'm thinking about some kind of token passing arbitrated by the network master (if it fails it is admissible to bring the network in stop).
Is there some other alternative? Another idea could be to use CAN transceivers instead of RS485 ones to gain the dominant/recessive properties and going CSMA/CD (listening for the results on the line). Traffic is periodic but there is spare bandwidth and the bus is short (under 10m) so collisions should be manageable. Ethernet seems overkill and needs an hub (well, excluding old style coax ethernet:D). Am I missing some useful technology that can be used here?