Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

How Can I implement the FULL CAN function

How Can I implement the FULL CAN function

2005-06-16 by Hong Jiang

Hi,all members:
    I used the LPC2119 ARM CPU to act as a protocol transformation from UART to CAN.Now I have realized this function,but I can only recognize the CAN ID by comparing it with a ID stored in my flash.So there are still many works about ACCEPTANCE FILTER to be done. 
    The problem is how can I realize the FULL CAN feature.
Thanks!
 



		
---------------------------------
DO YOU YAHOO!?
  雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 

[Non-text portions of this message have been removed]

Re: [lpc2000] How Can I implement the FULL CAN function

2005-06-16 by Steffen Rose

Hi,

On Thursday 16 June 2005 11:47, Hong Jiang wrote:
> Hi,all members:
>     I used the LPC2119 ARM CPU to act as a protocol
> transformation from UART to CAN.Now I have realized this
> function,but I can only recognize the CAN ID by comparing it
> with a ID stored in my flash.So there are still many works
> about ACCEPTANCE FILTER to be done. The problem is how can I
> realize the FULL CAN feature. Thanks!

Acceptance Filter:
First you have to generate the Table with the allowed CAN ID's in 
RAM and the you have to enable the Acceptance Filtering.
Do you need help for this part?

The Feature "Acceptance Filter can provide FullCAN-style 
automatic reception for selected Standard" should not be used, I 
think (Errata Sheet).

-- 
Steffen Rose

Re: How Can I implement the FULL CAN function / clarification

2005-06-16 by philips_apps

Hi,

seems this needs a little clarification what is FullCAN and what is 
filtering. First of all FullCAN and filtering are not really related!

You can filter literally hundreds of messages with the CAN 
implementation on the LPC2129 while the maximum number of messages 
filtering options on FullCAN devices that I know allows 64 messages 
to be filtered.  This filtering is independent of the FullCAN (and 
its Errata)

FullCAN means that received messages are handled by an internal state 
machine that could be compared to a "one message DMA". The message ID 
is used to filter but also to assign the final destination in the 
buffer RAM. If you receive 10 different messages with a FullCAN 
device, there is no need to read any of them before the next is 
received. Only the second reception of a message with a previously 
received identifier will overwrite that message. 

Let's call the mode on the LPC21x9 a "GateWay Mode", in the GW mode, 
all (filtered) messages are received in the same receive register and 
the CPU has to take care of the data before the next message is 
completely received. Given the performance of the LPC21x9 this is not 
a problem at all. 

Again, in the GW mode ONLY FILTERED MESSAGES are received but each 
received messages has to be offloaded from the receive register 
before the next message is completely received. 

In worst case you have got approx. 30 usec time between a data frame 
and a Remote Frame to handle a message. This is up to 1400 
instruction times at 48 MHz (best for 1 Mbit CAN transfers). 

Summary: Filtering in the GW mode is superior to any existing FullCAN 
implementation but the CPU / your software has to take care of the 
received messages.

The Errata for FullCAN has nothing to do with the filtering in the GW 
mode. 

Hope this helps, Robert

--- In lpc2000@yahoogroups.com, Hong Jiang <smartpite@y...> wrote:
> Hi,all members:
>     I used the LPC2119 ARM CPU to act as a protocol transformation 
from UART to CAN.Now I have realized this function,but I can only 
recognize the CAN ID by comparing it with a ID stored in my flash.So 
there are still many works about ACCEPTANCE FILTER to be done. 
Show quoted textHide quoted text
>     The problem is how can I realize the FULL CAN feature.
> Thanks!
>  
> 
> 
> 
> 		
> ---------------------------------
> DO YOU YAHOO!?
>   ÑÅ»¢Ãâ·ÑGÓÊÏ䣭ÖйúµÚÒ»¾øÎÞÀ¬»øÓʼþɧÈų¬´óÓÊÏä 
> 
> [Non-text portions of this message have been removed]

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.