A Formal Model: Media Access Control and Frame and Symbol - - PowerPoint PPT Presentation

a formal model media access control and frame and symbol
SMART_READER_LITE
LIVE PREVIEW

A Formal Model: Media Access Control and Frame and Symbol - - PowerPoint PPT Presentation

A Formal Model: Media Access Control and Frame and Symbol Processing FlexRay Seminar Peter Bhm, 21.10.2005 Overview The Model Architecture Clock Synchronization Schedule Main Theorem Proof of Theorem Peter Bhm 2


slide-1
SLIDE 1

A Formal Model: Media Access Control and Frame and Symbol Processing

FlexRay Seminar Peter Böhm, 21.10.2005

slide-2
SLIDE 2

Peter Böhm 21.10.2005

Overview

  • The Model
  • Architecture
  • Clock Synchronization
  • Schedule
  • Main Theorem
  • Proof of Theorem

2

slide-3
SLIDE 3

Peter Böhm 21.10.2005

Motivation

  • formal model for FlexRay like bus interface
  • integration of serial interface into bus interface
  • omit all features related to fault-tolerance
  • differences within:
  • clock synchronization
  • schedule

3

slide-4
SLIDE 4

Peter Böhm 21.10.2005

Architecture

  • bus with n electronic control units (ECU):

ECUu with u ∈ [1:n]

  • ECU connected to bus interface via I/O-ports:
  • control and status port (c/s)
  • data port (data)
  • configuration port (config)
  • bus interface:
  • send (sb) and receive buffer (rb)
  • configuration
  • timer
  • serial interface

4

ECUu bus interface c/s data config rb sb serial interface config timer

slide-5
SLIDE 5

Peter Böhm 21.10.2005

Buffers

  • accessed via data port
  • 2 pointers: sbp into sb, rbp into rb
  • writing to data port:
  • data to address sbp in sb
  • increment sbp

➡ successive writes fill the send buffer

  • reading from data port:
  • read from address rbp in rb
  • increment rbp

➡ successive reads read out receive buffer

5

slide-6
SLIDE 6

Peter Böhm 21.10.2005

Timer

  • hardware timer:
  • incremented every 8 clock ticks
  • correspond to macroticks in FlexRay

➡ simplification

  • function: atiu(t)

atiu(t) = if t ∈ [eu(i), eu(i+1))

eu(i) denotes the i-th rising edge of the local clock

  • timers of different interfaces synchronized by

the clock synchronization

  • local time base for interrupts

6

tiu

i

tiu

i

slide-7
SLIDE 7

Peter Böhm 21.10.2005

Configuration

  • written during startup phase via config port
  • components:
  • u: id of the ECU attached to bus interface
  • S: global schedule
  • wakeup: processor wakeup function
  • wakeup:
  • processor needs time to access the buffers

between transmission times

  • at time wakeup(σ) a timer interrupt is

activated

7

slide-8
SLIDE 8

Peter Böhm 21.10.2005

Configuration

  • S = (ns, ecu, st, mlen)
  • ns: number of slots: σ ∈ [0:ns-1]
  • ecu: ECU sending during slot σ specified by

ecu(σ) ∈ [1:n]

  • st: during slot σ transmission starts at time

st(σ)

  • mlen: mlen(σ) specifies the length of the

message transmitted in slot σ

  • transmission: from st(σ) to wakeup(σ)
  • processor access: from wakeup(σ) to st(σ+1)

8

slide-9
SLIDE 9

Peter Böhm 21.10.2005

Clock Synchronization

  • different to FlexRay
  • simple clock synchronization algorithm
  • reset timers after transmission of last message

within each round

  • sending ECU: timer reset after last FES[0] copy

FES[0]: the last bit of a frame

  • receiver: reset timer 3 clock ticks after sampling
  • f FES[0]
  • Assumption: clock drift bounded by δ

9

slide-10
SLIDE 10

Peter Böhm 21.10.2005

Schedule

  • definition: abstract start time sta(σ)
  • start time if there would be no clock drift

sta(0) = 0 sta(σ+1) = sta(σ) + l + tp(σ) with l = 10*mlen(σ) + 4

  • tp(σ): the timer ticks for ECU to access the serial interface
  • start time with clock drift: st(σ) = sta(σ)*(1+δ)
  • transmission end time: et(σ) = (st(σ)+l)*(1+δ)

10

sta() tp() sta(+1) st() st(+1) et()

slide-11
SLIDE 11

m(0) m(1) m(ns-2) m(ns-1) st(0) st(1) et(0) sync

Peter Böhm 21.10.2005

Schedule

11

slide-12
SLIDE 12

Peter Böhm 21.10.2005

Main Theorem

After message transmission, rbu = sbs for any ECU u and sending ECU s proof outline:

  • 1. proof that timers are bound due to clock

synchronization

  • 2. transmission times of different slots do not
  • verlap

12

slide-13
SLIDE 13

Peter Böhm 21.10.2005

Definition

  • time(v;u,T) := min{ativ(t)|atiu(t) = T}

local time on interface v at local time T on interface u

  • Example:
  • time(u;v,1) = 1, time(u;v,2) = 3
  • time(v;u,1) = 0, time(v;u,2) = 1

13

1 2 3 1 2 atiu ativ

slide-14
SLIDE 14

Peter Böhm 21.10.2005

Lemma 1

For all u,v: time(v;u,0) = 0 Proof: reset of receiver’s timer: str(k) = cy(8*k) + [5:8] +1 ⇔ str(k)+3 = cy(8*k) + [9:12] reset of sender’s timer: 9 clock ticks after first FES[0] copy ⇒ difference < 8 ⇒ time(v;u,0) = 0 for all u,v

14

slide-15
SLIDE 15

1 8*u 8*v t T atiu ativ

Peter Böhm 21.10.2005

Timer Drift

15

timer drift?

slide-16
SLIDE 16

f(x)= (1/8u)*x + g(x)= (1/8v)*x -1 1 > 1 8*u 8*v t T atiu ativ

Peter Böhm 21.10.2005

Timer Drift

16

atiu upper bound by f(x) ativ lower bound by g(x)

timer drift?

slide-17
SLIDE 17

f(x)= (1/8u)*x + g(x)= (1/8v)*x -1 1 > 1 8*u 8*v t T atiu ativ f'(x)= (1/8u)*x g'(x)= (1/8v)*x

Peter Böhm 21.10.2005

Timer Drift

17

atiu upper bound by f(x) ativ lower bound by g(x)

timer drift?

f’(x) = f(x) - β g’(x) = g(x) + 1

slide-18
SLIDE 18

f(x)= (1/8u)*x + g(x)= (1/8v)*x -1 1 > 1 8*u 8*v t T atiu ativ f'(x)= (1/8u)*x g'(x)= (1/8v)*x

Peter Böhm 21.10.2005

Timer Drift

18

atiu upper bound by f(x) ativ lower bound by g(x)

timer drift?

f’(x) = f(x) - β g’(x) = g(x) + 1 β<1 ⇒ |f(x)-g(x)| ≤ |f’(x)-g’(x)|+2 |f’(x)-g’(x)| ≤ δT

slide-19
SLIDE 19

Peter Böhm 21.10.2005

Lemma 2

For all u,v and times T the timer drift is bounded by | time(v;u,T)-T | ≤ T*δ + 2 Proof: Follows from previous arguments

19

slide-20
SLIDE 20

Peter Böhm 21.10.2005

Lemma 3

On any ECU u the serial interface is idle during [et(σ)+3:time(u;ecu(σ+1),st(σ+1))] for sufficient tp(σ) Proof

  • 1. bus idle after et(σ)+3:

from L2 follows time(u;v,T) ≤ (1+δ)*T+2 ⇒ time(u;ecu(σ),st(σ)+l) ≤ (1+δ)*(st(σ)+l)+2 ≤ et(σ)+2 ⇒ et(σ)+3: serial interface is idle

  • 2. et(σ)+3 ≤ time(u;ecu(σ+1),st(σ+1)) for sufficient tp(σ)

easy, but long

20

slide-21
SLIDE 21

Peter Böhm 21.10.2005

Lemma 4

For any ECU u and any t with atiu(t) ∈ [et(σ) + 3: time(u;ecu(σ+1),st(σ+1)] rbu[0:l`-1] = sbecu(σ)[0:l`-1] with l` = mlen(σ) Proof: Follows from Lemma 3 and theorem about serial interface

21

t

8*st(σ)

slide-22
SLIDE 22

Peter Böhm 21.10.2005

  • 6. Proof of Theorem
  • Lemma 2 ⇒ timer drift is bound
  • Lemma 3 ⇒ slots do not overlap
  • Lemma 4 ⇒ rbu = sbs for any u and sender v

22

⇒ Theorem