- What is the function of a body control module?
- BCM system architecture
- BCM development: how to achieve effectiveness
- BCM development challenges
- Functional safety
Each modern car is a collection of several complex systems. All of its electronic and mechanical components work in sync, with hundreds of wires, sensors, and terminals sending feedback to different control units every second.
The unit we’ll discuss today is the BCM – your vehicle most definitely has one.
More precisely, we’ll talk about:
- what is a BCM in a car;
- what a BCM does;
- what it consists of;
- how to develop one;
- how to spot a BCM malfunction;
- how much it costs to replace it;
- and more.
So let’s dive right in and learn about this interesting piece of tech.
What is the function of a body control module?
What does BCM stand for in cars?
BCM stands for Body Control Module. It’s also known as the “body computer”, though that term isn’t used nearly as often.
What does the body control module do?
What does the BCM control, exactly? Well, it’s an electronic unit that controls different safety and comfort features in a car. Windows, mirrors, temperature, wipers, and so on – all of these are under its command.
There are two kinds of BCM hardware:
- Input devices. These are all the sensors that transmit data to the BCM.
- Output devices. These generate a response to the signals received from input devices.
For example, a user presses the power window switch, and an input signal goes to the BCM. In turn, the BCM sends an output response to the little motor that lowers or raises the car window. As a result, the window opens.
Though the process includes multiple steps, a typical exchange like this takes less than a second to complete.
Hardware aside, every BCM has an application layer. It usually connects to other components of the body control module with an API. The software is also frequently integrated with standard automotive stacks: ISOBUS, UDS, OBD2, etc. Though, the latter is a matter of legal requirements more often than not.
BCM software is home to a variety of algorithms. Say, you want to open the vehicle with a remote key. The encrypted signal from the key is tied to a specific car. When the vehicle sensor catches it, the cipher is put through a decryption algorithm. If it’s a match – viola, the doors are unlocked!
Likewise, BCM software is responsible for:
- Calculating the current trip distance;
- Calculating the total distance traveled by the vehicle;
- Calculating fuel usage;
- Monitoring remaining fuel;
- Calculating distance to empty;
- Deciding on the most appropriate gear for the current speed and displaying it to the driver.
In short, it’s a complex system that has to account for a lot of variables.
BCM system architecture
The system architecture of the body control module incorporates a large number of components mainly handled by the microcontroller.
The key elements of the architecture are:
- Automotive-grade design components;
- Reception of digital, analog, and CAN bus inputs from sensors for internal/external lighting, parking brakes, the wheel, 4WD, and so on;
- Load driving directly or via relays for internal/external lighting, climate control, wipers, operator safety, remote start, and the PTO system;
- Bluetooth support;
- Low sleep currents;
- Secure communication and key storage (SHE 1.1);
- High-quality, scalable basic software;
- Loading programs via UDS;
- Compliance with the ISO 26262 standard.
As you can see, a lot of these essentials have to do with safety. Being the number one priority of all automotive solutions, it’s a huge point of focus in building BCM systems. So let’s have a closer look at the matter.
BCM development: how to achieve effectiveness
Body control module development is challenging to say the least. It also doesn’t come cheap. BCM developers need to account for such factors as:
- Perfect software performance;
- A lot of input and output processors;
- A lot of input and output channels;
- Power consumption;
- New cycles for more complex modules.
It’s also important to keep in mind that BCM development is case sensitive. Different vehicles can function very differently, and the same will apply to their control modules.
Nevertheless, there are some common BCM software requirements. Namely:
- Safety and reliability;
- Stable performance;
- Cost and energy efficiency;
- Scalability (including scaling across different models);
- Global OEM platform support;
- Fast product cycles;
- Advanced data management functionality;
- Compliance with standards (ISO, AUTOSAR, SPICE).
Needless to say, this is a task for a development team with significant experience in Automotive.
Embedded BCM solutions
Embedded software is a major trend in modern Automotive. These systems have opened the door for dozens of new navigation and diagnostics opportunities, and they are very lightweight, too!
BCM development as a whole is closely tied to embedded solutions. They account for the two most popular types of BCM architecture:
- Centralized architecture. This kind of architecture is built with fewer modules and more communication UIs. Individual modules are more complex compared to distributed ones.
- Distributed architecture. This type is more flexible and easy to scale. However, it can’t be optimized nearly as well as a centralized system.
But how does one ensure this software is high quality? To that end, there are a couple of challenges developers need to overcome.
BCM development challenges
Aside from ensuring full compliance with industry standards, BCM development presents several unique problems. Luckily, there are ways to deal with them.
Processing speed and response times are highly dependent on the architecture. And oftentimes, software performance is a testament to the developer’s skill. Still, there are specific practices that can make anyone’s life easier when working on a BCM.
For one, an industry-proof application architecture is a huge boon: AUTOSAR is perfect for BCM software. You can also equip separate processors for inputs and outputs to give the body control module more speed.
Battery life is a persistent concern for OEMs and drivers. While BCMs themselves are already a kind of power-saving tool, there are ways to further reduce the amount of energy they consume.
From the software standpoint, competent architecture design can prevent the system from overloading and using more power than it needs to. From the hardware standpoint, consider using quad flat packages when building a BCM – they tend to be more cost efficient.
The number of input and output channels the BCM must connect to varies from car to car. That said, as vehicles get smarter, the number of sensors and processors the BCM has to deal with will also increase.
There are two solutions to this. Firstly, eSwitches with an SPI can help manage PWM channels when there are a lot of inputs and outputs involved. Secondly, the development of rapid prototyping for BCMs can help deliver more complex modules in shorter cycles.
Functional safety is a top priority in any body control system. As you already know, ISO 26262 compliance is a must. But the list of security measures and protocols involved in developing BCM software extends far beyond that.
There’s also the need to carry out a number of procedures, such as:
- item definition;
- risk assessment;
- hazard analysis;
- safety goals definition;
- safety attributes definition;
- functional safety concepting.
The latter includes system design from the standpoint of, well, functional safety. When the technical safety concept is complete, the system design is implemented into the hardware and software components.
But developers still need to check if the BCM meets all the safety requirements. This is done with the help of several methodologies:
- System design FMEA (Failure Mode and Effects Analysis). Checks if the system abides by all the safety standards;
- Software design FMEA. Checks the efficiency of built-in safety mechanisms;
- Hardware FMEA. Checks hardware architecture by using SPFM (Single Point Fault Metric) and LFM (Latent Fault Metric);
- Hardware FMEDA (Failure Modes, Effects, and Diagnostic Analysis). Checks the probability of random hardware failures violating established safety goals.
In short, ensuring the safety of a BCM is a very extensive process.
So what is the body control module?
A BCM is an integral part of every modern vehicle. As such, its performance deserves maximum attention. After all, the main body control module function is controlling all the electronics in the car. Any and all BCM issues must be addressed ASAP, no matter how minor they may seem.
Being a combination of hardware and software, these units require top-notch programming to function well in the long term. Bamboo Apps is a company with years of experience in all things Automotive. Feel free to sign up for a consultation if you are interested in our expertise.