tags:

views:

83

answers:

2

Assuming highest baud rate, what is the highest rate at which PDOs are received?

A: 

That depends on the length of the PDO and the number of PDOs per message. The ratio between transported data and protocol overhead is best when you use the full 8 Bytes of one CAN message.

- If you want high troughput use all 8 bytes of one message
- If you want the highest possible frequency use as few data bits as possible

A rule of thumb:
8 Byte of payload result in a CAN message of about 100 bit length. With 1 Mbit/s max. baud rate you can achieve about 10000 messages per second.

chrmue
+1  A: 

@chrmue,

If the CAN device buffer can hold only 1 CAN frame, I think I might have a problem here. More than 1 message could be transmitted in 1 millisecond. Even if my Java application polls for new messages at the buffer at 1 millisecond intervals, some messages may be lost. How should I address this issue if I am unable to change the hardware buffer size?

Install an interrupt handler that is called with the reception of every CAN message. The IRQ handler writes the message in a queue that can be polled with a lower frequency from the Java application. Check if that is possible in your environment.
chrmue