Формат пакета
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 |