Files
templates/doc/setcan/protocan/OAP.md

3.4 KiB
Raw Blame History

Общее адресное пространство

Статус: Stable, данные ведутся в XLSX
Порядок значений: 16-битные регистры, little-endian в CAN payload

Редактируемый источник реестра: Протокол CAN и ОАП.xlsx.

Просматриваемая большая таблица находится в Протокол CAN и ОАП.html и Протокол CAN и ОАП.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 считаются представлением.