The FlexRay Protocol Peter Böhm 27.9.05
Overview 1. Introduction 2. Network Topology 3. Nodes 4. Communication Controller 5. Schedule 6. Message Processing 7. Clock Synchronization 8. Wake-up/Start-up 9. Summary Peter Böhm 27.09.05 2
1. Introduction • FlexRay: Communication in distributed systems within automotive context • developed by the FlexRay consortium (BMW, DaimlerChrysler, Motorola, Philips) founded in 1999 • since 1999 many well-known companies joined (e.g. Bosch, GM, VW, Mazda, etc.) • aim: flexible, fault-tolerant communication protocol Peter Böhm 27.09.05 3
2. Network Topology 2 typical network topologies: Node 1 Node 3 Node 5 • star, bus topology or Channel A combination Channel B • max. 2 channels Node 2 Node 4 • optional bus guardians Node 1 Node 5 Node 4 ➡ various, flexible network topologies Star Star B A Node 2 Node 3 Peter Böhm 27.09.05 4
3. Nodes • main interest: communication controller (CC) HOST • CC’s task: COMMUNICATION • interface to host CONTROLLER • message processing Bus Bus • transmission Guardian Guardian • reception • clock synchronization Peter Böhm 27.09.05 5
4. Communication Controller host controller host interface protocol operation control clock synchronization frame and symbol media access control processing (1 per channel) (1 per channel) coding/decoding processes (1 per channel) from channel interface to channel interface Peter Böhm 27.09.05 6
4. Communication Controller • Controller Host Interface: • interface between host and controller • control command interface • message interface • handles configuration and status data • message buffers for reception and transmission • Protocol Operation Control • purpose: react to host commands and protocol conditions • change operation modes of core processes • Clock Synchronization • 3 parts: macrotick generation, clock synchronization and clock synchronization startup • macrotick: smallest synchronized time unit Peter Böhm 27.09.05 7
4. Communication Controller • Media Access Control (Transmission) • schedules the bus write accesses • assembles message header • Frame and Symbol Processing (Reception) • handles received messages • performs timing and error checks; e.g. syntax tests, etc. • Coding/Decoding Processes (Read/Write) • encodes frames for transmission, i.e. each bit 8 times on bus • decodes received frames • appends CRC for transmission • CRC check on received frames Peter Böhm 27.09.05 8
5. Schedule • time-triggered • time-devision multiple access (TDMA) • fixed time intervals for bus writing • fixed assignment: node → intervals ➡ static, deterministic schedule • nodes: only list with own transmission times • different approach: event-triggered • fundamental element: communication cycle • periodically, recurring time unit • whole schedule executed once Peter Böhm 27.09.05 9
5. Schedule: Communication Cycle communication cycle t static symbol network segment window idle time static slot static slot • static slot: • 1 message per static slot • all same length, i.e. same amount of macroticks • TDMA part of schedule • unique, fixed assignment to a node • symbol window: • special messages, called symbols • wake-up symbol • network idle time: • needed for clock synchronization Peter Böhm 27.09.05 10
6. Message Processing Host A (Sender) Host B (Receiver) Payload Payload Controller Host Controller Host Interface Interface Payload Payload Media Access Frame & Symbol Control Processing Header, Header, Payload Payload CRC Append CRC Check Frame Frame Coding Decoding Bits Bits physical bus Peter Böhm 27.09.05 11
7. Clock Synchronization • problem: ➡ physical clocks deviate ➡ TDMA-schedule: consistent view of time required to ensure communication • synchronization of local clock against a fictive global clock • fictive global clock derived from some node’s view of time • FlexRay clock synchronization provides: • ability to use the most accurate clocks for synchronization • fault-tolerance Peter Böhm 27.09.05 12
8. Wake-up/Start-up: Error Model • 3 level error model • active • normal operation • no error state • passive • an error occurred (e.g. clock synchronization failed) • node does not transmit and just listens the bus • trying to reintegrate • halt • entered on host request or a fatal error detection • node completely stops operation Peter Böhm 27.09.05 13
8. Wake-up/Start-up • wake-up/start-up strategy needed after: 1. power-on 2. entering passive mode • power-on: nodes start with non-synchronized clocks • some nodes serve at masters • others adopt their view of time • passive mode: (e.g. due to clock synchronization failure) • node need to reintegrate itself • performs clock synchronization until its view of time is corrected Peter Böhm 27.09.05 14
9. Summary • very flexible network topology ➡ scalable fault-tolerance • time-triggered schedule with no common knowledge • fault-tolerant message transmission with error checks • fault-tolerant clock synchronization • passive mode ➡ self-diagnostic error mechanism with possible reintegration ➡ flexible as well as fault-tolerant communication protocol Peter Böhm 27.09.05 15
Recommend
More recommend