57 lines
3.4 KiB
Markdown
57 lines
3.4 KiB
Markdown
# Общее адресное пространство
|
||
|
||
Статус: **Stable, данные ведутся в XLSX**<br>
|
||
Порядок значений: **16-битные регистры, little-endian в CAN payload**
|
||
|
||
Редактируемый источник реестра:
|
||
[`Протокол CAN и ОАП.xlsx`](../Протокол%20CAN%20и%20ОАП.xlsx).
|
||
|
||
Просматриваемая большая таблица находится в
|
||
[`Протокол CAN и ОАП.html`](../Протокол%20CAN%20и%20ОАП.html) и
|
||
[`Протокол CAN и ОАП.md`](../Протокол%20CAN%20и%20ОАП.md).
|
||
|
||
## Назначение
|
||
|
||
ОАП связывает 16-битный адрес регистра с его типом, назначением, доступом и
|
||
масштабом. В ProtoCAN используется `MsgType=0x3`, а `MsgBody` содержит адрес
|
||
первого регистра.
|
||
|
||
## Обязательные поля реестра
|
||
|
||
| Поле | Требование |
|
||
|---|---|
|
||
| AddressHex | `0x0000…0xFFFF`, уникальное значение |
|
||
| AddressDec | десятичный эквивалент AddressHex |
|
||
| Group | функциональная группа |
|
||
| Name | однозначное имя параметра |
|
||
| Type | `u16`, `i16`, `u32`, `i32`, `float32`, bitmap или массив |
|
||
| Registers | число занятых 16-битных регистров |
|
||
| Access | `R`, `W` или `RW` |
|
||
| Unit | физическая единица либо `—` |
|
||
| Scale | множитель/делитель представления |
|
||
| Default | значение после сброса, если применимо |
|
||
| Description | семантика, диапазон и особые значения |
|
||
|
||
## Правила ведения
|
||
|
||
- Адрес не переиспользуется с другим смыслом после выпуска стабильной версии.
|
||
- Многорегистровое значение занимает непрерывный диапазон.
|
||
- Порядок 16-битных слов для 32-битного значения фиксируется в строке типа.
|
||
- Резервные диапазоны явно отмечаются и не используются без изменения версии.
|
||
- Удалённый параметр помечается deprecated, а не исчезает молча.
|
||
- Изменение адреса, типа или масштаба отражается в `CHANGELOG.md`.
|
||
|
||
## Экспорт
|
||
|
||
Для программной генерации каталог следует экспортировать из XLSX в CSV с
|
||
UTF-8 и фиксированными английскими именами колонок. CSV должен проверяться на:
|
||
|
||
- уникальность адресов;
|
||
- пересечение многорегистровых значений;
|
||
- допустимые типы и права доступа;
|
||
- равенство шестнадцатеричного и десятичного адреса;
|
||
- попадание адреса в диапазон `0x0000…0xFFFF`.
|
||
|
||
До появления автоматического экспортёра нормативным источником адресов
|
||
остаётся XLSX, а HTML/Markdown считаются представлением.
|