Appendix: Communication Interface Parameters
Board Level Data Objects
The data objects for the board itself. These objects are to be interpreted at the CPIM1000 level.
|
Index. SubIndex |
Description |
Payload |
Object Type |
Data Type |
Access |
Signed |
|---|---|---|---|---|---|---|
|
1009.00 |
Hardware Version |
Visible String payload consisting the HWVersion |
VAR |
Visible String |
R |
N |
|
100a.00 |
Software Version SHA |
32-byte SHA representing |
ARR[32] |
UINT8 |
R |
N |
|
100a.01 |
Boot version SHA |
32-byte SHA representing the boot version of the CPIM1000 |
ARR[32] |
UINT8 |
R |
N |
|
100a.02 |
Safety Version SHA |
32-byte SHA containing the safety version of the CPIM1000 |
ARR[32] |
UINT8 |
R |
N |
|
100a.03 |
MID Version SHA |
32-byte SHA containing the mid approved lrs version of the CPIM1000 |
ARR[32] |
UINT8 |
R |
N |
|
100a.80 |
Device Identity |
See Device Identity |
ARR[288] |
UINT8 |
R |
Y |
|
40.01 |
Board Status |
See Board Status |
VAR |
UINT32 |
R |
N |
|
40.02 |
Holster Light |
An unsigned 8-bit value controlling the holster light brightness. Off is represented by 0x00 |
VAR |
UINT8 |
W |
N |
|
40.03 |
Board Self Test |
See Board |
VAR |
UINT32 |
R |
N |
|
40.04 |
AC Board Temperature |
VAR |
UINT32 |
R |
N |
|
|
40.05 |
Power Plate Temperature |
VAR |
UINT32 |
R |
N |
|
|
40.0A |
Reset Cause |
32 bit register
Contains a copy of the STM32G473 RCC_CSR Register |
VAR |
UINT32 |
R |
N |
|
40.0B |
Board Voltages 1 |
32 bit register
|
VAR |
UINT32 |
R |
N |
|
N40.0C |
Board Voltages 2 |
32 bit register
|
VAR |
UINT32 |
R |
N |
|
40.0D |
Device ID (DBGMCU _IDCODE) 1 |
32 bit register
Contains the STM32G4 DBGMCU_IDCODE code |
VAR |
UINT32 |
R |
N |
|
40.0E |
Diagnostic Register |
|
VAR |
UINT32 |
W |
N |
|
40.OF |
Manufacturing Info |
This is a 448-byte chunk of flash reserved for manufacturing information |
VAR |
Visible String |
R |
N |
|
40.10 |
Calibration Data |
The calibration data stored in flash memory |
ARR[144] |
UINT8 |
R |
N |
|
40.11 |
Meter Log Rate |
An 8-bit integer that controls the sample rate for the meter log buffer |
VAR |
UINT8 |
W |
N |
|
40.13 |
Thread Flags |
VAR |
UINT8 |
R |
N |
Device Identity
288 byte payload consisting of the following:
-
CPIM1000 Public Key: 64-byte public key of the CPIM1000
-
Payload Signature: 64-byte signature of the Device Identity
-
UDID: 16-byte unique device identifier of the CPIM1000
-
Reserved: 112 bytes reserved, filled with 0’s
-
Boot Version: 32-byte SHA representing the boot version of the CPIM1000
-
App Version: 32-byte SHA representing the software version of the CPIM1000
-
Safety Version: 32-byte SHA containing the safety version of the CPIM1000
-
LRS Version: 32-byte SHA containing the MID
Measuring Instruments Directive approved LRS Hash of the CPIM1000
Board Status
16-bit register as explained in the table below:
|
Bit |
Name |
Meaning |
Status register operation |
AC Board Response |
System Response |
|---|---|---|---|---|---|
|
0
|
BOOT
|
Indicates that the board is booting. This bit clears when the board becomes operational |
|
This is normally transitory. Will not charge when set
|
Information only
|
|
1
|
INIT Err
|
Indicates that an error occurred during initialization
|
|
Will not charge
|
System should read the initialization error register for diagnostics and reboot |
|
2 |
INIT |
Indicates that the firmware is initializing |
|
This is normally transitory. Will not charge when set |
Information only |
|
3 |
STKOVR |
The stack has overflowed |
|
Will not charge |
Reboot required |
|
4 |
CLK Err |
Indicates a Clock error |
|
Will not charge |
Reboot required |
|
5 |
RAM Err |
Indicates a RAM error |
|
Will not charge |
Reboot required |
|
6 |
FLSH Err |
Indicates a Flash error |
|
Will not charge |
Reboot required |
|
7 |
RESERVED |
|
|
|
|
|
9:8 |
PPlate Type |
01 = North America 10 = Europe All other values illegal |
|
N/A |
Verify |
|
10 |
WDMA |
Weld DMA test time out |
|
Will not charge |
Reboot required |
|
11 |
CPU Err |
Periodic cpu test failed |
|
Will not charge |
Reboot required |
|
12 |
Indicates an ADC |
|
Will not charge |
|
|
|
13 |
THREAD |
Safety-critical thread time out |
|
Will not charge |
Log Thread Register; reboot required |
|
14 |
GFERR |
DiffCoil initialization |
|
Will not charge |
Log Thread; May recover |
|
15 |
RESERVED |
|
|
|
|
1 See STM32G4 family reference manual, RM0440, 46.6.1 MCU device ID code
Board Self-Test
An unsigned 8-bit value, indicating which initialization step failed. If the board detects a malfunction during initialization, it will not become operational. This value contains a code that indicates the specific malfunction. This is diagnostic information.
AC Board Temperature Register
32-bit register as explained below:
|
Bit |
Name |
Function |
Details |
|---|---|---|---|
|
31:24 |
RESERVED |
N/A |
N/A |
|
23:16 |
LTMP |
Left AC Path Temp |
See note |
|
15:8 |
RTMP |
Right AC Path Temp |
See note |
|
7:0 |
MTMP |
STM32G temp |
See note |
Note: values are signed 8-bit numbers representing the temperature in °C. Values are clamped to 127 C°.
Power Plate Temperature Register
32-bit register as explained below:
|
Bit |
Name |
Function |
Details |
|---|---|---|---|
|
31:24 |
RESERVED |
N/A |
N/A |
|
23:16 |
Temp 1 |
Power Plate 3 temperature |
See note |
|
15:8 |
Temp 2 |
Power Plate 2 temperature |
See note |
|
7:0 |
Temp 3 |
Power Plate 1 temperature |
See note |
Note: values are signed 8-bit numbers representing the temperature in °C. Values are clamped to 127 C
Thread Flags Register
8-bit register. Gives information on whether independent threads associated with a safety-critical determination are running as expected
|
Bit Number |
Function |
|---|---|
|
0 |
Reserved |
|
1 |
If set, Indicates that the meter process has not completed in 1 second |
|
2 |
If set, Indicates that the pilot process has not completed in 1 second |
|
3 |
If set, Indicates that the diff coil process has not completed in 1 second |
|
4 |
If set, Indicates that the self-tests have not completed in 60 seconds |
|
5 |
Reserved |
|
6 |
Reserved |
|
7 |
Reserved |
Port Level Objects
This section lists the object for the individual ports.
|
Index. SubIndex |
Description |
Payload |
Object Type |
Data Type |
Access |
Signed |
|---|---|---|---|---|---|---|
|
41.01
41.81 |
PortStatus |
See Port Status |
VAR |
UINT32 |
R |
N |
|
41.03
41.83 |
Charge Control |
32-bit register
|
VAR |
UINT32 |
W |
N |
|
41.04
41.84 |
SEVC Power |
8-bit register
|
VAR |
UINT8 |
RW |
N |
|
41.05
41.85 |
Holster Motor |
8-bit register
|
VAR |
UINT8 |
RW |
N |
|
41.06
41.86 |
Coil Voltage |
A floating-point number representing the relay coil voltage. This number is significant only when the REN bit in the Port Status register is set (indicating the relay coil is energized). |
VAR |
FLOAT |
R |
N |
|
41.07
41.80 |
Holster Sense |
32-bit register
|
VAR |
UINT32 |
R |
N |
|
42.01
42.81 |
Signed Meter Blob |
ARR |
UINT32 |
R |
Y |
|
|
42.02
42.82 |
Unsigned Meter Blob |
ARR |
UINT32 |
R |
N |
|
|
43.01
43.81 |
Negative Energy Accumulat or |
Reports the energy transmitted to EVs during the lifetime of the meter. Reported as watt-Hr, formatted as IEEE single precision floating point |
VAR |
FLOAT |
R |
N |
|
43.02
43.82 |
Positive Energy Accumulat or |
Reports the energy transmitted from EVs during the lifetime of the meter. Reported as watt-Hr, formatted as IEEE single precision floating point |
VAR |
FLOAT |
R |
N |
|
43.03
43.83 |
Negative SumISqua red |
Reports the Sum (Integral) of I2 for negative currents. Reports in A2- hours or W / Ohm. Returns as IEEE single precision floating point |
VAR |
FLOAT |
R |
N |
|
43.04
43.84 |
Positive SumISqua red |
Reports the Sum (Integral) of I2 for positive currents. Reports in A2- hours or W / Ohm. Returns as IEEE single precision floating point |
VAR |
FLOAT |
R |
N |
|
44.00
44.80 |
Line 1 Voltage (Line A – Line D) |
Line to Line Voltage for Line 1 in volts |
VAR |
FLOAT |
R |
N |
|
44.01
44.81 |
Line 2 Voltage (Line B – Line D) |
Line to Line Voltage for Line 2 in in volts |
VAR |
FLOAT |
R |
N |
|
44.02
44.82 |
Line 3 Voltage (Line C – Line D) |
Line to Line Voltage for Line 3 in volts |
VAR |
FLOAT |
R |
N |
|
45.00
45.80 |
Va |
Raw Line A Voltage in volts |
VAR |
FLOAT |
R |
N |
|
45.01
45.81 |
Vb |
Raw Line B Voltage in volts |
VAR |
FLOAT |
R |
N |
|
45.02
45.82 |
Vc |
Raw Line C Voltage in volts v |
VAR |
FLOAT |
R |
N |
|
45.03
45.83 |
Vd |
Raw Line D Voltage in volts |
VAR |
FLOAT |
R |
N |
|
47.00
47.80 |
Line A current |
Line A current in amps |
VAR |
FLOAT |
R |
N |
|
47.01
47.81 |
Line B current |
Line B current in volts |
VAR |
FLOAT |
R |
N |
|
47.02
47.82 |
Line C current |
Line C current in volts |
VAR |
FLOAT |
R |
N |
|
47.03
47.83 |
Line D current |
Line D current in volts |
VAR |
FLOAT |
R |
N |
|
47.04
47.84 |
Current (Single Phase) |
Single Phase Current in amps |
VAR |
FLOAT |
R |
N |
|
48.00
48.80 |
Line A Power Factor |
Line A Power Factor |
VAR |
FLOAT |
R |
N |
|
48.01
48.81 |
Line B Power Factor |
Line B Power Factor |
VAR |
FLOAT |
R |
N |
|
48.02
48.83 |
Line C Power Factor |
Line C Power Factor |
VAR |
FLOAT |
R |
N |
|
48.03
48.83 |
Line D Power Factor |
Line D Power Factor |
VAR |
FLOAT |
R |
N |
|
49.00
49.80 |
Apparent Power |
Apparent Power in watts |
|
|
|
|
|
49.01
49.81 |
L1 Apparent Power |
L1 Apparent Power in watts |
|
|
|
|
|
49.02
49.82 |
L2 Apparent Power |
L2 Apparent Power in watts |
|
|
|
|
|
49.03
49.83 |
L3 Apparent Power |
L3 Apparent Power in watts |
|
|
|
|
|
4a.01
4a.81 |
Frequency |
In Hz |
VAR |
FLOAT |
R |
N |
|
4b.01
4b.81 |
Weld Voltage |
An internal voltage in volts |
VAR |
FLOAT |
R |
N |
|
4b.02
4b.82 |
Pilot Voltage |
VAR |
FLOAT |
R |
N |
|
|
4b.03
4b.83 |
Ground resistance |
An internal resistance measurement in ohms |
VAR |
FLOAT |
R |
N |
|
4b.04
4b.84 |
GM Test ADC |
|
VAR |
FLOAT |
R |
N |
|
4b.05
4b.85 |
|
VAR |
FLOAT |
R |
N |
|
|
4c.00
4c.80 |
Meter sample Buffer – VA |
Meter Sample buffer Va
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.00
4c.80 |
Meter sample Buffer – IA |
Meter Sample buffer for Ia
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.01
4c.81 |
Meter sample Buffer – VB |
Meter Sample buffer for Vb
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.02
4c.82 |
Meter sample Buffer – IB |
Meter Sample buffer for Ib
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.03
4c.83 |
Meter sample Buffer – VC |
Meter Sample buffer for Vc
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.04
4c.84 |
Meter sample Buffer – IC |
Meter Sample buffer for Ic
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.05
4c.85 |
Meter sample Buffer – VD |
Meter Sample buffer for Vd
See Sample Buffers |
ARR |
INT16 |
R |
N |
|
4c.06
4c.86 |
Meter sample Buffer – origin |
Meter Sample buffer for Id
See Sample Buffers |
ARR |
INT16 |
R |
N |
Port Status
32-bit register as explained below.
|
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
CHA |
SHTRIP |
LOGS |
|
GMERR |
RLYP |
Weld |
|
|||||||
|
R |
R |
R |
R |
R |
R |
R |
R |
RC |
RC |
RC |
RC |
RC |
RC |
RC |
RC |
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
COVR |
RSC |
RSO |
GMF |
GFERR |
GF |
IGF |
DCGF |
HPOS |
HWERR |
REN |
SAFEP |
||
|
RC |
RC |
RC |
RC |
RC |
RC |
RC |
RC |
RC |
R |
R |
R |
R |
R |
R |
R |
Bits indicated “R” are read-only and not sticky. They represent the condition when read. Bits indicated “RC” are sticky. They will stay clear only when the condition has cleared, and the bit has been cleared by writing a “1” to the register. Unless specifically noted conditions clear when the detected condition resolves. For example, GMF clears when the unit is grounded.
|
Bit |
Name |
Meaning |
Status register operation |
AC Board Response |
System Response |
|---|---|---|---|---|---|
|
2:0 |
SAFEP |
Safety pilot state |
see Error! Reference source not found. |
Relay will close and remain closed only when SAFEP is safe to charge; Relay will open within 100 ms if pilot is in state A and within 2 seconds when SAFEP is not in safe to charge |
System should check that status reported by AC board matches status reported by SEVB |
|
3 |
REN |
Relay coil energized |
“1” - the relay coil is energized (contacts are closed or closing) “0” - the relay coil is de- energized |
|
Information only |
|
4 |
RESERVED |
|
|
|
|
|
5 |
RESERVED |
|
|
|
|
|
6 |
DCGF |
DC ground fault (EU only) |
Sets when fault occurs. |
See SHTRIP Meter logging stops |
Read Meter log, Write clear DCGF |
|
7 |
IGF |
Non-retriable ground fault (N.A. only) |
Sets when ground fault occurs. Fault clears when EV State A) |
Relay opens Evident ind. Lights Meter logging stops |
Turn off pilot OSC. Read meter log, |
|
8 |
GF |
Ground Fault (N.A. only) NA: AC ground fault EU: DC ground fault |
Sets when ground fault occurs. Fault clears when EV State A) or after 15 seconds. |
Relay opens Evident ind. Blinks. After 15 seconds AND system has done write- clear, relay will close again. Meter logging stops |
Must turn off pilot OSC. Read meter log. After 15 seconds, system may restart charging. |
|
9 |
GFERR |
DiffCoil initialization |
Sets when error is detected. |
NA: opens the relays. EU: see SHTRIP. |
If persistent, maintenance is required |
|
10 |
GMF |
Grounding monitor fault |
Sets when ground input impedance is high |
Relay opens Evident ind. Lights Meter logging stops |
Turn off pilot OSC; when fault clears system should retry |
|
11 |
RSO |
Relay stuck open |
Sets when a relay contact that should be closed is open. |
|
System should retry. How many retries, etc., is TBD |
|
12 |
RSC |
relay struck closed |
Sets when a relay contact that should be open is closed |
NA: Clamp pilot Evident indicator on EU: see SHTRIP |
NA: System should put pilot into state F. |
|
13 |
COVR |
Contact over-current |
Sets when the current on any path (A, B, C, or D) exceeds 50 A for 10 seconds or more. |
Relay opens |
System can retry at reduced power. If persistent reduce “pilot” PWM duty cycle (or 15118 equivalent). |
|
14- 16 |
RESERVED |
|
|
|
|
|
17 |
WELD |
Weld detection circuit not operating (minimum voltage not reached) |
Sets when the weld detect circuit is not operating or the input voltage is zero. |
Stop charging Evident indicator on |
System should put pilot into state F |
|
18 |
RLYP |
Incorrect Relay Coil GPIO |
Sets when a GPIO unexpected state |
|
|
|
19 |
GMERR |
Grounding monitor circuit malfunction: GPIO |
Sets when the grounding monitor circuit is not operating (NA only) |
NA: Stop charging Evident Indicator on EU: not applicable |
System should turn off oscillator. May retry if condition goes away. |
|
20 |
RESERVED |
|
|
|
|
|
21 |
LOGS |
Logging stopped |
Sets on certain faults |
Logging stops until cleared by software |
Capture logs, then clear LOGS |
|
22 |
SHTRIP |
Shunt trip (EU only) |
Sets when RCCB |
Shunt trip relevant side. |
Note: Port is out of service. Maintenance required. System should clear fault. |
|
23 |
CHA |
Charging Authorized (alias of CHA bit in Port Charge Control Register) |
0: charging disabled 1: charging enabled CHA will reset automatically when Pilot status = (State A | State E | State F) |
|
|
|
31:24 |
RESERVED |
|
|
|
|
Signed Meter Blob
Byte Stream, containing the signed meter blob at that point in time. This consists of (in order)
-
Header: 32-bit unsigned integer consisting of
-
Unused: 24-bit unused section
-
Version: 8-bit version number of the blob
-
-
SequenceNumber: 4-byte unsigned integer, containing a monotonically increasing sequence number.
-
PosEnergy – 8-bytes accumulated delivered positive energy in WattHour, stored in IEEE
double precision of 15 digits
-
NegEnergy – 8-bytes accumulated delivered negative energy in WattHour, stored in IEEE double precision of 15 digits
-
PosSumISquared – 8-bytes WattHour/Ohm delivered energy, stored in IEEE double precision of 15 digits
-
NegativeSumISquared – 8-bytes WattHour/Ohm delivered energy, stored in IEEE double precision of 15 digits
-
Signature: 512-bit byte stream, containing the ECDSA
Elliptic Curve Digital Signature Algorithm secp256k1 signature of the payload
Unsigned Meter Blob
Byte Stream, containing the unsigned meter blob at that point in time. This consists of (in order)
-
Header: 32-bit unsigned integer consisting of
-
Unused: 24-bit unused section
-
Version: 8-bit version number of the blob
-
-
SequenceNumber: 4-byte unsigned integer, containing a monotonically increasing sequence number.
-
PosEnergy – 8-bytes accumulated delivered positive energy in WattHour, stored in IEEE double precision of 15 digits
-
NegEnergy – 8-bytes accumulated delivered negative energy in WattHour, stored in IEEE double precision of 15 digits
-
PosSumISquared – 8-bytes WattHour/Ohm delivered energy, stored in IEEE double precision of 15 digits
-
NegativeSumISquared – 8-bytes WattHour/Ohm delivered energy, stored in IEEE double precision of 15 digits
-
Signature: All 0’s and Unused
Safe Pilot Voltage
|
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
Maximum |
|||||||||||
|
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
Minimum |
|||||||||||
|
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
R-0 |
RW-0 |
RW-0 |
RW-0 |
RW-1 |
RW-0 |
RW-0 |
RW-0 |
RW-0 |
Minimum and Maximum are 12 -bit unsigned integers representing the highest and lowest sample values from the Safe Pilot signal. To convert to volts:
| V = | Value – 2016.5 |
| 151.4 |
Sample Buffers
Each sub-item is an array of SAMPLE_BUFFER_SIZE (currently 800) int16 sample values. Samples are stored at the rate determined by the Meter Log Rate Register. Voltages are deciVolts (tenth of a volt) and currents in centiAmps (one-hundredth of an Amp).
Samples are stored in a circular buffer. The current add point index is available in the Meter Sample Buffer – origin object. Note that reading any of the Meter Sample Buffer object will set the LOGS bit in the port status register. This freezes the buffer until the LOGS bit is cleared by software.