Forums

Philips App's: No 29 Bit Identifiers on LPC2292 ??

Started by alipowsky March 18, 2005

The following statement was given as response to a question via
Philips online support:

"The attached errata lists the known bugs in the LPC2119. Note that
FullCAN mode is not operative. Hence the CAN module on our ARM7
doesn't currently support 29 bit identifier because Full CAN is
inoperative."

Did there somebody mix up the terms FULL-CAM and 29 Bit identifier's??

Of course we use 29 Bit identifier in our actual LPC2292 project.
But we found a problem with global acceptance filtering:
We have a master sending frames to severall slaves and the slave
respond to this frames.
To reduce the interrupt overhead in the slaves, we use acceptance
filtering to filter all master frames, this is possible because we
defined one Identifier bit to be a direction Bit (0: Master => Slave,
1: Slave => Master)

Before we used exceptance filtering we got overflow errors, because
every slave node also got the answer of all the other slave nodes.

When we use acceptance filtering we don't get this overflow errors,
but now it happens that our LPC-2292 Node stops to generate
CAN-Interrupts at all !

Did anybody made comparable experiences with the CAN-Interrupts.

Andreas Lipowsky



An Engineer's Guide to the LPC2100 Series


Andreas,

you are right and you are right. It seems somebody mixed up FallCAN
and extended identifiers and 29-bit identifiers are supported. For
sure the LPC229x and as well the single chip versions 21x9, 2194 they
are all using the same CAN interface and they all support 29-bit
indentifiers. The filtering works perfectly for extended
identifiers.

The mix up might be from the fact that even when the FullCAN mode
will be fixed, the FullCAN mode does not support 29-bit identifiers,
only 11-bit.

A little bit more information about the difference between the
FullCAN mode and let's call it the gateway mode assuming a fully
functional FullCAN.

If a message is received in FullCAN mode, it is transfered by an
internal statemachine (let's call it CAN-DMA) into the assigned
message object buffer. The other feature that is often assigned to
FullCAN, the filtering can also (even better) be done in the gateway
mode.

In the gateway mode, the CAN implementation offers up to 1024!!
filters for standard frames (11-bit identifiers) or up to 512 filters
for extended (29-bit) identifiers. This is MUCH more than any
existing FullCAN implementation would allow.

Summary: you can filter for 29-bit, the filtering options in gateway
mode outperform any existing FullCAN implementation but your software
has to deal with the (filtered) messages you receive and move them to
their final destination in memory otherwise they can be overwritten
by new incoming messages.

Hope this helps you and does not confuse too many of the others not
so familiar with CAN :-)

Robert

--- In , "alipowsky" <a.lipowsky@g...> wrote:
>
> The following statement was given as response to a question via
> Philips online support:
>
> "The attached errata lists the known bugs in the LPC2119. Note that
> FullCAN mode is not operative. Hence the CAN module on our ARM7
> doesn't currently support 29 bit identifier because Full CAN is
> inoperative."
>
> Did there somebody mix up the terms FULL-CAM and 29 Bit
identifier's??
>
> Of course we use 29 Bit identifier in our actual LPC2292 project.
> But we found a problem with global acceptance filtering:
> We have a master sending frames to severall slaves and the slave
> respond to this frames.
> To reduce the interrupt overhead in the slaves, we use acceptance
> filtering to filter all master frames, this is possible because we
> defined one Identifier bit to be a direction Bit (0: Master =>
Slave,
> 1: Slave => Master)
>
> Before we used exceptance filtering we got overflow errors, because
> every slave node also got the answer of all the other slave nodes.
>
> When we use acceptance filtering we don't get this overflow errors,
> but now it happens that our LPC-2292 Node stops to generate
> CAN-Interrupts at all !
>
> Did anybody made comparable experiences with the CAN-Interrupts.
>
> Andreas Lipowsky