Modern software for the car. Diagnostics of electronic control systems

Modern software for the car. Diagnostics of electronic control systems

It's no secret that in our high-tech age, every innovative tool, which is based on the electronic component, starting from mobile phone and ending with satellites, it contains a lot of internal "stuffing" that controls the functioning of the unit.

In many ways, this also applies to vehicles or, more simply, cars. Modern cars are so crammed with electronics that sometimes you wonder why the driver is here, in fact.

How secure is the automatic system?

However, is everything so simple and safe, is it possible to fully trust, the main task of which is to facilitate the process of driving a car by a driver? The answer is absolutely ambiguous.

Perhaps someone will be surprised by the fact that the software of a modern machine consists of lines of code, which are about 2.5 times more than in one of the most popular computer operating systems of our time - Windows 7.

What conclusion can be drawn from this? Very simple - it is obvious that with such a grandiose amount of data, errors can occur, which, subsequently, will affect the incorrect operation of the entire car.

As an example, let's take a case that happened with the Toyota Prius. We will not delve into all the subtleties of the system. automatic control engine, will only note that in the event of a system error, the semiconductors built into the installation overheat, and this leads to the fact that the car may suddenly stop. To update the entire system, you will need to visit a service center.

Electric car manufacturers

The most popular manufacturer of electric cars in the world today, in practice, uses a more advanced method: you can update the system remotely, using a wireless connection. But here you should carefully listen to the opinion of experts who almost unanimously argue that this method is not as safe as it might seem initially. Why?

The fact is that in this case, a good hacker can access the vehicle's automation using a regular laptop. Bright to that confirmation was the experiment of computer specialists Charlie Miller and Chris Valasek, which they demonstrated at the Black Hat conference. The hackers modeled a car electronics hack and showed what it could lead to.

It's good that this was only a scientific example and no one was hurt. Having picked up speed and reached 80 km / h, the car suddenly stopped responding to commands, the brakes completely failed, and when you press the accelerator pedal, the car turned sharply to the right.

The most amazing thing happened after that: the software that did the damage automatic system control of the car, left with lightning speed, so outwardly it all looked like an accident. E

that experiment of hackers showed that not everything is so perfect in the world of modern auto electronics and automakers still have a lot of work to do to present the optimal combination of comfort and safety when using electronic on-board vehicle systems.

In car designs, more and more wide application find electronic control systems. Carrying out diagnostics of a modern car without using tools for performance analysis electronic systems management may not be enough full information about its technical condition.

Diagnostic tools for determining the technical condition of electronic control systems can be divided into three categories:

  1. stationary (bench) diagnostic systems
  2. on-board diagnostic software that allows you to indicate faults with the corresponding codes
  3. on-board diagnostic software that requires a special additional reader to access

Bench diagnostic systems

These systems are not connected to the on-board electronic control units and are therefore independent of the vehicle's on-board diagnostic system. They usually diagnose individual engine mechanisms and ignition systems, which is why they are often called motor testers. The main elements of the motor-tester are sensors, as well as a block for processing and displaying the results of measurements of perceived signals. Sensors and recording devices are connected to cables using plugs and clamps.

Rice. motor tester

Motor-testers are based on computers, have a keyboard, display, disk drives, CD-ROM drive. The kit usually includes a set of connecting wires and cables, a stroboscope, and in some cases an exhaust gas analyzer. Information is entered into a computer using an appropriate analyzer, which contains analog-to-digital converters, comparators, amplifiers and other signal pre-processing devices. The analyzer is connected to the necessary elements on the car using a set of cables, which is a set of wires connected to the negative, positive terminals of the battery and the ignition coil, high voltage wires to the ignition coil and the spark plug of the first cylinder, and in addition, a non-contact current sensor on the bus battery charging, engine oil temperature sensor (inserted instead of the dipstick), intake manifold vacuum sensor, etc.

The main part of the motor tester is an oscilloscope, on the screen of which various oscillograms appear, reflecting the operating mode and technical condition tested parts and devices of the ignition system. The evaluation of the signal appearing on the oscilloscope screen is based on the analysis of changes (in the presence of faults) in the nature of electrical processes occurring in low and high voltage circuits. By separate parts of the image, one can also judge the operation of some elements of the power supply and ignition systems, and the nature of the change makes it possible to identify the causes of malfunctions.

The motor tester's computer processes the information received from the engine and presents the results on the display or as a printout on a printer. The motor tester can be supplied with a set of laser CDs with technical information about various car models, as well as with instructions to the operator on how to connect the motor-tester to the car and on the sequence of control operations.

Before diagnosing, the car model, type of engine, transmission, ignition system, fuel injection and other parameters characterizing the object of diagnosis are entered. Motor testers are able to diagnose most automotive systems, including start-up, power supply, ignition systems, evaluate compression in cylinders, measure the parameters of the power system.

Modern motor testers can provide information about the state of the ignition system in the form of numbers or an oscillogram of the process. An example is the motor-tester M3-2 (Belarus), with which you can determine the condition of the engine (by developed power, power balance by cylinders, relative compression), starter, generator, relay-regulator, battery, breaker-distributor, electrical wires, candles ignition, lambda sensor, injectors of the injection system of gasoline engines, diesel fuel equipment, measure with a stroboscope the ignition timing for gasoline engines and injection for diesel engines.

As automotive electronics become more complex, the functionality of stationary systems expands, since it is necessary to diagnose not only engine control, but also brake systems, active suspension, etc.

The versatility of computer motor testers is determined by their software. Many of them work in the Windows operating system familiar to most users.

The disadvantages of motor testers include the fact that they are difficult to detect non-permanent faults in complex electronic systems, when a fault in one system manifests itself in the form of symptoms in other systems that are functionally related to the first.

Onboard diagnostic software that allows fault codes to be indicated

Automotive software systems in most of the leading countries of the world since the 80s of the XX century. are provided with the function of reading fault codes using a warning lamp, for example Check engine - check the engine. This is the simplest type of on-board diagnostics, which consists in conditionally assigning digital codes to a number of faults in the electronic control system. These codes, when their corresponding faults appear, are stored in the memory of the electronic control unit of the system. After certain manipulations, these codes can be displayed by a control light in the form of a series of long and short pulses. After visual reading of the pulses, their meaning can be deciphered using special tables.

Rice. Example of placement of the Check engine indicator (position 1)

On-board diagnostic software that requires a special optional reader to access

Reading information from such software is carried out using special devices- scanners. Controlled parameters and fault codes are read directly from the electronic control unit and interpreted by service specialists.

A scanner, or a scanning device, is a portable computer tester used to diagnose various electronic control systems by reading digital information from the vehicle's diagnostic connector.

The scanner, as a rule, has a small LCD display, so viewing data on it, even using frame scrolling, is not always convenient. It is usually possible to connect the scanner to a computer via a serial port for data transfer. Special software allows you to view data from the scanner in tabular and graphical form on a computer monitor, save them, and create databases for serviced vehicles.

Rice. Programmable scanner DST-2M (Russia) without a personal computer

Scanners differ in their functionality and range of tested vehicles.

Specialized scanners used to diagnose cars of only one brand have the widest capabilities. The use of such scanners, due to their narrow specialization, is limited to individual car service enterprises servicing cars of specific models. Scanners designed for diagnosing injection systems and other mechanisms, assemblies and systems of cars of various models have become more widespread.

There are programs that allow you to enter information directly into the computer through the serial port from the car diagnostic connector using the appropriate connecting cable. In this case, a personal computer performs the functions of a scanner, it is sometimes called a computer scanner. When using a personal computer, there is no need to have a set of software cartridges for various systems and models, since the capacity hard drive computer allows you to store all the necessary data and programs on it.

The self-diagnosis system of the vehicle during its operation continuously compares the current values ​​of the signals with the reference values ​​in the memory of the electronic control unit. In addition, it monitors the reaction of the actuators. Any inconsistencies between the parameters to each other or to the reference values ​​are regarded as a malfunction, each of which has its own code. Previously, control systems could determine and remember 10-15 codes, modern systems store up to several hundred codes related not only to the engine, but also to automatic box gear, anti-lock system(ABS), airbags, climate control, etc.

In some control units, self-diagnosis allows you to adjust the ignition timing, and on vehicles without a converter, to adjust the carbon monoxide content in the exhaust gases. In addition, on modern models scanners, the so-called test diagnostics is implemented: input signals are given at a certain moment, followed by checking the sensors and the response of the actuators.

The scanner checks the input and output parameters of electrical circuits and informs the operator about their value. Thus, it only fixes the presence or absence of faults in any node, but does not allow determining their causes, which can be many for the same values ​​of controlled parameters.

According to the method of storing information, hardware scanners are divided into cartridge and programmable. To bring the cartridge scanner into working condition requires a cartridge with a diagnostic cable that matches the model of the vehicle being checked. The set of such a scanner consists of three main parts: the scanner itself, replaceable cartridges and connecting cables designed to be connected to the diagnostic connector of the vehicle being checked. Each cartridge is designed to work with its own type of control unit.

Rice. Cartridge scanner for diagnosing cars of one or certain brands

Programmable scanners do not have this disadvantage. Their built-in memory (Flash-memory) can be repeatedly reprogrammed using a personal computer. Older versions of the software can be updated online or via a CD supplied by the vehicle or scanner manufacturer. Such scanners are well adapted for operation in a car service. Moreover, they allow you to diagnose the systems of a moving vehicle.

More informative are scanners connected to a personal computer. An adapter is used to coordinate the data received by the computer from the control unit.

Rice. Programmable scanner with personal computer

Currently most widespread received Bosch KST-500 and KST-520 scanners used with a personal computer, as well as DST-2, DST-10-Kf scanners (Russia), etc.

Scanners have several modes of operation. In the "Errors" mode, the digital codes of a particular malfunction stored in the memory of the control unit on the car are displayed on the screen. The "Parameters" mode allows you to evaluate the operation of the engine when the car is moving: voltage in the on-board network, detonation, crankshaft speed, mixture composition, speed, etc. To view changes in engine operation parameters in dynamics, the "Data acquisition" mode is provided. Some scanners, such as KST-520, for monitoring the operation of the injection system and other vehicle systems in dynamics, can display a graphical representation of the signals on the screen, i.e. allow them to be observed visually. The capabilities of scanners when checking the injection system of a particular vehicle are determined by the diagnostic functions of the control unit of this vehicle, however, as a rule, all scanners read and erase fault codes, display digital parameters in real time, and can actuate some actuators (injectors, relays, solenoids ).

The scanner is connected through a special connector on the car to a specific control unit or the electronic system as a whole.

Until 2000, most cars were equipped with diagnostic connectors that had a different number and arrangement of pins, which did not allow the use of universal scanners for retrieving information. Therefore, in 2000, most manufacturers Vehicle The OBD-II standard for electronic control systems equipment was adopted. The requirements of this standard include:

  • standard diagnostic connector
  • standard location of the diagnostic connector
  • standard communication protocol between the scanner and the automotive onboard system diagnostics
  • standard list of fault codes
  • saving the parameter values ​​in the memory of the electronic control unit of the frame when an error code appears (“frozen” frame)
  • monitoring by on-board diagnostic tools of elements, the failure of which can lead to an increase in toxic emissions into the environment
  • access to both specialized and universal scanners to error codes, parameters, "frozen" frames, testing procedures, etc.
  • a single list of terms, abbreviations, definitions used for elements of the electronic systems of the car and error codes

The illustration shows the 16-pin diagnostic connector, which is standard on OBD-II compliant vehicles.

Rice. Standard diagnostic connector

The diagnostic connector is located in the passenger compartment (usually under dashboard) and provides access to system data. Any scanner can be connected to this connector.

Reading diagnostic codes

Fault codes can be read in two ways. The first (for self-diagnosis systems that are already becoming a thing of the past) - with an LED probe connected to the diagnostic connector, or using a diagnostic control lamp. The codes are deciphered using the already mentioned tables that are part of the operational documents for the car. The second, modern, way is to receive codes with a scanner. As a rule, these devices not only extract error codes, but also decrypt them.

To warn the driver about a malfunction of the electronic control system, the instrument panel has control lamp. After turning on the ignition on a serviceable car, the lamp burns for 3 ... 10 s, and then should go out. If the lamp does not go out, this indicates a malfunction of the control system, and this system should be checked for certain codes. According to requirements normative documents According to the traffic safety of some countries, a car with active fault codes of certain electronic control systems is not allowed to operate.

Fault codes are sometimes conventionally divided into "slow" and "fast".

Consider "slow" codes. If a malfunction is detected, its code is stored in memory and the corresponding control lamp turns on on the instrument panel. You can find out which code this is in one of the following ways (depending on the specific version of the control unit):

  1. read information from the LED on the control unit case, which periodically flashes and goes out
  2. connect certain terminals of the diagnostic connector with a conductor or short a certain terminal of the connector to ground and turn on the ignition, after which the control lamp will flash periodically, transmitting information about the fault code
  3. connect an LED or an analog voltmeter to certain contacts of the diagnostic connector and, by flashing the LED (or fluctuations of the voltmeter needle), get information about the fault code

Since "slow" codes are intended for visual reading, their transmission frequency is very low (about 1 Hz), the amount of information transmitted is small.

Codes are usually issued in the form of repeated sequences of flashes. The code contains several digits, the semantic meaning of which is then deciphered according to the fault table, which is part of the operational documents for the car. Long flashes (1.5-2.5 s) transmit the senior (first) digit of the code, short (0.5-0.6 s) - the junior (second) digit.

An example of displaying code 1-3-1-2, corresponding to a malfunction of the electronic injection nozzle of the first cylinder of the Hyundai engine, is shown in the figure:

Rice. Example of displaying a fault code

After a malfunction is detected, it is localized by sequentially checking those elements of the electronic control system that are in electrical circuit, responsible for generating the read code (sensors, connectors, wiring, etc.).

"Slow" codes are simple, reliable, do not require expensive diagnostic equipment, but are not very informative.

"Quick codes" provide a selection of a large amount of information from the memory of the electronic control unit via a serial interface. This interface and the diagnostic connector are used both for testing and tuning the vehicle at the factory, and for diagnosing.

One of the functions implemented by scanners is to check the sensor signal for rationality, i.e. for compliance with the required (standard) signals. The sensor may be faulty and send incorrect information to the control unit. If the control unit program does not provide for checking the sensor signal for rationality, then control algorithms are implemented in them using incorrect sensor information. This will incorrectly calculate important output parameters, such as the ignition timing and the duration of the injector release pulse, which will lead to a deterioration in the vehicle's driving characteristics, the engine may stall after starting, etc. However, as long as the incorrect signal from the sensor is within the normal range in quantitative terms, no error codes will be recorded in the memory of the electronic unit and the malfunction will not be indicated in any way.

To detect a malfunction, the function of disabling the "suspicious" sensor is implemented. Then the electronic unit will write the error code into memory and change the signal from the sensor to the calculated (backup) value. For example, when the sensor is turned off mass flow air, its signal is replaced by a backup signal calculated from the position throttle valve and engine speed. If, after disconnecting the “suspicious” sensor, engine performance improves, this means that the sensor is faulty.

In modern control units, as the software improves, it becomes possible to detect such malfunctions. This is the so-called test for rationality and correct functioning, which is implemented in onboard diagnostic systems second generation (OBD-II). It lies in the fact that the current values ​​of the signals from all sensors are constantly checked for one-to-one compliance with the standard signals for a given engine operation mode. The nominal values ​​of the signals are stored in the permanent memory of the microprocessor of the electronic unit.

For the convenience of measuring the input and output signals of the electronic control unit, a signal splitter is used. It is a set of cables and connectors connected between the electronic control unit and the wiring harness for access to input and output signals. The splitter includes a patch panel for connecting instrumentation to any harness circuit.

Rice. Signal splitter RS-2 (Russia)

The operation of individual sensors can be simulated by a special sensor simulator, for example, ID-4 type. It is designed to simulate the output voltage of potentiometric and resistive sensors of the electronic control system of injection engines. This simulator allows you to simulate the signal of the throttle position sensor, carbon monoxide adjustment potentiometer, intake manifold pressure sensors, atmospheric pressure, mass air flow and other sensors. The cables included in the simulator allow you to connect to various types of connectors.

Rice. Sensor simulator ID-4 (Russia)

Deleting trouble codes

After repair, all codes should be deleted from the memory of the control unit, otherwise the unit will erroneously take them into account when subsequently controlling the vehicle's systems.

There are three methods for deleting (erasing) fault codes:

  1. Erasing codes on command from a scanner connected to the diagnostic socket. On some early model vehicles, this procedure is not possible because it is not supported by the control unit. This method is the most preferred and recommended by manufacturers.
  2. If there is no scanner or the electronic unit does not support erasing codes with a scanner, turn off the power to the unit by removing the appropriate fuse. Together with the error codes, information for adaptive control will also be erased from the unit's memory.
  3. Disconnection from the "mass" of the bus battery. It should be borne in mind that in this case, along with the codes, other information is also erased (setting the time on the electronic clock, radio codes, etc.).

In the age of high technological ideas, there is nothing surprising in the fact that various smart programs are constantly being released that can help a person in his work related to various fields of activity. The path of motorists, for whom useful utilities were invented, was no exception. It is noteworthy that today an ordinary smartphone can replace an experienced adviser, and free programs for and various services will help you create important notes, optimize costs, etc.

The video shows how to properly use a tablet or phone in a car:

Computers, laptops, smartphones and useful programs for them

People about ten years ago only dreamed of such an opportunity as having a computer in a car. At that time, it was possible to imagine a smart device that does almost half the work instead of the driver, but it was most like fantasy movie. The then motorists were unaware that a smart computer is capable of navigating through special programs, independently checking the engine through the OBD2 connector, monitoring and even keeping a special diary, which lists all the driver's trips.

At first, the role of such an assistant was performed by bulky computers, then laptops - light and productive. But these digital assistants have become unnecessary with the release of smartphones and tablets.

Today, smartphones and tablets with programs for motorists are as commonplace as or. Simultaneously with the vast market of convenient mobile devices, other segments began to develop, no less important and also intended for owners of "iron horses" - various useful applications for motorists, the so-called online programs. In our age, despite the mass of useful functions that car manufacturers supply, mobile programs and online services are needed more than ever. We have tried to find in this article the most useful and the right tools for the motorist, without ignoring various paid and free navigation applications and programs, as well as services that can solve complex problems.

It is no secret that a car, especially in our country, has always been difficult to maintain. Yes, it is not a luxury, but a means of transportation, but this phrase was invented by the Americans, who have a different view of things. In our country, sometimes our beloved “iron horse” takes more than a luxury item. With such a unique situation, we, motorists, should be grateful to specialists working in car services who pull and pull money from the wallet of a naive driver who got to them; employees who ate a dog in a topic related to the quality of gasoline and its additives, etc.

It would seem that you can keep track of all the expenses if you get together and start living like a practical German. But not every Russian succeeds, and if it weren’t for useful applications and programs, like a fuel cost meter or a program for assessing the cost of car ownership, our drivers would have had a hard time.

Fuel gauges and useful sites

The video shows how to control fuel consumption using GPS GLONASS:

These programs are absolutely free and belong today to simple tools saving the driver from stress and constant headaches. Instead of a motorist, they will track the constants and give a report on the work done. The Fuel Manager program is simple enough to start by setting a breakpoint or refueling regularly to a full tank. You can do it differently. Note the moment when the light comes on, indicating that the fuel is running out.

Fuel Manager is not the only such program. Another, no less popular application is the "Fuel Meter", which is designed to calculate the average consumption based on any indicators. In addition to the fact that the program saves information about the fuel used, it also allows you to simultaneously set a reminder - a utility that is tied to the car's mileage. For example, in this way it will be possible to program a reminder that the time has come to change the oil, because the car has already “plowed” 10 thousand km.

Other programs, in comparison with simple fuel gauges, differ in a set of large functions. For example, such popular programs as My Machine or Beepster are already designed to comprehensively account for the costs associated with periodic maintenance and. These programs also allow you to set reminders. The main task of such digital notebooks is to calculate the conditional cost of 1 km of travel. In addition, these programs remind the driver of important service procedures, such as or brake pads.

Video review of the Fuel Manager application:

Mobile utilities are also attached to web servers to facilitate car maintenance. In particular, a server such as drivernotes.net makes it possible, in addition to basic functions, to obtain data on the cost of servicing a certain car model by all owners, which is useful in the process.

Another site called cars.auto.ru will help you quickly find any advertisement for the sale or purchase of a car. The driver receives access to this service-program both through the browser and through the mobile application. Searching for ads is very easy, because they open if you type the brand, year of manufacture or other parameters in the search. The site also provides an opportunity to get the contacts of the owner or client.

The popular and promoted portal avito.ru, instantly and by teleportation, as the commercial shows, among other things, offers to search for sellers / buyers. Interestingly, this resource has a very convenient mobile program for Android.

Another service is called "From hand to hand" and also has its own representative in the Google Play mobile programs.

It is noteworthy that when searching for cars, a person does not need to refer to several sites. It is enough to use the services of some aggregator, for example, such as auto.yandex.ru. This resource offers, in addition to the client program, also an excellently optimized mobile version site. " iron horses"here you can select according to various parameters, including such ambiguous ones as" a family car for country walks. And that is not all. The service allows you to track price changes. By the way, a site similar to this bezrulya.ru differs from analogues in convenient function, car models.

If it used to be in vogue to communicate with friends via SMS, today it is in the past. Social networks and special programs allow you to do it much faster and get more comfort.

Interestingly, at one time there were popular applications that contained a large number of so-called useful points. They were displayed on the map, and they included not only tire fitting points, car services, but also bistros, hotels, and even attractions of a particular city or country. Today, such information has migrated to the pages of navigation programs such as Yandex. Useful in this regard, and Google, and the same "City Guide", and other programs.

Video review of a useful application for motorists - "Parking":

I would like to note that services that allow you to find not only the nearest gas station, but also their fuel prices, still keep a “mansion”. One such program that is respected by motorists is Multifuel. This service is a search interface, as well as a map with gas stations, which is periodically updated by the gas station database. This includes information about the availability of toilets, cafes, etc. The data can also be updated by users of the multigo.ru portal. Here you can not only receive necessary information, but also make changes through the application, if you register as a user.

You can also show your location on the map. This is done by a special service Google Plus. It allows you to attach location tags to photos or posts on social networks such as Facebook and VKontakte. Though he's not the only one doing this.

There are special services that display the coordinates of the driver or even his route in Live mode. These services include the free program Glympse. The program will allow you to open your location for a certain period of time, for example, until you get to the meeting place. This is done by sending a link to a friend or acquaintance, following which on the map you can see your location or route.

It is worth noting that it is better to tie some important matters not to a certain time, but to a certain point in space. For example, when driving near a store, you need to remember to buy bread. So a kind of “reminder” is connected when the car drives past the store. Most mobile applications contain a lot of useful options, for which location reminder is the only target function. Although there are more advanced applications such as "Map Reminder". The program is absolutely free and allows, in addition to creating and storing notes, to download an accompanying map to your phone.

Various schedulers can be attributed to the same programs. For example, Remember The milk has a place reminder. But to use it, you have to connect to the paid version of the product.

As for online maps, they can be used to diagnose road conditions. For many drivers, it has long been no secret that they take risks every minute while driving on Russian roads ruin the suspension of your car. The road services themselves notify the driver promptly of emerging different places road obstacles do not have time or are unwilling. But the RosYama service will not give road builders time to relax, because on this portal you can always leave a statement about problems on. It will be enough to upload the dimensions of the pit, coordinates and photos to the site. The only pity is that this service does not have mobile clients.

Almost all services that help find a parking space should be classified as tools based on GPS methods. But in many metropolitan areas and major cities Russia for an incorrectly parked car and a deficit free places this problem is transferred to the category of global. It was to solve this problem that a program called "Parking in Moscow" was invented.

Video review of the mobile application "Parking in Moscow":

As for other cities, for them you can use the schemes shown on the maps of OpenStreetMap or other mapping portals. There are also special databases, such as Parkopedia, where there are client applications for almost all mobile platforms.

Traffic fines and reference book in digital version

The program called "2014" deserves special attention. It is specially designed for those drivers who have little knowledge of traffic rules. And to be honest, who knows them by heart today? The driving experience of our motorist is forged not on knowledge of the rules of the road, but on the practice of passing certain situations. In other words, everyone knows that it is impossible to drive through the "red light". But what a fine you will have to pay for this, one or two percent of drivers know.

If earlier drivers purchased new versions periodically on paper and stored all this waste paper in the glove compartment, which is already cramped on some car models, today the program itself will automatically download updates. In addition to the program "Penalties of traffic rules 2014", the program "Handbook of traffic rules" performs similar actions.

Now about those options that are known. So, it turns out that now it is not necessary to buy it to record the traffic situation. All the functions of the coolest DVR can be performed free program installed on a regular smartphone. Yes, don't be surprised! Such applications, for example, include DailyRoads Voyager. Like a standard DVR, this option will allow you to record clips in a cyclic order. And as the memory fills up, previous video files are automatically erased. That's all there is to it.

In case of an accident

A program called "Reminder in case of an accident" will also help non-standard situations that may occur on the road. This program gives useful advice about what the driver should do in a particular case. But unfortunately, apart from advice, although sensible, the utility will not be able to help with anything else. So no one canceled to observe a safe driving style.

09.04.2010 Jürgen Messinger

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

The first electronic systems appeared in cars back in the 60s, and thanks to this, the industry has seriously changed - 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 exchange rate 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 less than one failure per million operations per year. Most people don't even realize how much automotive features are controlled by software today, however, it is unlikely that you have ever heard of a blue screen in a car, although this is a common thing for a PC.

Now each car has several electronic control units (electronic control unit, ECU), interconnected by an intra-machine network. These blocks communicate via 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 communication, 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 ECUs that can be linked results in the need for more complex intra-machine network structures requiring specific electrical and electronic architectures. The main differences between automotive software and other types of software:

  • reliability: automotive software systems must work exceptionally reliably in a complex network of ECUs throughout the entire life of the vehicle;
  • functional safety: features such as anti-lock braking system and ESC require uptime, which determines the high requirements for software development processes and for the programs themselves;
  • real time operation: fast response (from microseconds to milliseconds) to external events requires optimized operating systems and a special software architecture;
  • minimum 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 maintain electromagnetic compatibility;
  • closed-loop electronic-mechanical control.

It must be taken into account that a reboot during operation is unacceptable for most ECUs.

Processes and technology

Whereas in the early years of automotive software a single developer could control it, that is no longer possible.

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

Bus systems such as CAN add a lot of software complexity as they allow interactions between the programs of different ECUs. 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, and accordingly, the industry today offers parallel organizational and technical processes for software development. Bosch has a long history of developing based on engineering and control processes compliant with CMMI level 3, and its engineering division in India has already achieved level 5.

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

Engine management

The challenge of reducing fuel consumption and emissions harmful substances stimulates drivetrain improvement activities, for example meeting international emission regulations requires adherence to guaranteed fuel injection and ignition times. In addition, the frequency of injections has increased significantly - modern diesel systems can inject fuel droplets smaller than a pinhead up to seven times per cycle, 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 driving technologies – in addition to conventional 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 the implementation of these technologies.

Engine control module - the basis of transmission control cars. Modern modules contain over 2 MB of built-in flash memory, operate at clock speeds up to 160 MHz, executing programs up to 300 thousand lines of code.

Automotive systems vendors often sell more products than any individual automaker. In 2008, one of the largest automotive companies sold about 9 million vehicles for a global production of 65 million, while sales of software systems suppliers are much higher. As a result, system vendors more possibilities in order to achieve the economies of scale 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 related 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 associated technologies. Today, Autosar has over 150 members, and this partnership develops the ECU architecture, underlying software, methodology, and standardized interfaces for application software. The partnership promotes the development of hardware-independent components, allowing automakers and suppliers to share and reuse software across different ECUs.

The Autosar ECU architecture has several levels of abstraction that separate software from hardware(see picture). At the top level is the 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 the ECU and between them. The Autosar methodology includes templates and interchange formats used to describe, configure, and generate infrastructure.

Today, electronics account for about 80% of the functional innovations in the automotive industry, and software is the key to most of them. As software becomes an increasingly significant part of the cost of hardware, business models are starting to take into account the need to reuse and share software.

High-speed buses such as Ethernet are increasingly being 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 features that support the driver in critical situations. For example, if the driver's attention is distracted by a passenger, then the application can detect that the car in front is slowing down and warn the driver about it, or independently apply braking. The driver will never be aware of the existence of such software until a dangerous situation arises.

In the automotive industry today, another software revolution is ripe - multimedia and consumer electronics are beginning to be used more and more widely. Cars will be connected to the Internet and to all kinds of mobile and home-based devices, with a steadily growing share of free software solutions.



Facing realities engineering industry, most software developers can't cope - the products that you have to work with are very highly specialized. This is not for you the creation of programs for Internet users, computers, and even mobile applications, and therefore beginners feel like Thomas from the movie "The Maze Runner". Watch about 50 seconds of the trailer and you will understand the shock that those who deal with the development of software for cars for the first time experience.

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

And when it comes to software development for cars, tools are by no means the only problem. It is almost impossible to find literature for beginners or just educational materials regarding libraries or the architecture of the corresponding programs. The term " tutorial” and does not sound appropriate at all, 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 individual tools and mechanisms of this segment of programming, you can sign up for prohibitively expensive courses, but your company must be willing to shell out a considerable amount and it will take at least several weeks to get the experience that you need now. It is a pity that it is so difficult to understand the specifics of programming for the automotive industry, and therefore I decided to devote my article to this topic.

Because I've had to switch back and forth between web/desktop applications and embedded development, I've had first-hand knowledge of the challenges faced by newbies 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'd like to talk about how car firmware works, as well as look into the depths of the exotic architecture of embedded applications.

What topics will we cover?

  • How does firmware improve vehicle performance?
  • How do built-in applications allow you to drive a car?
  • What are typical CPU limits?
  • How is the process of continuous processing of data from sensors carried out thanks to the built-in programs?
  • How is this software structured and how do the individual applications interact with each other to control the car?
I will answer these questions by looking at specific example, and at the same time I will make an overview of the development of the architecture of embedded software. We will take a 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 will talk more 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 on the development of an electronic steering system. By the way, I also worked in this team.

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

Suppose we want to create a fully 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. You will not believe, but thanks to Nissan, a servo-driven model has already appeared on the market.

The software is powered by a tiny processor or, to be more precise, 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, for a second the sensor signal is processed according to the following principle:

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


Electronic control unit (ECU)

Provided that the firmware is working correctly, when you turn the steering wheel, the position of the rack changes almost instantly.


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

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

In the continuation of the series, we will look at the software architecture that allows us to eliminate the identified problems, and hopefully with the help of these materials, novice developers of embedded applications for cars will learn much faster. basic principles operating in this area.



© 2023 globusks.ru - Car repair and maintenance for beginners