Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

usb_2.0_english

.pdf
Скачиваний:
42
Добавлен:
03.05.2015
Размер:
5.98 Mб
Скачать

Universal Serial Bus Specification Revision 2.0

2) Normal: full-speed bus transaction crosses microframe boundary

 

 

HUB

Full-speed

Host

 

device

 

SS: start-split buffer status

(toggle)

 

(toggle)

 

CS: complete-split buffer status

0

 

 

0

st1

SSPLIT

SS = Free

 

uFrame M

 

 

 

st2

IN

Create SS entry with status = Pending

 

 

 

 

 

 

IN

 

 

 

 

 

Create CS entry

uFrame M + 1

 

 

 

SS = Free

 

 

 

 

 

ct1

CSPLIT

 

Create CS[1] entry

 

 

 

 

ct2

IN

 

 

uFrame M + 2

 

 

 

Send data in CS[0] with

 

 

 

 

 

 

MDATA

cd2

MDATA

 

 

 

 

0

ch4

 

 

CS[0] = Old/more data

 

 

 

 

 

 

 

 

Create CS[2] entry

 

ct1

CSPLIT

 

 

uFrame M + 3

ct2

IN

 

 

 

 

 

0

ch4

ct1

uFrame M + 4

ct2

Send data in CS[1] with

MDATA

MDATA

cd2

 

CS[1] = Old/more data

CSPLIT

IN

DATA0

CS[0] = Ready/more-data

CS[1] = Ready/more-data

CS[2] = Ready/last-data

Send data in CS[2] with

DATA0

DATA0

cd1

 

CS[2] = Old/last data

0

ch1

543

 

Universal Serial Bus Specification Revision 2.0

3) HS SSPLIT corrupted

 

Host

 

HUB

 

SS: start-split buffer status

(toggle)

 

 

CS: complete-split buffer status

0

 

 

st1

SSPLIT

SS = Free

uFrame M

Trans_err

 

Ignore SSPLIT

st2

IN

Ignore IN

 

 

 

 

No SS entry created

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Search not complete in time

Timeout ce7

Err_count = 1 -> ce3

Immediate retry CS

ct1 CSPLIT

ct2 IN No split response found

ch4

NYET

If not last CS ch3

If last CS ce6

uFrame M + 3

Full-speed device

(toggle)

0

544

Universal Serial Bus Specification Revision 2.0

4) IN after HS SSPLIT corrupted

Host

HUB

Full-speed

SS: start-split buffer status

device

(toggle)

CS: complete-split buffer status

(toggle)

0

 

 

 

st1 SSPLIT

SS = Free

 

uFrame M

 

 

st2

 

 

IN

se1

 

 

No SS entry created

 

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Search not complete in

time

Timeout ce7 Err_count = 1 -> ce3 Immediate retry CS

ct1 CSPLIT

ct2 IN

No split response found

ch4

NYET

If not last CS ch3

If last CS ce6

uFrame M + 3

545

Universal Serial Bus Specification Revision 2.0

5) HS CSPLIT corrupted

 

Host

HUB

SS: start-split buffer status

(toggle)

CS: complete-split buffer status

0

 

st1 SSPLIT

SS = Free

uFrame M

 

st2

 

IN

Create SS entry with status = Pending

 

 

IN

 

Create CS entry

 

SS = Free

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Timeout ce7

Err_count = 1 -> ce3

Immediate retry CS

DATA0

CS = Ready/last data

IN is ignored

No response is given

ct1

CSPLIT

 

ct2

IN

 

ch1

cd1

Send last data with

DATA0

 

DATA0

 

 

 

CS = Old/last data

uFrame M + 3

Full-speed device

(toggle)

0

546

Universal Serial Bus Specification Revision 2.0

6) Consecutive HS CSPLIT corrupted

Host

(toggle)

0

st1 SSPLIT

uFrame M

st2

IN

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Timeout ce7

Err_count = 1 -> ce3

Immediate retry CS

ct1 CSPLIT

ct2 IN

Timeout ce7

Err_count = 2 -> ce3

Immediate retry CS

ct1 CSPLIT

ct2 IN

Timeout ce7

Err_count = 3 -> ce4

Record error

Go to next cmd

HUB

SS: start-split buffer status

CS: complete-split buffer status

SS = Free

Create SS entry with status = Pending

IN

Create CS entry

SS = Free

DATA0

CS = Ready/last data

IN is ignored

No response is given

IN is ignored

No response is given

IN is ignored

No response is given

Full-speed device

(toggle)

0

547

Universal Serial Bus Specification Revision 2.0

7) HS IN corrupted

Host

(toggle)

0

st1 SSPLIT

uFrame M

st2

IN

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Timeout ce7

Err_count = 1 -> ce3

Immediate retry CS

ct1 CSPLIT

ct2 IN

DATA0

HUB

SS: start-split buffer status

CS: complete-split buffer status

SS = Free

Create SS entry with status = Pending

IN

Create CS entry

SS = Free

DATA0

CS = Ready/last data

ce1

timeout

No response is given

Send last data with

DATA0

CS = Old/last data

uFrame M + 3

Full-speed device

(toggle)

0

548

Universal Serial Bus Specification Revision 2.0

8) Consecutive HS IN corrupted

Host

(toggle)

0

st1 SSPLIT

uFrame M

st2 IN

uFrame M + 1

ct1 CSPLIT

ct2 IN

uFrame M + 2

Timeout ce7

Err_count = 1 -> ce3

Immediate retry CS

HUB

SS: start-split buffer status

CS: complete-split buffer status

SS = Free

Create SS entry with status = Pending

IN

Create CS entry

SS = Free

DATA0

CS = Ready/last data

ce1

timeout

No response is given

ct1 CSPLIT

ct2 IN ce1

timeout

Timeout ce7

No response is given

Err_count = 2 -> ce3 Immediate retry CS

ct1

CSPLIT

 

 

ct2

IN

ce1

 

 

 

 

 

timeout

 

 

 

Timeout ce7

 

No response is given

Err_count = 3 -> ce4

 

 

Record error

 

 

Go to next cmd

 

 

 

 

 

 

Full-speed device

(toggle)

0

549

Universal Serial Bus Specification Revision 2.0

9) HS data corrupted (case 1)

Host

 

HUB

 

SS: start-split buffer status

(toggle)

 

 

CS: complete-split buffer status

0

 

 

st1 SSPLIT

SS = Free

uFrame M

 

 

st2

IN

 

 

Create SS entry with status = Pending

 

 

 

 

IN

 

 

Create CS entry

 

 

SS = Free

uFrame M + 1

 

DATA0

 

CS = Ready/last data

 

 

ct1

CSPLIT

 

ct2

IN

 

uFrame M + 2

 

Send last data with

 

cd1

 

DATA0

DATA0

CS = Old/last data

CRC error ce5

HC rejects data

And advances

uFrame M + 3

Full-speed device

(toggle)

0

550

Universal Serial Bus Specification Revision 2.0

10) HS data corrupted (case 2)

Host

 

 

HUB

 

 

SS: start-split buffer status

(toggle)

 

 

 

 

CS: complete-split buffer status

0

 

 

 

 

 

st1 SSPLIT

SS = Free

uFrame M

st2

 

 

 

 

 

IN

Create SS entry with status = Pending

 

 

 

 

 

 

IN

 

 

 

Create CS entry

uFrame M + 1

 

 

SS = Free

 

 

 

 

 

 

Create CS[1] entry

 

ct1

CSPLIT

 

 

ct2

IN

 

uFrame M + 2

 

 

 

 

 

MDATA

cd2

 

 

Send begin-data in CS[0]

 

 

 

with MDATA

 

CRC error ce5

CS[0] = Old/begin data

 

HC rejects data

 

 

 

TAdvance

 

 

 

 

Implementor can decide

 

 

 

what to do on the

 

 

 

continuing full-speed bus

 

 

 

Any way the data here is

 

 

 

useless

Full-speed device

(toggle)

DATA0

CS[0] = Ready/begin-data

551

Universal Serial Bus Specification Revision 2.0

11) TT has more data than HC expects

Host

(toggle)

0

uFrame M

uFrame M + 1

uFrame M + 2

uFrame M + 3

uFrame M + 4

st1 SSPLIT

st2

IN

ct1 CSPLIT ct2 IN

MDATA

ch4

ct1 CSPLIT ct2 IN

MDATA

ch4

ct1 CSPLIT ct2 IN

HUB

Full-speed

device

SS: start-split buffer status

CS: complete-split buffer status

(toggle)

SS = Free

 

Create SS entry with status = Pending

 

IN

 

Create CS entry

 

SS = Free

DATA0

 

CS[0] = Ready/more-data

Create CS[1] entry

 

Send begin-data in CS[0]

cd2

with MDATA

 

CS[0] = Old/more data

 

CS[1] = Ready/more-data

 

Create CS[2] entry

 

Send mid-data in CS[1]

 

with MDATA

cd2

CS[1] = Old/more data

 

CS[2] = Ready/more-data

CS[3] = Ready/last-data

Send mid-data in CS[2] with MDATA

MDATA cd1

CS[2] = Old/more data

HC has sent the last CS, but it receives MDATA, so something goes wrong -> ce8

CS[3] = Old/last-data

552

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]