StasHH Standard (Part 3) - API Definition
StasHH Standard (Part 3) - API Definition
4 Standard API
PUBLIC Definition
Call: H2020-JTI-FCH-2020-1
Topic: FCH-01-4-2020
Keywords: Fuel Cell, Fuel Cell Module, CAN bus, Interface, Functional Safety, Protocol
Abstract: This document describes the digital interface for communication between an
electronic control unit in an application system and a fuel cell module. The
standard shall fulfil the requirements from a range of different applications, not
least with respect to functional safety. The communication protocol is primarily
intended for CAN bus, and it reuses messages from the SAE J1939 to be
convenient for integration with existing applications.
Revision History
Date Description Author
2021/Aug/27 First draft of structure with content in few Henrik Lundkvist (SINTEF)
sections Markus Kogler (AVL)
2021/Oct/27 Second draft with updates throughout Henrik Lundkvist (SINTEF)
and initial mapping of signals to J1939
2021/Nov/19 Third draft, adding UDS, J1939 signals for Henrik Lundkvist (SINTEF)
voltage limits and some updates
2021/Dec/06 Fourth draft, adding more safety Henrik Lundkvist (SINTEF)
requirements, communication approach, Markus Kogler (AVL)
updated connector
2021/Dec/19 Complete draft for review. Added new Henrik Lundkvist (SINTEF)
signals, usage examples with message Markus Kogler (AVL)
sequence charts, changed connector
chapter to specify only pinout explicitly,
revisions throughout the document.
2022/Jan/25 Final version taking into account review Henrik Lundkvist (SINTEF)
comments from QA
This project has received funding from the Fuel Cells and Hydrogen 2 Joint Undertaking under Grant Agreement
No 101005934. This Joint Undertaking receives support from the European Union’s Horizon 2020 Research and
Innovation programme, Hydrogen Europe and Hydrogen Europe Research.
Any contents herein reflect solely the authors' view. The FCH 2 JU and the European Commission are not responsible for any use that may be
made of the information herein contained.
The digital interface concept was separated into 3 main topics, as shown in Figure 1. The layering allows
for a reasonable modularity in the solution, such that it will be possible to have a common API that can
interface to different lower layer protocols and connectors. Although it would be possible to start from
a clean sheet and use a broad framework such as OPC UA, this would require significant work for OEMs
to integrate the new standard with their existing systems. Therefore, StasHH takes a pragmatic
approach that we believe will be the most efficient way to reach a market acceptance. We try to
identify existing standards that can be reused and derive practical solutions as modifications and
extensions to those standards. Considering that the truck and bus markets have a potential to drive
the demand for large volumes of fuel cells, it is important to provide a solution that is useful for those
OEMs. Hence, the existing CAN bus and J1939 standards that are very widely used in heavy duty
vehicles has an advantage of providing an easier way to adoption by the truck and bus OEMs. This
document is therefore accompanied by a CAN DBC file that has an accurate description of the signals
in the messages. The DBC format was selected since it is a de facto standard and with multiple tools
available.
The initial goal of the standard was to specify a single connector that would make the FCMs easily
interchangeable. However, it is also considered importance to have a connector with multiple suppliers
to avoid lock-in and problems with availability. Therefore, the standard primarily focuses on the pins
while the specific connector to use is mainly specified in order to have a common connector within the
project during testing.
In general, the digital interface is intended to support the basic operation of the FCM. With respect to
the information that needs to be communicated there is therefore a common basis which can be
agreed. The boundaries of the fuel cell module will in most cases include a DC/DC converter to convert
the voltage from the fuel cell stack output to the required voltage of the HV bus.
With respect to the protocols, there is a natural preference to use protocols that are easy to integrate
with existing systems. Due to the difference in existing systems between different sectors, it is difficult
to fulfill all the preferences and a compromise is needed to be able to address a large market.
Due to different power stages of the systems the length of cables and number of FCMs that are needed
in a system to deliver sufficient power can vary. There is a trade-off between the cable length and the
achievable bitrate and latency, hence the standard shall not put higher requirements on the bit rate
than necessary. It was agreed that a bit rate of 500 kb/s should be supported. The standard should not
prevent CAN-FD from being used, although it is not mandatory for the FCM to support CAN-FD.
With respect to the physical connector, it has been agreed that the required ingress protection level is
IP54. It is a preference to use a connector which can be provided by multiple suppliers. The number of
pins and the signals they shall be used for has been analyzed during the specification work, and the
conclusion is that at least 7 mandatory pins should be available and another 7 optional pins are
recommended. In addition, it is recommended to have some additional pins available for proprietary
use and future extensions.
In IEC 62282-3-100 safety standards for stationary fuel cell power systems are defined. Regarding
shutdown the standard states that:
If the fuel cell generator is provided with an integral single emergency stop device, or terminals for
connection for a remote emergency stop device, the circuit shall prevent further power supply export
For maritime applications there is also requirements on supporting emergency shutdown in case of a
certain alarms. In the DNV Rules for Classification it is also stated that signals required for certain safety
functions shall be hardwired.
To support the requirements, our interpretation is that a combination of a hardwired emergency stop
signal and an emergency signal in the communication protocol will provide the necessary robustness.
UN/ECE regulation no. 100, amendment related to vehicles with electric power train, includes
requirements on high voltage connectors to protect from electric shock:
• Connectors are allowed to be separated without the use of tools, if they meet one or more of
the following requirements:
• (a) They comply with paragraphs 5.1.1.1 and 5.1.1.2 when separated; or
• (b) They are located underneath the floor and are provided with a locking
mechanism; or
• (c) They are provided with a locking mechanism. Other components, not being part of
the connector, shall be removable only with the use of tools in order to be able to
separate the connector; or
• (d) The voltage of the live parts becomes equal or below 60 V DC or equal or below 30
V AC (rms) within 1 s after the connector is separated.
Although there are multiple ways these could be fulfilled, HVIL is a common solution that is widely
used and the preferred solution that is supported in the standard.
This standard defines the communication between the FCM and the application over a CAN bus. The
security and detection of attacks on the CAN bus is considered primarily as a responsibility of the OEM.
It is mainly the diagnostic functionality that may cause problems for cyber security, since external
entities need to communicate with the FCM. The preferred way to handle security is to only connect
to the application system, where a secure gateway can provide connection to the necessary external
Among the requirements that have relevance for the specification is that cryptographic modules shall
be in line with consensus standards. Since the cryptographic methods are under constant development
it should be determined what the current and future consensus standards are.
For the maritime sector DNV has published requirements in Class Guideline DNVGL-CG-0325 and
requirements in Class Programme DNVGL-CP-0231. The FCM as part of the Power generation supplying
essential and important systems is considered part of the essential and important systems and are
therefore subject to risk assessment and appropriate protection against cyber-attacks. Four different
security levels are defined, where level 1 only protects against casual or coincidental violations, level
2 protection against intentional violations using simple means and low resources, level 3 protection
against sophisticated attacks with moderate resources and moderate motivation while level 4 protects
against violations with sophisticated means, extended resources and high motivation. The risk
assessment shall define which level is appropriate for the FCM, in general it can be expected that level
2 or level 3 are suitable.
The Class Programme DNVGL-CP-0231 is aligned with ISA/IEC 62443. It is a possibility to get type
approval for a component, such as an FCM, which simplifies the process of integrating it into a ship.
However, this requires that software versions are evaluated and approved by DNV. The class program
specifies the requirements on identification and authentication, use control, system integrity, data
confidentiality, restricted data flow, timely response to events, resource availability and specific
systems and applications.
The system integrator shall produce the cyber security design philosophy, which will determine what
security measures are required on the FCM. Under the assumption that the FCM communicates to a
secure gateway on the application and does not have a direct connection to external networks the
application system can handle the authentication and access control and keep the FCM complexity for
the security functions limited, analogous to the requirements for vehicles.
3.1.4 Alarms
For the maritime sector the requirements on alarms differ from the land-based applications. In DNV's
RULES FOR CLASSIFICATION (part 6 – chapter 2 – section 3), for vessels with fuel cell power installations
onboard there is a requirement for hardwired signals to support alarms in case of:
Our assumption is that the detection of all these can be made outside of the FCM, hence this would
not require additional hardwired alarms in the connector from the FCM.
For other applications the requirements on alarms and warnings are less detailed, but there is a
requirement for a warning in case of hydrogen concentration exceeding 3,0% volume in air within a
vehicle in UN/ECE Regulation 134. It is worth noting that this differs from the 40% of LEL that is used
as threshold in ships. Hence, the definitions in the specification may need to leave out specific limits
and allow for different settings for FCMs that are used in different applications.
Alarms for gas leakage and temperature deviations are supported in the digital interface, in addition
to the possibility to generate alarms related to other operational parameters.
The StasHH standard does not require CAN-FD to be used, but the intention is to fully support CAN-FD
as an option. With CAN-FD a higher data rate is supported, which minimizes the concerns for
bottlenecks and limitations in the size of the system.
The fuel cell module will mainly be controlled in an analogous way as a motor/generator set, which is
well-defined in J1939.
4.3 Architecture
There are two main considerations with regards to the architecture, how to connect multiple FCMs to
an application ECU and inclusion of the DC/DC converter within the FCM.
If there is a single FCM on a CAN bus the system will appear as a single FCM system from the FCM point
of view, but to avoid multiple CAN buses from the application ECU a first approach is to connect
multiple FCMs over the same CAN bus as shown in Figure 2.
This solution is straightforward from the FCM point of view, while the application ECU needs to handle
the complexity of managing multiple FCMs. A large number of FCMs on the same CAN bus can also
cause challenges with high load on the bus, in particular if the same CAN bus is used for other
components, e.g. the battery or the fuel tank. For each FCM on the bus the load is in the order of 50
kb/s, with most of the data coming from mandatory signals and only a few kb/s is expected to be added
by alarms and optional signals. For each of the FCMs an address shall be provided. Since there is no
source address reserved specifically for FCMs in the J1939 address allocation, addresses from the
dynamic allocation range can be used. For on-highway equipment the range of addresses for dynamic
assignment contains 28 addresses (from 128 to 155). If there are not too many other devices
connected to the CAN bus this leaves room for several FCMs.
To reduce the complexity of the application ECU it is often preferred to have one of the FCMs serving
as a gateway that manages the other FCMs. The StasHH interface supports a topology where one FCM
serves as a primary FCM that connects to the application ECU and manages other secondary FCMs, as
illustrated in Figure 3.
In principle it is possible to use the same CAN bus between the application ECU and the primary FCCU,
and between the primary and secondary FCCUs. However, in this case all the messages to the
secondary FCCUs would be sent first to the primary FCCU which acts as a gateway and then from the
primary to the secondary FCCU. It is therefore not recommended since the bus load would be high.
The connector has the option to include both the primary CAN bus and the secondary CAN bus, which
makes it possible to connect the primary and secondary FCMs with daisy chain cabling.
From the perspective of the digital interface the DC/DC converter is considered as part of the FCM, as
illustrated in Figure 4. This does not require that the DC/DC is physically integrated into the FCM, but
in case it is not integrated the FCM will be able to control the DC/DC.
The interface between the FCM and the external DC/DC ECU will be the same as between the
application ECU and FCCU. Hence, the external DC/DC converters that will be used in this configuration
will need to support the standard specified in this document. This means that it will be modelled as a
generator/motor set rather than a DC/DC converter. Although there are parameter groups defined in
J1939 for DC/DC converter, they lack the possibility to set a current setpoint. When the DC/DC is
drawing current from the FCM a current setpoint is necessary, therefore the motor/generator
parameters are the preferred alternative.
The principle of DM1 is that when there is any active alarm an active trouble code for that alarm will
be included in the DM1 message. The Diagnostic Trouble Code (DTC) contains an identifier of the
failure mode, a 5 bit field, i.e. 32 different failure modes. The SPN is used as the mechanism to identify
the object of the fault. To make the solution easily portable this mechanism is proposed to be used in
the standard also in case it is implemented over e.g. Ethernet instead of CAN bus.
Although there are many possibilities to collect data and implement diagnostic procedures, the need
for standardized procedures and information is more limited due to the dependence on the internal
implementation of the FCM. The standard is limited to a few parameters that have been identified as
the most useful.
UDS should be used for reading and clearing stored diagnostic fault codes. This should be a
complement to J1939 DM1, by allowing stored DTCs to be collected. The DTCs to be used are defined
by the respective FCM manufacturers. It is recommended to use the DM1 DTCs in the DM1 format. An
alternative is to have a mapping between the J1939 DTCs and the DTCs used in UDS.
Data transmission read service should be supported to read serial number and software version.
Request Download and Transfer data services should be supported for updating of SW. In addition, the
control DTC setting should be supported to disable error detection during SW updates.
Remote Activation of Routine may be supported for starting and stopping of diagnostic controls or
service procedures.
Security is supported either with security access or with authentication. The diagnostic session control
shall also be supported as a part of the security solution. It is recommended to use appropriate security
The main idea behind the following required signals is given by an example of a simplified powertrain
strategy for an electric road vehicle:
First, the driver requests torque for constant driving or acceleration by controlling the acceleration
pedal. The VCU calculates the required power demand for the E-drive. Based on actual state of charge
of the HV battery, the operation state of the FCM and other environmental conditions, the energy
management will split the power demand between battery and FCS. The VCU will send a power request
to the FCM and send a power setpoint to the electric-drive system, the power gap is covered by the
HV battery. For immediate torque, first the power will be provided by the HV battery, until the FCM
power output has ramped up to supply it and even charge the battery.
Example 1: Example 2:
-> Power_HV_Battery = 30kW -> HV battery is -> Power_HV_Battery = -20kW -> HV battery is
discharging charging
The VCU is aware of the amount and the status of the connected FCMs by evaluation of the alive
counters and by monitoring the state feedback and diagnostic signals from the primary FCCU.
If power for the E-drive is required, the VCU's energy management or the primary FCCU has to decide
to e.g. run one system at full load, or split it between 2 FCMs at half load. Therefore, the state requests
are required to start the FCMs.
6.2.2 Standby
In the standby state the FCM does not output power on the HV interface yet but the necessary
subsystems are powered and ready such that it can start producing output within a short time.
6.2.3 Starting
The FCM is transitioning from the standby state to the running state. During this state the delivered
power is ramping up, and therefore the power level is not well-defined. The HV bus is enabled and the
module can consume and provide energy.
6.2.4 Running
The FCM is active and delivering power.
The power may be limited due to derating which will be indicated by the FCM.
6.2.5 Stopping
The FCM is ramping down power delivery and returning to standby state.
The HV bus must be enabled during shut-down routines. The output power is not well-defined.
6.2.6 Error
The error state can be entered from any other state.
6.3 Messages
This section lists the messages that are used in the communication between the application ECU and
the FCCU, both with a generic description and a mapping to a J1939 message. The version of J1939
used for the standard is the March 2021 edition.
In general, the reliability of the communication will be protected with message sequence numbers and
cyclic redundancy check (CRC) codes.
The state of the FCM is controlled by requests from the application ECU. The specification gives a basis
with main operation states but depending on the FCM there may be further substates than the main
states in Figure 5. Additional substates will make it possible to support more specific energy
management strategies, for example to handle cold starts.
An FCM state request message will be sent from the application ECU to the FCCU with a request for a
new state. The possible state parameters are the ones indicated from the state machine:
• Standby request
The message will therefore contain the requested state and the setpoint for the voltage or current
delivery.
1
The SAE J1939 Digital Annex from March 2021 has been used for the parameters in this standard. Additional
details may be found in J1939/21, J1939/71 and J1939/73.
CRC – SPN10157: 8 bit CRC calculated over the data, source address and PGN. The definition from SAE
J1939 is used. 2
Counter – SPN 10158: 4 bit counter that counts from 0 to 15 and then restarts. This is used for detection
of repeated frames.
Mode Request – SPN 10162: 5 bits field that specifies possible modes, the standard state requests
supported in this standard are:
Start request:
• Value = 9 - Enable DC Side Voltage Control Mode – In this mode Control Setpoint
Request is the DC Side Voltage Setpoint in %. Refer to SPN 10203 [Reference Voltage]
to convert % to V.
Value = 10 - Enable DC Side Current Control Mode (w/o DC/DC) – In this mode Control
Setpoint Request is the DC Side Current Setpoint in %. Refer to SPN 10202 [Reference
Current] to convert % to A.
Value = 11 - Enable DC Power Control Mode - In this mode Control Setpoint Request is
the DC Side Power Setpoint in %. Refer to SPN 10172 [Reference Power] to convert %
to kW.
• in % of reference value, with the mode selected in SPN 10162, i.e. the reference will
either be in Volt (mode 9), Ampere (mode 10) or kW (mode 11).
The FCCU reports the current state to the application ECU using this message. In addition to the state
of the FCM the state of the HVIL is essential for the operation of the FCM since it is necessary to have
the HV connected in the standby and running states. Therefore, the HVIL status is also included in the
state feedback.
The information included in the message are the FCM state and the HVIL status. In case HVIL is not
used the FCM can signal "N/A".
2
The CRC is defined as follows: Length: 8 bits; Polynomial: x^8+x^5+x^3+x^2+x+1; Initial Value: FFh; Input Data
Reflection: Not reflected; Result Data Reflection: Not reflected; XOR value: FFh.
FCM states
0 = Powered On / Idle state - the inverter is commanded to be powered on and able to communicate,
but the Power Stage is disabled e.g. no switching or output.
2 = Standby - the inverter Power Stage is powered but commanded to a neutral operating mode.
20 = Stopping state (active discharge mode. The feedback mode may transition to Mode 0 – Idle state
once capacitance is discharged.)
30 = Error
10b = Error
Command to shut down this High Voltage Energy Storage Pack instance. A normal power-down may
involve steps that take some time (tests, writing of data, etc.). However, an emergency power-down
should shut down the storage system as quickly as possible, for example in the event of a vehicle
accident. The FCM should always support the command to execute emergency power-down, even if
the actual power-down process is the same as that used during a "normal" power-down.
The FCM should always support parameter value 10b, even if the actual power-down process is the
same as a normal power-down.
The setpoints for the power, voltage or current from VCU to FCCU are provided using percentage
values relative to a reference. The reference values are provided by the FCCU to the application ECU
in kW, Volt or Ampere. The FCM shall provide updated reference values according to the state of health
and operating condition.
These values can also be used as set point values for the external DC/DC converter. As
source/destination addresses differ, also sharing the same CAN bus is possible. Depending on the
DC/DC operational mode, there will be a current set point (galvanostatic control) or a voltage setpoint
(potentiostatic control).
The granularity is 0.0625 kW, with a 16 bit length of the reference power that results in a range from
0 to 4015.9375 kW.
The granularity is 0.125 A per bit, with a 16 bit length of the reference power that results in a range
from 0 to 8 031.875 A.
The granularity is 0.125 V per bit, with a 16 bit length of the reference power that results in a range
from 0 to 8 031.875 V.
The FCM status informs the application ECU about the actual voltage and current delivery from the
FCM. The values are from the output (HV side) of the DC/DC converter. The values are sent as
percentages of the reference values, which is aligned with how the setpoints are sent from the
application ECU.
If the FCM does not have an integrated DC/DC the value is from the output of the DC/DC converter.
The torque and speed status are not used, only the current and voltage parameters.
Current Value – SPN 10175. The actual current output from the high voltage side of the DC/DC
converter, as a percentage of the reference value in SPN 10202.
Voltage Value – SPN 9101. The actual voltage for the high voltage side of the DC/DC converter, as a
percentage of the reference value in SPN 10203.
The maximum and minimum power that can be delivered by the FCM within the next defined period
of time. E.g. in the next one second the FCM can output a certain minimum or maximum power. The
application ECU can use this information to calculate the power available from FCM. The minimum is
the power delivered during FCM idling. A lower power output could cause high stack cell voltage that
may harm the fuel cell stack.
Max Power– SPN 10186. The value is the predicted maximum that the FCM will keep the power below.
It is signaled as a percentage of the reference power in SPN 10172.
Min Power– SPN 10867. Minimum value that the FCM can deliver, signaled as a percentage of the
reference power in SPN 10172.
The FCM can provide recommended maximum and minimum limits on the operating voltage. These
limits can be used to prevent operating conditions that can damage the battery. The FCM can also
provide the nominal voltage and the nominal power output, which is a fixed value that does not
The voltage value refers to the high voltage side of the DC/DC converter, also in case the DC/DC is
physically external to the FCM.
HVESS Nominal Voltage – SPN 11132. The scaling is 0.05 V per bit, with 16 bits that results in a value
range from 0 to 3212.75 V.
HVESS Recommended Minimum Operating Voltage - SPN 11133. The scaling is 0.05 V per bit, with 16
bits that results in a value range from 0 to 3212.75 V.
HVESS Recommended Maximum Operating Voltage - SPN 11134. The scaling is 0.05 V per bit, with 16
bits that results in a value range from 0 to 3212.75 V.
This message indicates to the FCM whether the HV bus is available. The system cannot be started if
the HV bus is not available, as the HV bus needs to draw power from the FCM and components
connected to the HV system are not supplied with power, e.g. the coolant pump and compressor. The
status can be one of the following states:
0: Not connected.
1: Connected.
2: Connection in progress.
3: Disconnection in progress.
5: Disconnection is imminent.
14: Error.
0011b = High voltage DC bus disconnection is in process. Devices on the bus should take appropriate
action.
1110b = Error
This message is used to provide feedback about the FCM temperature for FCMs with multiple sensors.
This message can for example be used to report the temperature of the coolant at the intake and the
outlet. The details of location of the temperature sensors and normal temperature ranges will be
defined by the manufacturer.
The FCM may use as many of the parameters as needed for the sensor in the FCM.
The parameter that is used in the standard is the Air Filter 2 Differential Pressure - SPN 2809.
The fuel information is used for the FCM to provide an estimate of the fuel consumption measured in
kg/h. This can be used together with the power output for the application ECU to calculate the
estimated fuel efficiency. The information may also be needed to fulfil the safety requirements in some
maritime applications. There is no requirement specified on the accuracy of the estimate, hence it is
not required to use a flow meter but the FCM can provide an estimate according to its own
implementation.
The standard includes the gas mass flow rate, SPN 3467, measured in kg/h.
The FCM can report the accumulated hours of operation, which can be used in diagnostic and
prognostic functions.
Only the hours parameter, SPN 247, is used for the FCM.
The step size is 0.05 h per bit, with a 4 byte data field that results in a range from 0 to 210 554 060.75
hours.
Time and date information is provided from the vehicle to the FCCU to keep the clock synchronized.
The FCCU can use the time and date for time stamping of diagnostic information.
All the parameters of the PG are used. The time is reported as UTC (Universal Time Coordinate).
However, the parameters local hour offset and local minute offset can be used to report the local
time.
The ambient temperature can be used to adapt the startup procedure to the ambient temperature,
e.g. freeze start. In addition, the barometric pressure may be used for adapting the operation to the
altitude, e.g. compressor control.
The parameters used in the standard are the Barometric Absolute Pressure, SPN 108, and the
ambient air temperature, SPN 171.
The vehicle speed can be used as additional information in diagnostics, where different diagnostic
reactions may be performed depending on the speed.
The parameter that relevant for the StasHH standard are the vehicle speed, SPN 1624.
Detection of hydrogen leakage may be implemented on the FCM, in addition to in the application
system itself. For this reason, a message is defined which can be used by the FCM to notify the
application ECU about a gas leakage. In particular, for applications where it is a safety requirement to
provide an alarm in case of gas leakage this can be used to provide such an alarm. The message has
room for measurement values from multiple sensors which may be placed at different locations.
The gaseous fuel leakage concentration is relative to the lower explosion limit (LEL). 100% means the
measured value is on the lower explosion limit while 0% means no gaseous fuel is detected at the
measurement point.
The gas leakage detection pressure can the pressure of any mixture of fuel and air, depending on the
failure mode detected.
The principle used for the alarm messages follows the method used by SAE J1939, i.e. that the active
faults include the severity and an indication of the function or component with the fault. The alarms
are tied to the parameters that are used in the protocol. The exact use of the alarm messages for root
cause analysis etc. is left to the implementation of each FCM.
Details of the use of specific combinations of SPNs, FMIs and lamps are defined by the manufacturers
and OEMs. However, some guidelines are described here.
01b = lamp on
The malfunction indicator lamp (SPN 1213) should not be used, because it has to do with the legal
requirements on exhaust emissions. Fuel cells are not part of these legislation.
For warnings that do not require the vehicle to stop immediately, the amber warning lamp (SPN 624)
should be used. This can be used when the FCM need to stop but the rest of the system (e.g. vehicle)
can continue to operate with another power source.
The protect Lamp (SPN 987) can be used for problems of the fuel cell not related to the electronic part.
The red stop lamp (SPN 623) shall only be used for severe conditions that requires the system (e.g. the
vehicle) to stop.
1 If a problem can be reported with a standard SPN in a certain Parameter Group (PGN 0 –
PGN 65279), that SPN need to be used first
2 If a problem can be reported with a standard SPN that is not linked to a certain Parameter
Group, that SPN need to be used.
3 If a problem will be reported with a FMI = 14, then the range 611 – 615 need to be used.
These SPNs are system diagnostic codes defined by the manufacturer and used for failures
that cannot be tied to a specific component.
FMI Description
0 High – most severe (3)
1 Low – most severe (3)
2 Erratic, Intermittent, or Incorrect
3 Voltage Above Normal
4 Voltage Below Normal
5 Current Below Normal
6 Current Above Normal
7 Not Responding Properly
8 Abnormal Frequency, Pulse Width, or Period
9 Abnormal Update Rate
10 Abnormal Rate of Change
11 Other Failure Mode
12 Failure
13 Out of Calibration
14 Special Instruction
15 High – least severe (1)
16 High – moderate severity (2)
17 Low – least severe (1)
18 Low – moderate severity (2)
19 Data Error
20 Data Drifted High
21 Data Drifted Low
22-30 Reserved
31 Condition exists
Total 20.02
Table 21. J1939 signals and data rate calculation, FCCU Rx messages.
Total 27.841
6.5 Power-up Sequence
When powering up the whole vehicle (truck, train, ship,…), the main controller (VCU) should be aware
of the amount and status of the connected FCMs. The VCU will, once supplied with power, start
sending its CAN messages.
The standard support triggering of the wake-up procedure of the FCCU by different sources. Either the
VCU and FCCU share the same LV supply, so the power on and wake up will be performed
simultaneously. The next option would be the hardwired wake-up signal input to the FCCU. If the wake-
up signal is inactive the FCCU may listening on CAN for a wake-up signal.
The green blocks are indicating signals sent by the main ECU, here called VCU.
The content in the bright blue blocks are explaining actions or actual states referred to the values.
The procedure is focusing on the main communication, so some signals defined in this document are
not considered.
After switching on the LV power, the VCU and FCCU are started. The VCU is waking up the FCCU by
LV enable, CAN trigger or a hardwired wakeup signal.
Once powered, the FCCU sends it initial state (0). The VCU sends a standby request (2) to prepare the
FCM for power delivery.
When the FCCU is in standby, the VCU requests to start in DC current control mode (10), which will
be followed by the FCCU.
In the Figure 7 the communication procedure for the power request is shown.
This example continues the previous power up sequence. The electrical values shown in the diagram
for indicating the procedure are in dependency of the FCM setup, efficiency, SOH and operating
condition.
The FCM is started (10) and the VCU state request is still in the current control mode. It is operating at
minimum power (5kW), and providing its respective electrical outputs (10A, 500V). Within the next
short period of time the power can be immediately increased to 10kW, but not further decreased (as
actual operation is at minimum power to avoid OCV). Also the maximum electrical boundaries are sent
to the VCU (500A, 600V, 100kW).
In the next step the VCU is requesting a current setpoint (20%) as of the reference current (500A) from
the FCCU.
Now the FCCU increase its power output and feedbacks the actual current (100A).
The interface standardization covers also this variant, so the proposed approach can be reused. The
condition is that the external DC/DC converter is supporting the protocol.
In the Figure 9 the diagram from the previous chapter got extended by the external DC/DC
communication.
The signals to and from the external DC/DC have the same PG and SPN, but have different source and
destination addresses. This makes it possible to share the same communication bus following the
J1939 approach.
In the example the FCCU is operating at 25% of maximum current as per DC/DC feedback. Once the
VCU requests 90%, the FCCU is calculating the absolute current setpoint and forward it to the DC/DC
(450A).
1. CAN ground
2. CAN high
3. CAN low
4. OPTIONAL shield
5. Wakeup signal
6. Emergency stop
7. OPTIONAL HVIL in
8. OPTIONAL HVIL out
9. OPTIONAL 24V
10. OPTIONAL ground for LV power
11. OPTIONAL CAN high for DC/DC or secondary FCM
12. OPTIONAL CAN low for DC/DC or secondary FCM
13. OPTIONAL CAN high manufacturer specific diagnostic bus
14. OPTIONAL CAN low manufacturer specific diagnostic bus
In addition, it is considered beneficial to include a few additional pins in the connector for future use,
and for deployments where additional
Figure 10 Pinout
Since it is difficult to find a suitable connector that fulfils the requirements and is available from
multiple sources there is no specific connector required by the standard. The proposal is to use a
connector with at least the mandatory pins. A recommendation is to use an 18 pin connector to have
the possibility to include additional functions if needed.
The main requirement that has been identified is to have an ingress protection level of IP54. However,
additional requirements may be coming from different application areas or OEMs. For ships an
In case the same cable is used for LV power supply, the cable cross-section and current ratings have to
be considered. The requirements may differ between different applications due to different cable
lengths and regulations for different industries.
For the purpose of testing the FCMs within the StasHH project an example connector is used. This is a
heavy duty sealed connector from TE connectivity, with number 1-1564526-1, an 18 pin connector
with classification IP67 for ingress protection.
Figure 11. Example of a compliant connector that is used for the test rigs.
Note that the connector is only specified to handle up to 20 Ampere current, and the power supply
through the supply voltage is therefore only intended for the FCCU.
For the connection between primary and secondary FCMs, or between FCM and external DC/DC, the
pins for the secondary CAN bus on the same connector is used.
The encoding of the messages defined in Section 6.3 can be done with each parameter separately or
as complete parameter groups. Sending the complete parameter group can be beneficial to keep the
implementation as close as possible to the CAN protocol, with straightforward interoperability.
Separate parameters provide a simpler handling of parameters in software. In terms of efficiency,
sending the full parameter group includes extra bits for parameters that are not used, while it is a more
efficient encoding of parameters with less than one byte.
As a guideline, a simple implementation with the complete parameter groups sent over UDP, with the
J1939 CRC implemented can be used for implementations where code reuse and integration with CAN
bus implementation is needed. An implementation over TCP with separate parameters can be used
where it is not expected to interwork with CAN bus implementations.
It has been a goal to cover the requirements from different application areas, to make the standard
applicable for a wide range of markets. For the physical connector only the basic requirements have
been included in the standard. The specific connector is left open to avoid lock-in to a single supplier
and to allow for flexibility for different applications that may add new requirements.
The messages have been defined with mappings to J1939 in order to reuse established standards as
much as possible. This is convenient in particular for the trucks, buses and other vehicles that already
use J1939. Following the guidelines from SAE existing messages have been reused as much as possible.
The standard has primarily used the motor/generator parameter groups in the modelling of the fuel
cell module, but some additional parameter groups have been added to cover information that may
be needed. Since the design of the FCMs and systems is likely to have a significant variation several
parameter groups have been made optional.
The standard is also intended to be useful over other networks than CAN, in particular Ethernet. This
will be implemented over IP and TCP or UDP. The details of such implementation is left as future work.
Two different frame formats can be configured in a CAN network, with 11 bit or 29 bit identifiers. The
29 bit identifier format is used for J1939, and in this standard. The frame format of CAN can be seen in
Figure 12. SOF and EOF are the start of frame and end of frame markers. The ACK field is used to
acknowledge the reception of a frame. A positive acknowledgement is sent with a dominant level such
that the sender will get an acknowledge that the frame was received by at least one receiver.
There are a number of different parameters in the implementation that can be selected for different
applications. For example, the baud rate, the byte order and the length of the identifiers can be
changed. Therefore, different profiles have been developed, and there is need to agree on the
parameters to use for a common standard.
There is no single standard connector defined for CAN bus, but a 9-pin D-Sub with CAN-low, CAN-high,
ground and power is a commonly used connector. However, for implementation in a vehicle a more
rugged connector is preferred. The only strictly required lines in the cable are the high and low signals,
while CAN ground is beneficial but not strictly necessary.
10.1.1.1 CAN FD
CAN-FD was introduced in 2012 as a backward compatible protocol that can address bottlenecks in
CAN bus through increased data transmission rate. The higher bit rates allow more devices to connect
to the same bus without splitting with gateways.
The CAN-FD header has three new bits in the control field:
The EDL and BRS fields are designed for compatibility with original CAN when needed, by using
recessive bits for switching to the CAN FD frames.
10.1.2 Ethernet
Ethernet is the most relevant alternative to CAN bus. Due to its very wide use in both industrial and
office settings there is widely available SW and HW support, and high performance is available for a
relatively modest cost. Ethernet is standardized by IEEE as a set of complementing specifications that
are evolving to cover different applications and new requirements.
There is also an ongoing effort in IEEE to develop a profile of Time Sensitive Network (TSN) for
automotive applications, under the label 802.1DG. In TSN the nodes on a network are synchronized to
a common clock, and the scheduling at each of the nodes can therefore be synchronized. The delay
can then be deterministic with very low variation.
The Ethernet standards also include security at the link layer, which can be used in automotive
Ethernet. In particular 802.1AE for point-to-point security is considered suitable. It adds security tags
and integrity check values to the Ethernet frames, such that secure channels can be used between
pairs of nodes.
The most common Ethernet physical connector is RJ45. However, for automotive applications there is
a long range of alternative connectors that are better adapted to the requirements of automotive
applications.
The Network Layer specification describes the services and functions needed for intercommunication
between different segments of a J1939 network. It defines four ECU types that provide functions for
network interconnection between segments: Repeater (forwarding), Bridge (forwarding and filtering),
Router (forward, filter, and address translation), and Gateway (forward, filter, address translation, and
message repackaging).
The Vehicle Application Layer defines “standard” parameters which are grouped together in a message
frame and given a PGN. There are different lengths of parameters defined in the standard 1, 2, 4 bytes.
For the StasHH standard the definition of the vehicle application layer is the most important aspect.
In addition, there is an application layer for diagnostics defined, which includes several types of
diagnostics messages, i.e. parameter groups, that can be used to implement complex and powerful
diagnostic functionality.
10.3 Diagnostics
10.3.1 Unified Diagnostic Services
UDS is a standard for diagnostics that has is specified in ISO 14229-1. It specifies the application and
session layers of the OSI stack for communication between a diagnostic testing instrument, e.g. in a
workshop, and the ECUs in the vehicle. The standard originates from the car industry but has an
increasing popularity for heavy vehicles.
UDS defines a client-server protocol for diagnostics where the ECU acts as server and the tester as the
client. The protocol is designed to work on different types of lower layers, for example CAN bus.
When used on CAN, the protocol uses the CAN IP for routing between the tester and the ECUs. There
are a number of different services defined that can be requested by the client for:
The client may also return a negative response if a service request cannot be performed.