In the last post I explained the differences between Classic and Adaptive AUTOSAR. For the lazy ones: Adaptive is not like Classic 2.0, it is targeted to larger (Much larger) ECU’s that are in modern cars. Different language (C++) and for all a different approach to the general architecture.
As described in one of the previous posts, in the beginning there was only one AUTOSAR. It was created by a group of manufacturers of cars and of car-parts.
The idea was to make the distributed development of software for cars easier and more reliable by offering a standard platform.
This contains a “standard” hardware layer that makes the used CPU abstract. Also things like “Virtual Function Bus” (Abstraction of the hardware so you can develop against a “virtual” car, ARXML to exchange information help to do exactly what AUTOSAR was developed for.
Many of this is done very smart to prevent an overhead that would be too large, certainly looking at the very price sensitive market.
There are drawbacks too: AUTOSAR has become incredibly complex and is very difficult to learn.
Earlier cars (the ones without electronics) had a gas pedal, a brake and a steering wheel. (Yes they had more… but these are the “basic” functions. These three had nothing to do with each other. You hit the gas pedal to go forward, the brake to stop and you used the steering wheel to set the direction.
In new cars, steering can still be done by the steering wheel (That now does not need a direct connection with the wheels anymore…) but also by using the brakes (Brake on one side will steer the car to that side) or with the gas (Applying torque on one side will steer to the other side)
using all this functions on different controllers will cause the busses to be overloaded because of all the information that has to be exchanged all of the time.
The Next Steps.
So since a decade or so, cars are changing, also caused by the increasing part of electronics and software (Software is now responsible for ( on average ) about 50% of the price of a new car, and this percentage is increasing)
Since this also caused the more and more tighter integration of all functions in cars, manufacturers started thinking about using other types of controllers in cars to have more functions integrated on a single controller (centralization)
This makes sense, as we read already, using bigger (and fewer) CPU’s that control multiple functions in a single CPU can reduce bus-load and make functions more easy to implement.
I am the (proud) owner of a Mercedes. The current Mercedes is the 10th I own, I drove more than a million kilometers with a star on the hood. (A, C, CLK, E, S, …)
So… I’m a bit of a fan. Although even Mercedes has flaws, I still love the design and the general handling of the car. But the following story made me doubt the choice I made (Until I found out that it’s the same in all brands)
My previous car was a hybrid, an S300h (w222 pre-Mopf for the experts). Beautiful, with a lot of options and one of the first cars to have a giant display on the dashboard.
The system behind the displays is called Comand. After I drove the car a while I noticed that loading navigation information via a DVD in the garage once a year was not what I liked. I drive (drove, pre-COVID) a lot, like 60.000km/year so I was a lot in area’s where my Satnav had no idea because the roads changed.
Once on a USA trip I got in touch with Apple CarPlay and immediately loved it. That is the way to go: online navigation with live traffic information is the way to go.
So I went to my garage and they told me that my Comand was just a few weeks too old, a bit newer and they would offer Apple Carplay. But no chance of upgrading the current one. Grrrrrr
Last year, after a lot of small incidents, my Comand gave up and needed to be replaced. At first I was quite disappointed, guarantee was out so that would set me back €1000,- But then I thought: Hey! there is a bright side to this: Finally I will have Apple CarPlay.
To save you a lot of sentences with bad language: No it did not. The only unit that would work in my car was one specific type with a very specific version number, 3 digits behind the comma. Others would not work at all.
The system is so tightly developed that it is not possible to exchange parts of the system for slightly newer (or older) parts: they simply don’t work at all.
Wait! There’s more!
This example shows that the tighter integration and the bus-load are not the only problems.
It is also the 1:1 connection between functions. Part of tat problem is the decade long coping with small controllers and not enough room to implement functions.
In IT environments this is all long solved using design patterns, asynchronous communication, brokers, DDS and much more.
Now _that_ is what AUTOSAR Adaptive has introduced in the Automotive world.
Using SOA, asynchronous communication, DDS and more, you can create systems that can do what they were designed for and ignore the rest that they don’t know.
(Keyword MBUX in Mercedes)
That’s it for now!
Drive safe and enjoy AUTOSAR!
Walter van der Heiden (firstname.lastname@example.org