Operation CHARM: Car repair manuals for everyone.

What Is the Purpose of Coding and Programming?




What is the Purpose of Coding and Programming?

Coding and programming allows a reduction in the number of control module hardware versions by providing a means of electronically writing the operating instructions to a blank or base control module. As a manufacturer of vehicles for world-wide distribution, BMW must produce several variations of control module versions to satisfy various requirements due to:

- Country specific regulations
- Equipment level
- Powertrain configurations

Before workshop coding and programming was available this process was only performed by the factory. Factory programming equipment loaded a basic set of operating instructions into a blank control module. The base system was common for all vehicle markets. Additional specific data was then added to the basic system producing country and vehicle specific variants of the control module.

As the number of control modules in a vehicle increased, so did the number of control module variations necessary for spare parts sales. This produced bulging inventories of similar hardware that only differed in the way that they were coded.

Coding and programming is the solution to this problem of expanding parts inventory and costs. Advantages to workshop coding and programming are:
- Fewer control unit hardware versions.
- Lower parts and inventory costs.
- Updating of software changes possible (Re-coding and Service Measures).
- Addition of special equipment features to existing control units (e.g. DWA).
- Customization of vehicle operation (e.g. Conversion and VKM).

There are several different methods used to provide operating instructions to a control module. The methods are determined by the vehicle, model year and type of control module.

BMW uses the following methods of control module encoding:
- Central Coding Key coding (ZCS).
- Vehicle and Key Memory coding (Referred to as Car and Key memory in coding software. Car and Key Memory is explained in the Technical Systems course).
- DME Variant Coding.
- DME Eprom Programming.
- Flash Programming.