Ethernet and IP For Automotive
Ethernet and IP For Automotive
E/E-Architectures
–
Technology Analysis, Migration
Concepts and Infrastructure
DOKTOR-INGENIEUR
vorgelegt von
Andreas Kern
Erlangen 2012
Als Dissertation genehmigt von
der Technischen Fakultät der
Universität Erlangen-Nürnberg
I am sincerely and heartily grateful to my advisor, Prof. Dr.-Ing. Jürgen Teich, for
the support, guidance, and encouragement he showed me throughout my disserta-
tion writing. I am sure that it would not have been possible without his scientific
and technical advice. Beside this, I would like to thank my friend and advisor from
Daimler AG, Dr.-Ing. Thilo Streichert, for his support, advice, and guidance over the
past three years. He always found the time for discussing the concept proposals, re-
viewed my publications, and encouraged me during my academic work with all its
ups and downs. I would also like to express my sincere thanks to Dr.-Ing. Vera Lauer
and Dr.-Ing. Helmut Leier from Daimler AG for their support during my research
work at the Daimler Group Research Center. Moreover, I would like to show my
gratitude to all the students who designed, implemented, and evaluated parts of the
different concepts during their internships or final papers. Finally, I am truly in-
debted and thankful to my parents Anton and Rosemarie Kern, to my girlfriend Jes-
sica Schwandt, and to all my friends for their support and encouragement. This work
here was in cooperation with Daimler AG and supported in part by the Federal Min-
istry of Education and Research under project SEIS.
Andreas Kern
Roth, 2012
iii
Contents
1. Introduction 1
1.1. Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Technology Safeguarding . . . . . . . . . . . . . . . . . . 5
1.1.2. Integration and Migration Concepts . . . . . . . . . . . . . 7
1.1.3. Simulation and Pre-production Testing . . . . . . . . . . . 8
1.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
v
Contents
vi
Contents
Bibliography 195
Acronyms 211
Symbols 215
Index 217
vii
1. Introduction
1
1. Introduction
80 10,000
70
number of ECUs or busses
60 1,000
number of signals
50
40 100
30
20 required throughput 10
10
0 0
W120 W110 W114 W123 W124 W210 W211 W212 future trend
type series
Figure 1.1.: The evolution of the E/E-architectures over all Mercedes Benz E-class
type series. The number of mounted ECUs and busses as well as the
number of defined signals are presented for each type series, together
with the trend for future vehicles. In addition, the changes in through-
put requirements are estimated [Rei10].
Ethernet [IEE12b], the Internet Protocol (IP) [Req81a], and higher layer protocols
like User Datagram Protocol (UDP) [Pos80] or Transport Control Protocol (TCP)
[Req81c] could be one solution to meet the future networking requirements of next
generation automotive E/E-architectures. Ethernet is standardized by the Institute of
Electrical and Electronics Engineers (IEEE) 802.3 working group [IEE12b] and con-
sists of several standards which define the physical and data link layer. The most well-
known standards are 10Base-2 (Thin Ethernet), 10Base-T (Ethernet), 100Base-T
(Fast Ethernet), and 1000Base-T (Gigabit Ethernet). Most of the higher level proto-
cols like IP or UDP are defined by Request for Comments (RFCs) [RFC12] and are
accepted as world-wide standards.
2
The main reasons for focusing on Ethernet/IP1 within the automotive context are
that Ethernet/IP is already set for a number of automotive applications communi-
cating between the vehicle and the external world, the discussion of using Ethernet
for internal communication within different contexts in the automotive community,
and the identification of possible technology transfers from Ethernet consumer and
industry standards to automotive standards.
Examples for external communication are vehicle diagnostics, car-2-car commu-
nication, software download to ECUs, and charging of electrical vehicles. In the field
of diagnostics, a new International Organization for Standardization (ISO) [OSI12]
standard called Diagnostics over Internet Protocol (DoIP) [ISO11a] is being devel-
oped. It defines the usage of Ethernet and IP to provide a uniform interface and
protocols for diagnostic tester. In the car-2-car [Car12] section, the IP protocol is
set to guarantee a uniform communication protocol between the car and the exter-
nal world. External partners can be other cars, traffic lights, or other infrastructure
elements. The usage of Ethernet for software download speeds up the service times
significantly by removing the todays throughput bottleneck of the connection be-
tween the tester and the vehicle. Todays solutions are not standardized and specific
to certain OEMs. Powerline [IEE10a] and IP are also in discussion for the charging
interface of electrical vehicles to enable payment systems, internet access, and addi-
tional applications during the charge process. These topics are summarized under the
term Smart Charging [ISO11d].
For vehicle internal communication, Ethernet will be standardized as a lead tech-
nology for camera links and is discussed for alternative E/E-architecture topologies.
The potential benefits when using Ethernet for connecting cameras are cost advan-
tages when using unshielded cabling and the availability of switches to build more
complex topologies instead of just having discrete connections between two devices
as in the case of LVDS for example. Beside the infotainment domain, the lim-
ited physical throughput of today’s shared communication technologies of at most
10 Mbit/s could also be an enabler for the introduction of Ethernet by replacing cur-
rent technologies for intra-domain communication. In addition, Ethernet is evaluated
for building alternative E/E-architecture topologies. An example is the backbone
1 Inthe following, the term “Ethernet/IP” denotes the Ethernet standards specified in IEEE 802.3
including additional layer one and two services like IEEE 802.1 as well as all higher level protocols
like IP or the transport protocols UDP, TCP, or IEEE 1722.
3
1. Introduction
4
1.1. Contributions
Future topics are the usage of Ethernet/IP for discrete networking applications like
cameras and the research on Ethernet/IP as a high-speed backbone within the network
architecture for example. In addition, several tier 1 and tier 2 automotive suppliers
presented their research topics and prototypes based on more detailed application
scenarios like real-time video or audio distribution within the vehicle [Sin11, Nöb11,
Kre11, Pow11, Hoe11]. More general topics like EMC-robustness and a proposal for
an automotive middleware solution were presented in [KKM+ 11, Völ11].
In summary, it is shown that Ethernet/IP is an upcoming and serious network so-
lution for the automotive section. There exists a variety of automotive use cases and
the number of researchers as well as people in the industrial sector working on this
topic are increasing. Up to now, there are still many open questions concerning the
use of Ethernet/IP in the automotive context.
1.1. Contributions
The contributions of this thesis are grouped into the three fields 1) Technology Safe-
guarding of Ethernet/IP-based Automotive Communication Networks, 2) Integration
and Migration Concepts for Ethernet/IP-based E/E-Architectures, and 3) Simulation
and Pre-production Testing of Ethernet/IP-based E/E-Architectures. An overview
about these topics is given in the following.
Analysis of Bit and Residual Error Rates Residual errors regarding communi-
cation networks are packets which pass the error check mechanism, though including
transmission errors. The result is that applications will process faulty data and this
could influence the behavior of a given application. Methods for determining the
residual error rates are direct code analysis, transformed code analysis, stochastic
5
1. Introduction
automata, and monte carlo simulation. Unfortunately, the analytical approaches will
only work for small packet sizes efficiently and the quality of the results obtained
from the simulation-based approach depends on the number of simulated samples
compared to the number of undetectable error patterns. An important input for all
calculations is the knowledge of the frequency and distribution of bit errors. With-
out this input value, all analytical approaches fail. Therefore, this thesis presents a
concept which is designed and implemented to determine the occurrence of bit errors
for a given Ethernet link and the residual error rates are determined depending on
the error check mechanisms from Ethernet, IP, and UDP. Vehicle measurements for
critical installation paths show isolated bit errors and their distributions as well as the
absence of residual errors during the whole measurements.
6
1.1. Contributions
put is still restricted. The main reason is the resource intensive execution of the
software network stack for processing the upper layer protocols. In the following,
different concepts will be proposed to improve the throughput of an Ethernet/IP link.
The different concepts move from software-dependent solutions to hardware accel-
erated solutions. It is shown, that the implementation of these concepts achieves
up to line-rate by disabling functionalities and using additional hardware accelera-
tions. The different concepts to optimize the Ethernet throughput are presented in
[KSS+ 10•].
7
1. Introduction
This part covers the simulation, restbus simulation, and monitoring of point-to-point
Ethernet networks as well as the execution of stress test scenarios. Todays automo-
tive evaluation tools are designed to work with a physically shared media. In such
cases, the tracing and generation of frames is simply done by adding a test node to
the network. When having point-to-point networks and switches, new approaches are
necessary for simulation, traffic monitoring, and traffic generation due to not having
the complete communication on one single wire. This thesis presents an Ethernet-
Test-Switch concept which allows the testing of switched Ethernet networks in au-
tomotive environments. In addition, an interface is designed to combine simulation
environments and the switch to allow restbus simulation of systems which are partly
available in hardware.
8
1.2. Overview
1.2. Overview
This thesis is structured as follows: Chapter 2 deals with technology safeguarding.
In this context, different concepts are created to determine the bit and residual error
rates of given Ethernet implementations, to measure the accuracy of packet-based
synchronization algorithms under different climate conditions, and to accelerate the
sending performance of an Ethernet/IP interface. Multiple communication architec-
ture elements are proposed in Chapter 3. CAN/Ethernet and FlexRay/Ethernet AVB
gateways are designed, implemented, and evaluated. In addition, replacement strate-
9
1. Introduction
gies are described to replace CAN or FlexRay by Ethernet/IP in the long run. Chapter
4 enters into the field of evaluation. For the early stages of development, a simulation
environment is designed which can simulate Ethernet/IP networks. During the test
phase of an application, the developed Ethernet-Test-Switch can be used to investi-
gate the behavior of a given implementation. Conclusions and proposals for future
work are discussed in Chapter 5.
10
2. Technology Safeguarding of
Ethernet/IP-based Automotive
Communication Networks
11
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
message through the network cannot be answered in such an easy way. Therefore,
a detailed evaluation of the different mechanisms and their combinations has to be
done. In general, the power consumption and weight of devices have to be opti-
mized to fit automotive requirements. It is examined whether devices support partial
networking or other approaches like pretended networking [SKSB11]. Partial net-
working allows the activation and deactivation of parts of the network to save energy.
The wake up and shut down is typically controlled by a central device – the central
gateway for example. Pretended networking advances partial networking by adding
more intelligence into each end node to allow simple interactions without waking
up the complete end node. In the case of Ethernet, special Ethernet-related wake up
mechanisms have to be evaluated to enable an Ethernet-networked ECU to be part of
a partial or pretended network. The computational resource work package deals with
the problem of having resource-limited processors and memories in embedded sys-
tems [LWH11, LKVZ11]. In contrast, Ethernet has high data rates, large packet sizes,
complex error detection mechanisms, and a multitude of high level protocols which
need a lot of computing power. The last six work packages are related to economical
aspects like cost advantages when using Ethernet/IP, to the availability of parts and
Table 2.1.: The table lists some of the necessary work packages which have to be
fulfilled to enable Ethernet/IP as an automotive-qualified communica-
tion technology. The work packages affected by this thesis are high-
lighted [SKB+ 10•].
12
2.1. General Overview about Ethernet, IP, and AVB
suppliers, and to application-specific topics like the compression together with pat-
tern recognition [Rah09] or security aspects when connecting external devices or de-
vices which are installed outside the body of the vehicle [KKS+ 10, BGH+ 10, HK11].
The following section presents an overview of the Ethernet, IP, and AVB protocols
(Section 2.1) and the research activities of this thesis addressing the work packages
G.1 (Section 2.2), G.3 (Section 2.3), and G.5 (Section 2.4). In the area of physi-
cal layer robustness, a concept to measure bit and residual error rates is designed,
implemented, and finally evaluated with Bulk Current Injection (BCI) and vehicle
measurements. An IEEE 802.1AS capable network is set up to measure the synchro-
nization accuracy of distributed clocks under different climate conditions. Finally, a
concept for optimizing the transmission throughput of a resource-limited embedded
device is presented and evaluated.
13
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Figure 2.1.: The first handwritten drawing of “The Ether” from Robert M. Metcalfe
created in May 1973 [Met94].
14
2.1. General Overview about Ethernet, IP, and AVB
Figure 2.2.: The left side shows the seven OSI model layers. On the right side,
the Ethernet layers are presented together with their assignments to the
OSI layer model [Rec08].
layer technologies independent from the data link layer. The data link layer consists
of the Media Access Control (MAC) and Logical Link Control (LLC).
It manages the network access by providing arbitration mechanisms and buffering
as well as a defined frame format for Ethernet packets. Figure 2.3 shows the frame
formats of an untagged standard Ethernet II and a tagged Ethernet packet. Both pack-
ets start with a destination and source MAC address of the transmitter and receiver of
the packet. A MAC address is a worldwide unique 6 byte number which clearly iden-
tifies every Network Interface Card (NIC). The standard address format consists of
six groups of two hexadecimal digits, separated by colons. An example is the broad-
cast MAC address FF:FF:FF:FF:FF:FF. The third common field of all Ethernet
frame formats is the 4 byte Cyclic Redundancy Check (CRC) field in the end of the
packet. It contains an IEEE 802.3 CRC-32 to detect transmission errors. Within the
untagged Ethernet II packet, the type field specifies the upper layer protocol used by
the network layer. The tagged Ethernet packet uses a tag protocol identifier to specify
the upper layer protocol plus two additional bytes containing QoS parameters and the
virtual network identifier. The upper layer interface to the network layer is typically
implemented by a backbone or on-chip bus. Vendor-specific software drivers man-
age the interaction between the Operating System (OS) and the Ethernet controller by
reading and writing hardware registers. All remaining layers from three up to seven
are independent of the communication technology. The network layer accommodates
the popular IP which is described in the following.
15
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
0 8 16 24 32
4 12 20 28
header/payload/trailer length in byte
CRC (4 bytes)
(a)
0 8 16 24 32
4 12 20 28
header/payload/trailer length in byte
CFI
tag protocol identifier (2 bytes) priority VLAN identifier (12 bits)
type field (2 bytes)
42 – 1500
CRC (4 bytes)
4
(b)
Figure 2.3.: Two Ethernet frame formats: (a) Shows an untagged Ethernet II frame
as specified in [IEE08b]. (b) Presents the tagged Ethernet frame format
as defined in [IEE06].
The Internet Protocol is the first hardware-independent layer in the OSI network
model. In protocol version 4, it contains the logical IP addresses of a transmitter and
receiver node, for example, two ECUs within a network. Figure 2.4 shows the com-
plete IP frame format. The version field contains the protocol version (in this case 4)
and the header length including the optional header fields which is stored in multiples
of 32 in the IP Header Length (IHL) field. With the Type Of Service (TOS) identifier,
priorities can be assigned to a packet to influence the routing and forwarding within
a router or a switch. The total length field represents the length of the entire packet
including header and payload with a maximum size of 65535 bytes. Identification,
flags, and fragment offset are used to allow IP fragmentation. This mechanism is used
16
2.1. General Overview about Ethernet, IP, and AVB
0 8 16 24 32
4 12 20 28
to divide large IP packets into several smaller packets, if endpoints or routers are not
able to process large IP packets. Today, however, IP fragmentation is no longer sup-
ported by most of the routers. Instead, routers will discard such packets and send a
control message back to the source ECU to inform the transmitter of the packets that
the chosen packet size is not supported [Req81b]. The Time To Live (TTL) counter
represents the lifetime of a packet. Every router decrements the value by one. If the
value is zero, the packet will be discarded. This prevents from circulating packets.
The protocol field identifies the upper layer transport protocol, like UDP or TCP and
the header checksum field is used to detect transmission errors within the header. The
last two required header fields are the source and destination IP addresses of the two
communication endpoints. Additionally, it is possible to store additional informa-
tion within the options field. In summary, IP allows logical addressing of endpoints
within a large network. Application-dependent addressing is introduced by so-called
transport protocols and is discussed in the following.
17
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
User Datagram Protocol (UDP) This is the most popular protocol for stateless
communication. It allows the addressing of application endpoints and supports a
header and payload checksum. The complete header is shown in Figure 2.5(a) and
has a size of 8 bytes. The application addressing is done with the two attributes
source and destination port. It does not support any reliable transmission of frames.
This means for example, that packet loss during transmission is not detected by the
protocol and no retransmission is initiated.
IEEE 1722 The IEEE 1722 transport protocol is mainly used for media traffic. Fig-
ure 2.5(c) shows the protocol header with a size of 24 bytes. In this case, the ap-
plication addressing is done by a stream identifier. The stream identifier belongs to
a media stream which is send by a transmitter to one or more receivers. The avtp
timestamp contains the presentation time of media samples within the payload sec-
tion. Today, IEEE 1722 is mainly used to carry audio and video traffic within an AVB
network.
Ethernet AVB is being standardized by the IEEE 802.1 task group [IEE12a] in order
to support time-sensitive applications in asynchronous Ethernet networks. Ethernet
18
2.1. General Overview about Ethernet, IP, and AVB
0 8 16 24 32
header/payload length in byte
4 12 20 28
(a)
0 8 16 24 32
4 12 20 28
(b)
0 8 16 24 32
4 12 20 28
stream id (8 bytes)
24
(c)
Figure 2.5.: Transport protocols headers of UDP, TCP, and IEEE 1722: (a) Shows
the UDP frame format as defined in [Pos80]. The TCP frame format
as specified in [Req81c] is presented in (b). Finally, (c) shows the
media stream transport protocol frame format of IEEE 1722 as defined
in [IEE11a].
19
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
IEEE 802.1Qav
Queuing Enhancements
IEEE 802.1Qat
Reservation
IEEE 802.1AS
Synchronization
Figure 2.6.: Overview of Ethernet AVB. The standard extends the IEEE 802.3Q
Ethernet standard by the three sub-standards IEEE 802.1Qav [IEE10c],
IEEE 802.1Qat [IEE10d], and IEEE 802.1AS [IEE10b].
AVB extends the IEEE 802.3Q standard [IEE06] with three additional sub-standards
as shown in Figure 2.6.
Time Synchronization (IEEE 802.1AS) This standard describes the time syn-
chronization within the network and is responsible for the precise time synchroniza-
tion of the network nodes to a global time [IEE10b].
20
2.2. Analysis of Bit and Residual Error Rates
2.2.1. Fundamentals
An example of a bit error is presented in Figure 2.7. It shows two nodes intercon-
nected with each other by a physical network connection. The transmitter t sends a
number of bits represented by the binary data vector d to the receiver r. During the
transmission, unplanned electromagnetic disturbances on the physical medium can
lead to a misinterpretation of bits on the receiver side. This phenomena is described
by a so-called error vector e which is applied to the initial data vector d using a XOR
operation. A ‘1’ at position i of the error vector e denotes an altered bit of the data
vector d at position i during transmission. The resulting data vector d’ on the receiver
side is calculated by d’ = d ⊕ e.
Definition 2.1 (Bit Error) A bit error (BE) is a bit that has been altered during
transmission.
Definition 2.2 (Packet Error) A Packet Error (PE) occurs when one or more bits
within certain packet have been altered during the transmission of this packet.
Definition 2.3 (Residual Packet Error) A Residual Packet Error (RPE) occurs
when a packet passes error detection or error correction mechanisms even though the
received or corrected packet contains at least one bit error.
Definition 2.4 (Bit Error Rate) The Bit Error Rate (BER) is the number of incor-
rectly received bits divided by the overall number of transmitted bits.
21
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
error vector
e = (0, 0, 1, 0)T
physical network
connection
Figure 2.7.: Shown is the influence of a bit error e on a data vector d. In this exam-
ple, a sequence of four bits is transmitted from the transmitter t to the
receiver r and the bit at position three is altered.
number of BEs
BER = (2.1)
overall number of transmitted bits
Definition 2.5 (Packet Error Rate) The Packet Error Rate (PER) is the number
of incorrectly received packets divided by the overall number of transmitted packets.
number of PEs
PER = (2.2)
overall number of transmitted packets
Definition 2.6 (Residual Error Rate) The Residual Error Rate (RER) is used
with error detection or error correction mechanisms and denotes the number of pack-
ets which are accepted by the receiver even though the received or corrected packet
contains at least one bit error.
number of RPEs
RER = (2.3)
overall number of transmitted packets
number of RPEs
Pre = lim (2.4)
n p →∞ overall number of transmitted packets n p
22
2.2. Analysis of Bit and Residual Error Rates
23
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Input: CRC polynomial p, bit error probability Pbit , and data length l
Figure 2.8.: Survey of the methods for the determination of the residual error prob-
ability Pre based on the CRC polynomial p, the bit error probability
Pbit , and the data length l according to [MPSH07].
lated by the Direct Code-Analysis. In this case, all 2l undetectable error vectors e
have to be generated explicitly. The numbers Ai of those i erroneous bit vectors have
to be counted (A1 , A2 , ..., Al ). The residual error probability of a weight distribution
Ai can now be calculated with the following equation:
l
i
Pre = ∑ Ai · Pbit · (1 − Pbit )l−i (2.5)
i=1
Therefore, the computation is only feasible for short data lengths l. The Transformed
Code-Analysis uses a much smaller set of patterns 2r of the corresponding dual code.
The weight distribution Bi of this code is determined and then Pre can be calculated
directly. In addition, it is possible to use the Mac Williams Identity to get more
precise results. Both ways sometimes lead to numerical problems and to inaccurate
results. The Stochastic Automata method avoids such numerical problems [SM05].
The idea is to model the behavior of the Linear Feedback Shift Register (LFSR)
which is typically used to implement the calculation of the CRC by a deterministic
automaton. This automaton is extended to a stochastic variant by using the bit error
probability PBit .
In summary, the exact calculation of the residual error probability is only feasible
for short data lengths l and all calculations depend on the bit error probability PBit and
24
2.2. Analysis of Bit and Residual Error Rates
distribution. Therefore, it is necessary to know the bit error probability and distribu-
tion to give a statement about the robustness of given error detection or correction
mechanisms. In this case, the robustness is the ability to detect or correct communi-
cation errors during transmission. The harder it is to create a residual error the more
robust the algorithm is.
A detailed analysis of the error detection mechanisms of today’s CAN technology
is presented in [Cha94]. The author presents the different error detection mechanisms
of CAN like the CRC mechanism and multiple plausibility checks to detect misbe-
havior. For the residual error probability calculation, a two-state symmetric binary
channel model for the physical transmission media is used. A symmetric channel
assumes a direction-independent bit error rate. Figure 2.9(a) highlights the contribu-
tions of the different protocol fields of the CAN protocol to the residual error proba-
bility depending on different bit error probabilities Pbit . The results of the impact of
various packet lengths denoted with Data Length Code (DLC) to the residual error
probability are shown in Figure 2.9(b). It is shown, that even high bit error probabil-
ities of 10−4 lead to residual error probabilities of about 10−12 . In [RMRHS07], a
comparison of the residual error probabilities of LIN, CAN, FlexRay, and Ethernet is
presented. Figure 2.10 shows the results of the residual error probability calculations
depending on different bit error probabilities Pbit . The Ethernet results are based on
the minimum payload length of 42 bytes and show worse results compared to the
residual error probabilities of CAN and FlexRay.
The finding of better generator polynomials for CRCs to detect more error vectors e
is another research area. Several publications [Koo02], [KC04], and [RK06] from
Koopman et al. exist which deal with the problem of finding better CRCs. The
analysis are based on exhaustive searches of different k-bit CRC design spaces. First
results present CRC-32 generator polynomials which support hamming distances up
to 6 compared to the IEEE 802.3 CRC-32 hamming distance of 4 for maximum-
length Ethernet messages. Further publications address the problem of finding better
CRCs for embedded systems. Here, small k-bit CRCs are also considered as well
as limited computational resources. Finally, in [MSM+ 08] different algorithms for
the calculation of the residual error probability of several nested CRC combinations
are developed. The result is, that the choice of different nested CRCs to achieve low
residual error probabilities is application dependent and therefore there is no single
best solution which fits all applications.
25
the one-state residual error probability as a function of the bit error bad
probability
values for a specific transmission medium.
s can be used as an approximation for the normalized bit error probability
res
I
16
bad 5.2bad Contributions of Error Classes
2. Technology
Fig.Safeguarding
10 gives theof Ethernet/IP-based
contributions Communication Networks
of the different error cases to the residual
1
bad \
good
_}z
bad
bad
CAN frames with 8 data bytes per frame in a system with 10 stations.
~
2
1e-15 1e-12
f Error Classes
0.0001
0.001
0.01 0.1
0.0001
0.0
Bit Error Probability (Bad State) Bit Erro
ons of the different error cases to the residual error probability for standard
(a)
es per frame in a system with 10 stations.
Figure 10: Contributions to the Residual Error Figure 11: Influen
Probability
Normalized Residual Error Probability
1e-08
DLC=8
The errors affecting only the Data and CRC fields are the dominant contri
DLC=6
probabilities the residual error probability is dominated by error bursts with
ID Field 1e-09 DLC=4
channel model the worst case situation is res 3 M 5
In the two-stateDLC=2
DLC Field bad I 0 M 02. Note that
decreases for high , which comes from a high
due to fixed field and stuff rule violations at high bit error probabilities.
1e-10
SoF Field
th 26
0 stations, the data field length of the CAN frames is now varied. Fig. 11
r probability decreases with decreasing frame frame length and the maximum
er bit error probabilities because the mean number of bit errors in one frame
frame length.
Many other polynomials payload data. LIN can handle 8 byte packets where one
that perform better at byte is reserved for the arithmetic checksum.
2.2. Analysis of Bit and Residual Error Rates
rger hamming distances. The results of our calculation are shown in Fig.2. The
vious application field of
ve data packets, reliable 0
10
and the IEEE 802.3 CRC
−10
Ethernet polynomial has 10
0 < p ≤ 0.5
port protocols such as the
and the User Datagram Fig. 2. Analysis of residual error probabilities of Ethernet and automotive
layer also contain aFigure
16- 2.10.: Comparison of the residual error probabilities P of Ethernet and au-
network technologies for short data packets depending on rethe bit error
tomotive
their header but also the probability p: Thenetwork
Pre of CANtechnologies
is computeddepending on the
for a payload fieldbit
of error probability
8 bytes
P (denoted with p at the x-axis). The P lower bound), the P at the
(denoted with
Ethernet packet is shown (Dotted curve:
bit
Pre of FlexRay
upper bound, thick dashed dotted curve: re
y-axis) isofcalculated
CAN is for header and
computed forpayload fieldslength
a payload of 5 andof88bytes
bytes (dotted
net packet with transport (Thick solid curve: upper bound, thick dashed curve: lower bound), the Pre
curve: upper bound, thick dashed dotted curve: lower bound). The
of Ethernet is computed for header and payload fields of 14 and 42 bytes
Pre of
(Thin solid FlexRay
curve: is calculated
upper bound, forcurve:
thin dashed a payload length the
lower bound), of P8re bytes
of (thick
LIN is solid curve:
calculated for upper bound,
a payload thick
field of dashed
7 bytes (Thincurve:
dashedlower
dottedbound).
curve: The Pre
upper bound).
of Ethernet is computed for a payload length of 42 bytes (thin solid
curve: upper bound, thin dashed curve: lower bound). Finally, the
of LINprobability
Pre error
residual is calculatedis for a payloadfor
calculated length
the of 7 bytesdata
related (thin dashed
dotted curve: upper bound) [RMRHS07].
fields described in Fig.2. The Pre of the LIN bus is computed
as for a CRC with a hamming distance of 2 which represents
the Pre upper bound of the LIN bus in Fig.2.
2.2.3. Error Detection Concept
and UDP transport protocol According to Table I, the largest bit error probability of
twisted pair cables in a noiseless environment is 10(−7) .
Figure 2.11 shows the basic idea of an error detection mechanism (−24) . for Ethernet net-
cted by a CRC-32 and a The related Pre derived from Fig.2 is 10 A Pre
works. Two Ethernet-capable
value end points
of 10(−24) means theare used to establish
appearance of onean Ethernet
residual link. The
transmission errors.
transmitter
bitboard
errorsends
among 1024 transmitted
predefined Ethernet-packets
bits. psend via the Ethernet
Accordingly, for alink to the
ROR PROBABILITIESreceiver
OF transmission
board. rate of side,
At the receiver 100 each
Mbit/s, one bit
received error
packet within
preceive about bit by
is compared
TWORK TECHNOLOGIES 3.10 8 years remains undetected which shows the unlikeliness
bit with the expected packet psend which is stored in memory. Therefore, the hard-
ct code analysis (DCA)ware CRC ofmechanism
residual bitof errors whencontroller
the Ethernet transmitting
has toshort data packets
be deactivated to enable the
Section III, we calculate over the Ethernet. However, in electromagnetically noisy
forwarding of faulty packets. Whenever an error is detected, a packet error report
ual error probability (Pre ) environments the bit error rates from Table I are not valid
ve network technologies anymore and the probability of residual bit errors increases
of information about the significantly. Therefore, we continue our discussion about
-16, no Pre analysis has improving the error detection performance of Ethernet in 27
alyze the error detection the following.
payload data, we only Fig.3 shows the performance of the Ethernet CRC for short
r the Pre calculation. It is data packets with 42 byte payload data and for longer
Ethernet packets only the data packets with 254 byte payload data. Because of the
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
receiver board
BODY-
CAN
Transceiver CAN
logger
CAN
data-
transmitter board
Transceiver CAN
RAM RAM
psend 6= preceived ?
Flash
CPU CPU
DMA DMA
magnetics magnetics
xMII xMII
MAC PHY PHY MAC
connectors/
wire
Figure 2.11.: Setup of a bit error and residual error measurement concept. The
transmitter board sends predefined Ethernet-packets via the “physi-
cal connection under test” to the receiver board where the received
packets are bit-wise analyzed to check for transmission errors.
is generated for the faulty packet and stored in the internal flash memory (first ver-
sion) or in an external CAN data logger via the CAN interface (extended version).
The CAN data logger contains a large hard disk drive to support long test runs over
several days or even weeks which is important to get comprehensive results. In ad-
dition, a packet counter is introduced to detect packet loss or link cancellation and
different PHY and Ethernet MAC parameters are recorded as well. Due to the lim-
ited amount of computational resources on the embedded design, it is necessary to
use DMA mechanisms and offline evaluation to enhance the throughput of the Eth-
ernet link. Offline evaluation means, that every faulty packet only generates a packet
error report which contains all the information needed to reconstruct the whole faulty
packet by an evaluation tool running on a computer. The error report also contains the
current time and date which is obtained from the BODY-CAN of the vehicle or gen-
erated by a local timer when no vehicle BODY-CAN connection is available. After
28
2.2. Analysis of Bit and Residual Error Rates
0 8 16 24 32
4 12 20 28
CRC (4 bytes)
4
Figure 2.12.: The packet structure of the packets which are being transmitted from
the transceiver board to the receiver board. The packet counter is
stored within the IPv4 header extension to minimize the checksum
recalculation overhead.
reconstructing the faulty packets, the tool calculates the bit error rate and distribution
over the whole test run as well as the packet-based related values. In addition, the
residual error probabilities of the nested error detection mechanisms are calculated
according to Definition 2.7.
In this case, Ethernet, IP, and UDP are used to transmit pseudo random bit se-
quences from one node to the other. The complete structure of the packets which are
being transmitted from the transceiver board to the receiver board is shown in Fig-
ure 2.12. The packet starts with the Ethernet header, followed by the IPv4 and UDP
headers. The payload consists of a pseudo random bit sequence with a length of 1468
bytes to create an Ethernet packet with the maximum transmission unit of Ethernet
of 1518 bytes. Finally, the Ethernet CRC is added. All packet fields can be statically
preconfigured, except for the packet counter which is incremented by 1 with each
packet. The packet counter is placed in the header extension of IPv4 to minimize the
recalculation overhead of the error detection mechanisms which have to be updated.
In this case, only the IP header checksum has to be recalculated.
29
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
LNK_UP
LNK_UP &&
power on LNK_UP x µs
init idle send
LNK_UP LNK_UP
(a)
P
LN
_U
K
K
_U
LN
LN
P
K
_U
P link
down
P
_U
P
_U
K
K
LN
LN
report analyse
(b)
Figure 2.13.: (a) Shown is the functionality of the software of the transceiver board
which continuously sends Ethernet-packets to the receiver board us-
ing a finite state machine model. (b) Described is the more complex
behavior of the receiver board, also by a finite state machine. After
receiving a packet, it is analyzed and an error report will be created if
a transmission error has occurred.
The functionality of the software on the two boards is presented in Figure 2.13
by a finite state machine each. Figure 2.13(a) describes the software structure of the
transceiver board. After initialization and link-up, the continuous transmission of the
Ethernet-packets starts. If a link loss occurs, the board will return into the idle state
until the Ethernet connection is reestablished. The behavior of the receiver board is
shown in Figure 2.13(b). After initialization and link-up again, the board is waiting
for an incoming packet which is signaled by an interrupt from the Ethernet controller.
The received packet is then analyzed by performing a bit-wise comparison. If one or
more bits are altered during the transmission, an error report is created by the software
30
2.2. Analysis of Bit and Residual Error Rates
0 8 16 24 32
4 12 20 28
to record the packet error. After that, the receiver board resumes to the idle state and
waits for the next incoming packet.
The structure of the error report depends on the storage mechanism. In the first
instance, an on-board flash memory is utilized to store the results. The used data
structure is presented in Figure 2.14 and starts with the environmental parameters
time, date, and temperature followed by the current packet counter, different options,
the CRC of the received packet, and the current error counter. The remaining fields
store the different detected bit errors. Whenever a bit error occurs, the whole data
word is stored together with the offset of the data word relative to the beginning of
the packet. The flash-based variant supports up to five data words per packet. The
disadvantages of this approach are the limited size of the error report data structure
due to the limited size of the on-board flash which is typically about a few megabytes
and the problem of writing the results from the board to the computer. In the second
version, an external memory is used to store the error reports. Therefore, a second
CAN interface was connected to a CAN data logger device. This device records all
incoming CAN frames onto a hard disk drive with hundreds of gigabytes of space.
The transfer of the data is performed by connecting an Ethernet cable to the data
logger. This simplifies the read out and supports additional functions like automated
backups and precise timing information about the stored data.
31
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
0xAF 0xAD
1 0 1 0 1 1 1 1 6= 1 0 1 0 1 1 0 1
transmission
24 AF 7E 3C 24 AD 7E 3C
p1 p∗1
(a)
transmission
45 67 missing
transmission
01 23 45 67 89 01 23 89
p1 p∗1
(c)
Figure 2.15.: Different observed error types: (a) Shows a typical bit error where
one or more bits altered during transmission. (b) Shows the absence
of one or more packets at the receiver side. (c) Shows the loss of one
or more data words within a packet.
By assessing the stored error reports, the bit error rate and bit error distribution can
be determined. In addition, it is possible to calculate the distribution of the number
of faulty bits per packet. At packet-level, the packet error rate and the residual error
rates according to the applied error detection mechanisms can be determined.
32
2.2. Analysis of Bit and Residual Error Rates
15 cm
transmitter receiver
board board
coupling
plier
Figure 2.16.: Shows the setup of the BCI measurements within the EMC measuring
chamber.
not received. One reason could be a loss of the Ethernet link. In such a case, a huge
number of packets will get lost. The last observed error type represents the loss of
data words within a packet and is shown in Figure 2.15(c). In this example, a packet
p1 consisting of 5 bytes was transmitted to the receiver. But the received packet p∗1
only contains 3 bytes. The third and fourth byte are missing at the receiver side.
33
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
L2K1/L1K3
L1K2
coupled interference current
error type a
120 0.04%
interference current [dBµA]
115 0.035%
frequency [MHz]
Figure 2.17.: The average values of the occurred packet errors of ’error type a’
depending on the frequency and the maximum coupled interference
current.
represents the applied current by the coupling plier during the measurement. Injected
currents below the limiting values must not lead to communication errors. In this test
setup, the frequency range of about 10 MHz to 40 MHz lead to several packet errors
based on the altering of one or more bits.
A detailed bit-level view of the occurred packet errors is presented in Figure 2.18.
Figure 2.18(a) shows the distribution of the number of bit errors per packet. With an
IEEE 802.3 CRC-32 hamming distance of 4 for maximum length Ethernet packets,
up to 3 bit errors can be reliably detected. With regard to this measurement, about
40 percent of all faulty packets have less than or equal to 3 bit errors and can thus
be detected. For all packets with more than 3 bit errors, there is no guarantee that
the checksum will recognize the faulty packet. But the offline evaluation showed,
that all faulty packets could be detected by the IEEE 802.3 CRC-32. In this case,
the additional use of the IP and UPD error detection mechanisms was not necessary.
Figure 2.18(b) presents the general distribution of the bit error lengths. For example,
a bit error length of 3 stands for 3 consecutive altered bits. Most of the measured
34
2.2. Analysis of Bit and Residual Error Rates
erroneous packets
30%
25%
distribution [%]
20%
15%
10%
5%
0%
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
60%
50%
distribution [%]
40%
30%
20%
10%
0%
1 2 3 4 5 6 7 8
Figure 2.18.: (a) Shows the distribution of the number of bit errors per packet. (b)
Presents the general distribution of the bit error lengths independent
of the packet structure.
35
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
bit errors are single bit errors followed by two bit errors and the maximum measured
bit error length was 6 bits. Note, that the bit error lengths are independent from the
packet structure.
The results of the average packet error of “error type b” are presented in Figure
2.19(a) and showed much more occurred packet errors. The higher rates are based on
the fact that during an error of type b multiple packets were discarded. In this cases,
the difference between the packet counters of two successive received packets was
greater than one. One reason could be link losses during the test run. Figure 2.19(b)
shows the distribution of the number of consecutive lost packets for different interval
lengths. For example, the interval length of [500; 1000] contains all occurred packets
losses of 500 to 1000 successive packets. The maximum number of consecutively
discarded packets was in an interval between 12, 000 and 12, 500 packets. Most errors
implied packet losses of at most 500 packets. For example, the transmission time of
2000 packets at rate of 60 Mbit/s is about 500 ms on an 100 Mbit/s Ethernet link.
This could be an indication for a link error.
Figure 2.20 shows the measurement results of “error type c”. The percentage num-
ber is relatively low compared to the preceding error types but the errors occurred at
the same frequencies.
In summary, most of the errors were consecutive packet losts of “error type b” and
occurred between a frequency range of 10 MHz to 40 MHz. The number of sent
packets was about 3 · 107 packets. This resulted in a number of 3.6 · 1011 sent bits. In
total, 295, 830 packets and 6, 963 bits were faulty. The number of undetected errors
was 0. This means, that no faulty packet was forwarded to the receiving application.
However, packet loss could not be detected by higher layer applications due to the
use of UDP. Reliable transport protocols like TCP can handle retransmissions to avoid
packet loss in the case of errors.
36
2.2. Analysis of Bit and Residual Error Rates
L2K1/L1K3
L1K2
coupled interference current
error type b
120 16%
interference current [dBµA]
115 14%
frequency [MHz]
(a)
30%
25%
20%
15%
10%
5%
0%
[0; 500]
[500; 1000]
[1000; 1500]
[1500; 2000]
[2000; 2500]
[2500; 3000]
[3000; 3500]
[3500; 4000]
[4000; 4500]
[4500; 5000]
[5000; 5500]
[5500; 6000]
[6000; 6500]
[6500; 7000]
[7000; 7500]
[7500; 8000]
...
[11500; 12000]
[12000; 12500]
interval
(b)
Figure 2.19.: (a) Shows the average values of the occurred packet errors of ’er-
ror type b’ depending on the frequency and the maximum coupled
interference current. (b) Presents the distribution of the number of
consecutive lost packets for different interval lengths.
37
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
L2K1/L1K3
L1K2
coupled interference current
error type c
120 0.008%
interference current [dBµA]
115 0.007%
frequency [MHz]
Figure 2.20.: The average values of the occurred packet errors of ’error type c’
depending on the frequency and the maximum coupled interference
current.
Unshielded Twisted Pair (UTP) cable with standard MQS connectors and the boards
were housed in a plastic package. The receiver boards R1, R2, and, R3 were placed
in the trunk of the car. After the car was started, the transceiver board started to trans-
mit packets. The receiver board then received the packets, analyzed them and created
error reports for faulty packets.
The following results presented in Figure 2.22 of “error type a” are based on the
engine test setup. Figure 2.22(a) shows the distribution of the number of bit errors per
packet. As described at the BCI measurement results, up to 3 bit errors can reliably
be detected by the Ethernet CRC-32. The offline evaluation also showed, that there
were no errors during the whole vehicle measurements which led to undetected er-
rors. This means, that all occurred errors were detected by the unmodified checksum
mechanism (CRC) of Ethernet. Figure 2.22(b) presents the general distribution of
the bit error lengths independent of the packet structure. Most of the bit errors were
single bit or two bit errors. The maximum bit error length was 15.
38
2.2. Analysis of Bit and Residual Error Rates
R3
F3
R2
F1
F2
R1
During the whole vehicle measurements, a number of 8.3 · 108 packets was sent.
This resulted in about 1013 bits. The number of faulty packets was 2, 115 and the
number of faulty bits was 3, 375 bits. There were no undetected faulty packets during
the whole test runs. The resulting bit error rate Pbit was 3.35 · 10−10 and the packet
error rate Ppacket was 2.52 · 10−6 . The residual error rate was 0.
In summary, all measurements showed that no residual packet errors occurred.
But the evaluation of the results revealed that there were bit errors greater than 3
per packet which could lead to residual packet errors. To avoid this, additional er-
ror detection mechanism are necessary. In general, in the automotive section the
so called Automotive Safety Integrity Level (ASIL) [ISO11c] classification is used to
classify safety critical functions. Each level has different requirements concerning the
communication error rates. Depending on the ASIL level, additional error detection
mechanisms are necessary. Note that these measurements were done with prelimi-
nary hardware. With further improvements and hardware changes, these evaluations
have to be repeated.
39
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
erroneous packets
60%
55%
50%
45%
distribution [%]
40%
35%
30%
25%
20%
15%
10%
5%
0%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
60%
50%
distribution [%]
40%
30%
20%
10%
0%
1 2 3 4 5 6 7 8
Figure 2.22.: The results of the vehicle measurements. (a) Shows the distribution
of the number of bit errors per packet. (b) Presents the general distri-
bution of the bit error lengths independent from the packet structure.
40
2.3. Accuracy of Packet-based Time Synchronization Algorithms
2.3.1. Fundamentals
Synchronization algorithms are used to establish a common time base within a dis-
tributed system [IEE10b]. For example, when having four wheel-speed sensors, it
is necessary to know the exact point in time where each of the values was sampled.
In the case of object recognition based on distributed cameras around the car, it is
also essential to know the exact capture time of each frame to ensure that detected
objects from different cameras are time synchronized. Each node within a distributed
system has its own free running local clock. The task of a time synchronization algo-
rithm is to adjust the offset and drift of the different free running clocks to a common
time base. This is typically done by the continuously exchange of synchronization
messages (sync-messages) with a defined structure containing timestamps. The max-
imum relative offset between any two clocks in the synchronized system defines the
synchronization accuracy. The following sections describe time synchronization al-
gorithms and techniques in physical-shared and switched communication networks.
41
communication cycle FlexRay offers the choice of two media access schemes. These are a static time
division multiple access (TDMA) scheme, and a dynamic mini-slotting based scheme.
t
communication
cycle level
static segment dynamic segment symbol window network
idle time
arbitration
grid level
static slot static slot minislot minislot
action point action point action point
macrotick
level
macrotick
microtick
level
microtick
42
2.3. Accuracy of Packet-based Time Synchronization Algorithms
Switched networks like Ethernet are not based on one single physical medium. Typi-
cally, single point-to-point connections are used to interconnect two nodes and larger
networks are build using switches, which interconnect more than two nodes. More-
over, multicast and broadcast message exchange have to be supported by the switches
and this is not done by receiving the same message on different nodes connected to
the same physical media as in the case of physically shared networks. Switches du-
plicate multicast and broadcast messages to every outgoing port and enqueue them
in the corresponding egress queues. Thus, additional latencies can be caused by the
different egress queues which will lead to higher differences in the latencies on the
receiving nodes for one multicast or broadcast message. That differing behavior has
a significant influence on the time synchronization mechanisms. In the following, the
three popular packet-based synchronization standards based on the Precision Time
Protocol (PTP) [IEE02] are presented.
IEEE 1588-2002 This first PTP standard was published in 2002 by the IEEE and
was designed to achieve clock synchronization accuracies in the sub-microsecond
range. It synchronizes distributed local clocks referred as slave clocks with a refer-
ence clock (master clock). Figure 2.24 shows the principle message flow between a
timing master node and a slave device to exchange all necessary timestamps to calcu-
late the time offset and drift to the master clock. It starts with the dispatch of a sync
message from the master to the slave device. The point in time when the message
leaves the device is denoted with t1 and is immediately forwarded by a follow-up
message to the slave. The slave uses its local clock to timestamp the receipt of the
sync message with t2 . After that, a delay request message is sent at the time t3 from
the slave to the master device and then the master responds with a delay response
message containing the timestamp t4 to the slave. The calculation of the packet de-
lay, clock offset, and propagation delay can then be done using the timestamps t1 , t2 ,
t3 , and t4 . Equations (2.6) and (2.7) show the calculation of the packet delay and clock
offset. Since the clocks in the network can drift independently and continuously, the
synchronization algorithm is executed periodically every ts microseconds.
(t1 − t2 ) + (t4 − t3 )
tdelay = (2.6)
2
43
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
t2 t3
slave device
local time
se(t4 )
1)
delay
-up(t
respon
sync
sync
reques
follow
delay
t
master device
local time
t1 t4 sync time
interval ts
Figure 2.24.: Shown is the PTP message flow between the master clock device and
the slave device. The messages sync, follow-up, delay request, and
delay response are used to record and exchange the timestamps t1 ,
t2 , t3 , and t4 . These four timestamps are the basis for calculating the
packet delay tdelay and the clock offset tclock .
(t1 − t2 ) − (t4 − t3 )
tclock = (2.7)
2
IEEE 1588-2008 Version 2 of the initial standard released in 2002 contains a list of
improvements to enhance the usability and the precision in large networks [VK08].
Among others, shorter synchronization frames were defined to reduce communica-
tion load and the use of transparent clocks beside ordinary clocks avoids error prop-
agation in cascaded networks. Transparent clocks allow the correction of the prop-
agation delay by adding a correction field to the sync message which contains the
residence time of a packet within a switch for example. In addition, the configuration
of the protocol is much more flexible by defining profiles.
IEEE 802.1AS The IEEE 802.1AS standard is an IEEE 1588-2008 profile. It de-
fines that the propagation delays between two nodes are measured using the peer-
delay mechanism, allows only ordinary clocks or peer to peer transparent clocks, and
uses two-step clocks. In addition, the Best Master Clock Algorithm (BMCA) deter-
mines the Clock Master of an AVB network and provides the reference clock for the
networked devices. The BMCA finds the best clock in the network and constructs a
44
2.3. Accuracy of Packet-based Time Synchronization Algorithms
time synchronization spanning tree with the reference clock as the root. As part of
constructing the time synchronization spanning tree, each port of the synchronized
system is assigned a port role. The port which is closer to the Clock Master com-
pared to its direct communication path port gets the master role, the other gets the
slave role. To determine the best clock in the system, each clock has so-called stra-
tum number as defined in IEEE 1588. The clock with the lowest stratum number is
chosen as the Clock Master in the network. If the number of clocks with the low-
est stratum number is greater than 1, then the clock with the largest MAC address is
chosen. The specified worst case accuracy between two end nodes is less than one
microsecond.
dm→s = T XL1 +CD1 + RXL2 + QD1 + T XL2 +CD2 + RXL3 = 3572 ns (2.8)
ds→m = T XL3 +CD3 + RXL2 + QD2 + T XL2 +CD4 + RXL1 = 15620 ns (2.9)
Figure 2.25(b) shows the measurement results based on a network with four nodes
and three switches placed in series. Each switch is connected to one slave node
running a slave clock and the first switch is additionally connected to the master node
running the master clock. The results show an upper-bound synchronization accuracy
of about 27 ns over three switches.
Another implementation is introduced and evaluated by [EFH+ 08]. They present
a spider transparent clock which corrects the internal queuing jitter and asymmetry
introduced by bridges and routers. The concept works transparent to IEEE 1588 and
45
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
438 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 59, NO. 2, FEBRUARY 2010
HAN AND JEONG: PRACTICAL IMPLEMENTATION OF IEEE 1588-2008 TC FOR DISTRIBUTED SYSTEMS 437
Fig. 5. Example routing path of synchronization packets between a master(a)
and a slave connected by a switch. The total amount of asymmetry can reach
11 948 ns along the thick lines, excluding quantization errors.
For each SYNC message, one IEEE 1588 circuit takes far, the propagation delay in each direction is calculated as
timestamp when the message is transmitted from MAC to PHY, follows:
and the other IEEE 1588 circuit in the opposite side of the
Ethernet link takes a timestamp when the message is received Delay_from_master_to_slave
from PHY to MAC. In measuring the time interval between = TXL1 (TX_latency_of_PHY1)
the two moments of taking timestamps, errors occur at the + Cable_delay1 + RXL2 (RX_latency_of_PHY2)
PHY level due to the asymmetry of the propagation delay.
+ Queuing_delay1 + TXL2 (TX_latency_of_PHY2)
The propagation delay consists of PHY transmit latency, cable
delay, and PHY receive latency, as shown in Fig. 5. In Fast + Cable_delay2 + RXL3 (RX_latency_of_PHY3)
Ethernet (100BASE-TX) connection using unshielded twisted = 72 + 55 + 150 + 3000 + 60 + 55 + 180
pair (UTP) cables, different pairs are used for each direction. = 3572 ns
Two different pairs are likely to have different wire lengths,
Delay_from_slave_to_master
and hence, the propagation delays are asymmetric. UTP cables
can cause a time error (on the order of tens of nanoseconds) = TXL3 (TX_latency_of_PHY3) + Cable_delay3
of more than 100 m. On the other hand, Gigabit Ethernet + RXL2 (RX_latency_of_PHY2) + Queuing_delay2
(1000BASE-T) uses all four pairs for both directions; thus, the + TXL2 (TX_latency_of_PHY2) + Cable_delay4
asymmetry in cable delay is almost eliminated. However, the
+ RXL1 (RX_latency_of_PHY1)
Gigabit Ethernet PHY uses extensive digital signal processing
techniques that add significant latency and cause a few cycles = 80 + 50 + 150 + 15 000 + 60 + 50 + 230
Fig. 4. Oscilloscope screenshot that measures time errors of the three slaves. (b)
of uncertainty in the sampling time. Furthermore, its latency = 15 620 ns.
significantly varies among PHY chip vendors due to different
Figure
implementation 2.25.:
styles.
TABLE
The
For Ithe caserelevant
shown in Fig.timing delays
5, PHY1 has forThea packet which is insent
overall asymmetry Fig.from
5 is 12the
TABLE 048 master
II ns, which is the
a TX latency of 72 ns and an
to
STATISTICAL DATA OF TIME ERROR USING TCS RX
the latency
slave of
are 230 ns. PHY2
presented in (a).
time Delays
error of are caused by the PHYs,
MAXIMUM TIME ERROR USING Oswitches.
the experiment using ordinary the When
RDINARY SWITCHES
and PHY3 have their own latencies, as shown in Fig. 5. The using TCs, however, the queuing delays have no influence,
wires, and the queuing delays within the switch. (b) Highlights
asymmetries that were caused in the PHY layer have been dealt because TCs measure and compensate for the exact residence
some
with as demonstrated in previous clockworks
synchronization
[18], [19]. Measure-measurements. It shows
time. If the switch has TCthe jitter for
capability, different queuing
the asymmetric
ment and correction can eliminate the timefor
slave nodes errors that were
a given timedelays are corrected;
interval [HJ10].hence, the time error is reduced to 48 ns.
caused by vendor-specific PHY latency and asymmetric cable As aforementioned, by measurement and correction of PHY
delay, because they are fixed or changed within relatively small latencies and cable delays, the remaining asymmetry issues can
ranges. In our experiments, every IEEE 1588 slave includes almost be eliminated.
such correction capability to reduce the time error. Although it Quantization error means the difference between the actual
is vendorleads to the
specific, a synchronization accuracy
average latency can easily of about
be corrected, 80and
value ns the
fordigitized
two nodesvalue and
causedoneby switch in fre-
finite operation
and its variation of as much as a+few tens of nanoseconds is quency or finite word length. The CLOCK unit detects signal
between. In [FFM 07], the authors implemented
more difficult to cancel out.
and compared three synchroniza-
transitions on the GMII based on its own system clock to take
Queuingtiondelay in the switch
techniques. The occupies the most
first one usessignificant
an external timestamps.
dedicated Whenever
1-PPSthesignal
IEEE 1588
which message
led tocrosses
the a clock
part of asymmetry issues, because it may cause large varia- boundary where the signaling clock and the sampling clock
bestpropagation
tion in the results with delayan(onaverage
the order accuracy of 15 ns.
of milliseconds). The other
are different, two methodserror
a nondeterministic are occurs.
IEEE The1588 maximum
When a message is forwarded from the master to the slave, error is equal to the period of system clock for data sampling.
and PCTP (PROFINET IO). They present results for different cabling methods with
as shown in Fig. 5, it takes 3000 ns in the switch. On the Another quantization error rises when the IEEE 1588 device
other hand, asisannot
an upper example
bound of extreme
30 nsasymmetry,
moresynchronization a mes- ofgenerates
accuracy the PPS signal.
a few ahundred The rising edge
nanoseconds. of the actual PPS
the maximum time error than for any slave. When PTP message is readyAdditional
sage from the slave to the master experiences a very long signal can be 8 ns late from the exact moment to rise, because
to transmit in a switch, the
High accuracydelay (on ofthe15order
000 ns.ofTo tens
sumofupnanoseconds) is shown
the elements described so theother
CLOCKdummy packet the
unit compares of time_of_day
various lengths mayvalues
with target be in the middle
to be feasible for a practical model of distributed measurement of being transmitted. In this case, the PTP message is queued
and control systems. For comparison with the methodology in until
Authorized thefromongoing transmission ends. Therefore, the maximum
46 licensed use limited to: Seoul National University. Downloaded on February 1, 2010 at 00:13 IEEE Xplore. Restrictions apply.
the literature, the same configuration and topology is built. Most queuing delay is equal to the serialization delay for the dummy
papers, including [8]–[10] and [13], measured the performance packet. Maximum time errors in the table look the same as the
in the simple topology where two OCs are connected directly serialization delay, because the errors resulted from asymmetric
or through one TC. When background traffic is not applied, the delays. Considering that the most common lengths of Ethernet
referenced papers present measured errors of ±80 ns, ±90 ns, frames are 64 and 1518 B, severe performance degradation by
a maximum of 244 ns, and ±80 ns, respectively. Mohl et al. long packets may quite frequently occur. The implemented TCs
2.3. Accuracy of Packet-based Time Synchronization Algorithms
Crystals and Clock Adjustment For the clock synchronization accuracy, the
physical properties of the crystal are an essential parameter. The major influence on
the frequency itself is the temperature. Operation under varying temperature con-
ditions causes the crystal to vary its output frequency. Typically, they will resonate
47
5 hops, no background traffic
5 hops, with background traffic
6 hops, no background traffic
to meet th
6 hops, with background traffic
7 hops, no background traffic
The result
7 hops, with background traffic and uncom
Uncompressed SDTV (SDI Signal)
Uncompressed HDTV (SDI Signal) meet these
Digital Audio, consumer interfaces
2. Technology Safeguarding of Ethernet/IP-based Communication
Digital Audio, professional interfaces Networks
BTS (CDMA, CDMA 2000, WCDMA, Femtocell)
1e+6
1e+5
[1] Geoffre
consumer audio Require
1e+4
Austin,
professional audio [2] Geoffre
Require
MTIE (ns)
1e+3
Austin,
1e+2
BTS [3] Geoffre
ResE A
1e+1 meeting
uncompressed HDTV [4] IEEE S
1e+0 Networ
uncompressed SDTV 24 July
1e-1
0.001 0.01 0.1 1 10
[5] Geoffre
Transp
Observation Interval (s)
Samsun
Figure 9. Maximum Time Interval Error (MTIE) for 1 – 7 Beijing
Figure 2.26.: The maximum time interval error (MTIE) for different observation
hops, with and without background traffic [6] Geoffre
intervals are shown by the bunch of dashed lines in the middle. The Synchr
upper and lower dashed lines show the jitter requirements for different
VI. CONCLUSION Transp
applications like professional video or audio. It is shown that the AVB T
This paperMTIEs
measured has provided an overview
fulfill the audio of [GGT09].
requirements IEEE 802.1AS and [7] Michae
presented new simulation and test results for 802.1AS Timing
performance. Elemen
close to their target frequency at room temperature, but will slow down when the
TM [8] Don Pa
IEEEincreases
temperature either 802.1AS is compatible
or decreases from roomwith IEEE Std
temperature. The1588
crystal -2008,
used Assump
in that
for our tests was anit AT-cut
includes a PTP
25 MHz profile.
with ±50 The specifics
ppm tolerance of the PTP
at room temperature. Septem
profile
A suggestion were
of IEEE chosen
802.1AS to provide
standard is to use afor lower-cost
crystal systems
which in the worst casethat [9] Geoffre
would
should not exceed still allowForthe
±100 ppm. respective
a temperature rangeapplication
of 0 °C (+32 F)performance
to +70 °C Synchr
requirements to be met. It allows very few user-configurable
(+158 F), the crystal used is still able to maintain a tolerance of ±100 ppm. For all
Samsun
options, and therefore provides for plug-and-play Pittsbu
AT-cut crystals, the frequency shift due to the variation of temperature can be ex- [10] Michae
interoperability. It adds support for shared media such as IEEE
pressed in a cubic curve. So it is expected that this crystal will work properly over a Perform
802.11, EPON, and coordinated shared network. It uses an Septem
alternaterange
large temperature BMCA thattoisother
compared very similar
types to the default IEEE 1588
of crystal.
[11] IEEE
BMCA,
As defined by thebut simplified protocol,
synchronization to providetherefor
canfaster
be onlyconvergence.
one single best clock
Bridged
in an AVB network which is called the Clock Master (CM). The Slave Clocks (SCs) 2005.
Simulation results indicate that the jitter and wander
of the synchronized devices adjust their local clock to this clock. External climate [12] Allan
requirements for professional audio applications are met with a Venkat
influences
10like
Hztemperature
bandwidth manipulate
endpoint each free running
filter, and thatcrystal, so theyand
the jitter behave in
wander Locatio
requirements
a different for both
manner. The system consumer
clock that is provided and
by theprofessional audio
Ethernet transceiver May, 2
applications
may generate areerror
an additional metbecause
with athe1 Hz
clockendpoint filter. Ifcircuit
and data recovery the endpoint
in each [13] IEEE S
filter bandwidth is decreased to 0.01 Hz, the requirements for Contro
cellular base stations and uncompressed HDTV video are also [14] 3GPP
48 met. Finally, if the endpoint filter bandwidth is decreased to 1 Specific
mHz, the requirements for uncompressed SDTV video are also transm
met. [15] 3GPP
Specific
transm
2.3. Accuracy of Packet-based Time Synchronization Algorithms
Sample Clock Distribution Figure 2.27 shows the sample clock distribution of a
transceiver node, the talker, to the receiving node, the listener. Streaming data like
video or audio is transported with the sample clock, e.g. 48 kHz, which is derived
from the system clock. The talker of a stream uses directly the digital data or digi-
talizes the analogue audio data with this particular sampling rate. The digital audio
data is packed together with the presentation timestamp into audio packets and is sent
via the IEEE 1722 transport protocol to one or more listeners. The listener needs to
regenerate the analogue audio data from the digital samples. Thus, the listener needs
to recover the original audio clock. The header of the IEEE 1722 protocol embeds
all necessary information for recreating the sample clock. The Listener recovers the
sample clock with the use of its IEEE 802.1AS clock time, the presentation time of
the audio samples, and the number of audio samples. This clock is used to drive the
digital analogue converter and output the audio signal. The time calculation will be
affected negatively when the crystal is oscillating in a different behavior than the fun-
damental. So, the difference between the presentation timestamp of two following
IEEE 1722 packets or the global time could be too large and QoS cannot be provided
anymore. In this case, the current implementation will cancel the stream and restart
the synchronization process.
Sample Clock Jitter Jitter is defined as the variation in the delay of received pack-
ets. Ideally, packets should be delivered in a perfectly periodic-fashion. However,
even if the source generates an evenly-spaced stream, unavoidable jitter is introduced
by the network due to varying queuing and propagation delays. Jitter is an impor-
tant QoS parameter for high-quality media streaming over a network. The follow-
ing measurements will evaluate the behavior of the sample clock jitter under several
temperature conditions. Since the presentation timestamps have a resolution of one
49
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Talker
Incoming Analogue
Data
IEEE 1722
ADC
Data
Sample Clock
(local oscillator)
AVB Timestamp
Generator
IEEE 802.1AS
Global Time
...
716,667,668
Listener
AVB
Timestamps
Generated Clock
Sample Clock Generator
Figure 2.27.: An overview of the sample clock generation and recovery process.
50
2.3. Accuracy of Packet-based Time Synchronization Algorithms
test cases
AVB 1, 3, and 4 AVB
device 1 device 2
test case 2
Figure 2.28.: The considered test setup for the test cases 1, 2, 3, and 4.
51
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
scenarios for in-vehicle networks. The temperature for the devices under test ranges
from −10 °C (+14 F) to +70 °C (+158 F) and is measured with a temperature sensor
close to the devices. This range is selected because the test devices is specified for
commercial use and did not support the typical automotive temperature range from
−40 °C (−40 F) to +85 °C (+185 F). All tests are done with a synchronization time
interval ts of 10 ms.
Test Case 1: Static and Slowly Varying Temperatures The first test case
describes a scenario where both devices were placed in a climate chamber respec-
tively and started at a temperature of −10 °C (+14 F). After the temperature of the
first climate chamber reached the maximum temperature of +70 °C (+158 F), the
temperature of the second chamber with the second device was increased in a similar
manner. The temperature was changed very slowly in steps of 10 K with a maxi-
mum speed of 2 Kelvin per minute. The audio streams α and β were started after
the boards have reached their respective temperature changes. Then, the time until
the listener clock regenerates the sample clock was measured. From that point on,
the jitter between the talker and listener sample clock was recorded for 30 seconds at
constant temperature. This procedure was repeated five times for the streams α and
β and each temperature value. The third stream γ was started once and recorded the
jitter over the whole life cycle of the test, also during the temperature changes.
Test Case 2: Static and Slowly Varying Temperatures with Switches The
second test case is similar to the first test case. No measurement was done during the
temperature change. In addition to the AVB end nodes, two AVB capable switches
were placed between the end nodes and inside the climate chamber to increase the
number of hops. The maximum temperature had to be reduced to +40 °C (+104 F)
for this test due to thermal problems of the consumer grade switches.
52
2.3. Accuracy of Packet-based Time Synchronization Algorithms
Test Case 3: Endurance Test The endurance test shows the long term stability
and the long term jitter. The audio stream γ was started at the beginning and long term
jitter was measured during the temperature change. This differs from the first two
tests. The whole test duration was about four hours. The temperature of one climate
chamber was decreased to −10 °C (+14 F) while the other chamber increased the
temperature simultaneously to +70 °C (+158 F). These changes have been repeated
several times during the measurement.
Test Case 4: Shock Test ECUs which are mounted close to the shield metal or
the engine must be capable of withstanding higher temperatures than all other ECUs.
Rapid temperature changes in the environment caused by snow, rain or engine start
will influence those control units heavily. Car manufacturers use a special shock
test to simulate such or even harder conditions. Note that ECUs today have to be
operable before and after a temperature shock, but not during this shock. So, this test
goes beyond the required worst case. The ambient temperature was rapidly decreased
from +70 °C (+158 F) to −10 °C (+14 F) and vice versa in just five seconds. The
audio streams α and β were started at the beginning of the test. With the start of
the variation of the temperature the sample clock jitter of both streams was measured
every 30 seconds for a time period of 6 minutes. In addition, those tests were repeated
with a modified IEEE 802.1AS sync time interval ts of 100 ms.
Figure 2.29 shows the general approach of jitter measurement. Two high-speed sam-
pling oscilloscopes are used with special heat-resistant cables to measure the sample
clocks of a stream on both devices. The first channel is triggered on the rising edge of
sample clock 1 on the first device. The second channel measures the jitter of sample
clock 2 by setting the display mode of the oscilloscope to persistence for a given time
interval tm . The measured jitter is the interval spanned by the leftmost rising edge
and the rightmost rising edge.
Test Case 1: Static and Slowly Varying Temperatures The results of test
case 1 are summarized in Figure 2.30. Figure 2.30(a) shows the maximum, average,
and standard deviation of the measured jitters of the streams α and β for differ-
53
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Sample Clock
Talker
50%
Sample Clock
Listener
50%
trigger measured time
point jitter
Figure 2.29.: An idealized view on the process of the clock jitter measurement. The
upper channel shows the trigger point of the first sample clock 1. The
second channel highlights the measured jitter interval of sample clock
2 for a time period tm with a gray background.
Test Case 2: Static and Slowly Varying Temperatures with Switches Ta-
ble 2.3 presents the measured results for test case 2. The measurement series shows
that the inclusion of two switches between the two end nodes has no visible impact
on the jitter values. The average measured jitters are similar to the values obtained
from test case 1 without switches and only the maximum measured jitter was slightly
higher at 25 ns compared to the values from the first test case. In summary, the inser-
tion of switches had no visible effect in our measurements, the measured jitter values
were also restricted to a maximum of 25 ns for temperatures ranging from −10 °C
(+14 F) to +40 °C (+104 F), and there were no stream cancellations.
54
2.3. Accuracy of Packet-based Time Synchronization Algorithms
20 80
18 70
ambient temperature [◦ C]
sample clock jitter [ns]
16 60
14 50
12 40
10 30
8 20
6 10
4 0
2 -10
0 -20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
measurement number
(a)
30 80 ambient temperature [◦ C]
27 70
sample clock jitter [ns]
24 60
21 50
18 40
15 30
12 20
9 10
6 0
3 -10
0 -20
0
200
400
590
820
1010
1230
1420
1650
1840
2130
2320
2610
2800
3130
3320
4180
4370
4510
4700
4880
5070
5280
5470
5680
5870
6100
6290
6540
6730
7000
7190
7580
7770
time [s]
(b)
Figure 2.30.: The measured jitter values of the streams α, β , and γ for test case 1.
55
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Test Case 3: Endurance Test In this third test case, we measured a maximum
jitter of at most 57 ns over a long period of 3:40 hours without any stream cancella-
tions. During the test run, we also changed the temperatures of the climate chambers.
This shows that even a longer period over several hours leads to stable results with a
restricted jitter and no cancellations of the stream.
Test Case 4: Shock Test Figure 2.31 presents some results of the shock cham-
ber measurements. The rapid temperature change from +70 °C (+158 F) to −10 °C
(+14 F) is shown in Figure 2.31(a). The opposite temperature change is shown in
Figure 2.31(b). Both figures point out that there is a correlation between the speed of
the temperature change and the synchronization accuracy. In some test runs stream
cancellations appeared during fast temperature changes. Such cancellations occur if
a certain threshold in the clock drift is exceeded. In summary, this fourth test case
shows that there is a correlation between the magnitude of the jitter and the mag-
nitude of the temperature change over time. It also shows that in some cases, the
synchronization algorithm was not able to maintain the synchronization between the
two end nodes which is shown in Figure 2.31 by the “cancellation” entry on the y-
axis. We did the same test case with a sync time interval ts of 100 ms and obtained
slightly higher jitter values compared to the 10 ms setting.
Table 2.3.: The measured jitter values of the streams α, and β for test case 2.
56
2.3. Accuracy of Packet-based Time Synchronization Algorithms
abort 80
180 70
ambient temperature [◦ C]
sample clock jitter [ns]
160 60
140 50
120 40
100 30
80 20
60 10
40 0
20 -10
0 -20
0 30 60 90 120 150 180 210 240 270 300 330 360
time [s]
(a)
abort 80
180 70
ambient temperature [◦ C]
sample clock jitter [ns]
160 60
140 50
120 40
100 30
80 20
60 10
40 0
20 -10
0 -20
0 30 60 90 120 150 180 210 240 270 300 330 360
time [s]
(b)
Figure 2.31.: The measured jitter values of the streams α, and β with a synchro-
nization time of 10 ms for test case 4.
57
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
2.4.1. Fundamentals
Todays automotive communication technologies LIN, CAN, and FlexRay have a lim-
ited physical data rate of up to 10 Mbit/s. This relatively low data rate has the advan-
tage that resource-constrained processors are able to provide these throughputs up to
line rate. In the case of Ethernet, the minimum provided physical data rate for au-
tomotive use cases is 100 Mbit/s and several resource demanding protocols like IP,
UDP, and TCP have to be supported. Comprehensive measurements show that the
computing power of typical embedded processors is not able to provide these high
data rates. The following evaluation results are based on an evaluation platform con-
sisting of two evaluation boards with an embedded processor running at 85 MHz.
The two boards are connected via an Ethernet connection. The throughput, latency,
and jitter measurements were done using 10, 100, and 1000 Mbit/s Ethernet. The
complete test setup, measurement concept as well as the evaluation results are sum-
marized in [Ker08•].
58
2.4. Throughput Performance Aspects of Resource-limited Systems
10 Mbit/s Ethernet
100 Mbit/s Ethernet
1000 Mbit/s Ethernet
10 Mbit/s Ethernet (theoretical)
Mbit
100
application throughput braw
80
60
40
20
0
100
200
300
400
500
600
700
800
900
1,000
1,100
1,200
1,300
1,400
payload data length dl [byte]
Figure 2.32.: The maximum measured application throughput for different Ether-
net speeds and application payload lengths. In addition, the maximum
theoretical application throughputs for 10 Mbit/s and 100 Mbit/s Eth-
ernet are shown by the dotted lines.
tocol overheads per packet. This implies that the selected packet size has a signifi-
cant influence on the available throughput. Figure 2.32 shows the measured applica-
tion throughputs when using Ethernet, IP, and UDP to transport application specific
data. The throughputs are measured for different Ethernet speeds and packet sizes. It
shows, that the maximum achievable application throughput is about 18 Mbit/s and
hence far below the 100 Mbit/s or 1000 Mbit/s for Fast or Gigabit Ethernet. Only
in the case of 10 Mbit/s Ethernet, the full line rate can be reached. The two dotted
lines show the theoretical maximum application throughputs for 10 and 100 Mbit/s
Ethernet.
59
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
1000
end-to-end latency [µs]
App (rx)
800 UDP (rx)
IP 3 (rx)
600 Eth (rx)
PHY
Eth (tx)
400 IP (tx)
UDP (tx)
App (tx)
200
0
100
200
300
400
500
600
700
800
900
1,000
1,100
1,200
1,300
1,400
payload data length dl [byte]
Figure 2.33.: The end-to-end latency of packets going from one application to an-
other for different application payload length. The intervals are based
on the OSI model layers and show the time duration within each OSI
layer and on the physical media.
packet sizes dl . The latency is proportional to the packet size and most of the time is
spent in the software network stacks on transmitter and receiver side. The processing
times present the throughput bottleneck. The processor needs to much processing
power and time to prepare all the protocol headers before sending the packet. More-
over, the calculation of the transport protocol header and payload checksum requires
a lot of time compared to the other protocol blocks.
60
2.4. Throughput Performance Aspects of Resource-limited Systems
70%
60%
50%
40%
30%
20%
10%
0%
(-∞, -1300)
[-1300,-1200)
[-1200,-1100)
[-1100,-1000)
[-1000,-900)
[-900,-800)
[-800,-700)
[-700,-600)
[-600,-500)
[-500,-400)
[-400,300)
[-300,-200)
[-200,-100)
[-100,0)
[0,100)
[100,200)
[200,300)
[300,400)
[400,500)
[500,600)
[600,700)
[700,800)
[800,900)
[900,1000)
[1000,1100)
[1100,1200)
[1200;1300)
[1,300,∞)
jitter interval dl [µs]
Figure 2.34.: The measured jitter J p distribution for seventeen different cyclic mes-
sages send by one node.
Figure 2.34 shows the measured percentage distribution of the deviation of the peri-
odic jitter for 17 different messages. The messages were assumed to have different
cycle times. It is shown, that the prototype caused jitter values for the different mes-
sages in the range of −1400 µs to 1400 µs. In summary, it is shown that in 60 % of all
cases, the packet jitter was within a range of 0 to 100 µs.
61
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
timers, and the partial increase of clock frequency. Todays fast embedded processors
already support several features like instruction caches, data caches, dynamic branch
prediction, hardware multiplication, hardware division, and barrel shifter to optimize
their throughput. A large impact on the overall system performance is caused by
memory access time and latency. The goal is to minimize the number of processor
instructions per memory read or write access. Typical systems provide large low
speed and small high-speed memories. Thus, critical code and data sections should
be placed in high-speed memories and vice versa. Networking involves a numer-
ous number of data copies and manipulation of the same data. Therefore, increased
data and instruction caches can help to speed up these operations. The choice of an
optimal system clock timer helps to minimize timer interrupts. For example, every
time the system timer interrupt occurs, two cost intensive context switches have to be
performed. If the period is shorter than it needs to be, an unnecessary percentage of
cycles is used for handling these interrupts. Finally, a partial increase of the clock fre-
quency can have a significant influence on the overall performance. For example, by
isolating the data path from the FPGA to the Ethernet MAC/PHY, a higher through-
put can be achieved. In addition, they present some simple performance results for
different implementations. The presented maximum transmit throughput of a TCP
connection is 63 Mbit/s for packets with a payload size of 1024 bytes. In [Alt10], the
authors present an application node based on the optimization techniques from above
for implementing an Ethernet optimized design example. The resulting maximum
transmit throughput is 81 Mbit/s for an application running on an 85 MHz proces-
sor. Additional techniques like interrupt coalescing, checksum offloading, zero-copy
data movement, jumbo frames, and DMA are presented in [CGY01]. Interrupt co-
alescing is a method to selectively delay interrupts if more packets are pending for
transmission for example. This helps to reduce the overall number of interrupts which
have to be processed by the CPU. The offloading of checksum calculation from soft-
ware to hardware also accelerates the processing of the network stack. In special,
the header and payload checksums of transport protocols lead to high latency due to
the huge amount of data which has to be considered when calculating the checksum.
Zero-copy data movements reduce the number of data movements in memory. Most
problematic is the transition from user memory space to operating system memory
space. They discuss additional techniques like page remapping or page flipping to
solve this problem. Jumbo frames can be used to improve the payload ratio of a
62
2.4. Throughput Performance Aspects of Resource-limited Systems
2000
2000
1750
1500
1500
Bandwidth HMbsL
Bandwidth HMbsL
1250
1000 1000
750
zero-copy & checksum offloading
500 zero-copy 500
no optimizations
250
integrated copychecksum
1.5 4 8 16 24 32
MTU HKBL 1.5 4
Figure 2.35.: The maximum achieved throughput for different optimization stages
Figure 2: TCP Bandwidth
and payloads on on
measured thePowerEdge
PowerEdge 4400 platform.
4400 platform. The dottedThe left-hand g
tion processlinedoes
represents the reference
not access implementation.
the data. The other lines
The right-hand graph show
shows the impa
the throughput improvements for the integrated copy/checksum, the
zero-copy, and the zero-copy with checksum offloading approaches
[CGY01].
larger than the 4KB system page size. Moving from sum the data ra
a 1500-byte to a 4KB MTU enables page remapping, stores to the d
yielding a sudden jump in bandwidth. This illustrates the CPU can store
packet
maximumto minimize per packet
benefit from overheads. Finally, intelligent
page remapping or DMA
othermechanisms
zero- areread at 504 MB
introduced to release the processor from just copying data from one memory space to
copy networking enhancements on this platform. Band- when the CPU
another. Figure 2.35 summarizes the results measured on a PowerEdge 4400 platform
width is lower for MTUs that are not a multiple of the memory bandw
and shows the average measured throughputs from 50 test runs for different Ethernet
page size because the socket API must copy the “odd”
frame sizes. For an Ethernet Maximum Transmission Unit (MTU) of 1500 bytes, a
The lines lab
data; Figure 2 omits these points for clarity.
maximum throughput of about 90 Mbit/s is presented. A FPGA-based concept foreffect of combi
Since a checksums
interfacing are link
100 Mbit/s Ethernet computed
is discussedinin [Ins04].
software The for discussesinto a single s
the
author
zero-copy
most line, host
of the techniques CPUabove
mentioned saturation again
and introduces the limits multiplexer al-2.3.99-pre8 ke
use of a band-
width,high
lowing this time
data at a higher
rate traffic peak
beside the of 1.5 method
conventional Gb/s. by The accessingresults confirm
right-
directly
the Ethernet
hand graphMAC from the
shows thatprocessor. This enables
the percentage separate hardware
improvement modules toMB/s for this l
from
send and receive Ethernet traffic without interrupting the main processor. Beside thebandwidth of
copy avoidance is lower when netperf accesses its data,
concept, no experimental results are presented. tually reduce b
yielding a peak of 820 Mb/s. This results from two fac-
tors. First, the additional load drives the CPU to satu- form, but we h
ration at a lower bandwidth, thus the CPU is spending 63tant is that the
less of its time copying data, diminishing the potential and checksum
benefit from avoiding the copy. Second, memory caches tuned for speci
create a synergy between copying and application pro- integrated cop
cessing; each may benefit from data left in cache by the 8KB MTUs, b
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
In summary, it is shown that the networking throughput of low cost embedded sys-
tems is limited by the software processing overhead per sent packet and cannot be
significantly raised through CPU and software optimizations. Satisfactory network-
ing speeds are only achievable by using fast general purpose processors or dedicated
hardware blocks.
Variant Description
0 reference design
1a special cache strategy
1b disabled UDP checksum
1c disabled UDP checksum and expanded caches
2 packet generation in hardware
3 packet generation and transmission in hardware
64
2.4. Throughput Performance Aspects of Resource-limited Systems
FPGA
Ethernet Data
SG-DMA DB-DMA
MAC Source
Ethernet IP-Stack
DDR-RAM SRAM
PHY CPU
(a)
CPU
CPU DDR-RAM DMA CPU SG-DMA
prepare set
calculate
SW send(data) packet protocol
checksum
buffer header
copy copy
HW payload packet
to buffer to MAC
(b)
Figure 2.36.: Reference Design: (a) Shows the architecture of the reference design
and (b) presents the process chain for a standard packet transmission.
into the Static Random Access Memory (SRAM). The data source streams application
data to the DBDMA which alternately writes the data into one of the two buffers. If
one buffer is full, the DBDMA locks the full one, notifies the software running on the
CPU via an interrupt which then starts processing the payload by sending out UDP
packets on the Ethernet MAC interface. Figure 2.36(b) shows the resulting event
chain. In the first step, the network stack prepares a packet buffer and configures the
headers of the different protocol layers. The packet structure is located in the gen-
eral system memory which is the Double Data Rate Random Access Memory (DDR
RAM) in this case. Since the packet buffer and the payload are located in physically
and logically separated memory areas, the payload has to be copied into the packet
65
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
structure. Here, the SRAM is used due to its short read and write delays and the
copy process can be supported by a DMA to reduce CPU load. The calculation of
the UDP checksum concludes the preparation of the packet. After that, the software
configures the Scatter Gather DMA (SGDMA) which then reads the packet from the
DDR RAM and writes it directly to the Ethernet MAC. An SGDMA consists of a
linked list which is processed in a first in first out manner and contains descriptors.
Each descriptor includes a source and destination address and the length of the data
which has to be copied. The SGDMA then processes the list and executes the copy
instructions defined in each descriptor. The advantage of an SGDMA is that it is not
necessary to wait until the currently processed copy instruction has finished before
adding the next one.
Variants 1a, 1b, and 1c: Caching and Software Enhancements In the
following, the variants 1a, 1b, and 1c are described. The design changes affect the
configuration of the CPU and caches as well as the software network stack. Figure
2.37 shows the underlying architectures and the adjusted process chains for the send
call of the different variants. Variants 1b and 1c omit the UDP checksum calculation.
Variant 1a uses an optimized caching strategy for the instruction and data mem-
ory. The achievable network throughput is mainly limited by the performance of the
TCP/IP software stack. To reduce the latency caused by the traversal of the software
stack for each packet sent, the processing speed of the code has to be increased. The
performance and architecture of the system can be tailored towards the system re-
quirements at the expense of additional resource usage. One possibility of increasing
performance while keeping the clock rate constant is the addition of tightly coupled
instruction memories (TCIMs). TCIMs are memories that are directly attached to
the CPU and cannot be accessed by any other component. Since TCIMs are imple-
mented as on-chip memories, access latency and speed are comparable to those of
an instruction cache. Software fragments can be moved to the TCIM through source
code annotations that are recognized by the compiler. A code that resides in a TCIM
cannot be cached and is always loaded from the TCIM. This frees up the regular in-
struction cache and more importantly guarantees a constant execution and load time.
For example, this removes the uncertainty of the execution time of software network
stack. In our case, one main task of the application software is the recognition and
the processing of a full data buffer. To evaluate the benefit of adding a tightly coupled
66
2.4. Throughput Performance Aspects of Resource-limited Systems
FPGA
Ethernet Data
SG-DMA DB-DMA
MAC Source
Ethernet IP-Stack
DDR-RAM SRAM
PHY CPU
(a)
CPU
CPU DDR-RAM DMA CPU SG-DMA
prepare set
1a calculate 1a
SW send(data) packet protocol
checksum
buffer header
copy copy
HW payload packet
to buffer to MAC
1b, 1c
(b)
Figure 2.37.: Variants 1a, 1b, and 1c: (a) Shows the architecture and (b) presents the
process chain representing the transmitting node latency for packet
transmission.
instruction memory, the buffer handling code is relocated to the TCIM. No additional
hardware changes have to be made, since an unused TCIM is already included in the
reference design.
Variant 1b additionally disables the UDP checksum calculation. When sending
data over a standard UDP socket, the network stack calculates a CRC checksum
over the entire UDP packet including the header and payload. This is necessary to
detect and discard erroneous packets at the receiver. An automatic retransmission of
damaged frames is not supported by the UDP protocol. Any further error handling
has to be done by the user application. The calculation of the UDP checksum can also
be disabled through options which are set upon creation of a new socket. Damaged
Ethernet frames are still recognized and discarded on the data link layer since the
Ethernet frame checksum is calculated in hardware and is therefore still activated.
67
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
With regard to a streaming application, an erroneous packet will generally not affect
the functionality of the application so the UDP checksum could be disabled. Figure
2.37(b) shows the adjusted send call with omitted UDP checksum calculation.
Finally, variant 1c uses expanded caches. Since the software structure of our sys-
tem is kept rather simple, even simple caching strategies should deliver good results
as long as the instruction cache provides sufficient space. To avoid the replacement
of cached instructions even if they are called very frequently, the size of the instruc-
tion cache is doubled from 4 kilobytes to 8 kilobytes. Therefore, this variant does
not modify the general system or software architecture, but examines the impact of a
bigger instruction cache which should result in a higher cache hit and miss ratio. In
turn, this should reduce the execution time of the buffer handling and the packaging
of data by the software stack. Additionally, the network stack jitter should become
smaller.
68
2.4. Throughput Performance Aspects of Resource-limited Systems
0 4 8 12 16 20 24 28 31
Payload
(a)
0 4 8 12 16 20 24 28 31
Payload
(b)
0 4 8 12 16 20 24 28 32 36 40 44 47
Checksum
(c)
Figure 2.38.: The data structures of the protocols: Black protocol fields are ne-
glected by the considered system. (a) Shows the UDP protocol
header. (b) Shows the IP protocol header. (c) Shows the Ethernet
header.
69
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
FPGA
Ethernet IP-Stack
DDR-RAM SRAM
PHY CPU
(a)
Packet CPU
CPU DDR-RAM DMA CPU SG-DMA
Generator
prepare set
calculate
SW send(data) packet protocol
checksum
buffer header
(b)
Figure 2.39.: Variant 2: (a) Shows the architecture and (b) presents the process
chain for packet transmission.
Figure 2.39(a) shows the changed system architecture. The added packet generator
contains the preconfigured header and inserts it into the data stream. The DMA
then writes the complete packets into the buffer. Similar to the approach described
above, the software starts processing the buffer once it is filled. However, no further
intervention of the network stack is needed and the packet can be written directly
to the MAC by the SGDMA. This has a considerable impact on the CPU load since
the necessary interaction for the transmission of one packet is greatly reduced, as
shown in Figure 2.39(b). The protocol headers are automatically inserted by the
packet generator. The transmission of the raw packet is initiated by an interrupt
which adds an entry to the processing queue of the SGDMA consisting of a source
address, destination address, and length of the raw data. Configuring and adding the
entry is the only task that has to be done in software.
70
2.4. Throughput Performance Aspects of Resource-limited Systems
71
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
FPGA
Packet Data
Generator Source
Ethernet
MAC MUX
SG-DMA
Ethernet IP-Stack
PHY DDR-RAM SRAM
CPU
(a)
Packet CPU
CPU DDR-RAM DMA CPU SG-DMA
Generator
prepare set
calculate
SW send(data) packet protocol
checksum
buffer header
(b)
Figure 2.40.: Variant 3: (a) Shows the architecture and (b) presents the process
chain for packet transmission.
to control the benchmarks. A benchmark run is defined by its packet payload size,
the total amount of test data, the speed of the data source, and the chosen system
variant. By focusing on streaming applications, the test system does not measure the
average network throughput. Instead, it tries to find the maximum sustainable speed
of a streaming data source (for example a video or audio stream). If the data source
has to be stopped, the benchmark fails. Therefore, it also accounts for the influence
of the bus load and the handling of the payload. The measured application data rate is
equivalent to the achievable networking throughput of the system. All given through-
put values are application data rates and do not include protocol overhead. Thus, the
72
2.4. Throughput Performance Aspects of Resource-limited Systems
Ethernet
PHY
StratixIIEP2S60
Avalon Bus
M S S
Instruction NIOS II M Data DDR-RAM SRAM
S M S
Cache CPU Cache Controller Controller
DDR-RAM SRAM
raw data rate is higher. As an example, Figure 2.41 illustrates the implementation
of variant 3 on the Altera development board. The instantiated hardware blocks and
their interconnections via an Avalon-Bus and dedicated point-to-point connections
are shown.
73
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
Variants 1a, 1b, and 1c: Caching and Software Enhancements Variant 1a
with relocation of the buffer handling code into the TCIM caches shows just a slight
improvement compared to the reference design and the results are slightly smoothed
across the different packet payloads. Omitting the calculation of the UDP checksum
in variant 1b increases the data rate by 16.5 Mbit/s to 54.81 Mbit/s. The enlarge-
ment of the instruction cache in variant 1c from 4 KB to 8 KB shifts the maximum
throughput to 59.61 Mbit/s. Apart from omitting the UDP checksum calculation,
simple software and hardware modifications do not show a noticeable throughput
improvement and are not able to support a full 100 Mbit/s Ethernet connection. The
results for different payload lengths of the three variants 1a, 1b, and 1c, the refer-
ence design and the maximum theoretical throughput of an Ethernet- or UDP-based
transmission are summarized in Figure 2.42.
Table 2.5.: The measured application throughputs in Mbit/s using Ethernet, IP, and
UDP protocol headers for different application payload lengths in byte.
Payload Length
Variant [Byte]
18 500 1000 1472
0 0.76 18.13 30.22 38.31
1a 0.76 18.16 30.37 38.64
1b 0.76 21.51 39.98 54.81
1c 0.95 23.77 43.63 59.61
2 1.76 118.69 236.07 339.98
3 181.68 842.21 894.48 912.31
74
2.4. Throughput Performance Aspects of Resource-limited Systems
70
s
60
throuphput
50
40
30
20
10
0
200 400 600 800 1000 1200 1400
Figure 2.42.: The measured throughputs of the reference design compared to the
variants 1a, 1b, and 1c.
size drops. Figure 2.43 presents the measured throughputs of variant 2 together with
the reference design and the theoretically achievable throughputs.
p+28
p · bud p (p) 46 ≤ p ≤ 1472
p+28
beth (p) = 64 · bud p (p) 18 ≤ p < 46
bud p 0 ≤ p < 18
75
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
700
s
600
throuphput
500
400
300
200
100
0
200 400 600 800 1000 1200 1400
Figure 2.43.: The measured throughputs of the reference design compared to vari-
ant 2 (packet generation in hardware).
76
2.4. Throughput Performance Aspects of Resource-limited Systems
700
s
600
throuphput
500
400
300
200
100
0
200 400 600 800 1000 1200 1400
Figure 2.44.: The measured throughputs of the reference design compared to vari-
ant 3 with packet generation and transmission in hardware.
predefined headers of the Ethernet frame and the protocols IP and UDP.
Table 2.6 gives an overview of the hardware resource utilization of the FPGA im-
plementation on the Altera development board. The packet generator hardware block
of variant 2 consists of 1567 ALUTs and 710 registers. In variant 3, the multiplexer
hardware block consumes 156 ALUTs and 124 registers. All values are based on the
Stratix II development board from Altera. The variants 2 and 3 require just 4 percent
more logic elements than the reference design but they lead to an obvious data rate
Variant
Criteria
0 1a, 1b, and 1c 2 3
logic utilization 39% 39% 43% 43%
combinational ALUTs 12935 12942 14509 14665
dedicated logic register 10817 10804 11514 11638
total registers 11170 11157 11867 11991
77
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
0x00..00
0xFF..FF
Figure 2.45.: The structure of the allocated memory with predefined headers.
enhancement.
Table 2.7 summarizes several criteria and classifies the investigated transmitter
system variants. The goal is to find a solution which fits the application requirements
and uses as many COTS components as possible to reduce the overall system costs.
Table 2.7.: The classification of the different system variants related to several
criteria.
Variant
Criteria
0 1a 1b 1c 2 3
throughput utilization -- -- - - + ++
error detection capabilities ++ ++ - - - -
CPU utilization -- -- - - + ++
latency classification -- -- - - + ++
COTS rating ++ + ++ + - --
software network stack required yes no
requirements static design
78
2.5. Summary
2.5. Summary
With regard to Table 2.1 which lists the fundamental work packages to enable Eth-
ernet as an automotive-qualified communication technology, it could be shown by
using available custom component technology that error rates, synchronization ac-
curacy, and throughput performance are no general show stoppers for introducing
Ethernet. The presented topics discussed general concepts and presented measure-
ments based on specific use cases. Furthermore, it is shown that Ethernet and higher
layer protocols offer a wide range of additional features to support future applica-
tions. For example, the standardized and widespread transport protocols UPD and
TCP which offer port-based addressing and reliable communication.
In the area of error rate analysis, an error rate evaluation concept for Ethernet
Hardware PHYs is presented. The goal is to measure the bit and packet error rates
as well as the residual error rates for different protocol checksum mechanisms. In
addition, the overall bit error distribution and the number of bit errors per packet
can be determined. BCI and vehicle measurements show novel bit and packet error
results for a given Ethernet PHY. The results offer a first impression of the error
behavior of Ethernet communication within the automotive environment. Preliminary
measurements show, that no single residual error passed the software network stack
at the receiver side. Further longterm vehicle measurements are necessary to produce
reliable and reproducible results. Beside the additional measurements, an automated
test process could help to simplify the measurements and to automatically generate
reports.
In order to fulfill extended automotive temperature requirements, a concept is de-
signed to measure the time synchronization accuracy of distributed nodes under dif-
ferent climate conditions. Industrial climate chambers are used to stress the synchro-
nization end nodes. For the synchronization, the packet-based algorithm specified
in IEEE 802.1AS is implemented together with Ethernet as an underlying communi-
cation technology. Time synchronization itself is a very sophisticated use case and
therefore optimal to test the physical constraints of Ethernet and surrounding parts
like oscillators and processors. Exhaustive measurements produced a large set of
results and showed that the packet-based IEEE 802.1AS algorithm is able to work
under different temperature conditions. A temperature range from −10 °C (+14 F)
to +70 °C (+158 F) is evaluated. Finally, extreme shock temperature measurements
79
2. Technology Safeguarding of Ethernet/IP-based Communication Networks
80
3. Integration and Migration
Concepts for
Ethernet/IP-based
E/E-Architectures
81
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Body Chassis
Central
Gateway
Powertrain Telematics
82
Ethernet/IP Backbone
83
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
sults from real communication matrices. Beside the communication from CAN and
FlexRay to Ethernet/IP and vice versa, two concepts for replacing CAN and FlexRay
by Ethernet/IP in the long-term are finally presented and evaluated by using existing
car communication matrices in Section 3.3.
3.1. Fundamentals
This section gives an overview of the current automotive communication technolo-
gies CAN and FlexRay, introduces state-of-the-art E/E-architectures and data struc-
tures to describe communication, and highlights automotive gateways.
CAN In 1981, CAN [CAN91] was developed and standardized by Robert Bosch
GmbH to replace the prevalent discrete networking by a common physical infras-
tructure. Since 1991, the second version is available, and today, almost every vehicle
on the road uses CAN for low data rate communication between ECUs. It supports
throughputs of up to 1 Mbit/s, utilizes a physically-shared bus topology and uses a
priority-based approach for accessing the physical media. The transmitted data is
encapsulated within frames and every frame header consists of an identifier which is
at the same time the priority for accessing the bus. In general, every connected node
will be allowed to start sending a bit-synchronized frame on the bus if the current bus
state is idle. The Carrier Sense Media Access / Collision Resolution (CSMA/CR)
[IEE12b] technique is used to resolve bus access conflicts when two nodes try to start
sending frames at the same time. In such a case, the frame with the higher priority
wins the arbitration and the node sending the lower priority frame immediately stops
its transmission. The maximum supported payload is 8 bytes per frame, but addi-
tional transport protocols [ISO11b] are available to enable the transmission of larger
payload lengths. In the automotive area, a frame typically contains a Protocol Data
84
3.1. Fundamentals
Unit (PDU) which itself consists of one or more signals. Signals are the smallest unit
for describing information within a car. The payload-ratio in relation to the overall
frame ranges between 15 % and 58 % for payload sizes from 1 to 8 bytes. Opera-
tional areas of CAN are the connection of low data rate sensors like wheel speed or
acceleration sensors or keypads. Table 3.1 summarizes the fundamental differences
between CAN and Ethernet.
FlexRay The development of FlexRay [Fle10] started in the year 2000 by the Flex-
Ray Consortium. The technology supports throughputs of up to 10 Mbit/s (single
channel) and is based on a time-triggered approach which means that at every point
in time, exactly one node is allowed to transmit a frame on the physical shared me-
dia. Therefore, no bus access conflicts can arise and no collision detection approach
is needed. In general, the communication takes place in communication cycles (Fig-
ure 3.3). A communication cycle is a predefined time interval consisting of a static
and dynamic segment, a symbol window, and the network idle time. FlexRay distin-
guishes 64 different communication cycles which are transmitted consecutively and
continuously. Within the static segment, a TDMA schedule is used to statically as-
sign time intervals exclusively to nodes. This allows a static throughput allocation
to nodes at design time. The dynamic segment offers a greater flexibility and allows
nodes to dynamically adjust the time interval when having the permission to send a
frame. This has the disadvantage, that nodes are not guaranteed to send their frame
within a certain dynamic segment. This means, that additional latencies can arise. In
Table 3.1.: Summary of the main differences between CAN and Ethernet.
85
communication cycle FlexRay offers the choice of two media access schemes. These are a static time
division multiple access (TDMA) scheme, and a dynamic mini-slotting based scheme.
t
communication
cycle level
static segment dynamic segment symbol window network
idle time
arbitration
grid level
static slot static slot minislot minislot
action point action point action point
macrotick
level
macrotick
microtick
level
microtick
Figure Figure
5-1: Timing hierarchy
3.3.: FlexRaywithin the communication
communication cycle. cycle.
The highest level, the communication cycle level, defines the communication cycle. It contains the static
segment, the dynamic segment, the symbol window and the network idle time (NIT). Within the static
segment a static time division multiple access scheme is used to arbitrate transmissions as specified in
the static segment, a frame is identified by its communication cycle and slot number.
section 5.3.2. Within the dynamic segment a dynamic mini-slotting based scheme is used to arbitrate trans-
Within
missions the dynamic
as specified segment,
in section a frame
5.3.3. The symbolidentifier
window isis used to address
a communication a frame.
period The
in which max- can
a symbol
be transmitted on the network as specified in section 5.3.4. The network idle time is a communication-free
imum specified payload length is 254 bytes per frame and depends on the designed
period that concludes each communication cycle as specified in section 5.3.5.
communication
The next lower level, thecycle layout.grid
arbitration Again,
level, itcontains
is possible to use additional
the arbitration transport
grid that forms proto- of
the backbone
FlexRay
colsmedia arbitration.
to support In the
larger static lengths.
payload segment the Thearbitration
payload grid consists
layout of consecutive
is similar to CAN,timebut intervals,
the
called static slots, in the dynamic segment the arbitration grid consists of consecutive time intervals, called
payload ratio in relation to the whole frame ranges from 11 % to 96 % for payload
minislots.
lengths between 1 and 254 bytes. Table 3.2 summarizes the fundamental differences
between FlexRay and Ethernet.
Version 3.0.1 October 2010 Page 121 of 341
Table 3.2.: Summary of the main differences between FlexRay and Ethernet.
86
3.1. Fundamentals
The integration and migration concepts for FlexRay will use Ethernet AVB to guar-
antee the required data rates and latencies within in the Ethernet network. In order
to accomplish this, Ethernet AVB uses a credit-based shaper to manage the trans-
mit behavior of the different end nodes and switch ports by defining maximum port
transmit data rates and additional queuing. Figure 3.4 shows an example of the be-
havior of a credit-based shaper for one port. The shaper works with an idle slope and
send slope. Therefore, packets can only be transmitted when the credit of the shaper
is not negative and no interfering packets from other queues, for example, are send.
When transmitting a packet, the send slope will decrement the credit of the shaper.
In the opposite case, the credit will be incremented by the idle slope when no packet
is transmitted. Remark: Credit values greater than zero can only be achieved by hav-
ing packets in the output queue which are jammed by interfering packets. With this
technique, it is possible to guarantee defined port transmit data rates and minimum
transmission intervals for outgoing packets. By choosing proper values for all ports
within the system, a reliable network infrastructure can be achieved.
The field of automotive E/E-architecture covers a wide range of tasks including the
physical design of hardware and software components like ECUs, cables, connec-
tors, and software as well as the logical design like the partitioning of functions or
software components, the definition of communication relationships, and the map-
ping of system requirements to the respective function blocks. For the physical and
logical design, the existence of consistent interfaces is a necessary requirement to
ensure the correct functionality of the overall system. In general, different design
objectives may be differentiated when designing and optimizing an E/E-architecture:
Typical economic objectives are costs, weight, or form sizes of a given system. In
the technical area, processor, memory and communication technology resources can
be evaluated by simulating or analyzing a given system. Furthermore, it is possi-
ble to determine transmission latencies or to test the interaction of different phys-
ical or logical components. For example, to check if two interacting components
have compatible interfaces. This is typically ensured by common database which
87
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
sen
e ds
slop lop
idle
credit e
buffer
time
Figure 3.4.: An example of the credit-based shaper used by Ethernet AVB for one
port.
contains the whole network communication of one or more vehicles. The descrip-
tion of communication is typically done by standardized exchange file formats like
CAN-DBC [Vec12a], FIBEX [ASA11], or AUTOSAR System-Template [AUT11]
for communication technologies and OEM-specific file formats for gateway param-
eter settings. Typically, these files are provided by the OEM and distributed to the
different development departments, suppliers, and tool vendors to ensure that the
communication interfaces between the different components are well coordinated.
For example, there exists one global signal to distribute the vehicle speed within the
car. Each ECU within the car requiring this information should then use exactly this
signal to receive the vehicle speed information instead of redefining or reconstructing
function-specific vehicle speed signals locally.
88
3.1. Fundamentals
gateway
mapping table
receive path transmit path
if id name offset size if id name offset size
CAN 65 speed 4 8 FlexRay 36 speed 14 8
id payload
Virtual Interface
Figure 3.5.: Example of an automotive gateway. For the mapping of data from in-
put ports to output ports, a virtual interface is introduced to hide the
hardware-dependent parts of the different communication technolo-
gies. A mapping table is defined to describe the routing paths within
the gateway.
89
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
the introduction of a gateway between the transmitter and receiver ECUs. Therefore,
special timing analysis has to be performed to verify the communication constraints.
Beside the simple routing of just copying memory areas from one buffer to the other
as described above, more intelligent mechanisms which also modify the content can
be supported. Typical examples are the conversion of physical values into their SI
basic units or the adjustment of communication interfaces to enable the insertion of
ECUs from other vehicles for example. AUTOSAR-specific gateway requirements
are described in [AUT08].
90
3.2. Ethernet-based Gateway Strategies
a special gateway and provide a concept for replacing a complete network through a
FlexRay-based communication.
In summary, there exist just a few concepts to forward data from well known au-
tomotive communication technologies like CAN or FlexRay to Ethernet. Most solu-
tions are offered as commercial products by industrial Ethernet suppliers. In the case
of CAN, these solutions work with dynamic as well as static forwarding mechanisms.
Dynamic mechanisms buffer incoming frames into packets in a dynamic fashion. In-
stead, static approaches use a predefined layout to map the frames into the packets.
In general, the internal design is not published.
The data flow between the different gateway components can be divided into traffic
from CAN to Ethernet and traffic from Ethernet to CAN. Figure 3.6 displays the flow
from CAN to Ethernet. After a frame is being received by the CAN-controller, it is
stored in an internal receive buffer and an interrupt is generated to the gateway proces-
sor. The dispatcher process then reads the frame and passes it into an internal queue
of the gateway, stored in its local memory. When the internal queue is ready to be
processed – this depends on the applied transformation variant – the contained entries
are passed to the software network stack of the gateway procedure which generates
the packet and passes it to the transmit queue of the Ethernet-controller. In contrast
to this, the data flow from Ethernet to CAN is shown in Figure 3.7. After a packet is
being received and stored by the Ethernet-controller, an interrupt is generated to acti-
vate the software network stack which processes the packet to gain the encapsulated
91
Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
CAN0 Controller
Software
CAN0
Trans. Hardware
Memory
Receiver & Dispatcher
CAN1 Controller
Ethernet MAC
Network-Stack
CAN1
Ethernet
Trans.
PHY
CANn Controller
CANn
Trans.
Figure 3.6.: The data flow through the different involved hardware and software components when forwarding data from
CAN to Ethernet. After receiving a frame by a CAN controller, the frame is stored in the internal memory and an
interrupt is generated. A receive and dispatch task then forwards the packet to right outgoing queue depending
on a mapping table. Every time a send event occurs, the network task is activated to generate and append the
protocol headers and to forward the assembled packet to the send queue of the Ethernet controller.
92
3.
Software Memory CAN0 Controller
Hardware CAN0
Send
Memory Trans.
CAN1 Controller
Ethernet MAC
CAN1
Ethernet
Send
Trans.
PHY
Dispatcher
Network-Stack
CANn Controller
CANn
Send
Trans.
Figure 3.7.: The involved hardware and software blocks when forwarding data from Ethernet to CAN. After receiving a packet
by the Ethernet controller, the packet is stored in internal memory and an interrupt is generated. The network
stack task then processes the packet and copies the payload into the internal memory. A dispatch task is then used
to divide and forward the data to the right output queue dependent on a mapping table. Finally, the send function
is used to initiate the send process.
93
3.2. Ethernet-based Gateway Strategies
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
frames. The frames are stored in an internal queue and a second software process is
triggered which dispatches the frames to the outgoing queues. Each outgoing queue
is processed by the communication controller which checks if the transmit buffer of
the CAN-controller is free and then it passes the frame from the outgoing queue to
the transmit buffer of the CAN-controller. Based on this frame or packet processing,
different variants are observed for the queue handling when sending data from CAN
to Ethernet. In the following, four different conversion variants as shown in Table 3.3
are discussed.
Variant 0: Reference Design This variant is used as a reference for the subse-
quent variants and applies a one-to-one mapping to encapsulate frames. This means
that every received frame is encapsulated in a dedicated packet. A huge protocol
header overhead, a large number of packets, and a high resource utilization are some
of the disadvantages of this straightforward approach. The advantages are a low jitter
of the packets and small additional latency offsets. An example of the one-to-one
mapping is shown in Figure 3.8(a) where each frame is encapsulated in a dedicated
packet. It shows a number of received frames and the related packets which have
been created over time.
- buffer full
Each buffer b has a buffer size bs that specifies the number of frames which can
Variant 0 (reference) 1 2 3
1:1 transfor-
n:1 transformation
mation
Method
one-to-one buffered timed urgency
mapping approach approach approach
94
3.2. Ethernet-based Gateway Strategies
be stored in it. If the buffer is full, the transmission will be initiated immedi-
ately.
- timeout
Each buffer b also has buffer timeout bt that specifies a maximum period, be-
fore the transmission is initiated automatically, even if the buffer is full or not.
The advantages of this approach are lower protocol header overheads, a smaller num-
ber of packets sent on the network, and lower resource utilizations. On the other hand,
the buffering may introduce additional latency and cause higher jitters. Figure 3.8(b)
shows an example of a buffered approach where five packets are being created, three
of them are timeout-driven and the two others are caused by a full buffer. In addition,
the timer and buffer fill level are shown over time.
95
Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
96
3.
1 2 3 high priority 4 5 6 medium priority 7 8 9 low priority
timer
buffer
Figure 3.9.: An example for the timed approach for CAN frame to Ethernet packet conversion and transmission: Different
identifier groups are used to influence the timer. For example, high priority messages will lead to a higher
decrement of the timer. Note that the width of the frames and packets does not correspond to the actual frame
oder packet size.
97
3.2. Ethernet-based Gateway Strategies
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
- instant send
Whenever a frame with a high priority is received, the transmission of the
packet is triggered immediately.
It is expected that the additional latencies and the jitter values of the frames are further
reduced. Figure 3.10 shows an example of the urgency approach. In this case, the
frames with the priorities 1, 2, and 3 lead to the instant sending of the packet.
The following test setup for evaluating the four introduced common strategies con-
sists of two CAN/Ethernet-gateways which are interconnected through a switch. Fur-
thermore, both gateways are connected via a CAN-interface card to a desktop com-
puter and the computer is also connected to the switch. A test run consists of the
execution of a trace of frames which is sent to the first gateway. Then, the first
gateway maps this traffic to packets and sends these packets to the second gateway
via a switch. The second gateway maps the received packets to the CAN-interface
and sends the frames back to the computer. During the benchmark run, the send
times, the switched packets, and the arrival times are recorded for post processing.
The send and receive CAN-interfaces of the computer are time-synchronized. Figure
3.11 shows the architecture of the implemented CAN/Ethernet-Gateway. The gate-
way itself has six CAN-interfaces and one Ethernet-interface. The Altera Stratix II
FPGA is programmed using a Nios II System on Chip (SoC) [Alt09] processor run-
ning at 85 MHz, an SRAM Controller connected to a 2 MB SRAM device, and the
network controllers. All hardware components are connected via an Avalon Bus. As
an operating system, the MicroC/OS-II including an Iniche TCP/IP network-stack is
applied.
98
CAN frames 8 37 5 9 7 84 61 2 8 974 869
timer
buffer
Figure 3.10.: The urgency-based approach for CAN frame to Ethernet packet conversion: The transmission of a packet is
triggered by one out of three events. A full buffer, a timeout, or a high priority identifier. Note that the width of
the frames and packets does not correspond to the actual frame oder packet size.
99
3.2. Ethernet-based Gateway Strategies
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Ethernet
SRAM
PHY
StratixIIEP2S60
S S S S S S
CAN0 CAN1 CAN2 CAN3 CAN4 CAN5
Controller Controller Controller Controller Controller Controller
variation of the frames, and d) the resource utilization of the gateway processor are
summarized.
End-to-End Latency The end-to-end latency represents the round-trip time from
sending a frame by the computer to receiving the same frame back from the second
gateway at the computer. Figure 3.12 shows the measured average end-to-end laten-
cies for a 500 kbit/s CAN network. As can be seen, the average latency amounts
to 500 µs when processing frames one-by-one. The presented buffered, timed, and
urgency approaches use a buffer size of 20 frames and a timeout value of 5 ms. This
results in higher average latencies because of the queuing of frames within the gate-
way. The latencies of the timed and urgency approach are lower compared to the
buffered approach caused by higher trigger rates of the buffers due to the support of
priorities and the instant send event. Figure 3.13 shows the average end-to-end laten-
cies of the buffered approach for different buffer sizes bs and buffer timeout values
bt . The missing reading points result from a premature timeout or buffer full event. In
these cases, the events occurred before enough frames arrived within in a given time
interval or too many frames arrived due to a high bus load.
100
3.2. Ethernet-based Gateway Strategies
5000
3000 one-to-one
buffered
timed
2000 urgency
1000
0
20% 30% 40% 50% 60% 70% 80%
Figure 3.12.: The measured average end-to-end latency of all variants for a
500 kbit/s CAN network.
512
bmin
Ethernet (bCAN ) = · bCAN (3.1)
108
101
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
7000
6000
average end-to-end latency [µs]
bs
5000 18
16
4000 14
12
10
3000 8
6
2000 4
2
1000
0
20% 30% 40% 50% 60% 70% 80%
7000
6000
average end-to-end latency [µs]
bt
5000 10
9
8
4000 7
6
3000 5
4
3
2000 2
1
1000
0
20% 30% 40% 50% 60% 70% 80%
Figure 3.13.: The average end-to-end latencies of the buffered approach for differ-
ent buffer sizes bs [frames] and buffer timeout values bt [ms].
102
3.2. Ethernet-based Gateway Strategies
1.4
1.2
Mbit
s
1
average throughput
CAN
0.8 one-to-one
buffered
0.6 timed
urgency
0.4
0.2
0
1ms 5ms 10ms
Figure 3.14.: The measured average throughput of all variants for a 500 kbit/s CAN
network.
network stack which prepares the packet headers of the protocols UDP, IP, and the
Ethernet frame format.
In-Vehicle Measurements The results obtained from the Mercedes E-class net-
work configuration are finally presented in Figure 3.16. We explored a BODY-CAN
network with a bus speed of 125 kbit/s and a utilization of about 45 %. The average
end-to-end latency differs from 1.8 ms – in the case of a one-to-one mapping – to
6.8 ms when the buffered approach is used. The setup tunneled the whole BODY-
CAN network traffic via two gateways.
Table 3.4 summarizes the advantages and disadvantages of the different observed
variants. The packet overhead could be optimized by introducing buffering and ad-
ditional events which reduce the backlog time of packets. This resulted in a smaller
number of packets per time and a reduced resource utilization of the gateway proces-
sor. Disadvantages of the buffered approaches are the higher latencies and jitters of
frames.
103
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
30%
gateway processor utilization [%]
25%
20%
one-to-one
15% buffered
timed
urgency
10%
5%
0%
20% 30% 40% 50% 60% 70% 80%
7000
6000
average end-to-end latency [µs]
5000
4000 one-to-one
buffered
timed
3000 urgency
2000
1000
0
1 2 3 4 5 6 7 8 9 10
104
3.2. Ethernet-based Gateway Strategies
3.2.3. FlexRay
In theory, FlexRay offers a huge number of parameters to adopt the FlexRay commu-
nication cycle to application-specific needs. This results in an increased complexity
when designing the optimal communication schedule which fits to all applications
connected to the FlexRay bus. Other constraints like the possibility of integrating
ECUs in different car lines also restrict the degree of freedom when creating a com-
munication schedule. In practice, most OEMs committed to use a five millisecond
communication cycle to restrict the overall complexity. When utilizing 50 % percent
for the static segment and 50 % for the dynamic segment, the static segment will have
a length of 2.5 ms. In the case of 60 static slots, for example, the maximum theoretical
frame length is about 40 bytes. The header and the frame offset of each frame within
a static slot will further decrease the payload per slot. The small payload sizes rises
the question of how to optimize the packaging of the FlexRay frames into Ethernet
packets when designing a FlexRay to Ethernet gateway. In addition, FlexRay uses a
TDMA schedule to guarantee a fixed time slot per communication cycle for an ECU.
This allows the reservation of guaranteed data rates and defines upper bound com-
munication latencies. The following concept will optimize the packaging problem
of the static segment of FlexRay and utilizes Ethernet AVB [IEE12a] to guarantee
predefined bandwidths and worst case communication latencies.
Table 3.4.: The classification of the different transformation variants related to sev-
eral criteria.
Variant
Criteria
0 1 2 3
packet overhead -- ++ + -
CPU utilization -- ++ + -
latency ++ -- - +
jitter ++ + - +
burst classification ++ -- - +
105
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Again, the transformation concept is divided into the two routing paths from FlexRay
to Ethernet AVB and vice versa. Figure 3.17 presents the necessary hardware and
software blocks to forward information received from Ethernet packets to FlexRay
frames. After a packet is received by the communication controller, the AVB network
stack interprets the packet and copies the payload data into the memory. The payload
can consist of different streams and a stream includes different samples which corre-
lates to FlexRay frames. In the next step, a dispatcher function forwards the entries
to different queues at the egress ports of the different connected FlexRay controllers.
The FlexRay controller itself triggers the sending of the FlexRay frames. The more
interesting case is shown in Figure 3.18 where FlexRay frames have to be collected
and inserted into Ethernet packets. After a FlexRay frame is being received by the
FlexRay controller, a software receive and dispatch function is evolved to forward
the received frame to the corresponding queue. Each queue represents a stream of
FlexRay packets (also called samples) between the gateway and one end node within
the Ethernet network. A statically predefined buffer table determines the transmission
time of packets. Whenever a packet is ready for being transmitted, the AVB network
stack creates the necessary packet headers and copies the packet to the AVB con-
troller which includes a traffic shaping mechanism and finally transmits the packet.
Based on this frame or packet processing, different buffer strategies are introduced to
optimize the packaging when sending data from FlexRay to AVB. Since the schedule
of the static segment is known at design time, the calculation of the different buffer
strategies can also be done at design time by analyzing the schedule table. Since no
FlexRay/AVB gateways are available today, the following concept is described by
dividing an actual FlexRay configuration into two parts as shown in Figure 3.19. The
set of connected FlexRay ECUs is therefore split into two subsets. The first subset
is connected via a first FlexRay to the first gateway 1 and the second subset is con-
nected via a second FlexRay to the second gateway 2. On the Ethernet AVB side,
both gateways are interconnected via a switch. The general steps to determine the
packaging of frames into packets for the different variants is shown in Figure 3.20
and presented in the following.
106
Software
Preconfigured FlexRay Memory
Hardware
FlexRay0 FlexRay0
Memory (Streams) Controller Trans.
Stream Dispatcher
AVB Network-Stack
FlexRayn FlexRayn
Controller Trans.
Figure 3.17.: The involved hardware and software blocks to forward data from Ethernet AVB to FlexRay. After receiving a
packet by the AVB controller, the packet is stored in the internal memory and an interrupt is generated. The
AVB network stack then interprets the packet with its FlexRay samples and copies the samples into internal
memory. A stream dispatch task is then used to copy the samples which include the FlexRay frames to memory
where the FlexRay controller is assigned to. The FlexRay controller is preconfigured at design time and triggers
the sending of the FlexRay frames by itself.
107
3.2. Ethernet-based Gateway Strategies
Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
FlexRay0 Controller
Software
Trigger Conditions
FlexRay0
Trans. Hardware
Memory (Streams)
Receiver & Dispatcher
AVB Network-Stack
FlexRay1 Controller
Ethernet AVB MAC
FlexRay1
Ethernet
Trans.
PHY
FlexRayn Controller
FlexRayn
Trans.
Figure 3.18.: The data flow through the different involved hardware and software components to forward data from FlexRay
to Ethernet AVB. After receiving a frame by the controller, the frame is stored in the internal memory and an
interrupt is generated. A receive and dispatch software task then forwards the packet to the right outgoing queue
depending on a mapping table. The send condition of each stream is defined at design time. After a packet is
ready for being transmitted, the AVB network task is activated to generate the protocol headers and to forward
the packet to the send queue of the AVB controller.
108
3.
3.2. Ethernet-based Gateway Strategies
Gateway 1 Gateway 2
Figure 3.19.: Assumed system topology. An actual FlexRay network is split into
two subnetworks which are interconnected by two gateways.
Figure 3.20.: The necessary steps of the transformation concept to perform the
mapping from FlexRay frames to Ethernet AVB packets and vice
versa.
Configuration Import The first step of the transformation concept is the import of
a FlexRay configuration from an AUTOSAR System Template [AUT11] file based
on XML. The import covers the following necessary information:
- f ∈ F – where F denotes the set of frames sent over the FlexRay bus.
109
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
communication cycle 0 – 6
b6 e3 g4 i2
a1 b6 c2 d3 f1 j6
b6 e3 g4 h5
a1 b6 c2 d3 g4 i2
b6 e3 f1 j6
a1 b6 c2 d3 g4 h5
All of the following examples used to describe the transformation concept are
based on the configuration presented in Figure 3.21. It consists of a communication
cycle with a length of tc = 5 ms, a static segment length of ts = 3 ms, ns = 8 static
slots, and a maximum payload length of l p = 26 bytes. Let six ECUs be connected
to the FlexRay (E = {e1 , ..., e6 }) and a total number of ten frames (F = { f1 , ..., f10 })
sent during the 64 communication cycles. Frame fa which is sent by ECU e1 has a
cycle time of 10 ms, for example.
Frame Identification After a configuration has been imported, the frame identifi-
cation is done. For this purpose, each frame that has to pass a gateway is associated
with a stream. A stream represent a flow of data from the gateway to one receiving
Ethernet end node. Frames which are received by more than one end node are mapped
to multiple streams related to their receivers. Alternatively, multicast streams can be
used to avoid the retransmission of identical frames in different packets. Note, in this
case, an end node can also be another gateway. The example in Figure 3.22 maps
the four frames fa , fc , fd , and fi from the first FlexRay network to one single stream
s1 and all frames fb , fg , and fh of the second FlexRay network to another stream s2 .
Frames which remain in their respective network fe , f f , and f j are not mapped to a
110
3.2. Ethernet-based Gateway Strategies
static segment 1 – 8
a1 b6 c2 d3 g4 h5
communication cycle 0 – 6
b6 e3 g4 i2 in FlexRay communication
a1 b6 c2 d3 f1 j6
stream @ gateway 1
b6 e3 g4 h5
a1 b6 c2 d3 g4 i2 stream @ gateway 2
b6 e3 f1 j6
a1 b6 c2 d3 g4 h5
particular stream.
111
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
0 8 16 24 32
4 12 20 28
stream id (8 bytes)
24
(a)
0 8 16 24 32
4 12 20 28
payload checksum
(b)
Figure 3.23.: All packets created by the gateway are based on IEEE 1722 and use a
special subtype for describing automotive specific data. (a) Describes
the adjusted IEEE1722 header. All subtype-related fields are high-
lighted. (b) Shows the payload of the IEEE 1722 automotive subtype
packet. In this case, a FlexRay frame.
Variant 0 (reference) 1 2
1:1 transformation n:1 transformation
Method one-to-one in-cycle multiple-cycle
mapping approach approach
112
3.2. Ethernet-based Gateway Strategies
The main disadvantage of this approach is the inefficient mapping of just one rela-
tively small frame into one large packet. Figure 3.24(a) shows an example where all
gateway relevant frames are mapped into their own packets. The result is a set of 4
packets for gateway 1 and a set of 3 packets for gateway 2.
- All frames in F have the same receiver or group of receivers in the case of
multicast addressing.
- Despite the additional queuing latencies for each frame f ∈ F, a given end-to-
end deadline for each frame f has to be met.
- The number of grouped frames have to be smaller than a given maximum buffer
size sb .
- If there are several equal solutions for the mapping of frames to packets of one
communication cycle, the solution with the minimum buffer overhead has to
be taken.
The main advantage is the more efficient packaging of small frames into packets and
the reduced number of packets which have to be generated, sent, and received. The
disadvantages are higher end-to-end latencies due to the additional queuing latencies
and higher jitter values. An example for a buffer size of bs = 2 is shown in Figure
3.24(b). At gateway 1, the frames fc and fd can be grouped together and sent within
packet pB . The remaining frames fa and fi are mapped to their own packets. At gate-
way 2, every fourth communication cycle, the frames fg and fh are grouped together
and sent within packet pB .
113
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
additional information is stored within each frame. When using transport protocols,
the gateway groups several transport protocol frames together and send the whole
information within large packets to the receiving nodes. The main advantage is, that
the large Maximum Transmission Unit (MTU) of Ethernet – the maximum Ethernet
frame length – can be used to get rid of the transport protocol. Figure 3.24(c) shows
the extension of the in-cycle approach by grouping the frames fb together. In this
case, it is necessary to know, that fb carries information based on a transport proto-
col.
AVB Shaper Configuration Beside the optimization of the packaging, the reser-
vation of the required data rate has to be done. Therefore, the AVB shaper has to be
configured with the required data rate. By knowing the communication matrix M and
the packaging of the frames into packets, the necessary data rate can be calculated
for all communication cycles. Since the data rate allocation is defined in bits per sec-
ond, two different approaches are possible: 1) The reserved data rate can be set to the
exact calculated amount of data over one second. But this could result in additional
queuing latencies within the AVB shaper. That is the case when the amount of data
within one specific cycle is higher then the average amount of data calculated by the
overall data within one second divided by the number of cycles. To avoid additional
shaper latencies, the reserved data rate has to be increased by assuming that in every
cycle the maximum occurred amount of data is send. Figure 3.25 shows an example
for the shaper configuration. The example shows the send behavior of the packets
of the first four communication cycles for both gateways and the different packag-
ing approaches. When looking at gateway 1 and the one-to-one mapping, it can be
seen that the maximum number of packets transmitted per cycle is 3. This is the case
in the first and the third communication cycle. The average number of packets per
cycle is (3 + 1 + 3 + 0) /4 = 1.75. 2) If no additional latencies should occur by the
AVB shaper, then the data rate allocation calculation has to be based on the maxi-
mum number of packets per communication cycle instead of the average number of
packets. Note, the calculation based on the average value will also prevent packet
loss, but additional queuing latencies can occur.
Evaluation Phase During the following evaluation phase, different objectives are
of interest. These are: a) The resulting Ethernet data rates for the each gateway, b)
114
3.2. Ethernet-based Gateway Strategies
static segment 1 – 8
gateway 1 gateway 2
a1 b6 c2 d3 g4 h5
communication cycle 0 – 6
stream frame(s) stream frame(s)
b6 g4 i2
A a1 E b6
a1 b6 c2 d3
B c2 F g4
b6 g4 h5
C d3 G h5
a1 b6 c2 d3 g4 i2
D i2
b6
a1 b6 c2 d3 g4 h5
(a)
static segment 1 – 8
gateway 1 gateway 2
a1 b6 c2 d3 g4 h5
communication cycle 0 – 6
b6
a1 b6 c2 d3 g4 h5
(b)
static segment 1 – 8
gateway 1 gateway 2
a1 b6 c2 d3 g4 h5
communication cycle 0 – 6
b6
a1 b6 c2 d3 g4 h5
(c)
Figure 3.24.: Examples of the different FlexRay to Ethernet AVB mapping ap-
proaches. (a) Shows the one-to-one mapping of frames to packets for
a FlexRay configuration Matrix M and a two gateway system accord-
ing to Figure 3.19 with corresponding stream configurations (right).
Each FlexRay frame is mapped one-to-one to a IEEE 1722 packet.
The combination of several frames within the same communication
cycle is shown in (b). A mapping of frames over several communi-
cation cycles is shown in (c). This approach can be used to replace
FlexRay transport protocols.
115
Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
116
3.
3.2. Ethernet-based Gateway Strategies
Ethernet
PHY
MPC5668G
Ethernet
CPU
MAC
FlexRay
Flash Memory
Controller
FlexRay
Transceiver
the average number of frames per packet, and c) the maximum buffer latencies, for
example. The maximum buffer latency denotes the maximum waiting time of a frame
within the transmit buffer. A detailed presentation of the results for a real car network
configuration is presented in the experimental results section.
117
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
The following experimental results are based on a real FlexRay network car configu-
ration with 11 connected ECUs. The results are presented for different cut positions
c = x/y according to Figure 3.19. This means, that x of the 11 nodes reside in the
first FlexRay network and the remaining y = 11 − x nodes are placed in the second
FlexRay network. The gateways are configured in such a way that they behave like a
’tunnel’. From a functional perspective, the FlexRay nodes should not recognize, that
two Ethernet gateways connect the two FlexRay networks. In the following, results
on the data rates, the average number of frames per packet, and the maximum buffer
latencies are presented.
Ethernet Data Rates Figure 3.27 presents the Ethernet data rates for the different
packaging strategies compared to the data rates of the FlexRay network. The traffic
generated by gateway 1 is shown in Figure 3.27a. The one-to-one approach results
in a three times higher data rate than the network load on the FlexRay channel. With
buffering, the network load can be halved. For the c = 3/8 cut, for example, the
FlexRay network has a load of 0.40 Mbit/s and the in-cycle approach resulted in a
minimum bandwidth of 0.53 Mbit/s. The network traffic generated by gateway 2 is
presented in Figure 3.27b.
Average Frames per Packet The average number of frames per packet for dif-
ferent cut positions are shown Figure 3.28. For the cut positions from c = 5/6 to
c = 9/2 it is interesting to see that the buffer sizes bs = 5 and bs = 6 will lead to the
same results. In these cases, that packaging could not be improved by increasing the
buffer size bs .
Maximum Buffer Latency Figure 3.29 presents the maximum buffer time of a
frame f within the gateway. For example, when combining three frames f1 , f2 , and
f3 together, the maximum buffer time of this group of frames is the distance of time
between the static slot of the last frame f3 and the static slot of the first frame f1 . The
maximum buffer time over all cut positions appeared at cut position c = 2/9 and was
about 2 ms.
118
3.2. Ethernet-based Gateway Strategies
2.5
2
FlexRay
Mbit
one-to-one
1.5
s
in-cycle (2)
in-cycle (3)
bandwidth
1 in-cycle (4)
in-cycle (5)
in-cycle (6)
0.5
0
1/10 2/9 3/8 4/7 5/6 6/5 7/4 8/3 9/2 10/1
cut position c = (x/y)
(a)
2.5
2
FlexRay
Mbit
one-to-one
1.5
s
in-cycle (2)
in-cycle (3)
bandwidth
1 in-cycle (4)
in-cycle (5)
in-cycle (6)
0.5
0
1/10 2/9 3/8 4/7 5/6 6/5 7/4 8/3 9/2 10/1
cut position c = (x/y)
(b)
Figure 3.27.: The resulting Ethernet data rates for both directions: (a) shows the
traffic from gateway 1 to gateway 2 according to Figure 3.19 for dif-
ferent cut positions c = x/y. (b) shows the results for the opposite
direction.
119
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
6
average number of frames per packet
4 one-to-one
in-cycle (2)
3 in-cycle (3)
in-cycle (4)
in-cycle (5)
2 in-cycle (6)
0
1/10 2/9 3/8 4/7 5/6 6/5 7/4 8/3 9/2 10/1
cut position c = (x/y)
Figure 3.28.: The average number of frames per packet for different cut positions.
2000
maximum buffer time [µs]
1500
one-to-one
in-cycle (2)
1000 in-cycle (3)
in-cycle (4)
in-cycle (5)
in-cycle (6)
500
0
1/10 2/9 3/8 4/7 5/6 6/5 7/4 8/3 9/2 10/1
cut position c = (x/y)
Figure 3.29.: The maximum buffer time of a frame f within the gateway for differ-
ent cut positions.
120
3.3. Replacement Approaches
121
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
belongs to it. On the other hand, Ethernet utilizes a 6 byte MAC address which
identifies a network interface card. Additional addressing is done by IP and UDP
to support logical addresses and port-based addressing. On the physical layer, it is
distinguished between shared media when using CAN and point-to-point connections
if Ethernet is deployed. In addition, the physical throughputs of Ethernet are at least
ten times higher compared to CAN. The payload/header-ratio (p/h-ratio) also differs
for CAN and Ethernet with the upper protocols IP and UDP. For example, to get the
same payload/header-ratio as CAN, a UDP-based solution will need to use up to 75
payload bytes per packet which corresponds to about nine 8-byte CAN-messages.
In summary, three major challenges for migrating the CAN communication to an
Ethernet/IP-based communication can be identified:
- address resolution
122
3.3. Replacement Approaches
cyclic
cyclicIfActive
cyclicIfActiveFast
cyclicAndSpontanWithDelay
cyclicWithRepeatOnDemand
spontan
Figure 3.31.: The different CAN send types and their mappings to the cyclic send
type.
cyclicAndSpontanWithDelay,
cyclicWithRepeatOnDemand, spontaneous}
Parameters which depend on the send type of a message are shown in Table 3.6. For
example, a cyclic message m consists of a cycle time tmct and an offset tmo which define
the time interval between two messages and the local offset to all other messages of
the same ECU.
Send Type Adjustment Current vehicle CAN networks use six different timing
approaches which are shown in Figure 3.31 on the left side. These so-called send
types of messages influence the optimization of the packaging of messages for an
Ethernet-based solution, where it is tried to bundle similar messages. As a start, we
123
Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Table 3.6.: The mapping of the CAN send types and parameters to the cyclic send type for subsequent Ethernet packet
conversion.
CAN relevant parameters Ethernet
cycle time offset cycle time active delay time no. of repetitions cycle time offset
send type s 0 0 send type s0
t ct to t cta t dt t nor t ct to
cyclic t ct to t ct to cyclic
cyclicIfActive to t cta t dt t nor t cta to cyclic
cyclicIfActiveFast t ct to t cta t cta to cyclic
cyclicAndSpontanWithDelay t ct to t dt t ct to cyclic
cyclicWithRepeatOnDemand t ct to t dt t nor t ct to cyclic
spontaneous to t dt t dt to cyclic
124
3.
3.3. Replacement Approaches
ECU2
ECU1 ECU2
ECU1
ECU4
ECU3 ECU4
ECU3
decided to map all send types to a cyclic manner to simplify the timing analysis which
is quite complex for a mixture of spontaneous and cyclic send types. Furthermore,
about 80 % of the messages exchanged in an automotive CAN are already cyclic (see
Figure 3.35). Table 3.6 describes the adjustment of the parameters of all deployed
send types. For example, the delay time tmdt of a spontaneous message m which de-
scribes the minimal time interval between two messages, is used as the cycle time
0
tmct0 = tmd for the corresponding cyclic message m0 in the Ethernet-based solution. As
0
a result, a set of cyclic messages is obtained, each having a cycle time t ct and an
0
offset t o . The reduction of the send types to just a cyclic send type obviously leads
to an overdimensioning of the system requirements because messages are transmitted
more often than actually necessary.
Address Resolution The next step in the common process is address resolution
which solves the problem of readjusting of the message-based addressing to a node-
based address mechanism. Figure 3.32 shows the addressing scheme in a shared me-
dia bus topology to a full duplex switched Ethernet topology. Ethernet and IP support
uni-, multi-, and broadcast to address one, several, or all end nodes within one sub-
net. We decided to use unicast addressing due to the following reasons: When using
broadcast addressing, every ECU is forced to process all incoming packets to check
if the packets belong to it, otherwise the packet is being discarded. In the case of
multicast, we have to deal with the fact that most of the switches, in particular cheap
ones, do not support multicast. Thus, multicast addresses are handled as broadcast
addresses. In addition, multi- and broadcast addressing uses special address ranges
which restrict the freedom of address distribution when designing a distributed sys-
tem. The decision to use unicast leads to an increment of the number of messages
125
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Optimization Phase For the optimization of the packetization, Table 3.7 shows
three optimization variants. Variant 0 serves as the reference and uses a simple 1:1
transformation strategy which means that every message is encapsulated in its own
UDP packet. Variants 1 and 2 use an n:1 transformation strategy to optimize the
packaging of CAN frames into UDP packets, i.e., multiple messages are packed into
one UDP packet. The assignment is done by an evolutionary approach and a rule-
based approach, respectively. UDP is used as a transport protocol due to the reason
that a retransmission of cyclic packets does not make sense. Furthermore, we use the
UDP port field to identify the receiving processes of a packet p. The result of the
optimization step is a set P of packets where each packet p ∈ P is a set of messages
m ∈ M packed together and containing an Ethernet, IP, and UDP header. The payload
length l p of a packet p in byte is calculated by Equation (3.2). l (m) denotes the
length of a message m. In the following, we use the term message for the CAN-based
solution and packet to identify the Ethernet-based solution.
variant 0 (reference) 1 2
1:1 n:1
transformation transformation
method
EA- rule-
one-to-one
based based
mapping
solution solution
126
3.3. Replacement Approaches
n1 , ..., n|M| where |M| is the number of messages m to optimize and n represents
the number of the corresponding packets, was chosen to map the memberships of all
messages mi to packets p in the Ethernet/IP-based solution. The parameters of the
EA-algorithm were 500 generations with a population of 100, 50 parents, 25 children,
and a cross over rate of 0.95.
127
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
into one packet. The first step result is a set Prb of packets p:
In the second step, this approach tries to combine packets p1 and p2 with different
cycle times t pct1 and t pct2 where t pct2 is a multiple of t pct1 with t pct2 = α ·t pct1 and α ∈ N. With
this idea, we can optimize the payload/header-ratio, although the packets with the
slower cycle time are sent more often than necessary. Equation (3.5) calculates the
total length l s (p1 , p2 , α) of two packets sent separately and containing all Ethernet,
f ill
IP, and UDP headers l header = 54 byte, fill bytes l p , and messages m ∈ p in byte.
The length of the combined sending l c (p1 , p2 ) in byte is shown in Equation (3.6).
The number of fill bytes l f ill , which are potentially necessary to obtain the minimum
length of an Ethernet frame, is calculated using the following Equation (3.7):
18 − l p , if l p < 18
l f ill (p) = (3.7)
0 , otherwise
Figure 3.33 shows the relationship q (p1 , p2 , α) (see Equation (3.8)) of two packets p1
and p2 with different cycle times t pct2 = α ·t pct1 . For example, if there are two packets p1
and p2 with the payload lengths l p1 = 16 byte and l p2 = 8 byte and a cycle time factor
of 10, it is better to combine these two packets into one new packet p = p1 ∪ p2 with a
cycle time of t pct = t pct1 , because of getting a better payload/header-ratio (see example
point in Figure 3.33).
l s (p1 , p2 , α)
q (p1 , p2 , α) = c (3.8)
l (p1 , p2 )
128
3.3. Replacement Approaches
q(8, p2 , α) = 1 q(24, p2 , α) = 1
q(16, p2 , α) = 1 example point
20
payload length l p2 [byte] 18
16
14
12
10
8
6
4
2
0
1 3 5 7 9 11 13 15 17 19
cycle time factor α
Figure 3.33.: The relationship q (p1 , p2 , α) = 1 for different packet lengths of pack-
ets p1 and p2 and cycle time factors α. The area below the lines
indicates a relationship q > 1, otherwise the relationship is q < 1.
Evaluation Phase This phase evaluates the found solution by using several objec-
tives. The considered objectives are a) the payload/header ratio q ph (see Equation
(3.9)), b) the maximum packet sizes, c) the number of packets, or d) the produced
offsets when combining several messages with their different offsets into one packet.
lp
q ph (p) = (3.9)
l header + l f ill (p) + l p
Figure 3.34 shows these objectives for three possible packetization variants using
a simple example with five messages m1 to m5 . For example, solution number one
represents the simple one-to-one mapping of these five messages with a resulting
payload/header ratio of 10 percent and a low offset rating which means that the offset
of the frames packed together are close together. The combined packaging of two
messages m1 and m2 into one packet p can also produce additional message timing
delays, when the two messages have different offsets tmo 1 and tmo 2 . In such a case, the
earlier message has to be buffered till the other message comes up. This behavior is
129
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
The migration results are based on current car network configurations. Different
BODY-CAN networks from different classes of cars are considered: A compact, mid-
dle, and premium car was chosen to show results from a minimum-, a middle-, and a
maximum-sized real-world network configuration.
Figure 3.35 shows the results obtained from the preparation phase. The left bar of
each car type shows the distribution of the different used send types. The number of
different messages varies from 230 to 406 messages and the fraction of the sponta-
neous messages lies by about 15 percent. The send type adjustment reduces the send
types to just a cyclic manner and the address resolution transforms the shared media
message-based addressing to a unicast addressing in the Ethernet-based system. This
results in a multiplication of the messages by a factor ranging from 2.4 to 2.7 which
is represented by the right bar of each car type.
The achieved throughputs for the different optimization variants are shown in Fig-
130
3.3. Replacement Approaches
cyclic cyclicAndSpontanWithDelay
cyclicIfActive cyclicWithRepeatOnDemand
cyclicIfActiveFast spontan
1000
number of messages
800
600
400
200
0
compact middle premium
type of vehicle
Figure 3.35.: The left bar shows the send type distribution of actual car net-
work configurations and the right bar presents the results from the
preparation phase, namely the send type adjustment and the address
resolution.
ure 3.36. The presented CAN-based values of the throughputs are calculated after
the send type adjustment to include the impact of the send type conversion. It is
obvious that the one-to-one mapping leads to the highest throughput results varying
from 14 Mbit/s (70x) to 25 Mbit/s (125x). A reduction by half of the values could
be realized by using the EA- or rule-based optimization. The throughputs ranges
from 8 Mbit/s (40x) to 11 Mbit/s (55x) in the case of an EA-based optimization and
between 8 (40x), and 10 Mbit/s (50x) when using the rule-based algorithm. The off-
set range r was set to 40 % of the respective cycle times. Note that these very high
throughputs are worst case throughputs which are mainly caused by the overdimen-
sion of the system when adjusting all the send types to cyclic.
Figure 3.37 shows the payload/header ratio for the CAN-based solution and the
different optimization variants. The CAN-based values are again calculated after
the send type conversion and are over five times higher compared to the one-to-one
mapping. In the case of the EA- or rule-based optimization, the payload/header-ratio
values range from 16 % to 22 %.
131
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
20
MBit
throughput s
10
0
compact middle premium
type of vehicle
Figure 3.36.: The required Ethernet throughput of the different optimization vari-
ants compared to the CAN-based network design.
50 %
header/payload-ratio
40 %
30 %
20 %
10 %
0%
compact middle premium
type of vehicle
Figure 3.37.: The payload/header ratio for the different optimization variants com-
pared to the CAN-based network design.
132
3.3. Replacement Approaches
Note, that these results are worst case results by mapping all send types to cyclic
send types.
3.3.2. FlexRay
As in the case of CAN, different problems have to be considered when encapsulat-
ing FlexRay communication by Ethernet. The possibility of using uni-, multi-, and
broadcast addressing for FlexRay has to be mapped to Ethernet and the packaging of
FlexRay frames into Ethernet packets has to be optimized. The following concept is
derived from the FlexRay/AVB gateway concept and evaluated by setting up a proto-
typical hardware implementation which is connected to an Ethernet packet generator
and trace tool to measure the upcoming data rates, latencies, and jitters.
FlexRay also uses the principle of including a message into a FlexRay frame and the
message itself consists of a number of signals which represents logical or physical
values. In the case of Ethernet, transport protocols like IEEE 1722 can be used to
transport FlexRay information. These packets have a header length of 42 byte and
a payload length between 22 and 1476 bytes. In contrast, a FlexRay frame has a
header length of 8 byte and a theoretical payload length between 0 and 254 bytes. As
described in the gateway section, the used payload length in the automotive sector is
much smaller than the 254 bytes. By assuming a payload length of 40 bytes, up to 30
FlexRay frames can be embedded within just one IEEE 1722 packet. The addressing
also differs. A FlexRay frame can be identified by its cycle and slot position. Instead
Ethernet uses point-to-point connections and transmitter/receiver addresses.
The migration concept is derived from the transformation concept of the FlexRay/AVB
gateway and is shown in Figure 3.38. It is separated into the four steps Import Config-
uration, Address Resolution, Optimization of Packetization, and Evaluate Solutions
and are presented in the following.
133
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Configuration Import The configuration import is almost the same as in the gate-
way concept. Here, a subset of ECUs can be defined, to reduce the number of ECUs.
This is needed for the implementation due to only having an eight port packet gener-
ator and trace tool.
Evaluate Solutions During the evaluation phase, a) the data rate, b) latency, and
c) jitter of a prototypical implementation are evaluated. The results are presented in
the following.
134
3.3. Replacement Approaches
static segment 1 – 8
a1 b6 c2 d3 g4 h5
communication cycle 0 – 6
b6 e3 g4 i2 ECU1 → ECU2 , ECU3 @ VLAN 1
a1 b6 c2 d3 f1 j6
ECU2 → ECU4 @ VLAN 2
b6 e3 g4 h5
a1 b6 c2 d3 g4 h5
Table 3.8.: An example of a switch mapping table. It shows the mapping of each
port to its participating VLANs. A T denotes, that the port participates
in the virtual network.
Port 1 2 3 4 5 6 ... n
VLAN 1 T T T
VLAN 2 T T
VLAN 3 T T T
...
VLAN m
135
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
Data Rates Figure 3.41 shows the measured data rates of the Ethernet-based sys-
tem for the different replacement approaches compared to the initial FlexRay data
rate. The data rate of the FlexRay subset network consisting of eight ECUs is about
0.9 Mbit/s. By using the one-to-one approach, the total transmitted data rate for all
ECUs is about 2.3 Mbit/s which is factor of 2.5 compared to FlexRay. The higher
receive data rate of about 1 Mbit/s is caused by multiple receivers for different mes-
sages. In this case, the switch forwarded incoming packets to multiple outgoing
ports. The in-cycle approach helped to half the transmit data rate by combining mul-
tiple frames into one IEEE 1722 packet. Further improvements has been achieved by
using the multiple-cycle approach. In this case, typical FlexRay transport protocols
are replaced by combining theses frames into single packets.
Latencies and Jitters The end-to-end latency is calculated by the difference be-
tween the send and receive time of Spirent TestCenter and thus includes also the
buffer time within the switch. Figure 3.42 shows the minimum, average, and max-
imum measured latencies over all sent and received packets for the different ap-
proaches. The minimum latency is the same for all approaches and mainly con-
tains the store-and-forward time of the switch for one packet without any additional
queuing delays. The maximum delay occurs during startup when every node starts
sending. All ports of Spirent TestCenter are synchronized during the measurements.
Figure 3.43 presents the measured jitter values for the different approaches. It is
shown, that the average jitter times are in the range of a few microseconds. The
maximum jitters occur again during the startup time when all nodes start sending.
In summary, it could be shown that the throughput overhead is relatively low. In
case of the multiple-cycle approach, where even transport protocols are resolved,
the throughput is almost identical. The relatively high maximum latencies and jit-
ters caused during the start up phase would also be lower when having real systems
with varying start up times. Thus, replacing FlexRay by Ethernet AVB do not cause
any problems when looking at throughput, latency, and jitter for this given network
configurations.
136
3.3. Replacement Approaches
ECU8 ECU4
Figure 3.40.: The migration concept. In this case a whole FlexRay network will be
replaced by an Ethernet network. Each ECU is therefore connected
to a central switch.
2.5
2
1.5
1
0.5
0
one-to-one in-cycle multiple-cycle
resplacement approach
Figure 3.41.: The resulting Ethernet data rates for the different replacement ap-
proaches compared to the initial FlexRay data rate. Due to multiple
receivers, the receiver data rate is higher.
137
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
120
100
latency [µs]
80
60
40
20
0
one-to-one in-cycle multiple-cycle
resplacement approach
Figure 3.42.: The minimum, average, and maximum measured latencies for the dif-
ferent replacement approaches.
40
30
20
10
0
one-to-one in-cycle multiple-cycle
resplacement approach
Figure 3.43.: The minimum, average, and maximum measured jitters for the differ-
ent replacement approaches.
138
3.4. Summary
3.4. Summary
Due to the fact that nearly every car uses a common network infrastructure the ques-
tion of how to integrate a new communication technology within an existing network
will arise. This chapter presented gateway strategies to connect Ethernet/IP to the ex-
isting E/E communication technologies CAN and FlexRay. Prototypical implemen-
tations confirmed the realizability and detailed timing evaluations were provided. As
a long-term scenario, the replacement of existing networks was also considered. De-
tailed migration concepts were introduced for the replacement of CAN and FlexRay.
The effects of the different replacement approaches were analyzed by real network
configurations of current vehicles and the results were presented.
In the gateway area, a CAN/Ethernet gateway concept was presented, implemented,
and finally tested within a vehicle by tunneling a BODY-CAN network via Ether-
net/IP. The evaluations were based on stress tests by the definition of CAN input
traces with different data rates and real network configurations based on a BODY-
CAN network. The average end-to-end latency ranges from 500 µs in case of the one-
to-one mapping without buffering up to 4500 µs in case of the buffered approach for
CAN resource utilizations of up to 80 %. The average throughput without buffering is
about 1.2 Mbit/s when tunneling a 40 % utilized 500 kbit/s CAN network. Buffering
reduced the Ethernet data rate down to 320 kbit/s in the case of the urgency approach
together with a buffer timeout bt of 10 ms. The maximum resource consumption of
the gateway processor is about 27 %. In addition, a FlexRay/AVB gateway concept
was introduced to forward data of the static segment of FlexRay to Ethernet AVB
and vice versa. The transformation concept covers in-cycle and multiple-cycle buffer
approaches to replace typical transport protocols for FlexRay. The evalution results
are based on a real FlexRay network configuration which is splitted into two subnet-
works. The maximum resulting Ethernet AVB throuphput is about 2.2 Mbit/s for a
800 kbit/s utilized FlexRay network and the maximum frame buffer time for this case
is about 1.2 ms. In summary, it is shown that is possible to connect CAN or FlexRay
with Ethernet and AVB and that the packaging overhead is relatively low compared
to the different header sizes.
A migration concept for long-term replacement of CAN or FlexRay was presented
in the second part of this chapter. First, a CAN over Ethernet concept was intro-
duced and evaluated. The packaging optimization is based on a reference one-to-one
139
3. Integration and Migration Concepts for Ethernet/IP-based E/E-Architectures
mapping, an EA-based approach, and a rule-based approach. The results show worst
case data-rates by assuming asynchronous messages as cyclic messages with defined
debounce times. For a 40 % utilized 500 kbit/s CAN network, a worst case Ether-
net data-rate of about 24 Mbit/s using a one-to-one mapping approach was achieved.
The EA-based und rule-based approches are able to half the data rates in the Ethernet
network and led to a header overhead of about 20 %. In the case of FlexRay, the
FlexRay gateway concept was adopted and the different connections were mapped
to different VLANs. A test setup using the Spirent TestCenter showed that a trans-
mit data rate of about 900 kbit/s led to an Ethernet AVB transmit data rate of about
2.4 Mbit/s. Through buffering, the send data rate could be reduced down to about
950 kbit/s which is close to the FlexRay data rate. Furthermore, the average latency
was comparable to the latency caused by the FlexRay network. In summary, it could
be shown that it is possible to replace a CAN or FlexRay network by a Fast Ethernet
network.
In summary, when introducing Ethernet/IP in future vehicles, a redesign of the
communication matrices should be considered to make use of the advantages of Eth-
ernet/IP (e.g. large payloads of up to 1500 bytes). Legacy communication from or
to existing communication systems like CAN and FlexRay could then be adjusted by
a application gateway which can perform more complex adjustments than just doing
internal memory movements as in the case of todays typical gateways.
140
4. Simulation and Pre-production
Testing of Ethernet/IP-based
E/E-Architectures
In order to minimize the guarantee and goodwill costs of a vehicle, testing and evalu-
ation are fundamental methods to reduce the failure probability of systems within the
vehicle. Figure 4.1 shows the well-known 1-10-100 rule with respect to the automo-
tive section. It is shown that the error cost factor increases exponentially during the
product life cycle process. An error during the design and development phase has a
factor of one to fix. During the preparation phase, an error costs typically ten times
more than in the development phase. After Start of Production (SoP), the error costs
are 100 times higher than before. Finally, during the utilization phase when the car is
used by the customer, a failure will generate error costs which are up to 1000 times
higher than the costs when fixing the same error during the development phase. That
is why error prevention and error finding in early stages of the development process
are fundamental points when developing a new vehicle [Pfe01].
Automotive network technologies are basic infrastructure elements and must be
extremely reliable to guarantee the functionality of the whole vehicle. A malfunction
of the powertrain network, for example, would lead to a shutdown of the engine of
the car. Testing and evaluation of such network technologies can be divided either
by using the OSI-layer model as presented in Figure 2.2 where a method is designed
to check the layer 1 and 2 robustness, for example, or it can be separated into the
different stages of the product life cycle. The concepts presented in this section focus
on the early stage of product life cycle – the development process. It is distinguished
between testing and evaluation of systems in the concept phase where no hardware
or software is available and systems which are partly or completely available, for
141
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
cost
factor 1000x
design sourcing
and and
development production
100x
10x
1x
Figure 4.1.: The error cost factor evolution during the product life cycle process
[Pfe01].
142
4.1. Fundamentals
4.1. Fundamentals
The following section gives an introduction to discrete event simulation and com-
pares the differences between physically-shared medium technologies and switched
technologies in the context of testing.
143
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
to model the behavior of the module, incoming events can be represented as tokens
of input places of a transition, for example.
Beside the creation of the different modules with their interfaces and state ma-
chines, Figure 4.2 shows the general event scheduling scheme when using computer
simulation. All events are stored in one central ’Schedule Event List’. After starting
a simulation, a module typically creates an event which triggers subsequent events,
coordinated by the different state machines of the modules. The simulation ends 1.)
after a defined time interval ti , 2.) a defined condition like ’buffer overflow’, 3.) or
when the schedule event list is empty. The procedure of processing an event within
the schedule event list is as follows:
5. Insert new events to the schedule event list ordered by their schedule time.
144
4.1. Fundamentals
ECU
Module Initialize
Ethernet State x
Controler Time t
Module 0
x t’
Schedule Event
Ethernet List
Update State
Switch e1 t1 Update Time t 0 = t1
x0 = f (x, e1 )
Module e2 t1
... ... t’
Protocol x0
Toolbox
Module Delete Infeasible
(ek ,tk )
Random
Variate Add New Feasible
Generator (ek ,t 0 + vk )
Figure 4.2.: The general event scheduling scheme in computer simulation together
with the different Ethernet modules which are located in the hhUpdate
Stateii section [CL08].
145
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
test
ECU1 ECU2
device
physically
shared media
ECU3 ECU4
(a)
network under test
ECU1 ECU2
test
device
switched
ECU3 ECU4
full-duplex links
(b)
Figure 4.3.: Differences between physical shared and switched network topologies:
(a) Shows a typical test setup for physical shared medium communi-
cation technologies like LIN, CAN, or FlexRay. (b) Demonstrates an
intuitive test setup for switched Ethernet networks.
tion media.
146
4.3. Simulation-based Evaluation of Switched Networks (Case Study)
enable restbus simulation, todays tools do only provide one physical network inter-
face. One feasible solution to receive traffic from several devices within one simula-
tion tool could be the usage of a switch together with port mirroring [ZM07]. This
technique copies traffic from one or more ports to an additional port – the so-called
mirror port – where the tool can be connected. Disadvantages of this approach are the
limited throughput of the mirror port and sequential transmission of parallel arriving
packets over the mirror port. For packet monitoring, there exist several different con-
cepts. In [Net11], an Ethernet point-to-point connection is physically splitted within
a special device to enable the possibility of adding a third monitoring device. A sim-
ilar approach is used in [OV05] where a computer with a special software tool and
two network interfaces acts as a man-in-the-middle. These two approaches do only
work for point-to-point connections. When having multiple interfaces connected via
a switch, the port-mirroring approach can be used again. Two similar commercial so-
lutions for packet generation are presented in [Spi11] and [Ixi11]. The tools support
the generation of statically predefined packets up to full data-rate. The main task of
these products is the performance analysis of Ethernet-based networks.
147
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
t2
Figure 4.4.: An example of a task chain which consists of three tasks t1 , t2 , and t3
communicating via Ethernet/IP. In order to simulate such a network,
the Ethernet Communication Controller (CC) and the Ethernet switch
have to be modeled.
and higher layer transport protocols. Beside the software tasks ti and the software
network stack, the Ethernet Communication Controller (CC) and the Ethernet Switch
have to be modeled to simulate an Ethernet-based System.
The network stack component is responsible for adding the different protocol head-
ers including different protocols like TCP which supports handshakes and automatic
retransmissions of packets in the case of packet loss during transmission. A First In
First Out (FIFO) buffer within the communication controller coordinates the trans-
mission of packets. Each buffer has a predefined size bs in bytes and some imple-
mentations share the buffer memory for incoming and outgoing packets. The switch
receives packets and forwards them to the known outgoing ports. There exist differ-
ent methods to forward packets from incoming to outgoing ports and the switch can
automatically learn the content of its lookup table. At the receiving side, an incoming
packet is processed by the software network stack. Therefore, the protocol headers
are analyzed and removed. The resulting application data is forwarded to the receiv-
ing task. In the following, different concepts for modeling the component behavior
and timing are presented.
Switch Modeling Ethernet switches are used to interconnect different ECUs and
to build larger network topologies. Their main task is the forwarding of packets from
incoming to outgoing ports. However, the forwarding method is not part of the stan-
dard and therefore manufacturer-dependent. In order to simulate an Ethernet switch,
148
4.3. Simulation-based Evaluation of Switched Networks (Case Study)
a derived forwarding method has to be assumed. In general, there are two types of
switching mechanisms. The backplane implementation which uses an internal high
speed bus to interconnect the different ports and the so-called crossbar architecture
which enables dedicated point-to-point connections between the different ports of the
switch. In the case of a backplane, the simple Round Robin (RR) method is used for
backplane arbitration. The time slot tswitch denotes the duration which is needed to
forward a complete Ethernet packet by the backplane. The Maximum Transmission
Unit (MTU) lMTU is typically 1518 bytes for untagged Ethernet packets. For a given
backplane speed of bswitch , the duration for the transmission of one packet tswitch can
be calculated by Equation (4.1).
lMTU
tswitch = (4.1)
bswitch
Beside the forwarding mechanism, the lookup table is another important part of a
switch. It can be either statically predefined or dynamically filled. Dynamic tables
learn the addresses of the different nodes connected to a switch port by analyzing
the transmit address of incoming packets. Whenever a packet arrives at a port, the
switch adds the transmit MAC-address to its internal lookup table. Packets are then
forwarded to the outgoing port, where the destination address is assigned. Additional
functionalities are the support of multicast addresses, tagged frames, and virtual net-
works.
149
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
[IEE12b]. The effective transmission length lMAC including the Ethernet headers,
preambles, and frame gaps for a given payload length l p can be calculated by Equa-
tion (4.2).
n
lMAC (n) = 38 1500 + n + max {0 ; 46 − (n mod 1500)} (4.2)
Since every Ethernet packet has a minimum length of 64 bytes, additional fill bytes
are used to transport payload lengths smaller than 46 bytes. Payloads larger than 1500
bytes are separated into multiple frames by higher layer protocols. In addition, higher
layer protocols typically have their own protocol headers like IP which has a minimal
header length of 20 bytes or UDP with a length of 8 bytes. The effective transmission
length lUDP of a payload length of l p bytes for an Ethernet packet containing IP and
UDP protocol headers can then be calculated by Equation (4.3).
n+8
lUDP (n) = 58 1472 + n + 8 + max{0 ; 26 − ((n + 8) mod 1472)} (4.3)
System View The considered multi-camera system has the following functional
principle: multiple cameras cami capture defined surroundings of the vehicle. These
pictures are aggregated within a central ECU, and then displayed on the central dis-
play. The main task is to support the driver during parking by showing the surround-
ing of the car from a bird’s eye perspective so that the driver can see the objects
around the car. A common system model of this use case ensures, that the results of
the simulation as well as the analytical approach are comparable. The architecture,
the network topology, the used tasks, and the data dependencies are described in the
following.
150
4.3. Simulation-based Evaluation of Switched Networks (Case Study)
dis display
Figure 4.5.: The data dependency graph of the multi-camera system. The cameras
send their captured images to the ECU which combines the different
pictures into one output picture and sends this to the display.
Figure 4.5 shows the underlying data dependency graph. The cameras therefore
record single frames and send them packetized via Ethernet to the central ECU. From
the incoming packets of the different cameras, the single frames will be reconstructed.
If all single frames belonging together are available at the ECU, the integrated bird’s
eye view will be calculated. Afterwards the picture will be packetized again and sent
to the display. The display then reconstructs the picture from the incoming packet,
stream, and displays the content.
The topology of the system is shown in Figure 4.6 and is based on a star network
topology containing a central Ethernet switch. All components are directly intercon-
nected by the switch. The switch itself consists of five 100 Mbit/s interfaces between
the cameras and the display and one 1 Gbit/s interface to the central ECU. The switch
backplane bus works with a maximum speed of 2 Gbit/s.
Camera Component The tasks of the camera are the recording and data compres-
sion of complete or partial frames and the creation of UDP packets containing the
compressed images which are then sent to the central processing ECU. Figure 4.7(a)
shows the setup of such a camera module cami which consists of the imager imgi , the
processor cpui , as well as the Ethernet communication controller cci . After recording
a single or partial frame, the imager interrupts the processor which then schedules the
compression algorithm enci . After finishing the compression, the software network
stack neti is executed to packetize the information into one or more UDP packets
pcami and to send them to the central ECU. Since the execution times of the software
task depends on the implementation of the software and the deployed ECU, a refer-
151
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
switch
ecu dis
Figure 4.6.: The topology of the multi-camera system. The components are inter-
connected via a central Ethernet switch.
ence design was taken to measure the execution time. The send and receive network
stack execution times lneti (n) are dependent of the packet length n and are described
by Equation (4.4). t f ix represents the fixed time interval which is independent of the
packet length n. The variable fraction is denoted with tvar (n).
Both software tasks are scheduled preemptive and priority-based. After the cre-
ation of each network packet pcami , the Ethernet communication controller is trig-
gered by a DMA access to send the packet.
Central ECU The processing of the different camera pictures is done within the
central ECU. Figure 4.7(b) shows the hardware architecture and the mapped software
tasks. It consists of the two resources 1.) the processor cpuecu and 2.) the Ethernet
communication controller ccecu . The processor executes the send and receive network
stacks net and the application dependent tasks decoder dec and integration int. Again,
all tasks are scheduled in a preemptive manner and priority-based. After receiving
a packet pcami , the network stack unpacks the image data into memory and then the
decoder dec is started. The decoder decompresses the image data. When all images
of the different cameras are available, the integration task int is executed to calculate
the bird’s eye perspective. Finally, the resulting picture is packetized again and the
packets pint are send to the display.
152
4.3. Simulation-based Evaluation of Switched Networks (Case Study)
Display Figure 4.7(c) shows the architecture of the display. It consists of an Eth-
ernet communication controller ccdis , a processor cpudis as well as the display dis.
Again, the processor unpacks the incoming packets pint and stores them into memory
to provide the data to the display.
Number of Packets Figure 4.8 shows the number of transmitted network packets
per second for different packet lengths n. It is shown that the number of packets
decreases when the packet length of the transmitted packets increases. In addition, it
is possible to measure the drop rate of packets within each component by defining a
particular buffer size bs .
Resource Utilization The resource utilization of the different components for dif-
ferent packet lengths n is shown in Figure 4.9. Since each packet has to be processed
by the software network stack, the resource consumption of the components increases
when the packet length decreases and therefore more packets have to be processed
by the software network stack. The results show that the resource utilization of the
central ECU – the utilization of the task scheduler – grows up to 100 percent when
reducing the packet length n of the transmitted packets down to 600 bytes. Packet
lengths smaller than 600 bytes led to packet drops due to the overloaded processor
within the central ECU.
End-to-End Latency Figure 4.10 highlights the system end-to-end latency denot-
ing the duration from recording a sample by the camera to displaying the same sample
on the display for different network packet lengths n. A comparison is made between
the average latency determined by the simulative approach and the worst case la-
tency derived from the analytical approach. The two times higher latencies of the
analytical approach are caused by the facts that the simulation is typically not able
153
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
(a)
(b)
(c)
Figure 4.7.: (a) Shows the structure of the camera with the three components im-
ager imgi , processor cpui , and communication controller cci and the
three tasks ’image capturing’ capi located at the imager, ’image en-
coding’ enci , and the ’network stack’ neti . The tasks enci and neti are
both executed by the processor. The central ECU is presented in (b)
and consists of the processor cpuecu and the communication controller
ccecu . The software tasks ’network stack’ netrx and nettx , ’image decod-
ing’ dec, and ’image integration’ int are all executed by the processor.
(c) Highlights the display component which consists of the communi-
cation controller ccdis , the processor cpudis , and the display dis. The
’network stack’ task netdis is executed by the processor and the ’visu-
alize image’ task vis is located at the display.
154
4.4. Restbus Simulation and Evaluation of Switched Networks
switch
i 80,000
packets
s
70,000
h
number of packets p per second
60,000
50,000
40,000
30,000
20,000
10,000
0
600 750 900 1,050 1,200 1,350 1,500
Figure 4.8.: The number of transmitted packets per second for different packet
lengths n determined by the simulative approach.
to process all system states and the analytical model was not able to analyze all the
details of the common model. A detailed description of the differences can be found
in [RKH+ 10•].
155
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
camera display
central ECU switch
100%
resource utilization [%]
80%
60%
40%
20%
0%
600 750 900 1,050 1,200 1,350 1,500
Figure 4.9.: The resource utilization of the different system components for differ-
ent packet lengths n determined by the simulative approach.
150
100
50
0
600 750 900 1,050 1,200 1,350 1,500
Figure 4.10.: The system-wide end-to-end latency denoting the duration from
recording a sample by the camera to displaying the same sample
on the display for different network packet lengths n. A compari-
son is made between the average latency determined by the simula-
tive approach and the worst case latency derived from the analytical
approach.
156
4.4. Restbus Simulation and Evaluation of Switched Networks
4.4.1.1. Requirements
The following list contains typical requirements or features of a network testing en-
vironment for automotive applications:
4. Monitoring of traffic
5. Generation of traffic
For example, hardware timestamping is used to measure the exact transmit or receive
time of a packet or the time interval of packets belonging together. The determination
of the load utilization can be used to compare the expected load utilization of a device
with the actual load utilization. Network parameters can also be checked by test
devices. In the case of Ethernet switches, for example, the address lookup tables can
be compared with the estimated lookup entries. This is very helpful during the startup
phase, when all connected devices start to send packets and the Ethernet switch learns
the address entries of its different ports. The monitoring of traffic is typically used to
check if all packets are send from a device and the packet generation can be used to
stress devices. For example, the increase of the interrupt load of a receiving device.
4.4.1.2. Ethernet-Test-Switch
Since a standard Ethernet switch is not able to fulfill all the requirements above, the
test device was moved into the network under test. The result is shown in Figure 4.11
157
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
Switch Fabric
Interface
Evaluation
Computer
where a standard Ethernet switch which is regularly part of the network under test
is replaced by our Ethernet-Test-Switch. The Ethernet-Test-Switch concept is im-
plemented on a Field Programmable Gate Array (FPGA) processor and consists of
the components Switch Fabric, Packet Monitor, Packet Generator, and Interface. A
more detailed implementation overview of the individual components is shown in
Figure 4.12. It contains the implemented IP-blocks for one external Ethernet port. In
general, the platform is designed to support a maximum of four external ports. Four
additional ports can be added by using a second quad PHY extension board. The
different components are described in detail in the following.
Switch Fabric The main tasks of the Switch Fabric are the switching of packets
between different external ports and the maintenance of the lookup table. A buffered
crossbar architecture [CL07] is used to switch packets between incoming and outgo-
ing ports as shown in Figure 4.13. One advantage of this approach is that packets on
disjoint paths through the switch can be switched at the same time without any inter-
ferences. In addition to the switching of packets, the actual utilization of the Switch
Fabric like buffer fill levels and link utilizations is recorded and provided to the Inter-
face component. Furthermore, it is possible to set or get the current lookup table or to
disable the MAC learning algorithm at runtime. Finally, we added a hardware timer
to get synchronized high-precision timestamps for incoming packets across all four
158
4.4. Restbus Simulation and Evaluation of Switched Networks
Switch Fabric
to2
to3
to4
Buffer
Lookup
Comparator
Table
Packet Generator
Logger Filter
Packet
Monitor Packet Packet
Counter Counter
MAC
PHY
port1
ports. The accuracy of the timestamps is 10 ns. With these capabilities, it is possible
to meet the basic requirements (1) to (3).
Packet Monitor The Packet Monitor registers all incoming packets. Therefore,
a log entry is created by the Packet Monitor for each incoming packet and sent to
the Interface. Figure 4.14 shows the structure of such a log entry. It has a fixed
length of 64 byte (minimal length of an Ethernet frame) independent of the length of
the incoming Ethernet packet and contains several information about the packet like
source and destination addresses, embedded protocols, or the routing path inside the
switch. Moreover, it is possible to configure hardware filters to reduce the utilization
of the Interface and to get prefiltered packet traces to increase the readability of the
traces. The Packet Monitor fulfills requirement (4).
159
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
Buffer
portout
1
Buffer
Buffer
Buffer
portout
2
Buffer
Buffer
Buffer
portout
3
Buffer
Buffer
Buffer
portout
4
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
portin
1 portin
2 portin
3 portin
4
Packet Generator The main idea behind the Packet Generator is the generation
of traffic at the ports of the Ethernet-Test-Switch in hardware. It is distinguished
between cyclic and burst traffic. Cyclic traffic is generated periodically with a prede-
fined cycle time and the number of packets to be sent can be limited or continuous.
In burst mode, a defined number of packets are sent one after the other without inter-
ruption. These mechanisms can be used to test systems by adding additional traffic to
the system under test. Each port has its on generator and the packets created by it are
preferred by the outgoing ports. This means, that a packet created by the packet gen-
erator is always send immediately to the Ethernet MAC. Requirement (5) is therefore
implemented by the Packet Generator.
Interface The Interface component is used to bundle the whole communication be-
tween the other components and the evaluation computer in a structured way. There-
fore, different packet types are specified for the different components. An example is
160
4.4. Restbus Simulation and Evaluation of Switched Networks
0 4 8 12 16 20 24 28 32
11102 11102
timestamp (resolution 10 ns)
IP source address
IP destination address
IP packet length in byte
UDP?
TCP? 00..002
Figure 4.14.: The 64 byte long data structure of the log entry created for each in-
coming packet.
161
Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
1 5 5
MAC
MAC
MAC
PHY
ECU1 ECU5
(e.g. ns2)
2 6 6
Software API
simulated devices
MAC
MAC
MAC
PHY
existing devices
Switch Fabric
ECU2 ECU6
i
MAC
MAC
PHY
PHY
tunnel
3 7 7
MAC
MAC
MAC
PHY
Simulator
ECU3 ECU7
Interface
4 8 x 8
MAC
MAC
MAC
MAC
PHY
MAC
Ethernet-Test-Switch virtual port y Evaluation Computer with Simulation Software
Figure 4.15.: The proposed concept for network simulation of mixed physical and virtual devices. In this case, four existing
ECUs ECU1 to ECU4 are interconnected via the Ethernet-Test-Switch to four simulated ECUs ECU5 to ECU8 .
The Interface components connect the Ethernet-Test-Switch to the computer running the simulation software.
162
4.
4.4. Restbus Simulation and Evaluation of Switched Networks
Software API receives the packet and forwards it to the simulation software. Thus,
it is feasible to receive Ethernet frames from existing devices within a simulation
software. Similarly, it is possible to generate Ethernet packets through the simulation
software to forward them to existing devices. Such a packet is sent via the Software
API to the Ethernet-Test-Switch Interface. The Interface then forwards the packet
with the lookup table to the desired external port and the device will receive the
packet.
In summary, it is now possible to interconnect existing physical Ethernet-based
devices with simulated Ethernet-based devices to build up an integrated environment
for testing mixed Ethernet-based systems. Requirement (6) is therefore fulfilled.
Switch Fabric For measuring the maximum packet throughput and the minimum,
average, as well as maximum latency of the Switch Fabric, two ports of the Test-
center were connected to the Ethernet-Test-Switch. Packets of different packet sizes
and loads were sent from one port to the other. Detected packet losses at the re-
ceiving port of Testcenter indicates an overload of the Switch Fabric. The measured
latency is the average latency of all transmitted packets. Figure 4.16 summarizes
163
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
the measured throughput and latency results of the Switch Fabric. The throughput
braw of the Switch Fabric is 999.994 Mbit/s which is near line rate and independent
of the packet size pl . Note that currently 100 Mbit/s are discussed for Automotive-
Ethernet. For the latency, delays between 1.8 µs and 17.1 µs for different packet sizes
were measured. The latency τ p (pl ) of a packet p of length pl byte is divided into
the duration τstore (pl ) to store an incoming packet within the Switch Fabric and the
duration τ f orward to forward the packet to an outgoing port. Equation 4.5 calculates
the latency of the Switch Fabric, where n denotes the length of the packet in byte.
In addition, we compared our latency measurements with standard Ethernet switches
and obtained similar latency results.
Packet Monitor In general, the performance of the packet monitor is limited by the
available throughput between the Ethernet-Test-Switch and the evaluation computer.
The higher the throughput is, the more monitoring packets pm can be transmitted
during a time interval. Equation 4.6 calculates the number of monitoring packets
N pm (bi ) per second that can be transmitted over the interface to the evaluation com-
puter, where bi denotes the available throughput at interface connection (PHYi ) in
Mbit/s and l pre , l pm , and li f g are the lengths of the preamble, monitoring packet, and
inter frame gap in byte.
bi · 106
N pm (bi ) = (4.6)
l pre + l pm + li f g · 8
Table 4.1.: The resource utilization of the Altera Stratix III FPGA containing the
Ethernet-Test-Switch.
164
4.4. Restbus Simulation and Evaluation of Switched Networks
maximum throughput
average latency
1,000 20
900 18
Mbit
800 16
s
latency τ p [µs]
700 14
throughput braw
600 12
500 10
400 8
300 6
200 4
100 2
0 0
100
200
300
400
500
600
700
800
900
1,000
1,100
1,200
1,300
1,400
1,500
packet length pl [byte]
Figure 4.16.: The maximum measured throughput braw and the average measured
latencies τ p of the Switch Fabric for different packet length pl .
With bi = braw = 999.994 Mbit/s and l pm = 68 byte (including the 4 byte cyclic
redundancy check), the number of monitoring packets per second that can be trans-
mitted is about 1, 420, 446. The maximum incoming throughput bm (n, bi ) caused by
packets p arriving at the four switch ports with packet size n that can be handled by
the packet monitor is calculated by Equation 4.7. Figure 4.17 shows the maximum
incoming throughputs for four ports bm (n, braw ) depending on different packet sizes
n in byte.
bm (n, bi ) = N pm (bi ) · l pre + n + li f g · 8 (4.7)
The measurement results presented in Figure 4.18 show much smaller throughputs
caused by the limited performance of the network interface of the evaluation com-
puter and the software to display the monitored packets. With a minimum packet size
n of 64 byte, a throughput bm of 20 Mbit/s could be achieved. The maximum packet
size n of 1518 byte led to a throughput bm of about 400 Mbit/s.
165
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
n·8
bin
g (n) = (4.8)
tc f g + t pi (n) + tsend (n)
166
4.4. Restbus Simulation and Evaluation of Switched Networks
4,000
Mbit 3,500
3,000
s
2,500
throughput bm
2,000
1,500
1,000
500
0
100
200
300
400
500
600
700
800
900
1,000
1,100
1,200
1,300
1,400
1,500
packet length pl [byte]
800
s
700
throughput bg
600
500
400
300
200
100
0
100
200
300
400
500
600
700
800
900
1,000
1,100
1,200
1,300
1,400
1,500
Figure 4.18.: The maximum measured throughputs bgpre for preconfigured packets,
the theoretical maximum throughputs bin g for individual packets, and
the maximum measured outgoing throughputs of individual packets
send by an application for different packet sizes n.
167
4. Simulation and Pre-production Testing of Ethernet/IP-based E/E-Architectures
4.5. Summary
The 1-10-100 rule shows the necessity to have a comprehensive test and evaluation
tool chain to find errors in the early stages of the design phase and to minimize the
residual error probability at the start of production. This chapter introduced two
fundamental methods to simulate and test Ethernet/IP embedded systems.
For the first approach a case study based on a multi-camera embedded system
which was interconnected via Ethernet/IP was presented. By adapting a discrete
event simulator with Ethernet simulation modules and automotive-specific param-
eters, the use case could be evaluated without having any corresponding hardware
available. The results showed, that the chosen network architecture is able to trans-
port the packets between the different components as long as the packet length is
greater than 600 byte per packet. In this cases no packet loss has occurred and the
timing requirements were met. Packet lengths smaller than 600 byte led to a re-
source conflict within the central ECU due to too many packets which have to be
processed by the software network stack and thus leading to loss of image informa-
tion. In addition, the end-to-end latency could be calculated to determine the portion
of the network latency compared to the overall end-to-end latency and compared to
the results of an analytical approach which calculates the worst case latency.
The second concept dealt with the problem of traffic monitoring, traffic generation,
and restbus simulation for switched Ethernet/IP networks. Here, a concept is pro-
posed and designed which extends a standard Ethernet switch by adding a transparent
switch fabric and additional modules to disclose the internal switch mechanism to an
external evaluation tool. With this approach, it was possible to trace the complete
switch traffic without using port mirroring. In addition, highly precise timestamps
are added to reconstruct the timing behavior or ordering of packets. A packet gener-
ator enabled stress tests for connected components by creating packets with different
payloads and throughputs. Finally, an application programming interface facilitates
the switch to provide restbus simulation by connecting a simulation framework, as
presented above, for example, to the Ethernet-Test-Switch. The evaluation of the
switch itself shows a measured packet monitor throughput of about 400 Mbit/s lim-
ited only by the connected evaluation computer. The packet generation performs up
to line rate. In addition, it could be shown that restbus simulation can be performed
with a throughput of up to 4 Mbit/s. For simple interaction testing or the testing of
168
4.5. Summary
functional behavior, this throughput is sufficient. For more complex simulations in-
cluding video or audio samples, for example, a more performant software simulation,
which was the bottleneck in this case, is needed.
169
5. Conclusions and Future Work
In the introduction, it was motivated that the number and complexity of distributed
electric and electronic systems within vehicles will further increase in the future. This
leads to more complex networking requirements for the underlying E/E-architecture.
Examples are high data rate video or data sources or networked vehicles with inter-
net access and the ability to connect external devices like notebooks or media players.
One way to meet the upcoming infrastructure requirements is the introduction of Eth-
ernet as a high-speed vehicle network together with the IP protocol family which sup-
ports a perfect separation of the different hardware and software layers by the usage
of defined interfaces. Ethernet is already in discussion for different use cases like ve-
hicle diagnostics, software download to ECUs, or as a charging interface for electrical
vehicles. It is also in discussion for internal communication like high speed camera
links or when designing future vehicle network architectures – the Ethernet back-
bone architecture, for example. IP offers logical addresses and higher layer transport
protocols like UDP for datagram communication or TCP as a reliable connection be-
tween two end nodes. The usage of globally unique and internet-compatible network
addresses offers general access to the vehicle from the internet and a multitude of new
applications like intelligent routing or payment systems, for example. To introduce
such a new communication technology together with its higher layer logical proto-
cols, the automotive requirements have to be met and typical use cases like gateway
interfaces to other technologies have to be evaluated. Today, Ethernet is established
in many different sectors like the internet, consumer electronics, telecommunication,
industrial automation, as well as in the avionic sector but not within the automotive
sector for vehicle internal communication. In order to fulfill the automotive require-
ments and use cases, the work of this thesis concentrates on fundamental research
topics like the robustness and efficiency of Ethernet and IP, the gateway capabili-
ties to communicate with already established communication technologies, and the
testing of Ethernet-networked automotive applications during the design and devel-
171
5. Conclusions and Future Work
opment phase.
This thesis presented concepts in the area of 1) Technology Safeguarding of Eth-
ernet/IP-based Automotive Communication Networks, 2) Integration and Migration
Concepts for Ethernet/IP-based E/E-Architectures, and 3) Simulation and Pre-pro-
duction Testing of Ethernet/IP-based E/E-Architectures.
172
based on an 85 MHz FPGA-based processor were proposed. In summary, it could
be shown that the throughput measured in a non-optimized environment can be enor-
mously increased.
173
5. Conclusions and Future Work
utilization. With buffering, the send data rate could be reduced to be close to the
FlexRay data rate. Furthermore, the average latency was comparable to the latency
caused by the FlexRay network. In summary, this chapter presented four extensive
concepts for interconnecting or replacing established technologies with Ethernet/IP.
Prototypical implementations confirmed the technical feasibility even in a current
E-class vehicle.
174
5.1. Future Work
enabled stress tests for connected components by creating packets with different pay-
loads and throughputs. Finally, an application programming interface facilitates the
switch to provide restbus simulation by connecting a simulation framework, as pre-
sented above for example, to the Ethernet-Test-Switch. The evaluation of the switch
itself showed a measured packet monitor throughput of about 4, 000 Mbit/s limited
only by the connected evaluation computer. The packet generation performed up to
line rate and the restbus simulation allowed throughputs of up to 4 Mbit/s between
physical and virtual devices carrying simulated information.
175
A. German Part
177
Zusammenfassung
Aktuelle Premiumfahrzeuge enthalten eine Vielzahl von verteilten Kundenfunktio-
nen, welche alle Bereiche des Fahrzeugs wie beispielsweise Antrieb, Fahrwerk, In-
nenraum und Fahrerassistenz abdecken. Ein Großteil dieser Systeme wird hierbei
mittels einer gemeinsam genutzten Netzwerkinfrastruktur, ein Teil der sogenannten
Elektrischen und Elektronischen Architektur (E/E-Architektur) des Fahrzeugs, ver-
netzt. Die E/E-Architektur umfasst neben der reinen Kommunikation innerhalb des
Fahrzeugs auch die Verbauung von Komponenten und die Abbildung von Kunden-
funktionen auf deren logischen und physikalischen Komponenten, um nur einige
weitere Bestandteile zu nennen. Für die Kommunikation stehen unterschiedlichs-
te Kommunikationstechnologien und sogenannte Gateways zur Verfügung, welche
die Kommunikation zwischen mehreren Technologien ermöglichen. Typische Kom-
munikationstechnologien für die Vernetzung von verteilten Steuergeräten (SG) sind
hierbei Local Interconnect Network (LIN) [LIN10], Controller Area Network (CAN)
[CAN91], FlexRay [Fle10], Media Oriented Systems Transport (MOST) [MOS10]
und Low Voltage Differential Signaling (LVDS) [LVD95]. Die allgemeinen Vorzüge
einer gemeinsamen Kommunikationsinfrastruktur sind unter anderem die Wiederver-
wendbarkeit von Informationen einzelner Komponenten für unterschiedlichste Funk-
tionen, die Reduzierung des Verkabelungsaufwandes (beispielsweise die Vermeidung
paralleler Kommunikationsleitungen bei gleichen Verbauräumen), die einfache Er-
weiterbarkeit um neue Komponenten und die Unterstützung von unterschiedlichen
Ausbaustufen für die effiziente Abbildung von Fahrzeugvarianten.
Forschungs- und Vorentwicklungsaktivitäten einiger Automobilhersteller (OEMs)
deuten darauf hin, dass sowohl die Anzahl als auch die Komplexität solcher verteil-
ter Funktionen in Zukunft weiter zunehmen wird. Dies führt zu komplexeren An-
forderungen an die darunter liegende E/E-Architektur und deren Kommunikations-
technologien [SKB+ 11•]. Abbildung A.1 zeigt beispielsweise die Entwicklung der
Kommunikationsanteile von E/E-Architekturen der Mercedes Benz E-Klasse von
179
A. German Part
Mercedes Benz. Es zeigt auf, dass die Anzahl der Steuergeräte, Busse, und Signale in
den vergangenen Jahren deutlich angestiegen sind und das die Anforderungen an die
Datenraten welche innerhalb des Automobils zu übertragen sind aufgrund komplexer
Sensoren drastisch ansteigen werden. Beispiele sind hier Objekt-basierte Radarsen-
soren oder Videokameras.
Ethernet, das Internet Protocol (IP) [Req81a] und darüber liegende Transportpro-
tokolle wie beispielsweise das User Datagram Protocol (UDP) [Pos80] oder das
Transport Control Protocol (TCP) [Req81c] könnten eine Lösung darstellen, um die
zukünftigen Anforderungen an die E/E-Architekturen der nächsten Generation zu
erfüllen. Ethernet ist durch die Institute of Electrical and Electronics Engineers (IE-
EE) 802.3 Arbeitsgruppe [IEE12b] standardisiert und besteht aus mehreren Standards
welche unterschiedliche physikalische Medien und Übertragungsgeschwindigkeiten
unterstützen. Ebenso sind die meisten darüber liegenden Protokolle wie IP und UDP
quasi standardisiert durch unterschiedliche Request for Comments (RFC).
Die Hauptgründe für die Betrachtung von Ethernet/IP1 im Fahrzeug sind, dass
Ethernet/IP bereits für einige Anwendungen im Automobil gesetzt ist. Beispielswei-
se für Kommunikation von Fahrzeug und Außenwelt. Die Verwendung von Ether-
net/IP für fahrzeuginterne Kommunikation wird zudem innerhalb der Automobilin-
dustrie diskutiert. Letztlich stellt die mögliche Übernahme von Technologieanteilen
aus der Verbraucher- und Industrievernetzung in Richtung eines Automobilstandards
für Ethernet eine weitere attraktive Möglichkeit dar.
Beispiele für die Kommunikation von Fahrzeug und der Außenwelt sind die Fahr-
zeugdiagnose, die Fahrzeug-zu-Fahrzeug-Kommunikation, das Einspielen von Soft-
ware-Updates und das Laden von elektrischen Fahrzeugen an der Ladestation. Im
Diagnoseumfeld wird derzeit ein neuer ISO-Standard entwickelt, nämlich Diagno-
stics over Internet Protocol (DoIP) [ISO11a]. Dieser spezifiziert Ethernet und IP als
einheitliche Kommunikationsschnittstelle zwischen dem Fahrzeug und dem Tester.
Im Bereich der Vernetzung von Fahrzeugen untereinander oder der Vernetzung von
Fahrzeugen und Umgebungsobjekten ist IP als einheitliches Kommunikationsproto-
koll gesetzt [Car12]. Externe Partner können beispielsweise andere Fahrzeuge, Am-
peln, oder weiter Infrastrukturobjekte sein. Die Nutzung von Ethernet für das Einspie-
1 Im Folgenden dient der Begriff Ethernet/IP als Sammelbegriff für die Technologien und Protokolle
IEEE 802.3, IEEE 802.1, IP und weitere darüber liegende Protokolle wie beispielsweise UDP,
TCP oder IEEE 1722.
180
SGs Busse Signale
80 10,000
70
Anzahl Steuergeräte und Busse
60 1,000
Anzahl Signale
50
40 100
30
20 Bandbreitenanforderung 10
10
0 0
W120 W110 W114 W123 W124 W210 W211 W212 Trend
Baureihe
181
A. German Part
182
IP Protokoll und höher angesiedelte Transportprotokolle wie UDP, TCP oder IEEE
1722 [IEE11a] bieten zudem weitere Dienste. Beispielweise ermöglicht TCP zu-
verlässige Kommunikation zwischen zwei Endpunkten und IEEE 1722 bietet ein
standardisiertes Rahmenformat für die Übertragung von Video- und Audiosigna-
len, welches beispielsweise zur Anbindung von Kameras genutzt werden kann. In
Richtung der Applikation existieren weitere Middleware Lösungen zur Bereitstel-
lung von entfernten Prozeduraufrufen [Req76] oder zur Nutzung von Service Dis-
covery [CAG05, CK11b, CK11a]. Entfernte Prozeduraufrufe werden dazu benutzt,
um Interprozess-Kommunikation zu abzubilden. Somit wird es möglich, entfernte
Prozeduraufrufe (üblicherweise befindet sich die Funktion auf einem anderen Steu-
ergeräten im Netzwerk) zu tätigen, ohne sich im gleichen Adressraum befinden zu
müssen und ohne explizit auf die Serialisierungsmechanismen der unterschiedlichen
Partner Rücksicht nehmen zu müssen. Service Discovery wird unter anderem dafür
eingesetzt, um Services im Netzwerk anzukündigen. Software-Komponenten können
sich dann dynamisch für bestimmte Services registrieren oder deren Anmeldung wi-
derrufen.
Ein guter Überblick über den Stand der Forschungs- und Entwicklungsäktivitäten
zum Thema Ethernet und IP im Automobilbereich wurde auf [Mat11] vorgestellt.
Mehrere Automobilhersteller [Fri11, JO11, SBLS11, Kri11, Got11] präsentierten ih-
re aktuellen Forschungsaktivitäten. Zukünftige Themen sind hier vor allem die Nut-
zung von Ethernet zur Vernetzung von Kameras und der Einsatz von Ethernet als
Hochgeschwindigkeitsnetzwerk für die Bildung alternativer Bordnetzarchitekturen.
Des Weiteren stellten diverse Zulieferer [Sin11, Nöb11, Kre11, Pow11, Hoe11] ihre
Forschungsaktivitäten vor. Schwerpunkt war hier das applikative Szenario der Über-
tragung von Echtzeit-Video- und Audio über Ethernet und Ethernet AVB. Zudem
wurden die Themen EMV-Stabilität von Ethernet und ein Vorschlag für eine Middle-
ware Lösung vorgestellt, welche auf die Automobilen Einsatzszenarien zugeschnitten
ist [KKM+ 11, Völ11].
Die eigenen Beiträge dieser Dissertation sind in die drei Bereiche 1.) Grundlegende
Technologieabsicherung von Ethernet/IP-basierten Kommunikationsnetzwerken im
Automobil, 2.) Integrations- und Migrationskonzepte für Ethernet/IP-basierte E/E-
Architekturen und 3.) Simulation und Testen von Ethernet/IP-basierten E/E-Architek-
turen gegliedert.
183
A. German Part
Analyse von Bit- und Restfehlerraten Als Restfehler im Bezug auf Kommuni-
kationssysteme werden Fehler in Datenpaketen bezeichnet, welche nicht durch Feh-
lererkennungsmechanismen erkannt werden. Daraus folgt, dass ein fehlerhaftes Paket
an die empfangene Applikation weitergeleitet wird und dies wiederrum kann das Ver-
halten einer Applikation negativ beeinflussen. Methoden zur Bestimmung der Rest-
fehlerrate sind 1.) die direkte Code-Analyse, 2.) die transformierte Code-Analyse, 3.)
der stochastische Automat und die Monte-Carolo Simulation. Die analytischen An-
sätze sind jedoch nur für kleine Paketgrößen effizient berechenbar und die Ergebnisse
der simulativen Ansätze hängen von der Anzahl der simulierten Stichproben im Ver-
gleich zur Anzahl der undetektierbaren Fehler ab. Eine wesentliche Eingangsgröße
für alle Algorithmen ist die Häufigkeit und Verteilung von Bitfehlern. Ohne diese
Eingangsgröße, ist eine Berechnung der Restfehlerwahrscheinlichkeit nicht möglich.
Aus diesem Grund wird in dieser Dissertation ein Konzept entwickelt und implemen-
tiert, um das Auftreten von Bitfehlern für eine bestehende Verbindung zu bestimmen.
Zudem werden die Restfehlerraten in Abhängigkeit der eingesetzten Fehlererken-
nungsmechanismen von Ethernet, IP und UDP ermittelt. Für kritische Verlegewege
werden Fahrzeugmessungen durchgeführt, um isolierte Bitfehler und deren Vertei-
lungen aufzeigen. Darüber hinaus wird dargestellt, dass während der gesamten Mes-
sungen kein einziger Restfehler aufgetreten ist.
184
geswitchten Ethernet-Netzwerken kommen Paket-basierte Synchronisationsmecha-
nismen zum Einsatz, um eine globale Zeitbasis zu etablieren. Typische Algorith-
men sind IEEE 1588-2002 [IEE02], IEEE 1588-2008 [IEE08a] und IEEE 802.1AS
[IEE10b]. Die Genauigkeit dieser Algorithmen hängt stark von der Genauigkeit der
eingesetzten Oszillatoren ab. Bis heute wurden diese Algorithmen überwiegend in
Umgebungen wie Rechenzentren oder PCs eingesetzt, wo stabile Temperaturbedin-
gungen vorherrschen. Um die Einsetzbarkeit solcher Algorithmen in Fahrzeugumge-
bungen sicherstellen zu können, wird in dieser Dissertation die Synchronisationsge-
nauigkeit für IEEE 802.1AS für verändernde Temperaturbedingungen evaluiert. Hier-
zu wird ein IEEE 802.1AS Netzwerk eingerichtet, um die Synchronisationsgenauig-
keit für unterschiedliche Temperaturbedingungen messen zu können. Es wird aufge-
zeigt, dass der eingesetzte Paket-basierte Algorithmus mit Temperaturveränderungen
zurecht kommt. Sogar beim Einsatz von Schock-Klimaschränke zur raschen Ände-
rung der Umgebungstemperatur. Die Ergebnisse der Temperaturmessungen wurden
in [KZS+ 11•] veröffentlicht.
185
A. German Part
Durch den Einsatz einer neuen Kommunikationstechnologie wie Ethernet und IP wer-
den zwingend Gateway-Konzept benötigt, um Kommunikation ins Restfahrzeugnetz
ermöglichen zu können. Zudem können auf lange Sicht sogar Ersetzungsstrategien
zum Einsatz kommen, welche heutige Kommunikationssysteme durch Ethernet und
IP ersetzen. Die Beiträge, um ein bestehendes Fahrzeugnetz mit Ethernet und IP ver-
binden zu können und die Möglichkeit der Ersetzung von etablierten Kommunikati-
onssystemen werden im Folgenden vorgestellt.
186
eine Ethernet-Verbindung im gleichen Verbauraum verlegt ist. Diese Dissertation prä-
sentiert zwei Konzepte für die Ersetzung von CAN oder FlexRay durch Ethernet
und IP. Die zu untersuchenden Hauptunterschiede sind hierbei die Adressierung, das
Sendeverhalten und die Paketgröße der unterschiedlichen Technologien. Im Fall von
CAN wird eine Referenzumsetzung bestehend aus einer Eins-zu-Eins Abbildung mit
einem evolutionären und einem Regel-basierten Ansatz verglichen, um die Abbil-
dung der CAN-Nachrichten in Ethernet-Pakete zu optimieren. Alle Ansätze funktio-
nierten hierbei automatisiert und werden für reelle Kommunikationsbeschreibungen
angewendet. Im Fall von FlexRay kommen virtuelle Netzwerke zum Einsatz, um die
Adressierungsproblematik zu lösen. Bei der Paketierung wird zwischen einem An-
satz basierend auf einem FlexRay-Zyklus und einem Ansatz über mehreren Zyklen
hinweg unterschieden. Kommunikation über mehrere Zyklen hinweg wird typischer-
weise für Transportprotokolle genutzt, um große Mengen von Daten übertragen zu
können. Für beide Technologien wird aufgezeigt, dass eine Ersetzung durch Ether-
net und IP möglich ist. Zudem werden detaillierte Vergleiche zwischen den Ansätzen
vorgestellt. Zielgrößen sind hierbei die durchschnittliche Anzahl an Nachrichten pro
Paket, das Verhältnis zwischen Paketkopf und Paketnutzdaten oder die notwendi-
gen Datenraten im Ethernet-Verbund. Hierbei kommen wiederrum reale Netzwerk-
beschreibungen zum Einsatz. Die Ergebnisse wurden in [KST11•] veröffentlicht.
187
A. German Part
188
Beiträge zur grundlegenden Technologieabsicherung von Ethernet/IP-
basierten Kommunikationsnetzwerken im Automobil Um Ethernet als ei-
ne zusätzliche Kommunikationstechnologie für die Vernetzung innerhalb eines Fahr-
zeugs einsetzen zu können, müssen grundlegende Anforderungen im Automobilbe-
reich erfüllt werden. Kapitel 2 beschrieb hierzu Konzepte 1.) zur Bestimmung der
Bit- und Restfehlerrate von Ethernet-Verbindungen, 2.) zur Messung der Synchroni-
sationsgenauigkeit von Paket-basierten Synchronisationsalgorithmen und 3.) zur Op-
timierung der Sendedatenrate beim Einsatz von günstigen Ressourcen-beschränkten
Prozessoren. Im Bereich der Fehlerratenanalyse wurde ein Konzept zur Ermittlung
der Fehlerraten für Ethernet-PHYs entwickelt. Das Ziel war hierbei die Bestimmung
der Bit-, Paket- und Restfehlerraten für unterschiedliche Fehlererkennungsmechanis-
men. Darüber hinaus wurden die Bitfehlerverteilung und die Anzahl der Bitfehler pro
Paket bestimmt. Die durchgeführten BCI- und Fahrzeugmessungen zeigten neuartige
Bit- und Paketfehlerergebnisse für gegebene Ethernet-PHY Umsetzungen. Um die
erhöhten Temperaturanforderungen im Automobilbereich erfüllen zu können wurde
ein Konzept zur Bestimmung der Synchronisationsgenauigkeit für variierende Tem-
peraturbedingungen vorgestellt. Für die Messungen kamen Industrieklimaschränke
zum Einsatz. Die Synchronisation der Endknoten wurde mittels IEEE 802.1AS und
Ethernet als Kommunikationstechnologie durchgeführt. Über mehrere Tage hinweg
ergaben gründliche Messungen eine beachtliche Menge von Ergebnissen welche auf-
zeigten, dass IEEE 802.1AS mit veränderlichen Temperaturbedingungen keine Pro-
bleme aufweist. Der Temperaturbereich für die Messungen bewegte sich zwischen
−10 °C und +70 °C. Abschließend wurden Messungen in Schock-Klimaschränken
durchgeführt, welche eine rapide Temperaturveränderung von 80 Kelvin in weniger
als 5 Sekunden ermöglichten. In Summe konnte somit gezeigt werden, dass Ether-
net in der Lage ist synchronisierte Uhren im Nanosekundenbereich anzubieten. Des
Weiteren wurde ein Konzept vorgestellt, welches die Sendedatenrate eines Ethernet-
fähigen Steuergerätes optimierte. Unterschiedliche Varianten nutzen Softwareanpas-
sungen und zusätzliche Hardwareunterstützung zur Steigerung der Sendeleistung. Es
konnte aufgezeigt werden, dass ein Ethernet-fähiges Steuergerät mit einem 85 MHz
FPGA-Prozessor eine Datenrate von knapp 1 GBit/s unterstützen kann.
189
A. German Part
190
Kapitel vier Konzepte für die Verbindung und Ersetzung von etablierten Kommunika-
tionstechnologien mit Ethernet und IP erarbeitet. Prototypische Implementierungen
bestätigten die technische Umsetzbarkeit, welche sogar in einem aktuellen E-Klasse
Fahrzeug gezeigt wurde.
191
A. German Part
192
Netzwerke eine wichtige Rolle beim Entwurf eines Netzwerks. Typische Regelsys-
teme fordern in der Regel definierte Höchstgrenzen für die Übermittlungszeit inner-
halb des Netzwerks. Somit ist sicherzustellen, dass weder Paketverlust noch eine
Überschreitung der maximalen Übertragungsdauer auftritt. Einen detaillierten Über-
blick über die zeitliche Analyse von bestehenden Kommunikationstechnologien ist
in [ST12] beschrieben.
193
Bibliography
[BGH+ 10] Roland Bless, Gerrit Grotewold, Christian Haas, Boris Hackstein, Ste-
fan Hofmann, Anke Jentzsch, Alexander Kiening, Christoph Krauß,
Julian Lamberty, Michael Müter, Peter Schoo, Lars Völker, and
Christoph Werle. A Security Model for Future Vehicular Electronic
Infrastructures. In Proceedings of 8th Embedded Security in Cars Con-
ference (ESCAR2010), Bremen, Germany, November 2010.
[BGNV09] Jeff Burch, Kenneth Green, John Nakulsko, and Dieter Vook. Verifying
the Performance of Transparent Clocks in PTP Systems. In Proceedings
195
Bibliography
[BH07] Josef Börcsök and H.-T. Hannen. Determination of Bit Error and
Residual Error Rates for Safety Critical Comunication. In Proceed-
ings of the 2nd International Conference on Systems (ICONS2007),
Sainte-Luce, Martinique, April 2007.
[CAG05] Stuart Cheshire, Bernard Aboba, and Eric Guttman. Request for Com-
ments 3927 – Dynamic Configuration of IPv4 Link-Local Addresses.
The Internet Engineering Task Force (IETF), Fremont, USA, May
2005.
[CK11a] Stuart Cheshire and Marc Krochmal. Internet Draft Expires June 11,
2012 – DNS-Based Service Discovery. The Internet Engineering Task
Force (IETF), Fremont, USA, December 2011.
196
Bibliography
[CK11b] Stuart Cheshire and Marc Krochmal. Internet Draft Expires June 11,
2012 – Multicast DNS. The Internet Engineering Task Force (IETF),
Fremont, USA, December 2011.
[CL07] Jonathan Chao and Bin Liu. High Performance Switches and Routers.
John Wiley & Sons, Hoboken, USA, 1st edition, 2007.
[EFH+ 08] John Eidson, Andrew Fernandez, Bruce Hamilton, Jad Naous, and Di-
eter Vook. Spider Transparent Clock. In Proceedings of the IEEE Inter-
national Symposium on Precision Clock Synchronization for Measure-
ment, Control and Communication (ISPCS2008), Ann Arbor, USA,
pages 7 – 11, September 2008.
[FFM+ 07] Paolo Ferrari, Alessandra Flamini, Daniele Maroli, Stefano Rinaldi,
and Andrea Taroni. Synchronization of the Probes of a Distributed
Instrument for Real-Time Ethernet Networks. In Proceedings of the
IEEE International Symposium on Precision Clock Synchronization
for Measurement, Control and Communication (ISPCS2007), Vienna,
Austria, pages 33 – 40, October 2007.
197
Bibliography
[GGT09] Geoffrey Garner, Aaron Gelter, and Michael Johas Teener. New Sim-
ulation and Test Results for IEEE 802.1AS Timing Performance. In
Proceedings of the International IEEE Symposium on Precision Clock
Synchronization for Measurement, Control and Communication (IS-
PCS2009), Brecia, Italy, pages 1 – 7, October 2009.
[IEE06] IEEE 802.1Q-2005. IEEE Standard for Local and Metropolitan Area
Network – Virtual Bridged Local Area Networks. The Institute of Elec-
trical and Electronics Engineers, Inc., New York, USA, May 2006.
198
Bibliography
[IEE08b] IEEE 802.3. IEEE Standard for Local and Metropolitan Area Network
– Telecommunications and Information Exchange between Systems –
Local and Metropolitan Area Networks – Part3: Carrier Sense Mul-
tiple Access with Collision Detection (CSMA/CD) Access Method and
Physical Layer Specifications. The Institute of Electrical and Electron-
ics Engineers, Inc., New York, USA, December 2008.
[IEE10a] IEEE 1901-2010. IEEE Standard for Broadband over Power Line Net-
works: Medium Access Control and Physical Layer Specifications. The
Institute of Electrical and Electronics Engineers, Inc., New York, USA,
December 2010.
[IEE11a] IEEE 1722. IEEE Standard for Layer 2 Transport Protocol for Time-
Sensitive Applications in Bridged Local Area Networks. The Institute
of Electrical and Electronics Engineers, Inc., New York, USA, May
2011.
[IEE11b] IEEE 802.1Q-2011. Media Access Control (MAC) Bridges and Virtual
Bridge Local Area Networks. The Institute of Electrical and Electronics
Engineers, Inc., New York, USA, August 2011.
199
Bibliography
[JO11] Markus Joachim and Kenneth Orlando. Ethernet for Backbone and
Control Applications. In Proceedings of 1st Ethernet&IP@Automotive
Day, Munich, Germany, November 2011.
200
Bibliography
[KKM+ 11] Bernd Körber, Ronny Kunz, Norman Müller, Matthias Trebeck, and
Tom Wunderlich. Methodologies for EMC Optimization of Automotive
Ethernet Systems. In Proceedings of 1st Ethernet&IP@Automotive
Day, Munich, Germany, November 2011.
[KKS+ 10] Christoph Krauß, Alexander Kiening, Peter Schoo, Roland Bless,
Christoph Werle, and Christian Haas. Towards Secure Integration of
IP into Vehicles. In Proceedings of Automotive Safety & Security,
Stuttgart, Germany, January 2010.
[Koo02] Philip Koopman. 32-Bit Cyclic Redundancy Codes for Internet Appli-
cations. In Proceedings of the International Conference on Dependable
Systems and Networks (DSN2002), Bethesda, USA, June 2002.
[Kre11] Nick Kreifeldt. AVB and the New Converged Backbone. In Proceedings
of 1st Ethernet&IP@Automotive Day, Munich, Germany, November
2011.
[LGRT11] Martin Lukasiewycz, Michael Glaß, Felix Reimann, and Jürgen Teich.
Opt4J: A Modular Framework for Meta-Heuristic Optimization. In
GECCO, pages 1723–1730, 2011.
[LIN10] LIN Consortium. LIN Specification Package – Revision 2.2. LIN Ad-
ministration – Altran GmbH & Co. KG, München, Germany, Decem-
ber 2010.
[LKVZ11] Hyuang-Taek Lim, Benjamin Krebs, Lars Völker, and Peter Zahrer.
Performance Evaluation of the Inter-Domain Communication in a
Switched Ethernet Based In-Car Network. In Proceedings of 36th
201
Bibliography
[Mat11] Kirsten Matheus. 1st Ethernet & IP Automotive Techday. BMW, Mu-
nich, Germany, November 2011.
[Met94] Robert Metcalfe. How Ethernet Was Invented. IEEE Annals of the
History of Computing, Volume 16, No. 4, page 84 and following pages,
1994.
[MPSH07] Tina Mattes, Jörg Pfahler, Frank Schiller, and Thomas Honold. Anal-
ysis of Combinations of CRC in Industrial Communication. In Pro-
ceedings of the 26th International Conference on Computer Safety,
Reliability, and Security (SAFECOMP2007), Nuremberg, Germany,
September 2007.
[MSM+ 08] Tina Mattes, Frank Schiller, Annemarie Mörwald, Jörg Pfahler, and
Thomas Honold. Safety Proof of Combinations of CRC for Industrial
Communication. In the Journal of Applied Computer Science, Vol. 16
No. 1, pp. 15 – 32, 2008.
202
Bibliography
[Nöb11] Josef Nöbauer. Migration from MOST and FlexRay Based Net-
works to Ethernet by Maintaining QoS. In Proceedings of 1st Eth-
ernet&IP@Automotive Day, Munich, Germany, November 2011.
[OV05] Alberto Ornaghi and Marco Valleri. Ettercap Release NG-0.7.3, May
2005. http://ettercap.sourceforge.net/.
[Pet62] Carl Adam Petri. Kommunikation mit Automaten. PhD thesis, Darm-
stadt University of Technology, Germany, 1962.
[Pos80] Jon Postel. Request for Comments 768 – User Datagram Protocol
(UDP). Information Science Institute – University of Southern Cali-
fornia, Marina del Rey, USA, August 1980.
[Pow11] Scott Powell. Ethernet Physical Layer Alternatives for Automotive Ap-
plications. In Proceedings of 1st Ethernet&IP@Automotive Day, Mu-
nich, Germany, November 2011.
[Rec08] Jöerg Rech. Ethernet – Technologien und Protokolle für die Comput-
ervernetzung. Heise Zeitschriften Verlag GmbH & Co. KG, Hamburg,
Germany, 2nd edition, 2008.
203
Bibliography
[Req81a] Request for Comments 791. Internet Protocol Version 4 – Darpa In-
ternet Program Protocol Specification (IPv4). Information Science
Institute – University of Southern California, Marina del Rey, USA,
September 1981.
[RK06] Justin Ray and Philip Koopman. Efficient High Hamming Distance
CRCs for Embedded Networks. In Proceedings of the International
Conference Dependable Systems and Networks (DSN2006), Philadel-
phia, USA, June 2006.
204
Bibliography
[SBLS11] Thilo Streichert, Stefan Buntz, Helmut Leier, and Stefan Schmerler.
Short and Long Term Perspective for Ethernet for Vehicle-internal
Communication. In Proceedings of 1st Ethernet&IP@Automotive Day,
Munich, Germany, November 2011.
[SM05] Frank Schiller and Tina Mattes. An Efficient Method to Evaluate CRC-
Polynomials for Safety-Critical Industrial Communication. In Proceed-
ings of the 11th International Conference on System Modelling and
Control (SMC2005), Zakopane, Poland, 2005.
205
Bibliography
[TG08] Michael Johas Teener and Geoffrey Garner. Overview and Timing
Performance of IEEE802.1AS. In Proceedings of the IEEE Interna-
tional Symposium on Precision Clock Synchronization for Measure-
ment, Control and Communication (ISPCS2008), Ann Arbor, USA,
pages 49 – 53, September 2008.
[Vec09] Vector Technical Article. The Optimal Operating System for FlexRay-
based Applications. In Proceedings of Elektronik Automotive 9/2009,
September 2009.
[Völ11] Lars Völker. One for All – Interoperability from AUTOSAR to Genivi.
In Proceedings of 1st Ethernet&IP@Automotive Day, Munich, Ger-
many, November 2011.
[Zim80] Hubert Zimmermann. OSI Reference Model – The OSI Model of Archi-
tecture for Open Systems Interconnection. In Proceedings of the IEEE
Transactions on Communications, Volume 28, No. 4, pages 425 – 432,
April 1980.
206
Bibliography
[ZM07] Jian Zhang and Andrew Moore. Traffic trace artifacts due to monitor-
ing via port mirroring. In Workshop on End-to-End Monitoring Tech-
niques and Services (E2EMON2007), Munich, Germany, May 2007.
207
Author’s Own Publications
[Ker08•] Andreas Kern. Theoretische und experimentelle Analyse des Internet-
Protokolls als Kommunikationsmedium im Automobil. Diplomar-
beit, Lehrstuhl für Informatik 12 – Hardware-Software-Co-Design,
Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen, Ger-
many, December 2008.
[KRST11•] Andreas Kern, Dominik Reinhard, Thilo Streichert, and Jürgen Te-
ich. Gateway Strategies for Embedding of Automotive CAN-frames into
Ethernet-packets and Vice Versa. In Proceedings of the Architecture of
Computing Systems (ARCS2011), Como, Italy, February 2011.
[KSG+ 11•] Andreas Kern, Thilo Streichert, Nandhini Ganesan, Josef Nöbauer, and
Helge Zinner. FlexRay/Ethernet Transport Protocol Concept. IEEE
1722 Working Group Contribution, September 2011.
[KSS+ 10•] Andreas Kern, Christoph Schmutzler, Thilo Streichert, Michael Hüb-
ner, and Jürgen Teich. Network Bandwidth Optimization of Ethernet-
based Streaming Applications in Automotive Embedded Systems. In
Proceedings of the International Conference on Computer Communi-
cation Networks (ICCCN2010), Zurich, Switzerland, August 2010.
[KST11•] Andreas Kern, Thilo Streichert, and Jürgen Teich. An Automated Data
Structure Migration Concept – From CAN to Ethernet/IP in Automotive
Embedded Systems (CANoverIP). In Proceedings of the Design, Au-
tomation, and Test in Europe Conference and Exhibition (DATE2011),
Grenoble, France, March 2011.
[KSZ11•] Andreas Kern, Thilo Streichert, and Hongyan Zhang. Verfahren zum
Mitlesen und Versenden von Nachrichten sowie zur Simulation eines
209
Author’s Own Publications
[KZS+ 11•] Andreas Kern, Helge Zinner, Thilo Streichert, Josef Nöbauer, and Jür-
gen Teich. Accuracy of Ethernet AVB Time Synchronization Under
Varying Temperature Conditions for Automotive Networks. In Proceed-
ings of the Design Automation Conference (DAC2011), San Diego,
USA, June 2011.
[KZST11•] Andreas Kern, Hongyan Zhang, Thilo Streichert, and Jürgen Teich.
Testing Switched Ethernet Networks in Automotive Embedded Systems.
In Proceedings of the International Symposium on Industrial Embed-
ded Systems (SIES011), Västerås, Sweden, June 2011.
[RKH+ 10•] Felix Reimann, Andreas Kern, Christian Haubelt, Thilo Streichert, and
Jürgen Teich. Echtzeitanalyse Ethernet-basierter E/E-Architekturen im
Automobil. In Proceedings of the Automotive meets Electronics Con-
ference (AME2010), Dortmund, Germany, April 2010.
[SKB+ 10•] Thilo Streichert, Andreas Kern, Stefan Buntz, Helmut Leier, and Ste-
fan Schmerler. Ethernet/IP in E/E-Architectures – Motivation, Ap-
plications, and Current State. In Proceedings of Hanser ProductDay
Automotive Networks and Software Architectures, Stuttgart, Germany,
November 2010.
[SKB+ 11•] Thilo Streichert, Andreas Kern, Stefan Buntz, Helmut Leier, and Stefan
Schmerler. Ethernet for Vehicle-internal Communication – Motivation,
Application Scenarios and Current State. At the Freescale Technology
Forum – Americas (FTF2011), San Antonio, USA, June 2011.
210
Acronyms
ACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acknowledgment
ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analogue Digital Converter
AFDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Avionics Full-Duplex Switched Ethernet
API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Programming Interface
ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Address Resolution Protocol
AUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attachment Unit Interface
AVB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Audio Video Bridging
BCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bulk Current Injection
BE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bit Error
BER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bit Error Rate
BMCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Best Master Clock Algorithm
CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Controller Area Network
CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Communication Controller
CM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Master
COTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commercial Off The Shelf
CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Central Processing Unit
CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cyclic Redundancy Check
CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Slave
CSMA/CA . . . . . . . . . . . . . . . . . . . Carrier Sense Multiple Access Collision Avoidance
CSMA/CD . . . . . . . . . . . . . . . . . . . Carrier Sense Multiple Access Collision Detection
CSMA/CR . . . . . . . . . . . . . . . . . . . Carrier Sense Multiple Access Collision Resolution
DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digital Analogue Converter
DB-DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Double Buffer Direct Memory Access
DDR-RAM . . . . . . . . . . . . . . . . . . . . . . . . . Double Data Rate Random Access Memory
DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Discrete Event Simulation
DLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Data Length Code
DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dynamic Link Library
211
Acronyms
212
OEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Original Equipment Manufacturer
OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating System
OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Open Systems Interconnection
PDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Data Unit
PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Packet Error
PER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Packet Error Rate
PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Layer
PLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Layer Signaling
PMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Medium Attachment
PTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Precision Time Protocol
QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quality of Service
RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Random Access Memory
RER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Residual Error Rate
RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request For Comment
RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remote Procedure Call
RPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Residual Paket Error
RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Round Robin
RX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Receive
SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simple Network Management Protocol
SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service Discovery
SG-DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scatter Gather Direct Memory Access
SoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System on Chip
SOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Start Of Production
SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Static Random Access Memory
STP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shielded Twisted Pair
STQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shielded Twisted Quad
SWC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Component
SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronization
TCIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tightly Coupled Instruction Memory
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transmission Control Protocol
TDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Division Multiple Access
TOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type Of Service
TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time To Life
TX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transmit
213
Acronyms
214
Symbols
α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cycle time factor
beth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet throughput
bip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP throughput
bud p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UDP throughput
bs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . buffer size
bt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . buffer timeout
d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . data vector
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECU
E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of ECUs
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . error vector
ECUrx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of receivers
ECUtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of transmitters
f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . frame
F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of frames
F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . function
i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . index/position
l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . length/size
p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .packet
P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of packets
Pbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bit error probability
Pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . residual error probability
s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . signal
S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of signals
t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . point at time or timestamp
t ct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cycle time
t cta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cycle time active
t dt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delay time
215
Symbols
t o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . time offset
⊕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XOR
216
Index
accuracy history, 13
synchronization, 41 standards, 14
AVB, 18 Ethernet-Test-Switch, 155
Ethernet/IP
bit error, 21
requirements, 12
bit error rate, 21
gateway, 90
concept
CAN/Ethernet, 91
error detection, 27
FlexRay/AVB, 105
conclusion, 171
contributions, 5 IEEE
definition 1588-2002, 43
bit error, 21 1588-2008, 44
bit error rate, 21 802.1, 18
error types, 32 802.1AS, 44
packet error, 21 1722, 18
packet error rate, 22 IP, 16
residual error, 21 measurement
residual error probability, 22 BCI, 33
residual error rate, 22
optimization
error rate
throughput, 58
determination, 21
error types, 32 packet error, 21
Ethernet packet error rate, 22
AVB, 18 protocol
217
Index
IEEE 1722, 18
TCP, 18
UDP, 17
replacement, 121
CAN, 121
FlexRay, 133
residual error, 21
residual error probability, 22
residual error rate, 22
simulation, 147
restbus, 155
synchronization
physical-shared, 41
switched-networks, 43
TCP, 18
UDP, 17
218
Curriculum Vitae
In 2003, Andreas Kern started his studies in Com-
puter Science at the Friedrich Alexander Univer-
sity of Erlangen-Nuremberg, Germany. After do-
ing his diploma thesis at Daimler AG in Sindelfin-
gen, Germany, he received his diploma in 2008.
During his studies, he worked as a student as-
sistant and tutor in the department of Hardware-
Software-Co-Design. From 2009 to 2011, Andreas Kern was a researcher and indus-
trial PhD candidate at the Daimler AG in Sindelfingen, Germany, in cooperation with
the department of Computer Science at the University of Erlangen-Nuremberg. Since
the end of 2011, Andreas Kern is working at the centre of research and innovations
of BMW in Munich, Germany.
219