Ten most useful car technologies. Car software Modern car software

Do you know the types of car repair software?

Automotive repair software

The two main types of auto repair software are used for diagnostics or front office management. Diagnostic software for automotive repair can contain a variety of features, including repair procedures, troubleshooting instructions, known "correct" values ​​for sensors, and other invaluable information. This software is often available from selected foreign and domestic car repair services, and may cover specific car brands. Specialized automotive repair software is also available for modern diagnostic tools, some of which can be quite complex computing devices. Front-end software may include estimators, schedulers, and work order generators. High-quality software settings can be performed at http://savtom.com/, where Mercedes, Audi and BMW cars are repaired.

Mechanics have historically gotten most of their information from repair manuals and experience. Several publishers have created useful information and made it available in book form. The two main types of these books were diagnostic manuals and fixed rate reference books. Diagnostic manuals contained specifications and repair procedures, and fixed-speed manuals estimated how long each particular job should take to complete. With the widespread use of personal computers in the workplace, this type of information has been translated into automotive repair software.

Most modern auto repair facilities have some kind of computerized information system to assist in diagnosis and repair. The simplest form This is a single computer terminal containing a set of compact discs (CDs) or digital versatile discs (DVDs) that contain repair procedures, specifications, and other information. The technician can enter the year, make and model of the vehicle into this type of system to find specific information. Some of these programs also include a variety of circuit diagrams, wire diagrams, and exploded diagrams.

There are several variations of this basic type of car repair software. Some service providers provide all this information through an Internet connection. This way, the technician or shop pays a monthly fee to access information that is always up to date. Such services offer critical bulletins and repair procedures that have been compiled by real experts in the field. Software is also usually available for specialized scanner and diagnostic equipment, and some programs can even turn a laptop into a scanning tool.

The other main type of auto repair software is typically used in the front of the office. A fair assessment of the rate is one of essential functions this software. This type of software allows the technology or service developer to enter the year, make and model of the vehicle to find out how long any repair should take. These fixed rate numbers can then be combined with the price of the parts to create an estimate. This type of software can also offer scheduling functionality, generate work orders, and track sales.

09.04.2010 Jurgen Messinger

When you buy your next car, it will already have 100 million lines of code, and perhaps you should think about the challenges associated with creating such on-board software systems and the new opportunities they open up in automotive industry.

The first electronic systems appeared in cars back in the 60s, and thanks to this the industry has changed dramatically - today electronics, and especially software, are the main sources of innovation. The software improves reliability with active and passive safety such as anti-lock brake system and electronic system directional stability(ESC). In addition, today there is a gradual integration of consumer electronics into cars.

Automotive software is very reliable, with a failure rate of no more than one failure per million transactions per year. Most people don't even realize how much car functions are controlled today by software, however, it is unlikely that you have ever heard of a blue screen in a car, although this is a common occurrence on a PC.

Nowadays, each car has several electronic control units (electronic control unit, ECU), interconnected by an intra-car network. These blocks communicate through standard bus architectures such as controller area network (CAN), media-oriented systems transport (MOST), FlexRay, and local interconnect network (LIN). Compared to Ethernet, which is widely used for PC communications, these buses are slower - in cars, the amount of information sent is small, but it must be processed in a few milliseconds. The increase in the number of interconnected ECUs leads to the need to create more complex intra-machine network structures that require special electrical and electronic architecture. The main differences between automotive software and other types of software:

  • reliability: Automotive software systems must operate extremely reliably in a complex ECU network throughout the entire life of the vehicle;
  • functional safety: Features such as anti-lock braking system and ESC require trouble-free operation, which places high demands on software development processes and on the programs themselves;
  • work in real time: fast response (from microseconds to milliseconds) to external events requires optimized operating systems and special software architecture;
  • minimal resource consumption: any addition of computing resources or memory increases the cost of products, which, with millions of copies, results in a lot of money;
  • robust architecture: Automotive software must withstand signal distortion and support electromagnetic compatibility;
  • electronic-mechanical closed-loop control.

It should be taken into account that rebooting during operation is unacceptable for most ECUs.

Processes and technology

If in the first years of the emergence of automotive software it could be controlled by one developer, now this is no longer possible.

In the 70s, automotive software developers began using assembly language, and C became the main language in the 90s. Over the past decade, Robert Bosch and other automotive component suppliers have begun developing model-based software using ASCET (Advanced Simulation and Control Engineering Tools) and Mathlab/Simulink.

Bus systems such as CAN add significant software complexity because they allow interactions between different ECU programs. In luxury cars, a complex network now links up to 80 ECUs, with a total of up to 100 million lines of code. As software becomes more complex, there is a need to improve engineering methods, accordingly, the industry today offers parallel organizational and technical processes for software development. Bosch has a long history of developing engineering and management processes that comply with CMMI Level 3, and its engineering division in India has already achieved Level 5.

Process and architecture driven development is also a necessary condition effective outsourcing - Bosch began to outsource some developments back in the early 90s. Today, work on software is carried out by several geographically distributed divisions, which has turned out to be very useful for business, for example, now more than 6 thousand engineers work in a branch located in India.

Engine control

The challenge of reducing fuel consumption and emissions harmful substances stimulates efforts to improve the transmission, for example, compliance with international emissions legislation requires compliance with guaranteed fuel injection and ignition timing. In addition, the injection frequency has increased significantly - modern diesel systems can inject droplets of fuel smaller than a pinhead up to seven times per stroke, which is 420 times per second for four-cylinder engine, rotating at 1800 rpm. This requires very sophisticated control algorithms and software functions to minimize deviations.

The need to reduce CO2 emissions has led to a variety of propulsion technologies – in addition to traditional engines internal combustion over time, a significant market share will belong to hybrid systems and electric motors. The consumption of alternative fuels will also increase, and software will be the key to enabling these technologies.

The engine control module is the basis of transmission control passenger cars. Modern modules contain over 2 MB of built-in flash memory, operate at a clock frequency of up to 160 MHz, executing programs with a volume of up to 300 thousand lines of code.

Automotive system suppliers often sell more products than each individual automaker. In 2008, one of the largest automakers sold about 9 million vehicles out of a global production volume of 65 million, while the sales volumes of software system suppliers are much higher. This gives system providers greater opportunity to achieve cost savings through mass production required for large-scale software development.

Standardization

As a rule, software systems for cars are developed taking into account the specifics of a particular ECU - the software is closely linked to the corresponding hardware. With the number of automotive ECUs on the rise, software reuse is becoming increasingly important, and this requires standardization.

In 2003, leading automakers and suppliers created the Automotive Open System Architecture (Autosar, www.autosar.org) community to develop a single global standard and related technologies. Today, Autosar includes over 150 companies and through this partnership the ECU architecture, underlying software, methodology and standardized interfaces for application software are developed. The partnership promotes the development of hardware-independent components, allowing automakers and suppliers to share software and reuse it across different ECUs.

The Autosar ECU architecture has several layers of abstraction separating software from hardware (see figure). At the top level there is application software that implements all application functions. Next comes the underlying software, which provides the necessary abstraction from the hardware, similar to a PC operating system. The real-time execution environment (Autosar Runtime Environment, RTE) provides all interactions both within and between the ECUs. The Autosar methodology includes templates and interchange formats used to describe, configure, and generate infrastructure.

Today, electronics account for about 80% of the automotive industry's functional innovations, and software is the key to most of them. As software becomes a more significant part of hardware costs, business models are beginning to take into account the need to reuse and share software.

High-speed buses such as Ethernet are increasingly used in the automotive industry today to support communication between ECUs and the development of new functions, especially in the field of safety. Information from various sources is analyzed and consolidated to form a complete model of the environment, allowing the development of new functions that support the driver in critical situations. For example, if the driver’s attention is distracted by a passenger, the application can detect that the car ahead is braking and warn the driver about this, or autonomously apply the brakes. The driver will never realize that such software exists until a dangerous situation arises.

Today, another software revolution is ripe in the automotive industry - multimedia and consumer electronics are beginning to be used more and more widely. Cars will be connected to the Internet and to all types of mobile and home devices, and the share of solutions based on free software will steadily increase.



When faced with the realities of the engineering industry, most software developers cannot cope - the products they have to work with are very highly specialized. This is not creating programs for Internet users, computers, or even mobile applications, which is why beginners feel like Thomas from the movie “The Maze Runner.” Watch about 50 seconds of the trailer and you will understand the shock experienced by those who are dealing with software development for cars for the first time.

All you have is a bunch of terms and tools that you have no idea about. When during an interview in one car company I asked what IDE they use; the interviewer, to put it mildly, did not like my question. I was used to Visual Studio, and naively hoped that something similar would be needed here for embedded software development. I had no idea what awaited me! Just a sea of ​​small and serious (in terms of complexity) instruments that needed another victim.

Moreover, when it comes to developing software for cars, tools are by no means the only problem. It is almost impossible to find literature for beginners or just training materials regarding libraries or the architecture of the corresponding programs. The term " tutorial” and sounds completely inappropriate, because the automotive industry is a very closed community. And you can hardly call it a community, because with such competition no one should guess how you create this or that program. To learn at least something about the individual tools and mechanisms of this segment of programming, you can enroll in prohibitively expensive courses, but your company must be prepared to shell out a considerable amount of money and it will take at least several weeks to gain the experience that you need now. It’s a pity that understanding the specifics of programming for the automotive industry is so difficult, and therefore I decided to devote my article to this topic.

Having repeatedly switched from creating applications for Internet users/computers to developing embedded programs and back again, I know first-hand the problems that newbies face when dealing primarily with the first block of products. Similar difficulties arise for programmers who have never encountered the specifics of the automotive industry.

In this and the next article, I would like to talk about the principles of operation of embedded programs for cars, as well as look into the depths of the exotic architecture of embedded applications.

What topics will we cover?

  • How does embedded software improve vehicle performance?
  • How do built-in apps help you control your car?
  • What are the typical CPU limits?
  • How does built-in software enable continuous processing of sensor data?
  • How is this software structured and how do the individual applications interact with each other to control the car?
I'll answer these questions with a concrete example, while also providing an overview of embedded software architecture design. We'll take the fully electronic steering system as an example. Is not real model, but in structure it is, in principle, similar to what you most likely saw in your car. We'll talk in more detail about the architecture, and then move on to a simplified diagram that reveals the essence of the system's functionality.

You can watch a video about the development of an electronic steering system. By the way, I also worked on this team.

This model is partially controlled by software. Partially means that specialized software only helps the driver, but full control He is the one who has control over the system.

Let's say we want to create a completely electronic steering system in which the steering wheel is not directly connected to the wheels. Instead, the sensor measures the steering angle and sends the resulting data to our program. In automotive terminology, this is a servo. Believe it or not, thanks to Nissan, a model with a servo drive has already appeared on the market.

The software is run by a tiny processor or, more precisely, a microcontroller connected to the sensor via a network.

When the driver turns the steering wheel, thanks to a sensor that constantly transmits information about the current angle of rotation, the software receives a corresponding signal. For example, if the driver turns the steering wheel 90° to the right, within a second the sensor signal is processed according to the following principle:

In addition, the software also controls the operation electric motor, which moves the rack from left to right and in the opposite direction, which means the angle of rotation of the front wheels of the car changes. Accordingly, the software can direct the car left or right. Communication between the microcontroller running the software and the electric motor is ensured by electronic unit control unit (ECU), which includes the microcontroller itself and a power amplifier that regulates the engine power system. Thus, our program varies the current supply to the motor and the position rack changes in the desired direction.


Electronic control unit (ECU)

Provided that the built-in software is working correctly, turning the steering wheel changes the position of the rack almost instantly.


Steering wheel - blue, steering rack- pink (approx.)

It becomes clear that even the processing of information here is not subject to either the logic of event-driven programming, as is the case with familiar GUI applications, or the laws of batch files. Instead, continuous, timely processing of incoming data is required. If the program takes too long to analyze the sensors, the car's steering rack and front wheels will move with a delay, and the driver will notice. Most likely in extreme situation this will cause you to lose control of the car, for example, when turning the steering wheel to avoid an obstacle, the car will not immediately respond to the maneuver. This specificity increases the requirements for the timing of programs for cars, especially if we take into account the limited performance of the processor of standard electronic control units.

As a continuation of the series, we'll look at software architecture that addresses these issues, and hopefully, with the help of these materials, aspiring developers of embedded automotive applications will learn much faster basic principles operating in this area.

From an electronics engineer's perspective, a car is a moving box full of embedded systems. For those who are planning to devote their lives to the automotive industry, as well as for those who simply want to learn more about internal structure car, this material may be useful.



Until the beginning of this century, there wasn't much in cars electronic systems. Some expensive models had electronic ignition, cruise control and climate control, but these were rather primitive analogue electronics systems. A lot has changed since then. Modern cars, even basic models, incorporate dozens of microprocessors and microcontrollers different power, from tiny 4-bit devices to 32 or even 64-bit monsters.


Each of these devices contains a specific program to perform specific tasks, so software is one of the most important factors quality and reliability of the 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:

  • The CAN bus is a means to reliably connect multiple electronic systems together with a minimum number of wires.
  • MISRA C (and C++) is a detailed list of guidelines for the use of the C language in safety-critical systems such as automobiles.
  • OSEK / VDX is a standard for real-time operating systems used in cars and other similar systems.
  • Genivi is a standard for Linux-based systems used for in-vehicle infotainment systems.

Let's look at each of these standards in more detail.


CAN bus


Wiring in cars is traditionally laid according to the point-to-point principle. This circuit is easy to understand and maintain, but quickly becomes overly complex as the number of electronic systems increases. At some point, using the system bus starts to make sense. A bundle of wires is routed from one device to another, and each device has a unique bus address and only reacts when it sees that address on the bus. Several bus systems are used in automotive systems, but CAN bus is the most well known and widely used.



Embedded systems developers often lament the fact that no one programming language is ideal for their specific needs. In some ways, this situation is not surprising because although there are many, many developers working on creating embedded applications, they are still only a very small group in the world of community programming. However, some languages ​​have been developed with embedded systems in mind, such as PL/M, Forth, and Ada. But they are not generally accepted.


A compromise that has been accepted almost universally is the C language. The C language is compact, expressive, and powerful. It provides the programmer with the tools to write efficient, readable, and easily maintainable code. All these features led him to his popularity. Unfortunately, this language also allows unwary developers to write dangerous code that can cause serious problems at all stages of project development. In cars and other safety-critical systems this can be a big problem.


That's why in the late 1990s, the Motor Industry Software Reliability Association (MISRA) introduced a set of rules for the use of the C language in vehicle systems. This standard became known as MISRA-C. A similar approach to using the C++ language has also been established. Although these principles were written for automotive software developers, they soon began to extend to other applications where safety is critical.


OSEK/VDX


OSEK/VDX is a standard for RTOS intended for use in vehicle control systems. It was designed from the ground up for this purpose and includes the essential features needed to ensure the safety of a critical system. Key Feature is the absence of dynamic objects; everything is created statically at build time. The inherent simplicity of this implementation does not significantly limit software developers, but it does eliminate a significant potential source of system failure. It is not surprising that other industries are showing interest in this standard. Operating systems that support OSEK/VDX are available today from a number of vendors.



Most infotainment systems in cars do not have strict safety requirements and are not very tied to real time, so Linux is good choice because it provides wide choose additional software components. And Genivi is the standard for Linux implementations in this context.

The automotive world is not as simple as it seems at first glance. There is a lot of incomprehensible and ambiguous things in the world of the automotive industry. Confused car instructions various incomprehensible abbreviations of new technologies, abbreviations of options and much more confuse us. And in all this diversity of technology, what we understand most is the new electronic innovations in the field of car entertainment electronics. Motto modern world- It is better to live with the help of technology than to abandon it.

When it comes to new consumer automotive technologies, many of us start to get confused by a lot. In order to shed light on many technical innovations in cars and prevent consumers from getting confused, our online publication has prepared for you a special review of the latest, latest and newest automotive technology. Having learned more about them, it will be easier for you to navigate and use them in new cars.

If you are only, then almost certainly new ones will play a key role in making the final decision. electronic technology. We have specially selected the most common modern technologies (functions) that last years began to be installed on modern cars. Most of the functions in the review are present in new cars, the cost of which is no more than 1.5 million rubles.

Therefore, it will be easy for you to determine what functions you would like to see in your car.

1) Bluetooth

Bluetooth has recently become a symbol of wireless car speakerphone. But this wireless technology can also provide connection to various modern gadgets To on-board computer car. If you have a modern smartphone running modern operating systems: iOS Android, BlackBerry or Windows Phone, then most likely your device has Bluetooth functionality.

Also, almost every modern smartphone has a profile for setting up an SMS message profile using Bluetooth technology. These settings will help you configure how to send SMS messages using the car speakerphone. How? Everything is very simple. You can create short SMS message templates in drafts in advance. Using a voice command, you will respond to received messages, which in many cars you can read on the LCD screen of the multimedia system.


Also, for example, users of Apple phones can use the built-in Siri to use the phone (receive, read, send SMS, receive calls, etc.) through a wireless speakerphone. To activate it, you need to press the hands-free button on the steering wheel. Of course, to do this, the phone must first be connected via Bluetooth to the car system.


Almost all cars equipped with Bluetooth can receive streaming music from your gadgets. This type of connection allows you to play music on your car speakers from your phone, smartphone, tablet or MP3 player. As a convenience on many modern cars, to control music and sound volume, there is no need to use electronic gadgets that transmit a music stream wirelessly. You can do all this on the car's multimedia system.

While playing a stream of music from your mobile device, you will see the song title, timer, and other important information on the screen of your car infotainment system.

2) USB ports


USB ports are great for charging electronic gadgets and for connecting electronic devices(for example, to play music) in which there is no possibility of connecting to the car system via Bluetooth technology. For example, old MP3 players, Cell phones. Also, using this port you can connect your flash drive with music recorded on it to the car.

Playing music via a USB port has a number of advantages over Bluetooth. So, when transmitting a music stream wirelessly, the Bluetooth system compresses the audio file to fast transfer via a wireless radio channel, which degrades the sound quality of melodies.

3) Contactless car key and ignition


We have more important things to do than dig through our pockets or bags for our car key. There is wireless electronic car key technology for this. The principle of operation is simple. In your pocket or bag lies electronic key, which when you approach the car sends to the car special code to open the door. When you approach the car, you simply open the door, get into the car and press the engine start button without inserting the key into the ignition. Very convenient function, which has recently been installed on many new cars.

4) Application integration


Unfortunately, such technologies are not yet highly developed in our country due to the high cost and quality of mobile Internet. Abroad the picture is completely different. So, in some premium cars, special units began to appear, which have a built-in mobile Internet modem that distributes Internet via WiFi, both to electronic consumer gadgets and for the ability to access the network using the infotainment system. For example, network access can be useful for listening to online music or watching online video streaming for passengers.

5) Voice recognition


Interacting with car software using voice was not a very reliable or high-quality technology at first. At first, such systems operated with glitches and errors. Fortunately, electronic technology does not stand still, and progress is moving forward. Modern software and modern electronic chips allow you to control many car systems using your voice.

If previously the system required the exact pronunciation of a certain command, today it is enough to say part of the command and the system will recognize what you want.

New speech recognition system makes it easy to control navigation system. Previously, in order to specify the route address by voice, it was necessary to pronounce the name separately settlement, street, house, etc. then today, most mobile car navigation systems can recognize the exact address of a destination when the full address is spoken immediately.

6) Remote control of the car


Do you think it is possible with the system? remote control This is possible with a vehicle. For this purpose, there are special applications. So, with the help of these programs, you can turn off the alarm or turn it on. You can also block the car at a distance if necessary. Some cars allow programs from a smartphone to receive data on the temperature in the cabin and outside, view relevant diagnostic data such as fuel level, fuel consumption, power reserve, and also receive data from satellite navigation about the location of the vehicle and much other information.

7) Blind spot monitoring system


Worldwide research shows that a large proportion of road accidents occur due to vehicle blind spots. In an attempt to stop this epidemic of accidents, most automakers have begun equipping their vehicles blind spot monitoring system. It all works very simply. If, while the vehicle is moving, there is a car or other object in the blind, invisible zone, the system warns the driver about this. On the side mirror or on dashboard a warning sign appears.

8) Lane control system


This technology is designed to help drivers maintain lane control. Special touch sensors and cameras monitor road markings. If the car crosses the lane, the car warns the driver about this either by sound signal, or vibration that is transmitted to the steering wheel. In many luxury cars, such as Acura, Mercedes-Benz, and Audi, have recently introduced a new generation of such a system, which, with certain settings, can automatically change the position of the steering wheel itself in order to straighten the car in the event of an uncontrolled departure from the lane.

9) Telematics


This new technology allows you to not only connect your smartphone to your car's infotainment system, but also get a range of . If the car is equipped with a mobile Internet modem and is connected to an unlimited tariff plan, then you can make calls from your phone via the car Internet using the car interface. This will not only save you mobile phone traffic, but will make communication more convenient.

Telematics functions also include programming the vehicle information system to make emergency calls using your cell phone in the event of an accident. In this case, the system automatic mode will send an emergency call via your smartphone.

Including some automakers building into multimedia system concierge services, which you can call using your smartphone, which automatically connects to the car system as soon as you get into it, or simply press a special button in the car. Essentially, the telematics option is a guardian angel.

10) Adaptive cruise control


Many of the auto industry's collision warning systems are in the field of safety. In the near future they will appear on almost all modern cars. This is also extremely necessary, like airbags, without which not a single car can do now.

Most collision avoidance systems use millimeter-wave radar or stereoscopic cameras to monitor the vehicle's surroundings and scan the area for possible hazards. When an obstacle is detected, the system warns the driver of the risk of a collision.


More advanced versions of collision avoidance technology can independently (without driver input) press the brake pedal in an emergency (if the system determines that a collision is imminent).

Based on this system, automakers have invented a new generation of the most beloved and popular automotive system cruise control. So new feature got the name adaptive cruise control. It uses the same stereoscopic cameras or radar to detect obstacles while driving. When you enable this feature and settings cruising speed movement, the system automatically maintains a given speed and a certain distance to the vehicle in front.

In some expensive luxury cars, the system is expanded with the ability, if the car approaches an obstacle, to automatically brake without driver intervention, avoiding a collision. As soon as the risk of collision has disappeared, the vehicle will again pick up the required speed.

Typically, adaptive cruise control operates when the vehicle is moving at speeds from 40 to 150 km/h.

© 2024. oborudow.ru. Automotive portal. Repair and service. Engine. Transmission. Leveling up.