cancel
Showing results for 
Search instead for 
Did you mean: 

ST10F276 CAN FIFO

michaelgaus9
Associate II
Posted on December 11, 2006 at 06:05

ST10F276 CAN FIFO

6 REPLIES 6
michaelgaus9
Associate II
Posted on June 12, 2006 at 06:37

Hello,

I have a question concerning the CAN interface of the ST10F276 with configuration of a FIFO buffer by concatenating several message objects.

I have concatenated 5 message objects MO1-MO5, EoB-Bit is set in MO5 and cleared in MO1-MO4, no filter masks used. The CAN interface receives 3 CAN telegrams, these are stored in MO1-MO3. Now, software starts to read out the CAN telegrams: MO1 is read out and NEWDAT bit is cleared. But if now (before reading out MO2 and MO3) new CAN telegrams are received, the next is stored in MO1 and after that the next is stored in MO4, because MO2 and MO3 are still locked. So the correct order of the CAN telegrams gets disturbed, because after reading out MO2 and MO3, software will read out MO4 (NEWDAT is set), but MO1 should be read before MO4.

How can such a problem be solved?

Regards,

looking

thomaskobler9
Associate II
Posted on June 13, 2006 at 06:44

Sorry, I'm not able to help you. I also see no solution to this.

I just wanted to tell you, that I'll have to implement pretty much the same the next days, and will probably come across the same problem.

What makes me smile a litte is, that, the moment I read about this 'Hardware-FIFO' feature in the ST10 usermanual and the EoB-Bit, a doubt crossed my mind, whether this is really going to be a good FIFO without any further management data (counters or pointers) :-?

I really hope, that there is a solution for this..

michaelgaus9
Associate II
Posted on June 22, 2006 at 08:58

Hello,

can the moderators please answer my question?

Thanks.

Regards,

looking

michaelgaus9
Associate II
Posted on July 06, 2006 at 13:21

Hello,

can the moderators please answer my question?

Thanks.

Regards,

looking

michaelgaus9
Associate II
Posted on July 20, 2006 at 12:45

Hello,

can the moderators please answer my question?

Thanks.

Regards,

looking

thomaskobler9
Associate II
Posted on December 11, 2006 at 06:05

I got news from ST (Prague) on the CAN FIFO chronology problem!

''FIFO/Buffer mode can not be used, when the correct chonology of messages is needed''

Or in other words: the FIFO is no FIFO, as ST now admitted!

They also told me, that they are working on this 'problem' (for 'next Generation')

And because the chronology of the messages might even be disturbed with a FIFO with two MessageObject only, the new CAN Controller (Type C) is less usefull/fast as than the old one (Type B of F269!) with it's double buffer in MO 15!

But the worst for me is, that it took me hours of programming, testing, writing emails and explaining, to get this info! This really is annoying and a very bad form of 'support'.

I solved this issue for our applicaton by receiving 'stream' data (with chronology) in a special two objects FIFO, and checking the sequence number in the first data byte of the msg, when both objs are filled and evtl. resorting the two messages.

Thomas