Skip to main content
Firmware Stable

Discharge port (DSC)

The discharge port is the main BMS port connected to the load. The DSC port is managed by the state machine and includes precharge logic to safely bring up the output voltage before fully closing the main switch.

info

All mentioned variables are located in folder /driver/dsc/.

Readings

StateUnitDescription
idscfAFiltered current through DSC port
udscfVFiltered voltage at the DSC port

Protection parameters

info

The following parameters are located in folder /driver/.

BMS3

On BMS3, the short circuit and overcurrent disconnection is performed directly by the balancer IC.

ParameterUnitDescription
idscShortAShort circuit disconnect threshold. When exceeded for longer than idscDelay, the port is turned off and the BMS enters PROTECT with reason 0x0002 (Shortcut).
idscDelayµsShort circuit disconnect delay (steps 70/100/200/400 ...)
ocd_tresholdAOvercurrent disconnect threshold. When exceeded for longer than ocd_delay, the port is turned off and the BMS enters PROTECT with reason 0x0040 (Current overload on DSC).
ocd_delaymsOvercurrent disconnect delay (steps 20/40/80/160 ...)

BMS1

ParameterUnitDescription
ishrtAMain short circuit current threshold. When exceeded, the port is turned off immediately and the BMS enters PROTECT with reason 0x0002 (Shortcut).
iprchAPrecharge current limit

Every short circuit event increments the shortcut_counter permanent. When the counter exceeds the max_shortcuts parameter, the BMS enters the permanent ERROR state.

DSC port current limiter

The DSC port has its own current limiter that limits the maximum current through the discharge port independently of the pack current limiter. When active, it sets bit 256 in the limit word. (BMS1 only)

info

Limiter parameters are located in folder /driver/dsc/limiter/.

ParameterUnitDescription
idscPosADSC port maximum output current
idscPosDecdelta ADSC port output current limit slope (0 to disable)
idscNegDecdelta ADSC port input current limit slope (0 to disable)
idscNegADSC port maximum input current

Precharging

When the DSC port is enabled, the BMS first enters the PRECHARGING state. During precharge, a current-limited path slowly charges the output capacitors of the connected load. Once the DSC port voltage reaches a sufficient level relative to the battery voltage, the main switch is fully closed and the BMS transitions to the IDLE state.

info

Precharge configuration is located in folder /driver/precharge/.

NameTypeUnitDescription
precharge_timeparametersMaximum precharge time. 0 disables precharging (the switch is closed immediately).
prch_voltparameterVMaximum voltage between the DSC output and battery ground to allow closing the main switch.
prch_timerstatemsRemaining precharge time. Non-zero while the BMS is precharging.

If the voltage difference does not drop below prch_volt within precharge_time, the precharge has failed - the BMS enters the PROTECT state with reason 0x2000 (Precharge failed) in protectLog. Typical causes are a too large load capacitance or a short circuit on the output.