Vertically Integrating Software to Improve Reliability

Introduction

At Electric Era, we own our entire charging software stack, down to the firmware level. This vertical integration enables us to test and improve every part of our chargers' software to create a reliable charging network.

EV connectors include a data line called Control Pilot. Level 1 and 2 chargers, like the kind you might have at home, use simple analog signalling over Control Pilot to indicate available power. In contrast, level 3 fast chargers require extensive and complex digital communication protocols called DIN 70121 and ISO 15118, running Ethernet over power line, to allow EVs and chargers to negotiate higher current levels for faster charging, payments initiated by the EV itself with Plug & Charge, validate safety checks, and more. When something goes wrong in this communication, the EV doesn't just charge slowly; it can't charge at all. EV–charger communication is at the heart of achieving high charging session reliability.

Figure 1: The EV communicates its presence and readiness by changing the voltage on the Control Pilot line.

Our Approach

Our charger software design is based on a distributed FSM architecture that allows us to isolate logic into discrete components connected by lightweight IPC. The two key processes are:

  • Dispenser Control, which manages the hardware of the charger, including the power conversion and safety handling.
  • Vehicle Comm Manager, which is responsible for the communication session with the EV and negotiating power levels.

Dispenser Control is in charge of each part of the charger's hardware. Instructed by the negotiation with the EV in Vehicle Comm Manager, it drives the power conversion modules to provide the exact DC power levels requested by the EV. Dispenser Control also manages the insulation and safety monitoring system to reduce the risk of electrical and thermal hazards and ensure the high-power electronics inside remain in a safe operational condition. Critical safety logic lives within a dedicated high-speed safety microcontroller chip that independently monitors the system to respond to these risks within milliseconds, faster than the software alone can guarantee.

Figure 2: The EV dynamically adjusts its target power level throughout a session, which is then measured and recorded by our system.

Vehicle Comm Manager implements the DIN and ISO protocols to support EVs, regardless of which communication standard they use. Based on hundreds of pages of specification, it runs each step of the complex charging session communication sequence. While charging, the EV requires responses from the charger within a matter of milliseconds, so this process must remain lightweight enough to respond rapidly to every request from the EV as it tunes the power levels throughout a charge session.
Isolated from the power hardware, we can quickly test its code with simulated EVs. Our Continuous Integration (CI) pipeline runs EV simulations to exercise and validate Vehicle Comm Manager on every code change, without needing to plug in a real vehicle, enabling us to develop quickly and fix bugs at the speed of software.

Figure 3: Captures of EV–charger communications help our operations team to identify, analyze, and fix communication failures.

Conclusion

When something goes wrong during a session, our distributed design isolates failures to a single component, preventing faults from affecting the rest of the system. A communication failure cannot compromise the safety monitoring system, nor can a power hardware fault prevent the charger from communicating its status to the EV. Our software design emphasizes a clean separation between the hardware control and higher-level logic and EV communication, separated by testable interfaces that enable our developers to quickly isolate, fix, and validate bugs without even needing to touch the hardware.