Operation CHARM: Car repair manuals for everyone.

Software Downloading




Software Downloading

General







A control module can be reprogrammed in two ways using VADIS/VIDA. Either different software can be downloaded or a customer parameter can be changed (via vehicle communication).

NOTE: Customer parameters are only programmed locally in one control module. Certain parameters have already been reprogrammed at the factory which makes this remedy very important.

The customer parameters are functions in certain control modules which can be modified or adjusted to the customer's wishes, for example the temperature of the heated seats or the duration of the interior lighting. It is important to read off the customer parameters before ordering software. These parameters are only stored in the control module and not in the Volvo central database.

Customer parameters are reset to the default value when new software is downloaded and must be reprogrammed after the download.

VADIS/VIDA vehicle communication is used to read off and programming the customer parameters.

Usually a fault in the car is due to hardware faults such as: loose connections, oxidation, open-circuits, short-circuits or other faults which can lead to defective function.

Software is not perishable and does not deteriorate with time. However the software may behave in an unexpected manner because of the difficulty of testing all the possible combinations in such a complex system. It may also be necessary to upgrade the software to meet legal requirements or movement to another market.

It is recommended that the VADIS/VIDA symptom input is used for fault-tracing. Suitable tests are also suggested for faults which do not generate a diagnostic trouble code (DTC).

History







In earlier cars each control module handled a particular specific function. Cars with a trip computer required an extra control module to run the trip computer functions. If a problem arose in a control module it was replaced, regardless of whether the fault was a hardware or a software fault.

As the number of variants and amount of functionality increased, it became both impractical and uneconomic to have one control module per function as before. A new type of electrical system was required. The new electrical system uses distributed functionality, CAN communication and re-programmable control modules.

Distributed functionality means that a function need not be connected to a particular control module. A single function can be divided between several different control modules.

An example of this is the lock and alarm system on the S80. The lock and alarm system function is distributed between the central electronic module (CEM), upper electronic module (UEM), driver information module (DIM), driver door module (DDM), passenger door module (PDM) and rear electronic module (REM).

The controller area network (CAN) is a high speed digital network, which permits the control units in the car to transmit a large amount of information in a very short time.

Re-programmable control units permit programming of increased functionality, without needing to replace the control module. This decreases the repair costs for the customer.

Software downloading has a number of advantages:
- To obtain a new function, for example to add a trip computer to a car without a trip computer, a new control stalk is installed and a new car configuration file is downloaded into the central electronic module (CEM). The other control modules in the car use the car configuration file to function in a particular way. The software in the driver information module (DIM), for example, reads off whether the trip computer information is to be displayed or not depending on the car's level of equipment
- Fewer control module variants. A good example is the engine control module (ECM). There are 60 different engine variants, which previously required 60 different replacement parts to be stored in the replacement parts stocks. When downloading software, three different hardware packages manage all the variants
- Market adaptation. The application file for the driver information module (DIM) can be the same for all markets. But other market files can be downloaded, to separate different market requirements
- Language. The language in the combined instrument panel can be changed by downloading different language files to the driver information module (DIM)
- This allows faster introduction of improved functionality
- Time saving when working with a particular type of fault. Previously it was necessary to replace a control module. Now a software upgrade can now be downloaded instead.

NOTE: All data is overwritten during a software download. This includes diagnostic trouble codes (DTCs) and frozen values which were stored.

Software







General
Each control module requires a number of software files in order to function. Most of these are downloaded via VADIS/VIDA, but in certain cases they are already in the system.

The files are stored in the Volvo central database and can be ordered via the replacement parts catalogue.

The exceptions are individual configurations which are not in the replacement part catalogue. These must be ordered using an action code via the software manager in VADIS/VIDA. The part numbers are given in the Technical Journal.

Extended information about files in the control modules
The following is a technical explanation of which files are in the control modules. The information is not necessary for a mechanic to be able to repair the car. The information is presented here for those who wish to have a greater understanding of how the system functions.

The following types of software files are included:
- Primary boot loader
- Secondary boot loader
- Application file
- Signal configuration file
- Market file (driver information module (DIM) only)
- Language file (driver information module (DIM) only)
- Car configuration file (central electronic module (CEM) only)
- Security configuration file (central electronic module (CEM) only)
- Local configuration file (central electronic module (CEM) and rear electronic module (REM) only).

Most of the control modules on the controller area network (CAN) can download software via VADIS/VIDA. All control modules need an application file and a signal configuration file to function. Not all control modules receive these two files when downloading software using VADIS/VIDA.

In addition most of the control modules require a secondary boot load file to download the software to the control module.

Primary boot loader
The aim of the primary boot loader is to allow the download of software to a control module. This is described in Software downloading.

Secondary boot loader
The secondary boot loading file is a collection of instructions which work together with the primary boot loader to download the software package into the control module. It then has no other function.

Application file
The application file is the software which contains the control module functions. If software is updated because of quality improvements for example, a new application file is required.

Signal configuration file
All the control modules on the controller area network (CAN) must have the correct signal configuration file downloaded to communicate with each other. The file specifies which signals should be transmitted, where and which signals should be read, and where they can be found. This file ensures that all the control modules speak the same language. This means that an application file need not be modified if the controller area network (CAN) environment in the car is modified.

An example is two S80 model cars. One car is structure week 0135, the other has a structure week after 0135. The application file for these cars is the same, however the signal configuration files are different.

Car configuration file and security configuration file
The car configuration file and the security configuration file are always downloaded to the car when downloading via VADIS/VIDA. The first file to be downloaded is the car configuration file. This is download into the central electronic module (CEM). This is loaded to indicate to VADIS/VIDA that downloading has started. This file loads twice. The file is downloaded first and last in the download sequence. The first file sets an error flag and the second file resets the error flag. If the download is interrupted before the whole package has been downloaded, a user message is posted indicating that the vehicle is only half loaded.

The car configuration file is also downloaded to the central electronic module (CEM) to store general information about the car. The file is also used so that the car can continue in different modes. The file is generated in the factory just before the car is completed and is delivered by the Volvo central database when the software is ordered. The file is unique. No two cars have the same car configuration file. This file contains the car's VIN number, structure week and variant information. This information is distributed to the other control modules via the controller area network (CAN).

An example of how the car configuration file functions can be illustrated through the seat belt warning function. There are two different market requirements for how the seat belt warning should function. The central electronic module (CEM) reads out instructions from the car configuration file about how the seatbelt warning should function. The software sets itself for this function. In this way the number of variants of the software has decreased by half. In total there are over 100 parameters stored in the car configuration file. Each parameter can assume at least two values.

The car configuration file can be read off using VADIS/VIDA. The file can contain a lot of information about the car which is useful for the mechanic such as the VIN, structure week and the configuration of the car. Structure week and week of manufacture are not necessarily the same week. Week of manufacture is the week that the car was built in the factory. The contents of the car are guided by the structure week. A structure week can stretch over several weeks of manufacture. An example of this is the new upper electronic module (UEM), which was introduced for structure week 0031.

Market, language and local configuration files
The market, language and local configuration files are different types of data files which contain parameters which guide the software.

The language file contains information about how the different text messages should be displayed in the text display in the combined instrument panel. There is a language file for each language. This file downloads to the driver information module (DIM).

The market file contains information about when the service reminder indicator (SRI) should light and all the other market specific settings, such as units in the trip computer and temperature gauges. A number of market parameters, such as trip computers and service reminder indicator (SRI), can also be modified to the customer's requirements. This is carried out via VADIS/VIDA vehicle communication.

Other market settings, such as fog lamps, cannot be reset because of legal requirements.

NOTE: Customer parameters are only programmed locally in one control module. Certain parameters have already been reprogrammed at the factory.

Ordering Software







The ordering procedures for software can differ in different markets. Only ordering software via VADIS/VIDA is described here.

Generally software downloading can be divided into two stages: First the software must be ordered and transmitted from the Volvo central database to the VADIS/VIDA station. Then the software must be downloaded from VADIS/VIDA to the car.

This information describes the first step.

Each replacement part at Volvo has a part number. This also applies to software. Software is listed in the replacement parts catalogue in exactly the same way as any other component.

Each file in a control module also has a part number. This part number can be read from the car by reading off the control module ID via VADIS/VIDA vehicle communication.

NOTE: It does not necessarily mean that these part numbers are not used in the replacement parts catalogue. These are the unique numbers for each file in the software package. The part number is used to determine if a software update, for a specific control module, has been carried out or not.

It is important to note that the files included in the software package are not chosen by the mechanic. The content of the software package is determined by the software designer when the software is designed.

Software is ordered as follows:
The mechanic specifies which article must be ordered, and for what car (model and chassis number). This can either be carried out from the replacement parts catalogue (via the part number) or using the VADIS/VIDA software manager (via the software product).

A dialog box in VADIS/VIDA asks if a control module has been replaced. If the mechanic responds that a control module has been replaced, the mechanic is instructed to connect VADIS/VIDA to the vehicle so that the hardware number and serial numbers can be read off, before the software is ordered.

If the mechanic replies that the control module has not been changed, the system will assume that the car and the Volvo database correspond. A verification which ensures that this is the case will be carried out just before downloading. This is described in greater detail in Software download method.

If this verification indicates that the car and the database do not correspond, a fault adaptation will be run.

NOTE: The same software can be downloaded again without a new order being made. This is carried out by retrieving the same software package which failed, but this time VADIS/VIDA ignores the error flag. The error flag is described in Software.

In all cases a check that the desired software applies to the relevant vehicle is made in the Volvo central database. An error message is displayed for the mechanic if any of these checks are not approved. The mechanic must determine what the fault is and reorder the software when the fault has been remedied.

HINT: Assistance in seeing what type of fault it is in the relevant software package can be obtained by clicking "Components".

Downloading can start when the software has been supplied to the VADIS/VIDA station and is accessible.

Software Downloading







Software is ordered via VADIS/VIDA replacement parts catalogue (upgrades are ordered via VADIS/VIDA software manager). This information describes the procedure for software downloading between the VADIS/VIDA station and the car.

The control modules are pre-programmed by the supplier using the primary boot loader. The aim of the software is that VADIS/VIDA and the factory systems should be able to load software to the car. This software contains a number of commands, the primary boot loader commands, which handle the actual download and function while there are no applications in the control module.

The primary boot loader is located in a section of the control module which cannot be erased, in a Read Only Memory (ROM). This is necessary because if the primary boot loader file is erased no contact with the control module can be established. Downloading will also be impossible.

After VADIS/VIDA has opened the control modules in the car for communication VADIS/VIDA transmits a reset command to the vehicle. The reset command is sent so that all control modules are restarted. VADIS/VIDA then transmits a command to continue the control modules in programming mode. This is always carried out by the primary boot loader, even if the control module is loaded with software. Each time that a control module is supplied with voltage the primary boot loader starts in the first 20 ms (0.02 seconds).

If the control module receives a programming command during these 20 ms the control module continues in programming mode.

Otherwise the application software of the control module takes over the function in the control module.

This means that it is always possible to continue with a control module in programming mode, even if the application software is corrupted. This could happen in the event of an unsuccessful download for example.

The programming command is transmitted for approximately 2 seconds so that all the control modules will have time to carry out the command and continue in programming mode. In programming mode the control modules stop sending controller area network (CAN) messages and await new software.

After the primary boot load file, the secondary boot load file is run (if present). Any old software is erased so that it will not affect the new software being downloaded. The software is then downloaded into the control module. A reset command is sent to the vehicle so that it returns from programming mode to normal mode. All control modules then continue in normal operation.

Software Download Method







When downloading software to the car there are several stages in VADIS/VIDA. The stages in VADIS/VIDA are as follows:
- Preparations
- Verification
- Downloading
- If necessary a method, for example entering PIN codes for new remote controls
- Confirmation.

The preparations include the user being asked to connect a battery charger. At which point a number of checks are made, such as of the voltage level and the ignition key positions to see if they are correct.

A verification is then carried out. During verification VADIS/VIDA compares the software, hardware and serial numbers in the car with those delivered in the software package. If the reply via the dialog box is that the hardware has been replaced, the control module which has been replaced will not be included in the verification. This is because the new identity of the control module does not correspond to the old identity stored in the Volvo central database.

If the verification was OK, the car continues in programming mode and the software is downloaded. If the verification was not OK, a misalignment has occurred and the Volvo central database must be updated.

The confirmation means that a confirmation file, with the new configuration of the car, is created and sent to the Volvo central database. Upon confirmation, the configuration of the car is updated in the Volvo central database. This is so that a misalignment will not occur at the next download.

The Volvo Central Database







The Volvo central database has records of all the data of all the Volvo cars in the world from the 1999 model year inclusive (not including the S40 (-04) and V40).

All the VADIS/VIDA stations where software downloading is possible are connected to the Volvo central database via a local area network (LAN) or a modem. There are two servers. One in North America and one in Europe. If communication cannot be established or if communication is interrupted with one server, a connection will automatically be made to the other server where all the information is available.

The Volvo central database is a collective name for a number of different databases (see the figure above). The databases are:
- The software archive
- Vehicle archive
- System structure for software.

SAFE is the interface between VADIS/VIDA and the databases and handles the file transfer between the databases and VADIS/VIDA.

The software archive
The software archive contains all the software produced by Volvo.

Vehicle archive
The vehicle archive contains all the vehicle unique information.

The system holds information about all the controller area network (CAN) control modules such as:
- Hardware numbers
- Software numbers, that is which files are in each individual control module
- Control module serial numbers
- Vehicle configuration, the equipment level of a vehicle, where the vehicle was built, the structure week and the VIN
- Software ID side impact sensors (SRS (supplemental restraint system))
- PIN codes.

The PIN codes are downloaded to VADIS/VIDA when a control module has been replaced, and a reload has been ordered for the control module via the replacement parts catalogue.

The PIN codes are then used by VADIS/VIDA (unseen by the user) to make the software work in the control module.

When a car is built in the factory the vehicle information is sent to the vehicle archive where the vehicle configuration is stored. When downloading using VADIS/VIDA, the vehicle archive is updated with the modifications. This occurs when the confirmation file is sent to the Volvo central database.

System structure for software
System structure for software is the set of rules which determine which software should be downloaded to a vehicle. The system structure for software can alert the user to any error messages and warnings via VADIS/VIDA. The system structure has complete control over whether a certain control module is suitable for the relevant vehicle.

Advantages of system structure for software over previous systems.

Some advantages of system structure for software are:
- When a software package arrives in VADIS/VIDA it states which control modules will be loaded.

NOTE: The customer parameters must be read off prior to downloading.

- The exchange of control modules between vehicles can be managed. The control module will function if it is suitable for the that particular car. If not the User receives an error message
- An error message is displayed if a faulty control module is installed
- In certain cases when the software is to be downloaded to a control module, which in turn requires a certain status for hardware/software in another control module, the system also takes this into account
- Previously one was unaware if there was better software for a specific car. Now the database is aware of this. Therefore the most recent software status is available when replacing, reloading or upgrading a control module
- A control module no longer requires several different upgrades. It is however possible to run an individual configuration.
- If the car already has the most recent status it will not load, a message will be displayed instead.

Software Products

The following types of software products are available:
- Reloading
- Complete reloading
- Upgrading
- Complete upgrading
- Adding and removing functionality or accessories (with or without the addition of hardware)
- Individual configuration
- PIN codes.

Reloading
Software product type reloading is used when a control module has been replaced. To retain the software which corresponds to a replaced control module, the data of the vehicle is read when ordering. If the software is already in the car it is reloaded.

Complete reloading
Software product type complete reloading is used when more than one control module has been replaced at the same time.

Upgrading
The software product type upgrading is used to replace the software in a control module when there is a complaint and a solution is available to correct a characteristic. No data is read from the car when ordering because no hardware needs to be replaced. If the latest software is already in the car no software package is assembled. A message that the car already has the latest software status is displayed to the user.

Complete upgrading
The software product complete upgrading is used to replace the software in several control modules.

Add or remove functionality or accessories
The software product type add or remove functionality is used to expand or decrease the functionality in the car. This is mainly carried out by modifying the car configuration file in the central electronic module (CEM) (applies to accessories which do not require hardware to be replaced). Modifying this file results in new functionality for the car. There are certain functions which also require software, such as when adding a control module to the car.

The vehicle data is read off when adding a function but not when removing functionality.

The "remove" function does not actually erase any software. It is a parameter in the car configuration file which is modified so that the control modules in the controller area network (CAN) interpret the function as no longer being present. There is only one occasion on which software is erased and that is immediately before new software is loaded to a control module. This is so that the earlier software does not interfere with the new software.

Individual configuration
The software product individual configuration is used to replace the software in a control module so that it no longer corresponds to the system structure for the software. The software product individual configuration is not in the VADIS/VIDA replacement parts catalogue.

If an individual configuration has been downloaded to the car previously, the mechanic receives a warning before it is overwritten.

A list of software products for individual configuration is available in the Technical Journals.

PIN codes
The software product PIN code is used to order a specific protected function. These functions are for example:
- for the immobilizer function
- when replacing the engine control module (ECM)
- for remote controls
- when replacing the upper electronic module (UEM).