سؤال

I started down this path, because I've got a CAN driver in uCLinux that I'm reviewing. I'm new to CAN in general, so I was doing a little research about it, and I've stumbled upon a question that I haven't found an answer to.

If CAN is a serial interface, and CANopen doesn't have a "bus master", then how does the CAN protocol handle inevitable collisions of data on the bus? If there's no one governing when you can send, given enough devices and time there will have to be sends that collide.

It's a pretty basic question, so it's possible I found an answer and just didn't understand it... If anyone can provide an answer/example that would be great.

هل كانت مفيدة؟

المحلول

It's done through CSMA/CD.The signal of CAN is wire AND logic. So the smaller message id can have higher priority based competing with wire AND logic.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top