Let's start with the individual components of automobile brake systems. Automobile brake systems have three main segments: hydraulics, friction and mechanical components...
Design and selection of components
Proper functioning of the ABS system is considered of the utmost importance, for safeguarding both the passengers and people outside of the car. The system is therefore built with some redundancy, and is designed to monitor its own working and report failures. The entire ABS system is considered to be a hard real-time system, while the subsystem that controls the selfdiagnosis is considered soft real-time. As stated above, the general working of the ABS system consists of an electronic unit, also known as ECU (electronic control unit), which collects data from the sensors and drives the hydraulic control unit, or HCU, mainly consisting of the valves that regulate the braking pressure for the wheels.
The communication between the ECU and the sensors must happen quickly and at real time. A possible solution is the use of the CAN bus system, which has been and is still in use in many ABS systems today (in fact, this CAN standard was developed by Robert Bosch GmbH, for connecting electronic control units!). This allows for an easy combination of multiple signals into one signal, which can be sent to the ECU. The communication with the valves of the HCU is usually not done this way. The ECU and the HCU are generally very close together. The valves, usually solenoid valves, are controlled directly by the ECU. To drive the valves based on signals from the ECU, some circuitry and amplifiers are needed (which would also have been the case if the CAN-bus was used).
The sensors measure the position of the tires, and are generally placed on the wheel-axis. The sensor should be robust and maintenance free, not to endager it's proper working, for example an inductive sensor. These position measurements are then processed by the ECU to calculate the wheel-spin.
The hydraulic control unit is generally located right next to the ECU (or the other way around), and consists of a number of valves that control the pressure in the braking circuits. All these valves are placed closely together and packed in a solid block. This makes for a very simple layout, and is thus very robust.
The central control unit generally consists of two microcontrollers, both active simultaneously, to add some redundancy to the system. These two microcontrollers interact, and check each other's proper working. These microcontrollers are also chosen to be power-efficient, to avoid heating of the controller which would reduce durability. The software that runs in the ECU has a number of functions. Most notably, the algorithms that drive the HCU as a function of the inputs, or control the brakes depending on the recorded wheel spin. This is the obvious main task of the entire ABS-system. Apart from this, the software also needs to process the incoming information, e.g. the signals from the sensors. There is also some software that constantly tests each component of the ABS system for its proper working. Some software for interfacing with an external source to run a complete diagnosis is also added.
As mentionned before the ABS system is considered hard real-time. The control algorithms, and the signal processing software, certainly fall in this category, and get a higher priority than the diagnosis and the testing software. The requirement for the system to be hard real-time can therefore be reduced to stating that the software should be hard real-time. The required calculations to drive the HCU have to be done in time. Choosing a microcontroller that can operate fast enough is therefore the key, preferably with a large margin. The system is then limited by the dynamic ability of the valves and the communication, the latter being noticeably faster. The control system is thus comfortably fast enough, and is limited by the valves.