|
||||||||||
FlexRay - The Hardware View
By Stefan Schmechtig, IPextreme, Inc.
Munich, Germany Abstract: FlexRay is an upcoming networking standard being established to raise the data rate, reliability, and safety of the automotive applications of today and tomorrow. Synthesizable FlexRay intellectual property (IP) is now available for those who want to integrate it into a new chip. This paper discusses what the FlexRay IP is and how to implement it; highlighting issues, considerations, and solutions for the system designer. Introduction Automotive bus requirements for data throughput, fault tolerance, and deterministic behavior have changed dramatically in the last few years. New applications such as stability control and throttle-by-wire require many more electronic components, each screaming for more data, deterministic behavior, and reliability. The FlexRay communication protocol was developed to fulfill these needs. FlexRay technology can be split into three to main areas: 1) software to configure and manage communication in a FlexRay cluster, 2) digital logic implementing the FlexRay protocol, and 3) analog signal drivers. This paper focuses on the digital hardware elements of the FlexRay IP and considerations when integrating it into an SOC. FlexRay Conceptual Hierarchy As shown in Figure 1, the central layer of the FlexRay hierarchy is the protocol execution layer, where outgoing frame data is sent to the physical layer. On one side, the protocol execution layer interfaces to a controller host interface, which contains storage for all interface data and provides the controller host interface services. On the other side, the protocol execution layer interfaces to the coding/decoding layer. The physical layer contains the bus drivers, the optional bus guardians, and the physical interconnections.
Conceptual Partitioning In the design of a FlexRay core, the team should focus on communication-related fault tolerance, not on application related issues such as message agreement algorithms. This paradigm ensures that the design is suitable for different applications with diverse fault-tolerance needs. Figure 2 shows an example FlexRay core partitioning in which the Protocol Engine (PE) is responsible for all the FlexRay specific protocol handling and the Controller Host Interface (CHI) handles all the tasks of integrating the FlexRay functionality into the rest of the system. Figure 2: FlexRay block structure The CHI provides host access to the FlexRay core’s configuration, control, and status registers as well as to the message buffer configuration, control, and status registers. The message buffers hold the FlexRay frames (received frames and frames to be transmitted), including the frame header and payload data, and frame status information. The message buffer data is stored in the FlexRay memory, while the message buffer control structures are implemented in the CHI. Different end user applications have a wide range of requirements. Therefore, the core should be configurable so that the integrator can optimize application performance and tune chip characteristics like area and power. For example, in the Freescale FlexRay controller core from IPextreme, the core can be configured to implement up to 256 message buffers and two receive FIFOs with up to 256 entries each. Some solutions can benefit from a custom, application-specific CHI. This requires a well-defined, specified, and documented PE interface. A general-purpose CHI that fulfills the requirements of many applications is supplied with the IP. It includes all the specified FlexRay functionality, such as the use of individual receive and transmit buffers (single and double buffered transmit), state or event transmission mode, receive FIFO functionality, message buffer filtering, and dual-channel mode. However, a specific application may only need a subset of these features and reducing CHI complexity can be a significant advantage for some applications where area and power is important. This strategy is only feasible when the interface and behavior of the PE module is very well defined and documented. The Clock Domain Crossing (CDC) unit implements the signal crossing from the CHI clock domain to the PE clock domain, and vice versa, to allow for asynchronous PE and CHI clock domains. The CHI frequency depends on the complexity and the number of message buffers that have to be processed. It can be significantly slower or faster than the PE clock. If the CHI can be clocked at the same 40-MHz rate as the PE, then the CDC can be removed to reduce gate count. Integrating the Core into the SoC Figures 3 and 4 show two different ways to integrate a FlexRay core into the system. Depending on system memory requirements like size, latency, and bandwidth, the FlexRay memory window that holds the message header and payload data can be stored in the system memory or in a standalone memory.
The top-level interfaces for integrating the FlexRay controller into the system are:
Optimizing and Configuring the Core Conformances and Verification
Deliverables Prototyping and Software Development Conclusions [2] FlexRay Communication System Electrical Physical Layer Specification, Version 2.1a [3] FRCC2100 Integration Guide – IPextreme, Inc. [4] FRCC2100 Core User Guide – IPextreme, Inc.
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |