Image Processing Reference
In-Depth Information
. Because of the intrinsic broadcast nature of the bus, the frame is propagated all over the
network, and every node reads its content in a local receive buffer.
. Frame acceptance filtering (FAF) function in each node determines whether or not the
information is relevant to the node itself. In the former case the frame is passed to the
upper communication layers (from a practical point of view, this means that the CAN
controller raises an interrupt to the local device logic, which will then read the value of
the object); on the contrary, the frame is simply ignored and discarded.
In the sample data exchange depicted in Figure ., node B is the producer of some kind of informa-
tion, which is relevant to (i.e., consumed by) nodes A and D. Node C, instead, is not interested in such
data, which are rejected by the filtering function (this is the default behavior of the FAF function).
15.2.6.2 Model for the Interaction of Devices
The access technique of CAN makes this kind of network particularly suitable for distributed systems
that communicate according to the producer/consumer model. In this case, data frames are used
by producer nodes to broadcast new values over the network, and each datum is identified unam-
biguously by means of its identifier. Unlike those networks based on the producer/consumer/arbiter
model such as Factory Instrumentation Protocol (FIP), in CAN information is sent as soon as it
becomes available from either the control applications or the controlled physical system (by means
of sensors), without any need for the intervention of a centralized arbiter. his noticeably improves
the responsiveness of the whole system.
CAN networks work equally well when they are used to interconnect devices in systems based
on a more conventional master/slave communication model. In this case, the master can use remote
frames to solicit some specific information to be remotely sent on the network. As a consequence,
the information producer replies with a data frame carrying the relevant object.
It is worth noting that this kind of interaction is implemented in CAN in a fairly more flexible
way than in conventional master/slave networks, such as, for example, PROFIBUS-DP. In CAN, in
fact, the reply (data frame) does not need to follow the request (remote frame) immediately. In other
words, the network is not kept busy while waiting for the device's reply. his allows the system band-
widthtobe,intheory,fullyavailableforapplications.Furthermore,thereplycontainingtherequested
value is broadcast on the whole network, and hence it can be read by all interested nodes, besides the
one which issued the remote request.
15.2.7 Implementation
According to the internal architecture, CAN controllers can be classified into two different categories,
namely BasicCAN and FullCAN.
Conceptually, BasicCAN controllers are provided with one transmit and one receive buffer, as in
conventional UARTs. The frame filtering function, in this case, is generally left to the application
programs (i.e., it is under control of the host controller), even though some kind of filtering can
be done by the controller. So as to avoid overrun conditions, a double-buffering scheme based on
shadow receive buffers is usually provided, and this enables the reception of a new frame from the
bus while the previous one is being read by the host controller. An example of controller based on
the BasicCAN scheme is the PCAC component by Philips. In more recent controllers, such as
the Philips SJA , a -byte receive FIFO queue is available.
FullCAN implementations, instead, foresee a number of internal buffers that can be configured to
either receive or transmit some particular messages. In this case the filtering function is implemented
directly in the CAN controller. When a new frame, which is of interest for the node, is received from
the network, it is stored in the related buffer, where it can be subsequently read by the host controller.
In general, new values simply overwrite the older ones, and this does not lead to overrun conditions
 
Search WWH ::




Custom Search