By Bill Rogers, IPextreme
November 02, 2006
Here is what is needed in hardware and software to configure, control, and monitor message buffers to meet a system's required deterministic latency and fault tolerance
In a FlexRay node, message buffers are the means by which the application can decouple its message transmission and reception from the actual FlexRay protocol, allowing asynchronous operation of the application with respect to the timing of FlexRay bus.
Setting up the message buffers in a FlexRay node involves implementing the required hardware and developing application software to configure, control, and monitor the message buffers according to the communication needs of the target system. In this article, we introduce the message buffer concept and illustrate how to set up message buffers to meet various requirements regarding deterministic latency and fault tolerance.Overview
The message buffer concept essentially enables the application associated with a FlexRay node to:
- Place data to be transmitted into a region of shared memory and know that the corresponding FlexRay frame will be transmitted on the FlexRay bus in its assigned slot
- Respond to a notification that a valid FlexRay frame has been received and retrieve the corresponding data from its assigned region of shared memory
Figure 1 below shows the structure of a typical FlexRay node connected in a five-node FlexRay cluster using a dual-channel bus topology. Within the FlexRay Communication Controller, there are two main blocks:
- The FlexRay Protocol Engine (PE) implements the majority of the FlexRay protocol, including transmitting and receiving frames, maintaining clock synchronization with other nodes in the cluster, and generating and checking CRC.
- The Controller Host Interface (CHI) provides the application with the means to configure, control, and monitor the PE and to exchange the message data and status between the application and the PE. Message exchange is accomplished through a set of message buffers implemented in the node; each message buffer is assigned to a communication slot in the FlexRay bus timing hierarchy.
Click here to read more ...