FlexRay is still in a very early stage of its entrance into the automotive electronics market. Therefore, many companies and engineering design departments are beginning to evaluate this new communication standard.
Thus questions of, "How to design a FlexRay system," "What kind of conceptual and technical difficulties are looming ahead of us," and, probably most important, "How can I design a FlexRay system as fast and hassle-free as possible and run it on evaluation hardware" are in being faced by automotive electronics designers.
For all those questions and others, there are tools based on a four step design flow that facilitate starting into this quite complex technology. An engineer can configure a simple setup, for example, two communication controllers, each sending one frame to the other controller, within minutes. A FlexRay evaluator just has to follow the workflow steps (window on left side) of the DECOMSYS::DESIGNER PROLIGHT> design and configuration tool shown below.
View a full-size image
Step 1: Hardware architecture
As first step, the hardware architecture including the FlexRay network and the connected electronic units (ECUs) is defined. A FlexRay network consists of one or two communication channels. ECUs contain one or more microcontroller units (MCUs), each with one or more FlexRay controllers. The FlexRay controllers are connected to one or both communication channels of the FlexRay network.
In our example, one FlexRay network and two ECUs must be defined. As default, the tool generates for a FlexRay network two communication channels, and for an ECU exactly one MCU with one FlexRay controller. The FlexRay controllers are automatically connected to both communication channels of the FlexRay network. Thus, the FlexRay evaluator defines the FlexRay network and the two ECUs with just a few mouse clicks.
Step 2: Protocol configuration
The protocol configuration containing all FlexRay protocol parametersglobal as well as node-specificis next to be specified. The global protocol parameters include the communication cycle length, the length of the static and dynamic segment, and more detailed parameters such as action point offsets etc. The node-specific parameters include: Parameters to specify whether the node is allowed to perform a startup; in which slot it is allowed to send such a startup frame (pKeySlotID); whether its frames should be used for clock synchronization; and much more.
To simplify this step, the tool comes up with a correct configuration specifying a communication cycle length of 5 ms and enough static slots. The only parameter that has to be specified is the pKeySlotID for the nodes that shall perform a startup. For this step, two minutes should be more than enough for the FlexRay evaluator to get a correct FlexRay protocol configuration.
More advanced users may want to change one, more, or all parameters of the given protocol configuration. Therefore, a smart configuration wizard is provided, indicating on each change of one parameter whether and which constraint of the FlexRay specification is violated. The involved parameters are highlighted in red and correct values for these parameters are suggested.
Step 3: Communication planning
The most time-consuming job in configuring FlexRay is the communication planning. In this step, the frames and their position in the FlexRay communication schedule are defined (see figure below).
The communication schedule contains static and dynamic slots. Each slot is subdivided by 64 cyclesthe pair of slot and cycle is defined as a cell. A frame may be sent within one or more slots of the schedule. To allow data multiplexing within one slot, two or more frames may be scheduled so that each is transmitted in different cells of the one and the same slot.
The tool provides a powerful grid view of all these configuration data. The user edits so-called frame-triggerings specifying the frame, the slot, the occupied cells within this slot, the channel, the sender, and the receivers. With select features, a set of frame-triggerings can be easily shifted several slots up or down in the schedule, or parameters such as sender or receivers can be changed.
This straightforward example includes only two frame-triggerings: The first frame-triggering is transmitted in each cell of slot 1 by the first controller and received by the other controller, and the second is transmitted in each cell of slot 2 by the second controller and received by the first controller. In specifying these two frame-triggerings, the FlexRay evaluator needs less than five minutes.