BODAS Design Document
BODAS Design Document
BODAS Design Document
Error detection
Topic
Inputs
Digital inputs
Analog inputs
Current inputs
DSM frequency inputs
Outputs
Diagnosis
Critical short circuit detection
Error counter handling for the critical short circuit detection
compare value for the debounce counter = debounce time / cycle time from diagnosis function.
The compare counter will only be incremented if the diag and the diag_debounced values are not equal and
decremented if the compare counter is greater than zero and the diag and the diag_debounced values are
equal. If the compare timer reaches the compare value the diag_debounced value will be set to the diag value
and the compare counter will be set to zero.
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 2 of 8
Back to Topic
Inputs
The debounce counter will be incremented after every erroneous pass and decremented after every error-free
pass from the diagnosis function.
Digital inputs
Analog inputs
The analog input channels (including the alternate analog input channels) must be configured for the
debounce time and the threshold voltages. The threshold voltages are hardware dependent and define the
error and state windows, see in_cfgVoltageInput().
There is no recognition respective discrimination from the diagnosis state open load (cable break) due to the
insertion variants from pullup or pulldown resistors and the possible switching between pullup and pulldown
resistors, see in_setPullup().
For the access to the diagnosis information the functions in_getState() or inxt() are available.
Current inputs
The current input channels must be configured for the debounce time, see in_cfgCurrentInput(). The
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 3 of 8
For the access to the diagnosis information the functions in_getState() or inxt() are available.
The inputs are also checked for a "clamping" sensor. If an error exists (short circuit to ground or outside range)
the comparator voltage of the monitoring hardware will be switched to a higher voltage. The switching and
check times are preset due to the hardware protection.
In a few hardware implementations the shunt has to be protected against short circuits to battery, see
in_setDSM(). The protection is handled by the API. In case of an error - with a fixed debounce time from
200ms - the error handler will be called (a user error callback function has to be defined) and the DSM
function disabled.
Back to Topic
Outputs
The output will be deactivated in case of a recognition from critical short circuits due to the hardware protection
from shunts or pcb tracks, until the cause of the error (see out_getState() or out_getStatext()) has been
removed and the error has been reset with out_resetError(). The old output value is still valid after the error
has been reset.
The output will not be deactivated in case of a recognition from uncritical short circuits or open load because
the hardware can not be damaged. The error handling has to be done by the application (see out_getState()
or out_getStatext()).
In case of a recognition from a uncritical short circuit or open load in closed loop control opens the regulator up
to the upper limit, this behavior must be considered with loose contacts.
The following description of the error detection refers to power outputs and is divided into diagnosis and critical
short circuit detection:
The exact reason for the deactivation - diagnosis, current pulse or current slope - could be find with the
channel status information, see out_getStatext().
Diagnosis
Each output channel has configurable parameters (debounce time, min./max. load and the current deviation)
for the diagnosis, see out_cfg() respective out_cfgxt().
The comparison from the loads is only possible for the proportional outputs with current measurement. The
load parameters are used for a detection of short circuits and open loads, the differences to the coil resistance
specifies the sensitivity from the error detection. A detection leads after the debounce time to the
corresponding error.
l The min. load parameter is used for the detection from critical short circuits, the output will be
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 4 of 8
l The max. load parameter is used for he detection from uncritical short circuits and open loads, the
output will not be deactivated.
Note that the resistance value of coils increases with the temperature due to the current and ambient
temperature. That is important for the value of the max. load parameter and therefore for the open load
detection, see also the notice in out().
The comparison from the currents is only possible for proportional outputs with current measurement which
are used in the closed loop control mode. The deviation parameter is used for a detection from current
deviations, means that the actual current has not reached the setpoint current. A detection leads after the
debounce time to the corresponding error.
If the switch off from a highside output is not successful an internal circuit to battery error is indicated. In this
case the power supply of a highside output can be switched off for some ECU's. The application has to decide
if the power supply from the output and therefore for all outputs which are also connected to this power supply
must be switched off.
The detection from an internal short circuit to battery depend on the output type:
l For highside outputs with current measurement this error is directly indicated.
l For highside outputs with current sensing this error can not be directly indicated because for the error
detection is only the status signal available.
It is not possible to distinguish between the following errors
- short circuit to battery
- open load
- internal short circuit to battery
and therefore all errors are indicated.
l Duty cycle is 0 %:
- Check of the status signal.
- Check of the current (only for outputs with current measurement).
- Comparison between setpoint and measured value
The min. current is defined with 15mA, the max. current depend on the layout from the printed circuit board
and is at least 0,2A higher as specified in the Technical Data Sheet (RE-sheet) from the ECU. If the current is
higher than the max. current the output will be deactivated due to the hardware protection.
The debounce counter will be incremented after every erroneous pass and decremented only after a preset
value of error-free passes from the diagnosis function.
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 5 of 8
Possible diagnostic states regarding short circuit an open load are (see figure below for a high side stage):
- short circuit to ground
- short circuit to battery
- open load
- short circuit to ground or open load
- short circuit to battery or open load
l No diagnosis below a duty cycle from 5% for high side outputs - the detection from a short circuit to
ground is still possible (see the following paragraph "Critical short circuit detection")
l There is no detection from a short circuit to ground for high side drivers or a short circuit to battery for
low side drivers with a switched off output possible.
l The detection from open load is not possible for switched off outputs with high side drivers and missing
or deactivated pull ups.
l At the operation with the Testbox TB3 open load errors can be detected.
l If an output is configured as a digital output the driving signal and status signal are compared. At every
state change the signal evaluation is exposed for one pass. That means if the output toggles with less
than the double diagnosis time (10ms) an error detection with the status signal is not possible.
l An open load error can be detected with a current below about 80mA for current measurement outputs.
For current measurement outputs a current lower than about 80mA can not be measured. The reason is
the large offset voltage from the difference amplifiers which are used for the current measurement
outputs.
Restrictions from the diagnosis for digital outputs (without current detection and pullups):
For the digital outputs with missing pullups are some restrictions in the diagnosis because of the same signal
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 6 of 8
states for different conditions (E.g. signal state is the same for switched on and short circuit to battery).
l There is only a detection from a short circuit to to battery with a switched off output possible.
l There is only a detection from a short circuit to to ground with a switched on output possible.
Attention:
For high side outputs with current sensing (current can only be measured during the on time from the driver)
which can also be used as proportional outputs the "real "current for inductive loads - normally only inductive
loads are used - is approximately calculated. The accuracy increases with higher duty cycles and only for a
duty cycle from 100% the calculated current is equivalent to the measured current.
calculated current = actual current * max duty cycle / actual duty cycle
Example:
actual current = 100mA
actual duty cycle = 10%
calculated current = 100mA * 100 / 10 = 1000mA
All drivers are short circuit protected through a built in overtemperature detection, this means a automatic
switch off because of overtemperature and a reset when cooled down. This behavior is the reason for the
implementation from different methods for the recognition from critical short circuits (hardware can be
damaged).
Attention: The critical short circuit detection is designed for inductive loads and may cause problems with
resistive loads (e.g. lamps).
Current slope
The current slope is checked every millisecond. If the rising current slope is greater than a preset value an
error counter will be incremented.
The failure will be set if the error counter reaches the default value. The error counter will only be decremented
after the default value of consecutive error-free passes.Because of the variety of the used solenoids the
default value for the current slope could be to low - an error will be detected.
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 7 of 8
With out_cfgSlope() a new value for the current slope can be configured to avoid a detection from a
nonexistent error. With out_cfgSlopext() it' s possible to configure the default values from the error counter
too, see also error counter handling.
Current pulse
The current value is checked every millisecond. If the current value is above the limit an error counter will be
incremented.
With the resolution of 200µV per digit the limit for the max. ADC-value is 16450 digits for the 3,3V ADC
(TC1796 / TC1797) and 24420 digits for the 5V ADC (TC1793 / TC1724).
The failure will be set if the error counter reaches the default value. The error counter will only be decremented
after the default value of consecutive error-free passes. With out_cfgPulse() it' s possible to configure the
default values from the error counter.
Error counter handling at the example from the current pulse, the error counter handling from the current slope
is identical.
Remarks:
The output is only switched off for current measurement outputs due to the protection from the measurement
shunts. Therefore the default pulse number is different between current measurement outputs and current
sensing outputs, see out_cfgPulse().
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019
Error detection Page 8 of 8
Back to Topic
RC Series 30
mk:@MSITStore:C:\Program%20Files%20(x86)\Common%20Files\CAA-Targets\RC28-... 12/4/2019