DC charging session
A DC fast charge is a negotiation before it is a flow of power. The car and charger find each other, agree on a language, prove who they are, state their limits, test the cable's insulation, match voltages and only then close their contactors. Each protocol does this its own way: CCS talks IPv6 over the pilot wire, CHAdeMO mixes relays with CAN, GB/T powers the car's battery manager before it says hello. Pick a protocol and press play; switch protocols to see the same car on the same charger in each one.
- DIN 70121
- ISO 15118-2
- ISO 15118-20
- CHAdeMO
- GB/T 27930
Carried on: HomePlug Green PHY on the Control Pilot, IPv6, TCP or TLS
Plug-in
0.0 s · 0 V · 0 A · 20 % SoC
Plug-in
The vehicle loads the pilot and it drops from 12 V to 9 V (state B). The charger answers with a 5 % duty cycle: "we talk digitally". No current is offered over the pilot in DC.
- Plug-in
- SLAC
- Find the charger
- Agree on a protocol
- Session and authorization
- Limits
- Cable check
- Pre-charge
- Charging
- Stop
The whole session
Sources
IEC 61851-1 Electric vehicle conductive charging system — Part 1: General requirements. Ed. 3.0, 2017.
- Annex A: 5 % duty cycle requests digital communication
ISO 15118-3 Road vehicles — Vehicle to grid communication interface — Part 3: Physical and data link layer requirements. 2015.
- SLAC: signal level attenuation characterization over HomePlug Green PHY
EVerest libslac Open-source SLAC (ISO 15118-3) implementation: message types, counts and timers. GitHub, 2026.
- slac.hpp: message types, 3 start indications, 10 sounds, timers
pyPLC Open-source CCS EV/charger emulator over HomePlug: V2GTP framing, SDP and decoded session captures. GitHub, 2026.
- V2GTP framing; SDP on UDP 15118, multicast FF02::1
ISO 15118-2 Road vehicles — Vehicle to grid communication interface — Part 2: Network and application protocol requirements (message schemas published openly by ISO). 2014; XSD schemas.
- V2G_CI_AppProtocol.xsd
- V2G_CI_MsgBody.xsd
Josev Open-source ISO 15118 / DIN 70121 implementation (SwitchEV iso15118): message order and timeouts. GitHub, 2026.
- EVCC state machines: message order
- timeouts.py per protocol
EVerest EVerest open-source charging stack (Linux Foundation Energy): bring-up guide, IEC 61851 checks, and the EvseManager DC sequence (cable check voltage, insulation limits, pre-charge current). documentation, 2026.
- EvseManager: cable check voltage per IEC 61851-23:2023 CC.4.1.2, 100 kΩ fault limit, 2 A limit, < 60 V safe
IEC 61851-23 Electric vehicle conductive charging system — Part 23: DC electric vehicle supply equipment. Ed. 2.0, 2023.
- DC charging sequence, insulation check and welding detection
Values are paraphrased from the standards, not quoted. Voltages and currents on this page are computed from the nominal component values; real hardware sits anywhere inside the tolerances.
About the timings and the battery
Message order, names and fields follow the published schemas and open-source implementations listed under Sources. Exact timings vary between cars and chargers: the ones here sit inside each protocol's timeouts and match published captures where those exist, but they are representative, not measured. The battery and its charging curve are illustrative, not any particular car, and the same model drives every protocol so they compare like for like.
