FLEXRAY AND ITS APPLICATIONS REAL TIME MULTIPLEXED NETWORK Dominique Paret dpconsulting, Paris, France Translated by Bill Chilcott Fellow of the Institute of Translation and Interpreting Claygate, Esher, UK WILEY A John Wiley &. Sons, Ltd., Publication
ISO Preface xiii List of Abbreviations xvii Part A 'SECURE REAL TIME' APPLICATIONS 1 Reminders about the CAN Protocol 3 1.1 The Limitations of CAN 3 1.2 'EventTriggered' and 'TimeTriggered' Aspects 4 1.2.1 The Probabilistic Side of CAN 4 1.2.2 The Deterministic Side ofapplications 5 2 The TTCAN Protocol 7 2.1 TTCAN 118984 7 2.2 Session Layer 8 2.3 Principle of Operation of TTCAN 8 3 Emergence of 'XbyWire' Systems 11 3.1 High Throughput and XbyWire 11 3.2 Redundancy 11 3.3 HighLevel Application Requirements 13 3.3.1 The Number of Communication Systems is Growing 13 3.3.2 The Electronic Architecture Must be Common to Several Vehicle Platforms 13 3.3.3 Some Things the Architecture of the Communication Network and the Nodes Must Allow 14 3.4 HighLevel Functional Requirements 14 3.4.1 Speed of Communication 14 3.4.2 Physical Layer 15 3.4.3 Access to and Management of the Medium 15 3.4.4 Synchronisation Method 15 3.4.5 Network Topologies 16 3.4.6 Requirements at System Level 16
Channels, What's vi Part B THE FLEXRAY CONCEPT AND ITS COMMUNICATION PROTOCOL 4 The Genesis of FlexRay 19 4.1 The TTP/C Protocol 19 4.2 FlexRay 20 4.2.1 The Genesis offlexray 20 4.3 The FlexRay Consortium 20 4.4 The Aim of FlexRay 23 4.4.1 A Flex(ible) Configuration 23 4.4.2 Solutions 23 5 FlexRay and Real Time 29 5.1 Physical Time 29 5.2 Local Time 30 5.2.1 Local Clock 30 5.2.2 'Clock Tick' and Microticks 30 5.2.3 In Practice 31 5.3 Global View at Network Level Global Time 32 5.3.1 Concept of Global Time 32 5.3.2 Macrotick (MT) 33 5.3.3 And the Bit Time Happening to it Inside There? 35 5.4 Summarising: Time and its Hierarchies in FlexRay 36 6 The FlexRay Protocol 41 6.1 History 41 6.2 General Cycles, Segments and Slots 41 6.2.1 Philosophy of the Protocol 42 6.2.2 Hierarchy and Overall Form offlexray Communication 43 6.3 Channels and Cycles 44 6.3.1 Communication Channel(s) 44 6.3.2 Communication Cycle 44 6.4 Segments 47 6.4.1 A Little Philosophy about Static and Dynamic Segments and Their Purposes 48 6.4.2 Slots and Minislots 49 6.4.3 Static Segments and Slots 53 6.4.4 Dynamic Segments and Minislots 55 6.4.5 Summary 57 6.5 Communication Frames 57 6.5.1 Overview of Frames 58 6.5.2 Common Constituent Parts of Static and Dynamic Frames 58 6.5.3 Encapsulation and Coding of Frames of Logical Data 6.5.4... in Slots and Minislots 62 for Frames which are Transported during Static and Dynamic Segments 64
Network Example Application vii 6.6 'SW Symbol Window' Segment 74 6.7 'NIT Idle Time' Segment 76 7 Access to the Physical Layer 77 7.1 Definition of Tasks 77 7.2 Execution of the Communication Cycle 80 7.3 Frame ID (11 Bits) 80 7.4 Arbitration Grid Level 81 7.4.1 Basic Concepts 82 7.4.2 Policy for Access to the Medium 82 7.5 Conditions of Transmission and Access to the Medium during the Static Segment 83 7.6 Conditions of Transmission and Access to the Medium during the Dynamic Segment 84 7.6.1 Access to the Medium during the Dynamic Segment 1 87 7.6.2 Particular, Difficult Choice of Hierarchy of Frame ID Example 2 88 7.7 Similarity of the Use of the Dynamic Segment to the Network Access of the CAN Protocol 88 7.8 Some Additions in the Case of FlexRay Being Used with Two Channels 89 Appendices of Part B 91 Appendix Bl Examples of Applications 93 The BMW X5 (Development Code L6) 93 A Little Strategy 93 Global View of the Parameters of the FlexRay System 95 Desired Functional Parameters 96 Static Segment 96 Dynamic Segment 97 Description and Justification of the Implemented Choice 97 General Composition of the FlexRay Communication Cycle 97 Details of the Parameters of the FlexRay System under Consideration 97 Appendix B2 Scheduling Problems of the FlexRay Protocol to Static and Dynamic Segments 103 Introduction 103 Problems of 'Real Time' Systems 104 Concepts of Reactive Systems and Time Constraints 104 Real Time Systems and Their Classification 104 Complexity ofdistributed Real Time Systems 106 Characteristics and Advantages of Distributed Systems 106 Heterogeneity in Distributed Real Time Systems 106 FlexRay 108
viii Scheduling Real Time Systems 109 Scheduling and Analysis ofschedulability 109 Class of a Scheduling Problem 110 Different Approaches to Real Time Scheduling 113 ClockDriven Scheduling 114 Round Robin Scheduling 114 Scheduling Based on Priorities 114 Workload Requested by a Synchronous Task 7} 115 Scheduling in SingleProcessor Systems 116 ClockDriven Scheduling 116 Algorithms Based on Priorities 116 Algorithms with Fixed Priorities 116 WorstCase Scenarios and Feasibility Tests in NonPreemptive FP Scheduling 117 Algorithms with Dynamic Priorities 119 Scheduling Communications in Distributed Systems 120 Problem of Task Allocation in a Distributed System 121 Scheduling Communications 121 ClockDriven Approach in Communications 122 Approach Based on Fixed Priorities in Communications 124 Scheduling Communications in FlexRay 125 Policy of Assigning Priorities 126 Class of Scheduling Problem 127 Scheduling Algorithm 128 Conclusion 129 Part C THE FLEXRAY PHYSICAL LAYER 8 Creation and Transmission (Tx) of the FlexRay Signal 135 8.1 Creation of the Signal 135 8.1.1 Bit Encoding 135 8.1.2 Bit Rate 135 8.1.3 The Communication Controller (CC) 136 8.2 Physical Representation of Bits 136 8.2.1 Differential Voltage on the Medium 137 8.3 Line Driver 'Tx' 138 8.3.1 Rise Time/Fall Time 138 8.3.2 Impedance Matching 139 8.3.3 'Ringing' 139 8.3.4 EMC Filtering 141 8.3.5 Electrostatic Discharge (ESD) Protection 142 9 Medium, Topology and Transport of the FlexRay Signal 143 9.1 Medium 143 9.1.1 General 143
ix 9.1.2 Conventional Propagation of the Signal on the Network 144 9.1.3 Total Distances Used or Wanted on the Network or between Nodes 145 9.2 Effects Linked to Propagation 146 9.2.1 Propagation Delay Time 146 9.2.2 Symmetrical Effects 146 9.2.3 Reflection, Matching 147 9.3 Topologies and Consequences for Network Performance 147 9.3.1 First, a Little Light on the Obscurity of the Vocabulary 148 93.2 Effects and Consequences of the Topology of a Network on its Performance 148 9.3.3 Distances between Two Elements 149 9.3.4 Distances between Several Nodes 149 9.3.5 Relationships between Topologies, Electromagnetic Compatibility (EMC) and Electrostatic Discharge (ESD) 150 9.3.6 Integrity of the Signal 150 9.4 SingleChannel, DualChannel and MultiChannel Communication Topologies 151 9.4.1 Topology of Systems of SingleChannel Type 151 9.4.2 Topology of Systems of DualChannel Type 152 9.5 The FlexRay Topologies 153 9.5.1 PointtoPoint Link 154 9.5.2 Link Using a Passive Linear Bus 154 9.5.3 Link Using a Passive Linear Bus with Stubs 155 9.5.4 A Star is Born!... Linkage by Star 156 9.6 Examples of Topologies 159 9.6.1 Example of Application for a 'BrakebyWire' Solution 159 10 Reception of the FlexRay Signal 165 10.1 Signal Reception Stage 165 10.1.1 Triggering Threshold 165 10.1.2 Unique Effects at the Start of Transmission and/or Reception of Frames 167 10.1.3 Summary of the Effects of Truncation of the Complete Chain from Tx to Rx 169 10.2 Processing of the Received Signal by the Communication Controller 170 10.2.1 Acquisition of the Binary Flow 172 10.2.2 Suppression of Disturbance/Noise 173 10.2.3 Binary Alignment 173 11 The Bit Error Rate (BER) 175 11.1 Integrity of Signal and BER 175 11.2 Eye Diagram 175 11.2.1 Brief Reminder 176 11.2.2 Jitter 176
X 11.3 Relationship between the Integrity of the Signal, the Eye Diagram andtheber 180 11.3.1 BER 180 11.3.2 Calculating the BER 181 11.3.3 Bathtub Curve and BER 183 12 Modelling and Simulating the Performance of a Network 185 12.1 Modelling and Simulating the Performance of a Network and its Topology 185 12.2 Modelling the Elements of the Network 185 12.2.1 Simulation Models 186 12.2.2 The Line Driver/Transceiver 186 12.2.3 The Communication Line 186 12.2.4 The EMC Filtering Dual Inductors 187 12.2.5 Back to Reality 187 12.3 Simulation 188 12.3.1 Visit Monte Carlo, its Rock, its Casino and its Method 189 12.3.2 Examples of Performance and Recommended Topologies 190 13 Summary on the Physical Layer of FlexRay 193 Part D SYNCHRONISATION AND GLOBAL TIME 14 Communication Cycle, Macrotick and Microtick 197 14.1 The FlexRay Time Hierarchy 197 14.1.1 Communication Cycle 197 14.1.2 Macrotick 197 14.2 Synchronisation in a Network of TDMAFlexRay Type 198 14.2.1 Statement of the Problem and Requirements to be Satisfied 198 14.2.2 Requirements to be Met 201 14.3 Proposed Solution to the Problem 202 14.3.1 Introduction: Forewarned is Almost Cured 203 14.3.2 Description of the Chosen Method of Ensuring Time Synchronisation ofthe Nodes of the Network 203 14.3.3 'All in One' Measurement 209 14.3.4 Calculating the Corrective Values of Offset and Rate 211 14.4 Application and Implementation of Corrective Values 214 14.4.1 Offset and Offset Correction 214 14.4.2 Rate and Rate Correction 216 14.4.3 Where, When, How to Apply the Corrections? 216 14.5 Summary 218 14.5.1 Supplementary Note: Example of Time Hierarchy 219 15 Network Wakeup, Network Startup and Error Management 223 15.1 Network Wakeup Phase 223 15.1.1 Node Wakeup Procedure 223
TimeTriggered TimeTriggered WUP xi 15.1.2 Wakeup Frame Wakeup Pattern 224 15.2 Network Startup Phase 225 15.3 Error Management 226 15.3.1 'Never Give Up'Strategy 226 7 5.3.2 Error Management 221 15.3.3 States of the Protocol 228 15.3.4 Errors on the Channels and Communication Frames 229 16 FlexRay v3.0 231 16.1 Protocol Enhancements 231 16.1.1 TTL 16.1.2 TTE Local Master Synchronisation 233 External Synchronisation 233 16.2 Physical Layer Enhancements 235 16.2.1 From Network Implementation to Signal Integrity Focus 235 16.2.2 Signal Integrity Improvements 236 16.2.3 Timing Improvements 237 16.2.4 Wakeup During Operation 238 16.2.5 Interoperability of Different EPL Versions 238 16.3 FlexRay and ISO 239 16.4 FlexRay in Other Industries 240 Part E ARCHITECTURE OF A NODE, COMPONENTS AND DEVELOPMENT AID TOOLS 17 Architecture of a FlexRay Node 245 17.1 The Major Components of a Node 245 17.2 Architecture of the Processor and Protocol Manager 245 18 Electronic Components for the FlexRay Network 249 18.1 The Component Range 249 18.1.1 FlexRay Protocol Manager 250 18.1.2 Line Drivers and Active Stars 252 18.2 EMC and EMC Measurements 263 18.3 Protection from ESD 265 18.4 Conformity Tests 265 18.5 Bus Guardian 267 19 Tools for Development, Integration, Analysis and Testing 271 19.1 The VShaped Development Cycle 271 19.2 DaVinci Network Designer (Point 1 of the V Cycle) 271 19.3 CANoe.FlexRay 273 19.3.1 Modelling, Simulation (Point 2 of the V Cycle) 273 19.3.2 Integration (Point 4 of the V Cycle) 274 19.4 FlexRay CANalyzer (Covers Points 2, 4 and 5 of the V Cycle) 276 19.5 Test and Diagnostics (Point 6 of the V Cycle) 277 19.6 Features of the FlexRay Protocol 278
xii 19.7 Communication Interface 280 79.7.7 CANoe Real Time 281 79.7.2 FlexRayStress 282 79.7.3 CANape FlexRay 282 20 Implementation of FlexRay Communication in Automotive Logic Controllers 283 20.1 FlexRay and AUTOSAR 283 20.2 The AUTOSAR Partnership 284 20.3 Communication in an AUTOSAR System 284 20.3.1 Functional Analysis, Virtual Function Bus 285 20.3.2 Passing from Virtual to Real 286 20.3.3 AUTOSAR FlexRay Communication Stack 287 Appendix of Part E 291 21 Conclusion 297 Appendix 1 The Official Documents 299 Appendix 2 Principal Parameters of the FlexRay Protocol 301 Bibliography 311 Index 313