Flex Ray: Coding and Decoding, Media Access Control, Frame and

64
Flex Ray: Coding and Decoding, Media Access Control, Frame and Symbol Processing Seminar: The FlexRay Communication Protocol Chair of Prof. Dr. W. J. Paul Talk by Michael Gerke 27-9-2005

Transcript of Flex Ray: Coding and Decoding, Media Access Control, Frame and

Flex Ray: Coding and Decoding, Media Access Control,

Frame and Symbol Processing

Seminar: The FlexRay Communication Protocol

Chair of Prof. Dr. W. J. Paul

Talk by Michael Gerke

27-9-2005

Overview

Coding and decoding (CODEC)

Media access control (MAC)

Frame and symbol

processing (FSP)

Bus

Media access control (MAC)

• Interface:

from Controller host interface (Host) to Coding and decoding (CODEC)

• Controls timing

• Orders ENC to sent symbols

Media access control (MAC)• Controls access to the channels

• Guarantees compliance with schedule

time organization

Staticsegment

Dynamicsegment

Symbolwindow

Network idle time

static slotstatic slot

Communication cycle

Media access control (MAC)

Static slot usage:- short idle time

- transfer of the frame

- long idle time

Media access control (MAC)

Assembles frames:

- imports data from controller host interface (Host)

- assembles header

Coding and Decoding

Bit strobing

Encoding Decoding Wakeup symbol decoding

Channel idle

Bus

Encoding (ENC)Frames

Frame coding in static segment

0

1

Transmissionstart

sequenceTSS

Encoding (ENC)Frames

Frame coding in static segment

0

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Encoding (ENC)Frames

Frame coding in static segment

0

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Encoding (ENC)Frames

Frame coding in static segment

0

Byte

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Encoding (ENC)Frames

Frame coding in static segment

0

Byte

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Bytestart

sequenceBSS

Encoding (ENC)Frames

Frame coding in static segment

0

Byte

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Bytestart

sequenceBSS

Byte

Encoding (ENC)Frames

Frame coding in static segment

0

Byte

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Bytestart

sequenceBSS

Byte

Frameend

sequenceFES

Encoding (ENC)Frames

Frame coding in static segment

0

Byte

1

Transmissionstart

sequenceTSS

Framestart

sequenceFSS

Bytestart

sequenceBSS

Bytestart

sequenceBSS

Byte

Frameend

sequenceFES

Encoding (ENC)Symbols

Collision avoidance and

media access test symbol (CAS/MTS):

TSS+030

Wakeup symbol (WUS):

015-60+idle45-180

sent in a wakeup pattern (WUP): WUS2-63

Bit strobing (BITSTRB)

• Takes 8 samples of every bit

• Majority voting over last 5 bit samples

• Selects 1 sample out of 8

• Low level synchronization

Bit strobing: Majority votingMajority voting over last 5 bit samples

0

1

11111voting window 1 voted value

0

1

voted value

from BUS

11110voting window 1 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

11100voting window 1 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

11000voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

11000voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

Voting delay0

1

0

1

voted value

from BUS

10000voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

00000voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

00001voting window 0 voted value

Majority voting over last 5 bit samples

glitch

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

00010voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

glitch

0

1

0

1

voted value

from BUS

00100voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

glitch

0

1

0

1

voted value

from BUS

01000voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

glitch

0

1

0

1

voted value

from BUS

10001voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

glitch

0

1

0

1

voted value

from BUS

00011voting window 0 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

00111voting window 1 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

01111voting window 1 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

11111voting window 1 voted value

Majority voting over last 5 bit samples

Bit strobing: Majority voting

0

1

0

1

voted value

from BUS

Bit strobing: Strobing• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

0

1

voted value

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

0

1

voted value

Strobecounter:

1

1

Bit strobing: Strobing

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

2

1 2

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

3

1 2 3

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

4

1 2 3 4

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

5

1 2 3 4 5

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

5

1 2 3 4 5

Bit strobed: 0

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

6

1 2 3 4 5 6

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

7

1 2 3 4 5 6 7

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

8

1 2 3 4 5 6 7 8

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

1

1 2 3 4 5 6 7 8 1

Bit strobing: Strobing

0

1

• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

1

1 2 3 4 5 6 7

BSS

8 1

Bit strobing: Synchronization

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

2

1 2 3 4 5 6 7

BSS

8 1 2

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

3

1 2 3 4 5 6 7

BSS

8 1 2 3

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

4

1 2 3 4 5 6 7

BSS

8 1 2 3 4

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

5

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

6

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

1

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

2

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

3

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

4

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

5

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4 5

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

6

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4 5 6

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

7

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4 5 6 7

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

8

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4 5 6 7 8

0

1

Bit strobing: Synchronization• Every 5th sample out of the 8 samples „strobed“

• Low-level synchronization of strobecounter in BSS

voted value

Strobecounter:

1

1 2 3 4 5 6 7

BSS

8 1 2 3 4 5 6 1

sync edge

2 3 4 5 6 7 8 1

start of byte

0

1

Wakeup symbol decoding (WUSDEC)

• Waits for a WUP like pattern:

0x+1y+0x

produced by two consecutive WUS

• Reports to protocol operation control(POC)

Channel idle (IDET)

Whenever 111 is received,

a channel idle recognition point (CHIRP)

is reported.

Decoding (DEC)• Handles reception of CAS/MTS and frames

• Interface from BITSTRB to FSP and POC

• Checks for errors Frames:- reassembles the message

- checks format

- checks CRC (frame “fingerprint”)

CAS/MTS:- checks length of

LOW signal

Frame and symbol processing (FSP)

• Interface from DEC to Host

• Controls integrity of communication:- Checks for appropriate segment- Checks length of communication elements- Checks for correct header

• Reports errors

• Dismantles frame and passes on the payload

Questions?

Coding and decoding (CODEC)

Media access control (MAC)

Frame and symbol

processing (FSP)

Bus