← Back to context

Comment by kragen

2 days ago

Interestingly, the CAN bus features deterministic access control through collision detection, using a bus topology rather than a ring topology. I've had bad experiences with CAN, but I believe they're due to hardware bugs and/or driver bugs rather than the underlying design.

Arbitration in CAN is still one of the coolest things I've seen at the hardware layer.

Being able to handle a collision without needing the higher priority message to skip a single beat seemed like magic to me when I first learned about it

the token bus combines the one-user-at-a time of a bus with the potential-token-loss of a ring.

IEEE 802.4 token bus standard was withdrawn

polled buses with a master are pretty common when you don't mind the performance hit and central-point-of-failure. i believe cable networks work this way.

  • Interesting, I'd never heard of token-bus networks, or IEEE 802.4, which was indeed a token-bus standard.

    CAN isn't a polled bus, doesn't have a master, and doesn't impose a performance hit. However, on a bus network, every device on the bus is a single point of failure: if it starts jabbering, the network stops working.