Programming: A Blessing or a Curse - Transmission Digest

Programming: A Blessing or a Curse

To answer the question in the headline, we need to look at the programming of modules. Not the actual program, but the foundation on which it is based on.

Programming: A Blessing or a Curse

Shift Pointers

Author: Michel Schmets
Subject Matter: Programming
Issue: Programming components

Shift Pointers

  • Author: Michel Schmets
  • Subject Matter: Programming
  • Issue: Programming components

Why Do We Need to Reprogram/Update Modules?

Part 2 in a series

To answer the question in the headline, we need to look at the programming of modules. Not the actual program, but the foundation on which it is based on.

As we discussed in the previous chapter, the memory contains the program that the CPU executes. This programming is often called software, which can be misleading, as the program running on your laptop to perform programming is also called software. Sometimes it’s also referred to “firmware” or simply “program.” In this section we will refer to it as “program.”

So let’s break down the program in its various “components.”

Routines: For the CPU to know what to do, the program contains “routines.” These will tell the CPU what kind of tasks to perform. For example, calculating the amount of TCC slip (subtracting input speed from engine speed) is a routine. But communication with other modules or adaptation is also a routine. These routines are run constantly, some more often than others as they have a higher priority.

Mapping: This piece of the program will determine operating parameters. As the routine is responsible for completing a shift, the question whether a shift is desired, is answered by the mapping. This mapping is a table that the routine uses to determine whether a shift is permitted. For example, the engine load is 30% and my current speed is 34 km/h, but I am still accelerating.

The routine then accesses the base upshift table and looks in the column of 30% throttle. The number in this box is the speed at which an upshift is permitted. If this would be 42 km/h, the upshift routine will not be executed. This is a very crude example as this upshift routine will also check the oil temp, water temp, etc. These are also tables and are known as “adders” and will add or subtract a value from the base table discussed earlier. These adders are also a part of the mapping.

Watchdog timer: In the first section we talked about how big programs are these days. This is due to more and more “maps” that are implemented, but also routines. As these routines are very complex, and impossible to test every single possible option while running this program, it might be possible for the routine to become stuck in a loop or stop working all together. A watchdog is a simple program that will start a timer in which a routine should be completed. If the routine gets stuck, the watchdog will take action to start a failsafe program to minimize the chance of damage and retain function of the transmission.

Cyclic redundancy check or CRC-check: To determine whether the program in the flash is valid and the program isn’t corrupted or altered without permission, it performs a CRC check to ensure data integrity. While this is a routine, it’s a priority routine, and it’s important to understand its function. Since the data in the program is binary, you could sum up all bits and see if the outcome would be an odd or an even number. If you would write this down, you can determine if the integrity is valid by always performing this check. The actual CRC check is way more invasive and complex, but follows this principle. When this CRC check fails, the TCM could stop working completely and inhibit starting the engine, or only perform in limp mode or anything in between. So if you ever have a car that has a CRC check error, the data in the memory is corrupted, either by a manipulation attempt, a bad programming or simply a defective flash chip.

Diagnostic and trouble codes: While this is a routine with a part of mapping (to determine the maximum operating values), it gets its own notification. This is because the diagnostic routines are different from the normal operating routines. When a diagnostic routine determines that the transmission is operating outside of the normal parameters, it can change the operating mode, overrule previously determined routines (TCC operating mode to reduce temp, for example), set codes or even put the module in limp mode.

Immense & complex

So you see, this is a very complex program that has to be written by the manufacturer. While the compiled computer code may fit into a 4 MB memory, the actual programming code written by the programmers is much bigger as it contains notes and additional info that is lost after it is compiled to computer code that the control module understands (Figure 1). Since the program is immense and complex, it’s almost impossible to be written by one person or even comprehended completely by a single person. And even though the code is checked by several programmers and computer programs, it might still have errors that would cause issues during certain operating conditions. These problems are known as “bugs” and can cause several complaints, including erratic shift behavior without a clear cause. These bugs are fixed throughout the lifetime of a module and are covered with the updates we use to reprogram the module.

So it’s wise to update the software (Figure 2) of the control module whenever you can to eliminate issues that might simply be a software issue.

Next to bug fixes, these updates cover much more. Known drivability or comfort issues are also addressed. But the new program can also contain improvements that will help to reduce wear or fuel consumption, and can even add functions.

The mapping in the program is pretty much untouched (unless it’s the cause of a problem), so that the drive experience is pretty much unchanged.

So you see that updating the programming can help you solve problems you didn’t even know you had, and can protect you from chasing problems you might think are caused by something you did during the rebuild.

Pitfalls

There are also some downsides on programming you have to keep in mind.

While most updating is done using online access, you don’t have actual access to the files that contain the programming. And unlike with tuning, the programming isn’t first read completely before it’s altered. This means that you can only update the software to a newer version, but can’t downgrade back to the old version (some exceptions are possible). So if the customer notices changes in the way his transmission drives now, you can’t revert back to the old software. Luckily this happens in very rare occasions.

The other thing you have to keep in mind is the fact that you could cause damage to the module when the programming fails. To minimize this to almost zero, please read the instruction from the manufacturer.

Also keep in mind that programming isn’t something that you do in between. These processes can last between 3 minutes to 24 hours. Especially BMW takes a long time as it has a different strategy when it comes to programming.

The number of modules in a modern car can go as high as 100, all working in harmony, each containing a piece of software and communicating with each other. If you would say that a car has only eight modules and for each module there are two software versions available, you can come up with 256 different combinations. That equals to 256 unique combinations with only two software versions for eight modules. If you would have the ability to test a car completely in two hours, and you would have 256 unique combinations, which means you would be busy for 512 hours.

Testing all these combinations to see if they work is nearly impossible and immensely time consuming. So BMW puts their money on “known good combinations.” So they update several if not all modules in one reprogramming session. That’s why it can take as long as 24 hours to reprogram a BMW as its complete software configuration is being rebuilt during programming, and you are not able to update the car if a module that is registered in the Vehicle Order from the car is not responding, or there are modules added to the car, but not registered to it (Figure 3).

So please make sure you don’t do this as a rush job and give it your undivided attention to ensure success.

The information being provided in these articles were originally presented at Choice Tech seminar held prior to the 2017 ReMaTec show at the RAI in Amsterdam for Automatic Choice.

You May Also Like

Sherlock Holmes Approach to an AB60 No-Move Situation

The effectiveness in diagnosing automatic transmission malfunctions is an art form. Although there are similarities among the wide varieties of transmissions on the road, each transmission has its own peculiarities. Aside from having mechanical, hydraulic, and electrical hardware systems to contend with, software/programming issues and various vehicle platforms make diagnostics much more difficult.  Using scopes provides

ab60

The effectiveness in diagnosing automatic transmission malfunctions is an art form. Although there are similarities among the wide varieties of transmissions on the road, each transmission has its own peculiarities. Aside from having mechanical, hydraulic, and electrical hardware systems to contend with, software/programming issues and various vehicle platforms make diagnostics much more difficult. 

GM 6T40 Pump Identification Guide

The 6T40 was introduced in 2008 for General Motors front-wheel-drive cars in the Chevrolet Malibu and has gone through several changes throughout its three generations, specifically in the pump area. The 6T40 is closely related to the more lightweight 6T30 and the heavier duty 6T45 and 6T50. Generation one started phasing out during the 2012

Seeing the Forest AND the Trees

They say that the proverbial phrase “I couldn’t see the forest for the trees” means that a person or organization cannot see the big picture because it focuses too much on the details. Related Articles – 4L60E Harsh 1-2 Shift – TASC Force Tips: Diagnosing 8L45 & 8L90 Shift Complaints – TASC Force Tips: Hydraulics

The Manifold Pipeway

The Honda six-speed transmission has been on the bench of many specialty shops for one reason or another (figure 1). But, for those of you who have yet to lay your hands on one, mounted on the upper side of the unit is one of the largest, if not the largest solenoid and pressure switch

8L90 Vacuum Testing

Below are the diagrams for vacuum testing GM 8L90 transmissions. Note: OE valves are shown in rest position and should be tested in rest position unless otherwise indicated. Test locations are pointed to with an arrow. Springs are not shown for visual clarity. A low vacuum reading indicates wear. For specific vacuum test information, refer

Other Posts

Ford 8F35 maintenance tips: Planetary failure and no-pressure conditions

Our shop has had several vehicles come in with the Ford 8F35 transmission having planetary failure. Apparently, there was a run where the pinion needle bearings had a hardness problem (see Figure 1). Related Articles – Ford 8F24 mechanical diode failure – Back with force: ATSG is back in full swing to educate the transmission industry

Figure 12.
Shift Pointers: A Chrysler 300 no-shift complaint

The case study has to do with a 2009 Chrysler 300 C 5.7L Nag1 RWD with 71,923 miles on it (see Figure 1, above). Related Articles – 2024 State of the Powertrain Industry – Powertrain industry directory and buyer’s guide 2024 – A guide to common GM, Ford and Nissan programming issues It is based

Shift Pointers: What to do when the 62TE TRS tab breaks

How frustrating it is when on a hot summer day, as you go to open a nice cold can of your drink of choice, and the tab breaks off? You are outside, away from any tools to remedy the problem quickly. It now requires a MacGyver mentality looking around at the resources available to get

Shift Pointers: Failures caused by incorrect tire sizes

For years ATSG has produced a wide range of issues related to improper tire sizes on vehicles. Even under-inflated tires have been known to cause issues. Problems such as premature failure with an active 4WD transfer case will occur with incorrect tire sizes. Related Articles – Top 20 Tools and Products: The Winners – Performance

Shift-Pointers-Jan-Figure-1-1400