Blog
October 11, 2021
Electric vehicles are quickly becoming the vehicle of choice for many consumers. Globally, one in four new cars sold are electric, which includes full battery-electric vehicles and plug-in hybrids, according to Our World in Data.
This was a monumental leap since 2022, jumping from 26 million electric cars in use to over 40 million now. Gartner predicts that by the end of 2025, the number of electric vehicles in use will be up to 85 million.
As the electric vehicle market will only continue to grow, it is essential that those interested in developing software systems for electric cars have a clear understanding of electric vehicle development and electric vehicle software.
Read along or jump ahead to the section that interests you the most:
Table of Contents
- What Are the Different Types of Electric Cars?
- Electric Vehicles vs Internal Combustion Engine
- Today's Electric Vehicle Software Development
- Challenges of EV Software Development
- Key Standards for Electric Vehicles and Electric Vehicle Software
- Why Static Code Analysis Is Essential to Electric Vehicle Software Development
➡️ Sign Up for a free Helix QAC Trial
Back to topWhat Are the Different Types of Electric Cars?
An electric vehicle (EV) uses one or more electric motors for propulsion and is powered by a battery or with electricity from extravehicular sources stored in a collector system.
In general, electric vehicles come in three main types — each one with its own unique power system.
Battery-Electric Vehicles
Battery-electric vehicles (BEVs) have a large battery that powers one or more electric motors.
Plug-In Hybrid Electric Vehicles
Plug-in hybrid electric vehicles (PHEVs) have both batteries and a fuel tank. When a PHEV uses up its electric range, it then switches to its internal combustion engine (ICE).
Hybrid Electric Vehicles
Hybrid electric vehicles (HEVs) do not charge through an external plug-in port. They instead charge their batteries autonomously through energy from the gas engine, efficiently using both the internal combustion engine and the electric motor system.
Fuel Cell Electric Vehicles
Fuel cell electric vehicles (FCEVs) have numerous cells that are combined into a stack that chemically combines hydrogen gas from the vehicle’s tank and oxygen from the air to produce electricity.
Electric Vehicle Battery
As the battery pack is a core part of every electric vehicle, electric car battery maintenance is vital. The battery management system (BMS) collects data on the battery’s internal state to both protect the battery and control the power storage This determines how much energy is entering and exiting the battery pack, and the remaining charge in the battery to ensure that the battery will not operate outside of its safety margins.
Back to topElectric Vehicles vs Internal Combustion Engine
Apart from the difference in what powers each type of vehicle, there are some key differences between electric vehicles and those with an ICE.
The components of an electric vehicle are much simpler than those of an ICE. There are only around 20 moving parts in an electric engine, compared to the nearly 2,000 in an ICE.
Instead of the complex mechanical systems in an ICE, embedded software is necessary for an electric vehicle to run. For example, the motor controller — which monitors and regulates functions such as the battery and accelerator — is completely controlled by software.
What’s more, the software is used to manage the vehicle — particularly the monitoring system that provides diagnostics regarding performance and maintenance.
Back to topToday's Electric Vehicle Software Development
Embedded software is essential to the functioning of an electric vehicle. Many electric vehicles are, in fact, becoming software defined vehicles (SDVs) where drivers not only have a software-driven experience including in-vehicle infotainment (IVI) and conversational AI, but driver-assisted autonomous AI and real-time updates and upgrades of the software architecture throughout the vehicle's lifetime.
Traditionally, software updates for ICE vehicles are performed by cables in a workshop.
As the amount of software increases and particularly for the many software components that make up electric vehicles, over-the-air (OTA) updates make it easier to enhance the functionality, safety, and security of the vehicle. Automatic installation of software and firmware through cloud connectivity ensures that electric vehicle software remains up to date thus ensuring optimal performance.
Electric vehicle software offers smart features, including the following:
Electric Vehicle Software: Connectivity
All modern vehicles emphasize the connectivity of onboard embedded systems. This is generally for the convenience of the drivers and occupants. However, for electric vehicles, there are additional requirements for connectivity. This provides improved vehicle safety and efficiency, as well as other beneficial features, including driver assistance and predictive navigation.
📕 Related Content: What Are Advanced Driver Assistance Systems?
For example, remote diagnostics that feature real-time alerts can enable proactive servicing — avoiding or reducing service and repair times.
Electric Vehicle Software: Navigation
Since driving range is currently a major concern for most types of electric vehicles, route planning is essential. Therefore, smart navigation software that can recommend the optimal route based on collected data is essential. Integrated with the car head unit, smart navigation enables drivers to find the closest charging station. This system is complemented by the BMS, which provides data on the charge of the battery and an estimate of how long until it is depleted.
Electric Vehicle Software: Maintenance
As electric vehicles have special maintenance and repair requirements, a monitoring system for automobile diagnostics — such as a BMS — is essential for identifying problems. These systems can notify the driver about specific automotive parts that need to be inspected by a mechanic according to the vehicle’s specifications.
Additionally, electric vehicle software helps evaluate vehicle performance and find weak spots in its design.
📕 Related Resource: Guide to Automotive Software Development
Back to topChallenges of EV Software Development
As electric vehicle sales continue to grow, development teams have more opportunities than ever before to improve various features and functionality through the EV software. For example, on a commercial level, EV fleet management software can help fleet operators maintain the charging infrastructure of all the vehicles in the fleet. Individual EV owners can use EV battery health monitoring to optimize and extend battery life and performance.
However, the complexity of the software and integration can be challenging. Common challenges of EV software development include:
Cybersecurity
Connected vehicles, including EVs, can be exposed to cyber threats that lead to anything from data breaches to malicious control over critical vehicle functions. Hackers can gain access in a number of ways, including mobile apps, physical access points of charging stations, and command-and-control servers for connected fleets. Development teams should invest in DevSecOps best practices training, familiarize teams with software security guidelines and coding standards, and employ development tools that catch vulnerabilities and coding errors early in the software development lifecycle.
📕 Related Content: Electric Vehicle Security Overview
Reliability
EV software must be consistent and reliable for the vehicle to function without failures or interruptions. But software issues in EVs can cause unexpected behavior and threaten driver and passenger safety. Developers know firsthand how difficult it can be to ensure robust, reliable software, with modern EV systems using more than 150 million lines of code and their software needing to interact in complex ways with hardware components and various operative systems. Taking a "shift-left" approach to EV software development can help to address issues early in development, identifying and fixing defects long before deployment.
Compliance
Many hardware components in EVs have been replaced by electronic components, which introduces safety and security concerns and requirements. Many of these concerns can be addressed by enforcing coding standards. The same functional safety and security standards essential for traditional vehicles like ISO 26262 and ISO/SAE 21434 are also important for electric vehicles.
Back to topKey Standards for Electric Vehicles and Electric Vehicle Software
Currently, there is no specific electric vehicle standard that the automotive industry must follow. However, the same standards required for vehicles with an ICE also apply to electric vehicles. This includes ISO 26262, which applies to electric and/or electronic systems in vehicles.
A key software requirement of ISO 26262 is that a coding standard must be used for compliance. The most commonly used coding standard has traditionally been MISRA and that is recommended but AUTOSAR C++14 coding guidelines have also been widely adopted. A static code analysis tool — such as Helix QAC — should be used in order to enforce and verify compliance to the selected coding standard.
📕 Related Resource: You can learn more about ISO 26262 helps to ensure that automotive software is functionally safe.
Back to topWhy Static Code Analysis Is Essential to Electric Vehicle Software Development
One of the most effective ways to ensure that the embedded software in an electric vehicle is safe, reliable, and compliant is to use a static code analysis tool, like Helix QAC.
A static code analysis tool helps enforce key automotive coding guidelines such as MISRA and AUTOSAR C++14, and assists with compliance to functional safety standards such as ISO 26262.
In addition, it improves software quality by:
- Detecting compliance issues earlier in development.
- Enforcing coding standards.
- Accelerating code reviews.
- Reporting on compliance over time and across product versions.
See how Helix QAC can help accelerate compliance, as well as improve the safety and reliability of your automotive software. Sign up for a free trial today.