Формат пакета
Version 1 (Dmitry Smekhov, 02/26/2012 10:32 pm)
1 | 1 | h1. Формат пакета |
|
---|---|---|---|
2 | 1 | ||
3 | 1 | Существуют три типа пакетов: |
|
4 | 1 | * служебный пакет - длиной 2 слова |
|
5 | 1 | * пакет с данными - длиной 260 слов |
|
6 | 1 | * пакет IDLE - для выполнения CLOCK CORRECTION |
|
7 | 1 | ||
8 | 1 | Кодировка 64/67 предусматривает передачу двух дополнительных бит для каждого 64-х битного слова. Дополнительные биты обозначаются HEADER, возможны два значения: |
|
9 | 1 | * 01 - служебное слово |
|
10 | 1 | * 10 - слово данных |
|
11 | 1 | ||
12 | 1 | В описании пакетов используются 32-х разрядные слова. |
|
13 | 1 | ||
14 | 1 | *Служебный пакет* |
|
15 | 1 | ||
16 | 1 | |_. Номер |_.Header|_. Обозначение |_. Описание | |
|
17 | 1 | | 0 | 01 | CMD | слово команды - нет данных | |
|
18 | 1 | | 1 | 01 | CRC1 | контрольная сумма | |
|
19 | 1 | ||
20 | 1 | ||
21 | 1 | *Пакет с данными* |
|
22 | 1 | ||
23 | 1 | |_. Номер |_.Header|_. Обозначение |_. Описание | |
|
24 | 1 | | 0 | 01 |CMD1 | слово команды - начало пакета | |
|
25 | 1 | | 1 | 01 |CRC1 | контрольная сумма 1 | |
|
26 | 1 | | 257-2 | 10 |DATA | блок данных - 256 слов | |
|
27 | 1 | | 258 | 01 |CMD2 | слово команды - конец пакета | |
|
28 | 1 | | 259 | 01 |CRC2 | контрольная сумма 2 | |
|
29 | 1 | ||
30 | 1 | *Слово команды* |
|
31 | 1 | ||
32 | 1 | |_. Бит |_. Обозначение |_. Описание | |
|
33 | 1 | |31..28| SIG| 0x0B - сигнатура | |
|
34 | 1 | |27 |SOF| 1 - начало пакета | |
|
35 | 1 | |26 |EOF| 1 - конец пакета | |
|
36 | 1 | |25 |TX_ENABLE| 1 - разрешение передачи по обратному каналу | |
|
37 | 1 | |24 |PKG_EVEN|флаг чётный/нечётный пакет | |
|
38 | 1 | |23..22 | BUF_NUM|номер буфера | |
|
39 | 1 | |21 | IDLE | 1 - пустой пакет | |
|
40 | 1 | |20 | - | | |
|
41 | 1 | |19..16 | RM_FLAG_BUF| флаги заполнения буферов приёма | |
|
42 | 1 | |15..0 | - | | |
|
43 | 1 | ||
44 | 1 | *Примечания* |
|
45 | 1 | * Пакет IDLE - это служебный пакет, в котором установлен бит IDLE=1; Все остальные поля в слове должны игнорироваться. |
|
46 | 1 | * CMD1 - это слово с установленным битом SOF - признак начала пакета. |
|
47 | 1 | * CMD2 - это слово с установленным битом EOF - признак конца пакета. |
|
48 | 1 | * CRC1 - это контрольная сумма, включает только слово CMD |
|
49 | 1 | * CRC2 - это вторая контрольная сумма для пакета с данными, включает CMD1, CRC1, блок данных, CMD2 |