throbber
SAE TECHNICAL
`PAPER SERIES
`
`2001-01-0676
`
`FlexRay – The Communication System for
`Advanced Automotive Control Systems
`
`Josef Berwanger, Christian Ebner and Anton Schedl
`BMW AG
`
`Ralf Belschner, Sven Fluhrer and Peter Lohrmann
`DaimlerChrysler AG
`
`Emmerich Fuchs, Dietmar Millinger and Michael Sprachmann
`Dependable Computer Systems KEG
`
`Florian Bogenberger, Gary Hay, Andreas Krüger and Mathias Rausch
`Motorola GmbH
`
`Wolfgang O. Budde, Peter Fuhrmann and Robert Mores
`Philips GmbH
`
`400 Commonwealth Drive, Warrendale, PA 15096-0001 U.S.A.
`
`Tel: (724) 776-4841 Fax: (724) 776-5760
`
`SAE 2001 World Congress
`Detroit, Michigan
`March 5-8, 2001
`
`Page 1 of 14
`
`Mercedes Exhibit 1017
`
`

`
`The appearance of this ISSN code at the bottom of this page indicates SAE’s consent that copies of the
`paper may be made for personal or internal use of specific clients. This consent is given on the condition,
`however, that the copier pay a $7.00 per article copy fee through the Copyright Clearance Center, Inc.
`Operations Center, 222 Rosewood Drive, Danvers, MA 01923 for copying beyond that permitted by Sec-
`tions 107 or 108 of the U.S. Copyright Law. This consent does not extend to other kinds of copying such as
`copying for general distribution, for advertising or promotional purposes, for creating new collective works,
`or for resale.
`
`SAE routinely stocks printed papers for a period of three years following date of publication. Direct your
`orders to SAE Customer Sales and Satisfaction Department.
`
`Quantity reprint rates can be obtained from the Customer Sales and Satisfaction Department.
`
`To request permission to reprint a technical paper or permission to use copyrighted SAE publications in
`other works, contact the SAE Publications Group.
`
`All SAE papers, standards, and selected
`books are abstracted and indexed in the
`Global Mobility Database
`
`No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior written
`permission of the publisher.
`
`ISSN 0148-7191
`Copyright 2001 Society of Automotive Engineers, Inc.
`
`Positions and opinions advanced in this paper are those of the author(s) and not necessarily those of SAE. The author is solely
`responsible for the content of the paper. A process is available by which discussions will be printed with the paper if it is published in
`SAE Transactions. For permission to publish this paper in full or in part, contact the SAE Publications Group.
`
`Persons wishing to submit papers to be considered for presentation or publication through SAE should send the manuscript or a 300
`word abstract of a proposed manuscript to: Secretary, Engineering Meetings Board, SAE.
`
`Printed in USA
`
`Page 2 of 14
`
`

`
`FlexRay – The Communication System for Advanced
`Automotive Control Systems
`
`2001-01-0676
`
`Josef Berwanger, Christian Ebner and Anton Schedl
`BMW AG
`
`Ralf Belschner, Sven Fluhrer and Peter Lohrmann
`DaimlerChrysler AG
`
`Emmerich Fuchs, Dietmar Millinger and Michael Sprachmann
`Dependable Computer Systems KEG
`
`Florian Bogenberger, Gary Hay, Andreas Krüger and Mathias Rausch
`Motorola GmbH
`
`Wolfgang O. Budde, Peter Fuhrmann and Robert Mores
`Philips GmbH
`
`Copyright © 2001 Society of Automotive Engineers, Inc.
`
`ABSTRACT
`
`BMW, DaimlerChrysler, Motorola and Philips present
`their joint development activity related to the FlexRay
`communication system that is intended for distributed
`applications in vehicles. The designated applications for
`powertrain and chassis control place requirements in
`terms of availability, reliability and data bandwidth that
`cannot be met by any product currently available on the
`market under the testing conditions encountered in an
`automobile.
`
`A short look back on events so far is followed by a
`description of the protocol and its first implementation as
`an integrated circuit, as well as its incorporation into a
`complete tool environment.
`
`INTRODUCTION
`
`The CAN bus system has been used by several
`automotive manufacturers since the start of the 1990’s.
`These firms can now look back at over a decade of field
`experience
`in
`event-triggered
`communications
`networking. The complexity of the networking as well as
`the physical transmission technology (physical layer)
`posed particular challenges.
`
`Over the past few years, the research departments at
`DaimlerChrysler have intensified their work on time-
`triggered architectures, with a part of that work being
`carried out for two EU projects which they cooperated on
`
`with other partners (X-By-Wire: Safety Related Fault
`Tolerant Systems in Vehicles, TTA: Time Triggered
`Architecture). In the course of this work, different bus
`systems (including TTP/C /1/, TCN: Train Communication
`Network, TTCAN) were researched and
`tested
`for
`suitability for future applications in automobiles.
`
`In the period from 1996 to 1999, BMW together with
`Motorola, Infineon and ELMOS developed the optical
`data bus system byteflight /4/ /5/ for networking passive
`safety functions. byteflight is a data protocol with high
`data integrity, reliability and malfunction resistance in
`addition to flexible use of bandwidth to allow effective
`diagnosis of the complete system. BMW will start with the
`first series production application in the automotive sector
`within the next year, when it will cover passive safety and
`body functions.
`
`investigations carried out by and experience
`The
`accumulated by DaimlerChrysler and BMW revealed that
`none of the current established or prototype data bus
`systems is able to meet all the requirements for use in
`automotive series production with regards to future
`automobile
`systems.
`In mid-1999, BMW
`and
`DaimlerChrysler decided to work together to speed up
`the specification and development of a future data bus
`system /7/. This joint project resulted in the requirement
`specification for the future FlexRay data bus system. The
`FlexRay requirement documents were handed over to
`major
`semiconductor manufacturers
`for
`further
`implementation.
`
`Page 3 of 14
`
`

`
`the
`to
`regards
`the state variables with
`updates
`synchronized system time. Consequently, sensors can
`be read out and actuators triggered synchronously.
`
`in vehicles -
`Standardization of
`
`the bus systems
`
`Automobile manufacturers tend to use a small number of
`data bus systems that are best suited for the category of
`application at hand. Figure 1 illustrates the orientation
`strategy at DaimlerChrysler and BMW for the field of
`powertrain and chassis bus systems. As before, CAN is
`still the principal basis for event-triggered systems.
`FlexRay will be used as a high-end data bus system for
`applications that place high requirements in terms of
`performance, determinism, fault tolerance and flexibility.
`
`)OH[5D\
`
`&$1
`
`/,1
`
`0267
`
`&RQWURO(cid:3)DQG
`JRYHUQLQJ(cid:3)V\VWHPV
`
`7HOHPDWLFV
`DSSOLFDWLRQV(cid:3)
`
`5HTXLUHPHQWV
`
`Figure 1. Strategy for standardization of bus systems at DC and BMW
`
`is
`OBJECTIVES - The FlexRay data bus system
`currently being developed by Philips (physical layer) and
`Motorola (data link layer) according to the requirements
`established by BMW and DaimlerChrysler. There is no
`interest at any of the involved parties in developing a
`proprietary data bus system. Rather, the goal is for the
`system to be used as widely as possible. The objectives
`are:
`
`•
`
`•
`
`•
`
`FlexRay is a cross-manufacturer bus system for
`high-speed applications.
`Broad use of the data bus system should be
`achieved.
`A declared target is the standardization of the
`protocol.
`
`FlexRay communication technology is available for all
`interested parties.
`
`REQUIREMENTS IN THE VEHICLE
`
`asynchronous
`Configurable
`
`and
`synchronous
`
`
`transmission - In motor vehicles, different systems with
`
`varying requirements are networked with one another.
`Distributed control systems mostly require synchronous
`transmission, while all data which are not needed
`
`MOTIVATION AND OBJECTIVES
`
`MOTIVATION - The in-vehicle data bus systems used
`today
`in automobiles
`for control applications have
`reached
`their performance
`limit. Future automotive
`systems will further increase the requirements placed on
`a communications system. In order to implement these
`future systems, a new data bus system that takes these
`requirements into account must be established.
`
`
`Requirements with regards to higher data transmission
`
`
`
`rates - CAN data bus systems rated for data transmission
`at up to 1 Mbit/sec are already in use today for the
`powertrain and chassis. Due to vehicle-related peripheral
`conditions however, the data transmission rate in series
`production is limited to 500 Kbit/sec. The evolution of
`automotive networking is therefore already reaching its
`performance limit today.
`
`
`Determinism
`today
`- Virtually all systems used
`
`communicate asynchronously, cyclically and/or event
`triggered. Although these systems continue to behave
`deterministically with an increasing bus load, the resulting
`worst-case scenario deteriorates dramatically. This is
`particularly true in the case of faults or malfunctions,
`where messages are re-transmitted.
`In
`the event-
`triggered systems, the activities are triggered by events,
`which are unforeseeable in terms of time. In time-
`triggered systems on the other hand, the activities are
`started at pre-defined points in time. Usually, in a time-
`triggered system new messages overwrite any old
`messages which are still present, so that the system can
`never be overloaded by a rapid succession of events.
`The timing of the message transmission is defined
`statically, so that the communications system has a
`predefined load. Message bursts and the resulting load
`peaks do not occur.
`
`
`Fault tolerance - Future systems face the challenge of
`
`performing complex vehicle functions using fault-tolerant
`electronics. This is particularly true when systems are
`designed without a mechanical
`fail-safe
`level, and
`hydraulics or mechanics are replaced by fault-tolerant
`electronics. The data bus must support the redundancy
`in such as way that data transmission can be sustained
`in the event of a fault. At the bus level, redundancy takes
`the form of increased availability. This makes it possible
`to supply all necessary data to the function without any
`omissions in the event of a fault.
`
`
`Support for distributed controls - Future chassis control
`
`systems will take the form of typical distributed control
`systems. Characteristic problems
`include, amongst
`others, maintenance of the sampling intervals, application
`synchronization as well as the chronological functional
`chain of the distributed closed control circuit. Time-
`triggered types of system architecture are best suited for
`the implementation of distributed controls. They possess
`a globally synchronized time basis. At set times, the
`system makes a snapshot of its environment and
`
`Page 4 of 14
`
`

`
`vehicle and equipment variants place high demands in
`terms of flexible system expandability. Specifically, this
`affects the addition and deletion of control units and
`functions) without being forced to reconfigure unaffected
`bus users. A good system programming interface and
`diagnosis compatibility are essential for effective service
`and early fault detection, and require flexible bandwidth
`usage for the communications system.
`
`FLEXRAY
`
`COMMUNICATION PROCESS - Communication takes
`place in a communication cycle that consists of a static
`and a dynamic part. The border between the static and
`dynamic part can be freely defined before the run- time of
`the system, whereby either part may also be empty. The
`communication cycle begins with a SYNC symbol. The
`time slots are identified by ID numbers that are used for
`both the static and for the dynamic part. Network nodes
`that are connected to both channels send their messages
`in the static part simultaneously on both channels. In the
`dynamic part, there may be differences in the time slots
`on the two channels. In order to guarantee clock
`synchronization, only messages from network nodes
`connected to both channels are used. All network nodes
`perform clock synchronization. However, only selected
`messages from the static part are used for clock
`synchronization.
`
`6* $
`
`6* %
`
`6* &
`
`6* '
`
`6* (
`
`6* )
`
`6* *
`
`channel 1
`
`6<1& V\PERO
`
`channel 2
`
`VORW
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` 
`
`Ed
`
`q
`
`Fd
`
`o
`
`
`
`Ad
`
`m
`
`
`
`AG
`
`O
`
`
`
`N
`
`PHVVDJHV
`FKDQQHO 
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`D
`
`E
`
`F
`
`G
`
`H
`
`I
`
`J
`
`constantly, such as diagnosis and service data, can be
`transmitted more efficiently asynchronously.
`
`
`High transmission bandwidth - The current requirement
`
`for powertrain and chassis applications is approx. 2 Mbit/
`sec, meaning a
`target bandwidth
`for
`the protocol
`definition of 10 Mbit/sec.
`
`
`Deterministic transmission, guaranteed message latency
`
`
`and jitter - To achieve high control quality, distributed
`
`controls in particular require deterministic transmission.
`Deterministic transmission is also beneficial for creating
`redundancies. Any jitter that occurs, i.e. variation in the
`transmission operating time, should be as minimal as
`possible and should not be influenced by the operating
`status (e.g. the bus load).
`
`(scalable)
`Support
`The
`-
`
`redundancies
`of
`
`communications system must be able to be configured
`for simple and for fault-tolerant applications (scalable to
`the greatest possible extent).
`
`
`Fast fault detection and signaling - In fault-tolerant real-
`
`time systems, every fault affecting the function must be
`recognized and processed in the shortest possible time.
`So-called "dormant faults" in fault-tolerant applications
`must be prevented by a suitable means of fault signaling.
`
`
`Global time - In order that synchronous functions can in
`
`the future be implemented in the distributed systems,
`common interpretation of time is necessary. The data
`bus system derives this global time based on the data
`transfer and makes this time available to the individual
`systems. This permits
`the
`local
`times within
`the
`distributed system to be synchronized.
`
`CG
`
`FG
`
`EG
`
`DG
`
`BG
`
`CG
`
`BG
`
`AG
`
`VORW
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Gd
`
`p
`
`
`
`Ad
`
`n
`
`
`O
`
`AG
`
`
`N
`
`CG
`
`
`
`Gd
`
`j
`
`
`
`DG
`
`H
`
`
`G
`
`BG
`
`
`
`CG
`
`L
`
`
`
`BG
`
`K
`
`
`D
`
`AG
`
`PHVVDJHV
`FKDQQHO 
`
`VWDWLF SDUW
`
`G\QDPLF SDUW
`
`FRPPXQLFDWLRQ F\FOH
`
`IUDPH VWDWLF SDUW

`
`,'
`datatype
`sending
`node
`
`,'
`datatype
`sending
`node
`
`IUDPH G\QDPLF SDUW

`
`Figure 2. Bus access according to the priority defined by the identifier
`(ID)
`
`
`Static part - The static part of the transmission cycle is
`
`made up of a freely configurable number of transmitting
`slots of identical length. Bus access takes place using the
`TDMA (Time Division Multiple Access) procedure. Each
`connected node can transmit one or several messages
`synchronously on both channels in slots reserved for it.
`Any data content is permissible. The message identifier
`corresponds to the respective time slot in which the
`
`
`Fault containment on the network via the physical layer -
`
`In the case of fault-tolerant systems, it must be ensured
`that it is not possible for one user to block the
`communications system by monopolizing the network
`(“babbling idiot”). An independent entity ("bus guardian")
`can be used to contain the fault in the time domain if
`necessary.
`
`transmission
`Arbitration-free
`- The stipulation of
`
`
`arbitration-free transmission stems from the requirement
`for higher transmission bandwidth and independence of
`the deterministic characteristics from the network load,
`random events or the topology of dependent influencing
`variables (line lengths).
`
`
`Support of optical and electrical physical layer - The
`
`communications system should support both electrical
`and optical physical layers, in order to meet all current
`and future requirements in the motor vehicle.
`
`in
`Flexibility, expandability and user-configurability
`
`
`
`automotive applications - Ever shortening development
`
`times, quick reaction times to market requirements as
`well as the task of taking into account many different
`
`Page 5 of 14
`
`

`
`message will be transmitted. If a message is not
`transmitted (for instance if a node fails or if an item of
`optional equipment has not been
`fitted),
`then
`the
`corresponding time elapses without being used.
`
`
`Dynamic part - In the dynamic part, transmission takes
`
`place in accordance with the byteflight specification /5/.
`The slot counters
`in all nodes count upwards
`synchronously and bus access follows the mini-slotting
`bus access method. Whereas in the static part, the slot
`counters continue to count until the pre-configured slot
`time has elapsed, the slot counters in the dynamic part
`carry on counting after just a short delay if there is no
`transmission request for the ID concerned. When the slot
`counters reach an identifier value for which there is a
`transmission request, the message is transmitted over
`the bus with this identifier. Both the transmitters and the
`receivers (all bus controllers in the network) stop the slot
`counters at the present value for the duration of the
`transmission. Once transmission is complete, the slot
`counters carry on counting upwards.
`
`
`Message format - The message format is identical for all
`
`messages, in both the static and the dynamic part. When
`a SYNC bit is set, the cycle counter in the first data byte
`is coded. The cycle counter is an 8 bit counter which
`counts
`the communication cycles. This counter
`is
`identical in all nodes throughout the system.
`
`,'
`
`08;
`
`6<1&
`
`/(1 &<&/(
`
`'$7$
`
`&5&
`
`
`
`10 bit
`
`1 bit
`
`1 bit
`
`4 bit
`
`8 bit
`
`0...11 byte
`
`15 bit
`
`1 bit
`
`Figure 3. Frame format with cycle counter (SYNC = "1")
`
`,'
`
`08;
`
`6<1&
`
`/(1
`
`'$7$
`
`&5&
`
`
`
`10 bit
`
`1 bit
`
`1 bit
`
`4 bit
`
`0...12 byte
`
`15 bit
`
`1 bit
`
`Figure 4. Frame format without cycle counter (SYNC = "0")
`
`ID - Identifier, 10 bit, value range: (110 ... 102310), defines
`the slot position in the static part and the priority in the
`dynamic part. The smaller the identifier, the greater the
`priority. ID = 0 is reserved for the SYNC symbol. An
`identifier may only be used once in a network. Each node
`may use one or several identifiers, in the static as well as
`in the dynamic part.
`
`MUX - Multiplex field, 1 bit. This bit allows different data
`to be transmitted with the same identifier.
`
`SYNC - SYNC field, 1 bit. This bit indicates whether the
`message is being used for clock synchronization and
`whether the first data byte contains the cycle counter
`
`(SYNC = “1”: message with frame counter and clock
`synchronization, SYNC = “0”: message without frame
`counter)
`
`LEN - Length field, 4 bit, number of data bytes (010 ...
`1210). A value greater than 12 is interpreted as LEN=12. If
`the cycle counter is used (SYNC=1), LEN=11 is set for
`values greater than 11.
`
`CYCLE - The CYCLE field can be used as a cycle
`counter or as the first data byte. The cycle counter is
`increased in all communication controllers simultaneously
`at the start of every communication cycle.
`
`D0 … D11 - Data bytes, 0 – 12 bytes
`
`CRC - 15 bit cyclic redundancy check.
`
`Startup - The communication system is started up when
`
`
`at least two nodes take part in communication. In a two-
`channel system, only nodes connected to both channels
`may participate in the start-up. Before a node can
`transmit its first message (from the static part) in bus idle
`mode (after power-on or wake-up) it has to wait until the
`startup time-out has elapsed. The startup time-out is
`mainly determined by the cycle length.
`
`If the node receives at least one message (from a node
`that has synchronized itself to the first message), the
`system is enabled for communication. If the node does
`not receive a message from another node within a
`certain period of time (listen time-out), the node will
`retransmit the first message. This procedure ensures
`startup can take place without time-consuming collision
`resolution. A special control makes sure that one
`controller with defective reception (an incoming link
`failure of both channels) cannot disrupt the startup of a
`cluster.
`
`In a purely dynamic system, startup and synchronization
`take place by the predefined bus master transmitting the
`SYNC symbol in accordance with byteflight specification
`/5/. The SYNC symbol corresponds to the time slot and
`ID = 0. Troubleshooting strategies to deal with the failure
`of a bus master must be implemented on the application
`level in a purely dynamic system.
`
`
`Clock synchronization - Clock synchronization in FlexRay
`
`ensures that all communicating nodes in the system have
`a consistent, standardized view of the global time to a
`defined degree of precision. Clock synchronization is
`active as soon as (or as long as) at least two nodes are
`active (i.e. are ready to communicate). The degree of
`fault tolerance in a system with a static portion depends
`on the number of active nodes.
`
`With a system configuration which includes a static part,
`a distributed,
`fault-tolerant
`clock
`synchronization
`algorithm is used following startup. A system with a
`purely dynamic configuration starts off with a master
`
`Page 6 of 14
`
`

`
`synchronization. The synchronization procedure takes
`place in three phases, which are described below.
`
`Measurement of clock deviation - In a system with a
`static portion, the difference between the expected and
`the actual time of reception of selected messages in the
`static part is measured.
`
`Selection of the messages to be measured is carried out
`when designing the system and ensures that for every
`node that transmits in the static part there is exactly one
`measured value. Furthermore, only messages that are
`received correctly within the defined value and time
`range are used for clock synchronization. The result of
`this phase is a sorted list of deviations between the local
`clock time and the clocks of the other active nodes in the
`system.
`
`Calculation of the correction term for the local clock - All
`nodes calculate the correction term for adjusting the local
`clock to the global time based on the list of measured
`values produced at the end of the last static slot. A fault-
`tolerant average algorithm (FTM: Fault Tolerant Midpoint
`/6/) is used for this.
`
`In order to calculate the local correction term, the
`measured deviations are sorted and the k largest and
`smallest values are discarded (Figure 5). The value k
`represents
`the number of
`faulty measured values
`(clocks) which are to be tolerated. The value of k is
`predefined statically. In cases where the number of high
`and low values which can be discarded is less than k, the
`algorithm is executed to a lower level of quality. This
`reduced quality is signaled to the host.
`0HDVXUHG(cid:3)9DOXHV
`(cid:17)(cid:17)(cid:17)
`(cid:20)(cid:24)
`(cid:20)(cid:22)
`(cid:20)(cid:20)
`(cid:17)(cid:17)(cid:17)
`(cid:25)
`(cid:16)(cid:22)
`(cid:16)(cid:24)
`(cid:17)(cid:17)(cid:17)
`
`N(cid:3)VPDOOHVW
`YDOXHV
`
`Figure 5. Clock synchronization algorithm
`
`N(cid:3)ODUJHVW
`YDOXHV
`
`&ORFN
`&RUUHFWLRQ
`7HUP
`
`+
`
`(cid:20)(cid:26)
`(cid:21)
`
` (cid:3)(cid:27)(cid:15)(cid:24)
`
`Of the remaining values, the midpoint of the largest and
`smallest values is derived. The result of this operation
`represents the deviation of the local clock from the global
`time and serves as the basis for correcting the local
`clock.
`
`Correction of the local clock - The correction terms
`calculated by each node for its local clock at the end of
`the communication cycle is then applied in the next
`communication cycle. The correction is distributed evenly
`over the complete communication cycle, eliminating
`instability in the time basis. A correction phase of the
`communication cycle n coincides with the measuring
`phase of the communication cycle n+1, so that the
`stability of the time base continues to be maintained over
`several communication cycles.
`
`External clock synchronization - In addition to internal
`clock synchronization, which synchronizes the nodes of a
`communication network, FlexRay offers the option of
`feeding in an external time base via the local clock of one
`of several nodes. A field to be written by the host is
`provided for this purpose, in which an external correction
`term can be entered from an application. This term
`replaces the calculated local correction term and thereby
`influences the global time basis. Using this mechanism, it
`is possible
`to synchronize
`the global
`time of a
`communication network with an external time base (e.g.,
`with the time base of another communication network or
`with a reference time received via GPS).
`
`SYSTEM CONFIGURATION - The protocol must be
`parameterized before startup. Once in operation, these
`parameters are protected against changes. By adjusting
`the baud rate and cycle time, it is possible to adapt the
`protocol to different applications with different control
`cycles and sample rates. The “slot length” and “number
`of slots” parameters for the static part define the duration
`of the static part in the communication cycle. In the other
`part of the cycle, bus access takes place using the
`dynamic access procedure familiar from byteflight. This
`necessitates the configuration of
`timing parameters
`which determine the length of pauses between frames in
`the dynamic part /4/.
`
`FLEXRAY COMMUNICATION CONTROLLER
`
`is currently preparing a detailed protocol
`Motorola
`specification and is working on a first implementation of a
`FlexRay communication controller, which will be
`evaluated in an FPGA prototyping environment. During
`the last couple of years, Motorola has built a significant
`level of experience and expertise in the field of time-
`triggered and mini-slotting based communication
`architectures.
`Distributed,
`fault-tolerant
`clock
`synchronization and the implementation of the byteflight
`protocol are two examples that will directly flow into the
`development of a FlexRay communication controller.
`
`Page 7 of 14
`
`

`
`This section gives an overview on the Motorola FlexRay
`plans and activities.
`
`PROTOCOL MODELING – FlexRay is a new protocol
`that has been designed based on the knowledge of
`existing solutions (byteflight, TTP). Nevertheless, every
`innovation has a certain potential
`for unexpected
`behaviour. Therefore Motorola decided
`to study
`implementations of the new protocol as early as possible.
`Already during the protocol definition phase Motorola
`started to build a Virtual Prototype, a simulation model of
`a FlexRay controller.
`
`
`Multiple Benefits - A first full-featured protocol model was
`
`ready shortly after the protocol definition was frozen,
`much earlier than an FPGA could have been built. A
`close feedback loop between the modeling team and the
`protocol definition
`team helped
`to discover open
`questions very early in the process.
`
`In parallel to the controller modeling the team started to
`define and develop all kinds of tests: protocol robustness
`tests, scenarios
`to study
`fault
`tolerance, startup
`scenarios, boundary tests going to and beyond the limits
`of different parameters, tests to study different algorithms
`for startup, clock synchronisation, etc. This allowed to
`
`•
`•
`
`•
`
`analyze the characteristics of the FlexRay protocol
`check the controller model’s compliance to the
`protocol specification
`prepare tests for design verification (FPGA and
`silicon)
`
`The model will also serve as an executable specification
`for the FlexRay protocol, which may be distributed as a
`reference model.
`
`
`Modeling Level and Accuracy - The different application
`
`areas of the model have different requirements: Some
`demand high simulation performance while others need
`high accuracy. Motorola tried to fulfill both with an
`enhanced token based approach that allows to model
`effects down to the bit level of the protocol. It runs on a
`high performance event based simulator.
`
`Every frame is represented by a token, so only one event
`is generated to model a complete frame transmission.
`Delays and reaction times are calculated rather than
`simulated. The reduced number of events results in a
`very high simulation performance so that a complete
`FlexRay network with multiple nodes can be simulated.
`Nevertheless, effects on the bit level like bits toggling due
`to transmission errors or noise can be modeled and
`cause the model to behave according to the protocol
`specification. This allows to study a FlexRay based
`system under error conditions, which
`is extremely
`important
`for a protocol
`for dependable control
`applications.
`
`The timing of the model is absolutely accurate with
`regard to the FlexRay protocol. The complete register
`map of the controller is reflected with support of all
`features, so it is possible to use this model for software
`development. Reactions of the model match the timing of
`the protocol spec, so it is possible to track starting times
`of static and dynamic slots as well as the speed and
`correction of each controller’s local synchronised clock.
`
`Major characteristics of the model are
`
`•
`•
`
`•
`•
`•
`
`100% support of protocol functionality
`full
`timing accuracy according
`to
`protocol including clock synchronisation
`support of all controller registers
`high simulation performance
`capability to model various types of faults in the
`system
`
`the FlexRay
`
`The model is used as reference for the controller design
`and therefore is an accurate and verified model of the
`real controller.
`
`BLOCK DIAGRAM - Figure 6 shows a basic block
`diagram of the FlexRay module. The module consists of
`the following high level units: A register block and a
`message buffer interface, together forming the interface
`to the host CPU, a message state machine, a timing unit,
`a CRC unit, and two receive and transmit units, one each
`per channel.
`
`5HJLVWHU %ORFN
`
`0HVVDJH %XIIHU ,QWHUIDFH
`
`3URWRFRO 6WDWH
`0DFKLQH
`
`&5& 8QLW
`
`7LPLQJ 8QLW
`
`5HFHLYH 8QLW
`5HFHLYH 8QLW
` [

`
`7UDQVPLW 8QLW
`7UDQVPLW 8QLW
` [

`
`Figure 6. Communication controller block diagram
`
`
`Register Block - The register block contains control
`
`registers for configuring the FlexRay device and status
`registers for reading back current status information of
`the protocol.
`
`
`Message Buffer Interface - The message buffer interface
`
`is used by the CPU to receive and transmit data. It
`contains a number of buffers with an associated control
`register that allows to configure each buffer individually
`
`Page 8 of 14
`
`

`
`as receive or transmit buffer. Currently, 32 16-byte
`message buffers are planned, although this number is
`subject to change as application requirements become
`clearer. The following section gives more details on the
`message
`buffer
`interface
`and
`the
`associated
`mechanisms.
`
`Protocol State Machine - The protocol state machine is
`
`
`the core of the communication controller. It implements
`the complete protocol
`logic, such as handling of
`messages, establishing
`the communication cycle,
`startup, and error handling.
`
`
`Timing Unit - This unit is responsible for the timing
`
`control of the protocol, including support of the distributed
`clock synchronization.
`
`
`CRC Unit - The CRC unit is used during message
`
`transmission and reception to generate and check the
`CRC checksum of each data frame.
`
`
`Transmit Units - The two transmit units transform the
`
`data contained in a transmit message buffer into a serial
`output stream. The units also encode the data, either in a
`standard serial NRZ 8N1 (8 data bits, no parity, 1 stop
`bit) code, or into a Miller/MFM-based code called Xerxes.
`It shares the distinction of clock points (between bit cells)
`and data points (at the center of bit cells). Xerxes groups
`the bit stream into distinct sequences with different
`coding rules for each:
`
`(a) any number of 1s without 0s (111..11)
`(b) any even number of 1s with a leading 0 and a closing
`0 (011..110)
`(c) any odd number of 1s with a leading 0 and a closing
`0 (011..10)
`(d) a pair of 0s (00)
`
`Subsequences of type (a) are encoded by a transition at
`the data point of each bit cell (standard Miller/MFM
`coding). Type (b) sequences are encoded by transitions
`at the clock points at the beginning of each pair of 1s and
`by a transition at the clock point at the end of the last pair
`of 1s. Subsequences of type (c) are encoded by
`transitions at the clock points at the beginning of each
`pair of 1s and by an additional transition at the data point
`of the last (odd) 1. Finally, subsequences of type (d) are
`encoded by a transition at the clock point at the end of
`each bit cell (standard Miller/MFM coding).
`
`
`Receive Units - The receive units decode the encoded bit
`
`stream and fill the corresponding message buffer with the
`received data.
`
`CPU INTERFACE AND DEVICE CONFIGURATION -
`This section gives an overview of the currently planned
`message buffer interface. Since the message buffers are
`also used to configure the communication cycle, this
`topic is also covered in this section.
`
`
`Interface Structure - At the core of the FlexRay host CPU
`
`interface are a number of message buffers. Each of
`these buffers can be configured as a transmit or as a
`receive buffer through an associated buffer control
`register. As a conventio

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket