From the point of view of an electronic engineer, a car is a moving box full of embedded systems. For those who are going to devote their lives to the automotive industry, as well as for those who just want to learn more about the internal structure of the car, this material may be useful.
Analogue Electronics in the Past:
Until the beginning of this century, there were not many electronic systems in cars. Some expensive models had electronic ignition, cruise control and climate control, but it was a fairly primitive system of analog electronics. Since then, much has changed. Modern cars, even basic models, have dozens of microprocessors and microcontrollers of various capacities, from tiny 4-bit devices to 32-bit or even 64-bit monsters.
Special Programme for Analogue Electronics:
Each of these devices contains a specific program for performing certain tasks, so the software is one of the most important factors in the quality and reliability of a car. To streamline the development of automotive embedded systems and software for them, special standards were introduced, and here is their main (but not complete) list:
Automotive Embedded Systems:
- CAN bus is a means for reliable connection of many electronic systems with a minimum number of wires.
- MISRA C (and C ++) is a detailed list of rules for using the C language in critical safety systems such as automobiles.
- OSEK / VDX is the standard for real-time operating systems used in automobiles and other similar systems.
- Genivi is the standard for Linux-based systems used for in-car infotainment systems.
Let’s consider each of these standards in more detail.
CAN Bus Is Technical Electronic System:
Wiring in cars is traditionally laid on a point-to-point basis. This circuit is easy to understand and technical, but quickly becomes overly complex when the number of electronic systems increases. At some point, using the system bus begins to make sense. A bundle of wires goes from one device to another, and each device has a unique bus address and only responds when it sees this address on the bus.
- Misra C is Amazing in the World of Programming:
Embedded developers often regret that no programming language is ideally suited to their specific needs. In a sense, this situation is not surprising, because although so many developers are working on creating embedded applications, they still represent only a very small team in the world of programming community. However, some languages have been developed for their use in embedded systems, such as PL / M, Forth, and Ada. But they are not generally accepted.
- OSEK / VDX in Car Contro System:
OSEK / VDX is the standard for RTOSs designed for use in car control systems. It was designed from the ground up for this purpose and includes the basic features necessary to ensure the security of a critical system. A key feature is the lack of dynamic objects; everything is created statically during assembly. The internal simplicity of this implementation does not significantly limit software developers, but eliminates a significant potential source of system failure.
- Is Genivi Especially Designed for Cars?
Most infotainment systems in cars do not have strict safety requirements and are not too attached to real time, so Linux is a good choice because it provides a wide selection of additional software components. And Genivi is the standard for implementing Linux in this context.