CHAdeMO protocol

Description of the CHAdeMO 1.0 protocol implementation in the Typhoon HIL toolchain.

IEC 61851 standard

In order to understand the CHAdeMO protocol, it is important to first mention the IEC 61851 standard that defines the use of this protocol. This section describes the standard and how CHAdeMO is linked to it.

The IEC 61851 - Electric vehicle conductive charging system [1] standard defines the characteristics of on-board and off-board equipment for charging electric road vehicles at standard AC supply voltages up to 1000 V and at DC voltages up to 1500 V.

The standard defines different charging modes (both AC and DC) for charging the Electric Vehicle (EV). These modes are:
  • Charging Mode 1 - AC charging, EV to mains over standard 1ph/3ph sockets. Up to 16 A and 250/480 V. No protection device in the charging cable.
  • Charging Mode 2 - AC charging, EV to mains over standard 1ph/3ph sockets. Up to 32 A and 250/480 V. Protection device integrated in the charging cable.
  • Charging Mode 3 - AC charging using dedicated AC charging stations. Mandatory PWM signaling and optional High Level Communication (HLC)
  • Charging Mode 4 - DC charging using dedicated DC charging stations. Mandatory PWM signaling and mandatory High Level Communication (HLC)
The standard then breaks down the Charging Mode 4 into 3 Systems [2]. These systems differ in both HLC and the connector used. These systems that:
  • System A - The physical/data layer is through CAN bus A interface while the application layer is defined in IEC 61851-24 standard.
  • System B - The physical/data layer is through CAN bus B interface while the application layer is defined by the GB/T 27930 standard.
  • System C - The physical/data layer is through Power Line Communication (PLC) while the application layer is defined by the ISO 15118-2 Protocol.

In other words, the CHAdeMO protocol is responsible for defining the digital communication layer between the EV and EVSE for the DC charging mode when System A is applied.

CHAdeMO Protocol

CHAdeMO (Road Vehicles – Vehicle to grid communication interface) [2] is a fast-charging system for battery electric vehicles, developed in 2010 by the CHAdeMO Association, formed by the Tokyo Electric Power Company and five major Japanese automakers.

It competes with the Combined Charging System (CCS), which since 2014 has been required on electric vehicles sold in the European Union, Tesla's North American Charging Standard (NACS) used by its Supercharger network outside of Europe, and China's GB/T charging standard.

First-generation CHAdeMO connectors deliver up to 62.5 kW by 500 V, 125 A direct current through a proprietary electrical connector, adding about 120 kilometres (75 mi) of range in a half an hour. It has been included in several international vehicle charging standards. The second-generation specification allows for up to 400 kW by 1 kV DC at 400 A. The CHAdeMO Association is currently co-developing the third-generation standard that aims to deliver 900 kW with the China Electricity Council (CEC) under the working name of “ChaoJi”. More detailed information on CHAdeMO is defined in IEC 61851-23 ANNEX AA and JIS/TSD0007 [2].

Here are some key specifications of the CHAdeMO connector:
  • Physical design: The CHAdeMO connector features a single plug with nine pins arranged in a specific pattern to ensure proper alignment and connection with the vehicle. The connector is designed to be used for DC fast charging only.
  • Voltage rating: The CHAdeMO connector is rated for a maximum voltage of 500 VDC, which allows for fast charging of electric vehicles.
  • Current rating: The CHAdeMO connector is designed to support charging currents of up to 200 A, which enables rapid charging of electric vehicles.
  • Communication protocol: The CHAdeMO connector uses a communication protocol based on the CAN (Controller Area Network) bus system to enable communication between the vehicle and the charger. This protocol enables features such as automatic authentication, charging control, and status monitoring.
  • Safety features: The CHAdeMO connector includes a range of safety features to protect against overvoltage, overcurrent, and other potential hazards. These features include ground fault detection, short circuit protection, and temperature monitoring.
  • Availability: The CHAdeMO connector is widely used worldwide (especially in Japan) and is supported by most electric vehicles from Japanese automakers such as Nissan, Mitsubishi, and Subaru, as well as some models from other manufacturers.
  • Operation: CHAdeMO operates in master-slave mode and controls the charging process and various battery parameters via the communication-enabled battery management system (BMS). The BMS checks the current state of charge of the batteries, as well as the charging current, DC voltage, and the temperature of the batteries.

Charging process and communication between the DC EV charging station and the vehicle for charging control

Communication between the station and the vehicle is carried out through the control pilots (CP, CP2, and CP3), proximity circuit CS, and the digital communication circuits COM1 and COM2. CP and CP2 transmit signals such as "ready to charge" and "end of charge" from the station to the vehicle. CP3 is used to transmit instructions to start charging or shutdown, from the vehicle to the station. Numerical parameters that appear in Annex A of IEC 61851-24 [2], such as the output rating of the charging station and the maximum voltage of battery, are exchanged through COM1 and COM2.

CHAdeMO Protocol implementation in the Typhoon HIL toolchain

CHAdeMO is implemented based on the CAN Bus protocol component in Typhoon HIL Control Center. The CHAdeMO logic and State-Machine is executed inside the CHAdeMO component in C++ code, using the C function component. It is supported by the following Typhoon HIL devices: HIL404, HIL602+,HIL604, and HIL606.

The Electric Vehicle side communication is implemented using the CHAdeMO EVCC component located in the Communication → EV charging → CHAdeMO folder in the Schematic Editor core library.

CHAdeMO EVCC component

The CHAdeMO EVCC component implements the EV side of the protocol. It is important to specify that the component implements only the communication interface and not the controller itself. In other words, the component is used only to relay the necessary messages between the EVCC and SECC. The controller (or logic) part is left to the user to implement using Signal Processing components.

The CHAdeMO EVCC component is shown in Table 1.

Table 1. CHAdeMO EVCC component
component component dialog window properties
  • Maximum charge voltage
  • Battery size
  • Maximum charge current
  • Minimum charge current
  • Execution rate
  • Choose CAN controller

Component parameters are explained in Table 2

Table 2. Component parameter description
Name Property name Default value Description
Maximum charge voltage MaxChargeVoltage 0 Define the maximum voltage supported by the EV. This is related to the number of cells in series of the battery.
Battery size PackSizeKWH 0 Define the EV battery capacity in kWh.
Maximum charge current AskingAmps 0 Maximum current allowed during charging of the EV battery.
Minimum charge current MinChargeAmperage 0 Minimum current allowed during charging of the EV battery.
Execution rate excRate 0 Execution rate of the CHAdeMO component. It is recommended to use 1 millisecond (1e-3).
Choose CAN controller CANcontroller CAN1 CAN controller on which the CHAdeMO messages will be executed.

Input/Output terminals and State values

The Signal Processing signals are passed to and from the CHAdeMO component using its terminals.

Not all values are acceptable and correct for all terminals. Some of them use integer values, some real, and some states. Table 3 explains how each terminal is intended to be used.

Table 3. Input/Output terminals
Name Description Value type
bChademoRequest Defines if CHAdeMO requests are going to be sent to the Charger (1) or not (0) state (0,1)
Voltage EV battery actual voltage [V] real
Current Measured charging current real
IN1 CP control pilot signal detection unsigned int
IN2 CP2 control pilot signal detection unsigned int
Battery SoC Battery state of charge [%] real (0 - 100)
targetVoltage Desired voltage reference to charge the EV battery, as requested by the EVCC to the SECC [V] real
targetCurrent Desired current reference to charge the EV battery, as requested by the EVCC to the SECC [A] real
complete Defines the charging session as complete by setting ChargeComplete to 0 (not complete) or 1 (complete) state (0,1)
faults Defines if the EV is in error state (1) or not (0) state (0,1)
OUT1 Defines if the Control Pilot CP3 is controlled by the K contactor (1) or not (0) state (0,1)
OUT2 Defines if the EV contactor should enable charging (1) or not (0) state (0,1)
battery size State of charge for fully charged battery [%] real (0 - 100)
availVoltage Maximum voltage accepted by the EVSE [V] real
availCurrent Maximum current accepted by the EVSE [A] real
presentVoltage Voltage present in the EVSE DC contacts [V] real
presentCurrent Current measured by the EVSE [A] real

CHAdeMO EVCC component basic logic

The CHAdeMO communication protocol consists of five CAN messages, with three messages dedicated to the vehicle side and two messages for the charging station. These messages are implemented within the Typhoon HIL Control Center software.

Both the charging station and the vehicle have one CAN message each for charge parameters and reporting errors during the charging process. Additionally, the vehicle has a CAN message that expresses the calculated charge time and the state of charge. The project utilizes the CAN 2.0A standard. CAN bus messages have a maximum length of 8 data bytes.

The execution loop is implemented within the C Function block, utilizing the C/C++ programming language. This block also allows for importing C++ files (.cpp) and header files (.h). The inputs to this block consist of received messages from the charger to the EV, along with auxiliary variables. The outputs from this block consist of messages sent by the EV to the charger, as well as additional variables monitored during simulation to ensure proper functioning.

The main function inside the CHAdeMO component checks the received messages over CAN bus and sets the parameters that need to be sent. It also monitors and verifies the values of various parameters, both received and to be sent. Based on these values, the relationship between the electric vehicle and the charging station transitions between different states, such as WAIT_FOR_EVSE_PARAMS and RUNNING (charging process), is defined.

Virtual HIL support

Virtual HIL currently does not support this protocol. When using a Virtual HIL environment (e.g. when running the model on a local computer), inputs to this component will be discarded and outputs from this component will be zeroed.


  1. International Electrotechnical Commission (IEC), "IEC 61851, Electric vehicle conductive charging system - Part 1: General requirements", 2010, pp. 14
  2. International Electrotechnical Commission (IEC), "IEC 61851, Electric vehicle conductive charging system - Part 23: DC electric vehicle charging station", 2014, pp. 33-70