Ir al contenido

rbAmp STD — technical reference

Full technical reference for the rbAmp STD module line: register map, transports, commands, measurement and energy model, firmware update, diagnostics and host integration.

Register-map version 0x36.

This reference describes the firmware core shared by every STD module. Members: STD-UI1 (1 voltage + 1 current channel) and STD-U3I3 (3 voltage + 3 current channels, three-phase). They run the same map and differ only in N_VOLTAGE / N_CURRENT and the variant code, so everything here is written generically by channel count.


Contents

# File Covers
1 Identity & discovery magic, versions, capabilities, variant codes, channel counts, UID, board id
2 I²C transport 16-bit pointer, read/write sequences, clock stretching, address change
3 Modbus RTU transport framing, profiles, register spaces, exceptions, UNLOCK, behaviour rules
4 Register map every block with address, type, units, scale, access
5 Commands command register, busy/result semantics, error codes, gating
6 Data-ready output & events DRDY contract, WIN_SEQ, event flags, thresholds, alarm
7 Measurement & energy model windows, units, energy counters, history, event log, time
8 Configuration, persistence & calibration what survives reset/power-off, how to save, user-visible calibration
9 Firmware update host-side OTA protocol over I²C and Modbus
10 Diagnostics status flags, reset cause, counters, health checklist, LEDs
11 Hardware interface signals, wiring, interface mode switch, DRDY, reset
12 Host integration raw register sequences without our libraries; library pointers
13 Sequences canonical step-by-step flows: init, commands, config, address change, energy, history, OTA, unlock

Conventions used throughout

  • Addresses. I²C register addresses are 16-bit, written 0xNNNN. Modbus register addresses are a separate namespace (see Modbus transport); a Modbus address never equals "the I²C address of the same value" — mapping tables are given explicitly.
  • Byte order. Multi-byte values on I²C are little-endian. On Modbus the native profile is big-endian word order ABCD (configurable), the SDM profile is always ABCD.
  • Units (fixed-scale integers, never float, on I²C and the Modbus native profile):
Quantity Unit To SI
Voltage mV ÷1000 → V
Current µA ÷1 000 000 → A
Active power mW (signed) ÷1000 → W
Reactive power mvar (signed) ÷1000 → var
Apparent power mVA ÷1000 → VA
Power factor Q10 (signed) ÷1024 → PF
Frequency cHz ÷100 → Hz
Cumulative energy Wh / varh (i64, signed) and mWh (i64); µWh (i64) and µvarh (i64) counters —
Voltage phase angle centi-degree (i16, signed) ÷100 → °
Per-window energy mW·samples (i64, signed) see measurement model
THD centi-percent ÷100 → %
  • Signs. P > 0 = import (consumption); export is negative. Q follows IEC 62053-23 (Q > 0 inductive). PF carries the sign of P. Import/export energy is kept in separate counters.
  • Sentinels — per transport. A field a given build does not offer reads, on the Modbus native profile, a sentinel: 0x8000 (i16), 0x80000000 (i32), 0xFFFF (u16); in the SDM profile it reads 0; on I²C such fields simply read 0, and unmapped I²C addresses read 0xFF.
  • Gating rule. A master must gate channel access on N_VOLTAGE / N_CURRENT and feature access on CAPABILITIES — registers of channels ≥ N and of absent features are not data.