Mike
Mike

Reputation: 49393

CAN communication questions

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.

Upvotes: 0

Views: 1058

Answers (1)

Johnny WU
Johnny WU

Reputation: 64

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.

Upvotes: 2

Related Questions