From 287ee6e459f974b88d3e4b72f553009f8b77e558 Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Mon, 2 Jan 2023 10:56:27 +0100 Subject: [PATCH] add some documentation --- documents/PowerBoardControl.md | 83 +++++++++++++++++++++++++++++++ documents/TestMBO.md | 0 documents/TestPowerBoard.md | 0 documents/TestPowerDistributor.md | 1 + 4 files changed, 84 insertions(+) create mode 100644 documents/PowerBoardControl.md create mode 100644 documents/TestMBO.md create mode 100644 documents/TestPowerBoard.md diff --git a/documents/PowerBoardControl.md b/documents/PowerBoardControl.md new file mode 100644 index 0000000..8804c01 --- /dev/null +++ b/documents/PowerBoardControl.md @@ -0,0 +1,83 @@ +# Power Board Control Registers + +## Communication + UART, 57600 baud, 8N1 + +## Command format + +Commands consist of 10 letters/digits and a line break. +All numbers are given in hex, either lower or upper case. + + XuuGcRvvvv\n + +* X - command (write: W, read: R, answer: A, scan chain: S) +* uu - Controller (one of four on each power board assembly) +* G - Group (one of four on each board) +* c - Channel (one of two in each group) +* R - Register +* vvvv - 16 Bit value + + + +## Registers + + +| Register | Description | Mode | +|:---------:|--------------------------------------------------------------|:----:| +| 0 | DCDC ON/OFF | | +| 1 | DCDC set voltage adjustment resistors | | +| 2 | Voltage V_in | (RO)| +| 3 | Current C_in | (RO)| +| 4 | Temperature | (RO)| +| 5 | [15:4] Firmware; [3:2] reserved; [1] Switch ; [0] LED | (RO)| +| 6 | Current Offset | | +| 7 | Voltage V_out | (RO)| + + + +### Register 0: on/off + * Bit 0: 1/0 -> channel on/off + * One setting per group, channel ignored + +### Register 1: set voltage + * Bit [2..0]: 0-7 voltage level. + * Each step increases voltage by about 200 mV. + * One setting per group and channel. + + +### Register 2: input voltage + * Input voltage in multiples of 38.6 mV + +### Register 3: input current + * Input current in multiples of 3.1 mA (using an 800mV/A sensor) + * TODO check used current sensor + +### Register 4: temperature + * die temperature of one DCDC converter + * Temperature = ((v*2-250)/9.5)+25 + +### Register 5: info + * Bit [15..4] Firmware Version + +### Register 6: current offset + * correction offset for current measurement. Currently not used + +### Register 7: output voltage + * output voltage of one voltage of each group + * in units of 5 mV + + + +## Command Line Tool +All registers can be read and written using `mdc_powerboard.pl`. + + mdc_powerboard.pl -d DEVICE -b BOARD [-c CHANNEL] [-o OUTPUT] -r REGISTER [-v VALUE] + DEVICE: Network address of device + BOARD: Board number in chain (0..3) + CHANNEL: Channel number (0..3) + OUTPUT: Output number in channel (0..1) + REGISTER: Register to access (number or name) + VALUE: A 16 Bit value, 1-4 hex digits. If set, a write operation is performed, otherwise a read is done + + Register Names: switch, adjust, Vin, Cin, temp, info, Ioffset, Vout + diff --git a/documents/TestMBO.md b/documents/TestMBO.md new file mode 100644 index 0000000..e69de29 diff --git a/documents/TestPowerBoard.md b/documents/TestPowerBoard.md new file mode 100644 index 0000000..e69de29 diff --git a/documents/TestPowerDistributor.md b/documents/TestPowerDistributor.md index 773da5a..2d5c22f 100644 --- a/documents/TestPowerDistributor.md +++ b/documents/TestPowerDistributor.md @@ -14,6 +14,7 @@ Power Distributor Testing * install display * connect LAN cable * put MAC to database file + * serials/serials_powerdistributor.db * test temperature sensor * command: * connect LVDS pulse generator to Reference time connector -- 2.43.0