CAN API: lost frames during 'burst' transmission

21 Aug 2012

Hello,

When quickly sending frames, and despite using the error handling, some frames are lost (or lose bus arbitration and get lost).

I suppose the CAN class is built on top of the CMSIS CAN API, and digging into it, I could reproduce the same bug when using the function CAN_SendMsg() from CMSIS. The only workaround I could find so far, was to restrict the transmission of CAN frames using only the first transmit buffer.

Has any one seen that behaviour and/or found a more efficient work around?

I'm more and more thinking about a bug in the LPC1768 when sending frames simultaneously using the three transmit buffers (quickly and sequentially setting bits STB1..STB3 and TR in CMR, by writing 0x21, 0x41 and 0x81 respectively). I'll try to contact NXP to have their feedback on this.

Kind Regards,

Benoît.