Overview
FlexRay is a bus which was designed for control engineering in the automotive field. Particular attention was given in development to its suitability for use in active safety systems without a mechanical fallback level (X-by-Wire), where determinism and fault tolerance are required.
Essentially, thanks to the high transfer rate of up to 20 Mbit/s for non-redundant transmissions, its use in the field of audio
transmission or for highly compressed video transmission is also conceivable.
The major features are:
– Time-triggered transmission with guaranteed latency,
– Possibility of event-driven transmission of information with prioritization,
– Transmission of information via one or two channels,
– High transfer rate of up to 10 Mbit/s, with parallel transfer via two channels up to 20 Mbit/s,
– Structure as a linear bus, in a star configuration or as a mixed form.
FlexRay is the first automotive communication standard to have been created in a consortium of vehicle manufacturers, suppliers and semiconductor manufacturers. It contains elements from TTCAN, Byteflight and other technologies. The specifications published by the FlexRay Consortium are today (only) available as ISO standard 17458 [3].
Transmission media
The transmission medium used in a FlexRay system is a twisted-pair two-wire cable where both shielded and non-
shielded cables can be used. Each FlexRay channel consists of two strands, Bus-Plus (BP) and Bus-Minus (BM). FlexRay uses NRZ (Non Return to Zero) for encoding. The bus state is identified by measuring the voltage difference between Bus-Plus and Bus-Minus. Data transfer is thus less sensitive to external electromagnetic influences, since these act equally on both strands and cancel each other out in the difference. When different voltages are applied to the two strands of a channel, four bus states can be assumed; these bus states are referred to as Idle_LP (LP, Low Power), Idle, Data_0, and Data_1 (Figure 6). Idle_LP is the state in which a low voltage between − 200 mV and 200 mV (to ground) is applied to Bus-Plus and Bus-Minus. In the Idle state, a voltage of 2.5 V with a maximum difference of 30 mV is applied to BP and BM. In order to place the channel in the Data_0 state, at least one transmitting node must apply a negative differential voltage of − 600 mV to the channel, for Data_1,600 mV, based on a mid-level of 2.5 mV.
Topologies
FlexRay networks can be structured as bus topologies and star topologies. Two stars can be cascaded – when signal delays are taken into consideration in the stars. Topologies in which several buses are connected to a star are also possible. Because both channels of a FlexRay system can be structured independently of each other, it is possible for different topologies to be used for both channels. For example, one channel can be structured as an active star topology, the other as a bus topology. On account of the frequencies, which can be ten times those of CAN, it is necessary when designing a FlexRay network to ensure in all topologies in particular that parameters such as line length and terminating resistors are selected in such a way that signal distortions remain in the permissible range.
Bus access, time control
In order to achieve determinism, i. e. the guarantee of a maximum duration for the transmission of a message, communication is performed in the FlexRay bus on a time-controlled basis in cycles of constant duration. Each cycle first features a static segment which is divided into time slots of equal length (Figure 7). Each time slot is permanently assigned a maximum of one node which is permitted to transmit at this time.
This is followed by a dynamic segment in which bus access is regulated by the priority of messages. The split between
the static and dynamic segments is freely configurable, but cannot be altered during operation. The same applies to the
lengths of the time slots, which are configurable, but must remain constant during operation.
The “Symbol Window” can optionally be defined as the third element in the cycle. This can be used to transmit a single
symbol. Symbols are provided to wake a network and to test functionalities.
Synchronization
Each network node requires its own time generator, which it utilizes to decide the time for transmitting and to determine the duration of the bits. The internal time generators of several nodes may deviate from each other on account of temperature and voltage fluctuations and manufacturing tolerances. In a bus system such as FlexRay, which controls bus access via time slots, it is therefore necessary to ensure that the deviation of the clocks from one another remains within
a permissible range through regular corrections. To this end, some nodes assume the role of time generators, to which the other nodes regularly synchronize their internal clocks. The procedure adapts both the zero points (offset) of the clocks and their rate. It can continue to operate even if individual nodes fail. To be able to make corrections, each cycle ends with a short phase (NIT, Network Idle Time) in which the zero point of the cycle can be shifted.
Thanks to this procedure a “global time” is provided in all the nodes; this time is given in macroticks. The synchronization
mechanism causes the length of one macrotick to be the same on average in all the nodes. When the network is switched on, a common conception of time on the part of all the nodes must first be established.
The start-up process, which takes a little time, serves this purpose. Likewise, a node which intends to synchronize itself
to a running network needs a period of time to be taken into consideration.
Arbitration in the dynamic segment
Messages can be given different priorities in the dynamic segment. The duration until a message is transmitted cannot be guaranteed for this. The priority is established by the frame ID, which may be allocated only once in the network. The messages are transmitted in the sequence of their frame ID. To this end, each node runs a counter (slot ID), which is increased when a message is received. If the slot ID assumes the value of the frame ID of a message ready in this node, it is transmitted. If the length of the dynamic segment is not sufficient for all the messages, the transmission process must be shifted to a later cycle.
The data frames in the dynamic segment can have different lengths. The limits of the dynamic slots on the two channels
are independent of each other. Thus, there may be messages with different slot IDs on the channels at one time.
Data frame
FlexRay uses in both the static and dynamic segments the same data-frame format, which can be divided into the three
sections of Header, Payload and Trailer (Figure 8)
Header
The header comprises:
– The reserved bit for future protocol changes.
– The payload preamble indicator, which identifies whether the payload contains a network management vector.
– The null frame indicator, which identifies that the data have not been updated since the last cycle.
– The sync frame indicator, which signals that this data frame is to be used to synchronize the system.
– The startup frame indicator, which identifies that this frame is used in the network’s start-up phase.
– The frame ID; this corresponds to the number of the slot in which the data frame is transmitted.
– The payload length which contains the size of the user data. For all the slots in the static segment this field always
contains the same value. Data frames in the dynamic segment can have different lengths.
– The header CRC, which provides this part of the data frame with extra protection, because it is crucial to the time
response.
– The cycle count; the number of the cycle in which the transmitting network node is located is transmitted in this
field.
Payload
The user data which are processed further by the host are transmitted in the payload segment. For data frames in the
static segment the first payload bytes can optionally be declared to the network management vector. The controllers or
all the vectors received in the cycle and make them accessible to the host. For data frames in the dynamic segment
the first payload bytes can optionally be declared to a 16-bit message ID. In both cases, subsequent handling is left to the
software. The user data have a maximum length of 254 bytes, which are transmitted in 2-byte words.
Trailer
The trailer contains a 24-bit checksum (frame CRC), which acts on the entire data frame.
Generating a frame bitstream
Before a node can transmit a data frame with the host’s data, the data frame is converted into a “bitstream”. To this end,
the data frame is first deconstructed into individual bytes. A Transmission Start Sequence (TSS) of configurable bit length
is inserted at the start of the data frame, followed by a bit Frame Start Sequence (FSS). Then an extended byte sequence
is generated from the bytes of the data frame, where a two bit Byte Start Sequence (BSS) is inserted ahead of each frame byte.
To conclude the bitstream, a two bit Frame End Sequence (FES) is appended to the bitstream. In the event that the data frame is in the dynamic segment, it is possible to append to the bitstream a further Dynamic Trailing Sequence (DTS) of configurable bit length. This prevents another node from starting its transmission via the channel early.
Operating modes
FlexRay can be placed in a mode in which the nodes need only minimal power and in which all the operations of the encoding and decoding process are stopped, but can be woken up by a signal on the bus line. Here, the bus driver is still capable of detecting special signals on the bus and then also of activating its host by means of a corresponding signal. Each node can transmit a wake-up.
'에너지와 과학 그리고 기술' 카테고리의 다른 글
Ethernet - 1703 (0) | 2022.12.11 |
---|---|
LIN - 1700 (0) | 2022.12.11 |
Buses in motor vehicles - 1692 (0) | 2022.12.10 |
System Network Of a Motor Vehicle - 30 (0) | 2022.12.10 |
Finite-element method (FEM) - 190 (0) | 2022.12.10 |