Difference Between Full CAN and Basic CAN Controller - PiEmbSysTech
Difference Between Full CAN and Basic CAN Controller - PiEmbSysTech
Table of Contents
Introduction To Full CAN and Basic CAN Controller
History of Full CAN and Basic CAN Controller
Full CAN and Basic CAN Naming Convention
Design Architecture of Full CAN and Basic CAN Controller
Basic CAN Controller in CAN Protocol
Full CAN Controller Feature in CAN Protocol
Working Principle of Full CAN & Basic CAN Controller
Full CAN Controller
Basic CAN Controller
Use of Full CAN & Basic CAN Controller in AUTOSAR
Full CAN Controller Feature Configuration in AUTOSAR
Basic CAN Controller Feature in AUTOSAR
Selection of Full CAN and basic CAN Controller for Your Project
How Efficiently use Full CAN and Basic CAN Controller In Your Project
The full CAN and Basic CAN Controller are used to provide the feature of
full or partial access or receiving of CAN messages. That means, this is
feature in CAN protocol configuration by which we need to configure
either of them for how to receive a CAN message.
A Basic CAN Controller has limited filtering capabilities that are built into
the CAN controller hardware. This means that there is reduced message
handling, which results in a higher load on the central processing unit
(CPU). When using a Basic CAN Controller, the CPU is required to handle
multiple interrupt signals from the CAN controller in order to receive,
acknowledge, and interpret the message. From the application side, the
CPU must also determine whether or not a response should be sent
based on the identification (ID) of the received message.
This issue is resolved in the final type of CAN controllers, which will be
addressed in a different context. The Full CAN Controllers offer a more
advanced and flexible way of managing messages in a communication
network, compared to Basic CAN Controllers. But the next version of CAN
Controllers are availaible now in the name of Extended full CAN
controller.
In contrast, Basic CAN controllers like the Philips sja1000 typically have a
receive queue and do not have individual message buffers. The controller
stores all incoming messages in the queue and the CPU can retrieve them
in the order they were received. This approach eliminates the issue of
messages being overwritten before they can be processed.
But, when or suppose we will use the Basic CAN feature. We can have a
software level variable or Memory buffer with array[] like you can say like
the above image. So that we can configure as Basic CAN feature by using
this software level Buffer to store more than one CAN Identifier message
buffer. So, if the same CAN Message Identifier sends multiple messages
back to back with different data or information, we can store it in our extra
memory or buffer which is configured in software level.
I hope you might have understood well that what is and how the Full and
Basic CAN feature is working. So lets conclude it by making a
differentiation between them.
The Full CAN feature will prevent the upper layers from getting
overloaded.
The IPDUs grouped in the Communication module are sent to the CAN IF
module for further processing. The CAN IF module is responsible for
adding the necessary header information, as specified in the arxml file or
dbc file that is loaded. If the size of the IPDUs is only 24 bits, additional
space can be added to the CAN frame. The CAN IF module can then
combine multiple IPDUs from the COM Module into a single CAN frame
and transmit it. This method is known as BASIC CAN.