Mapping a car - The insider

netercol

New member
you can program your DME 15 times, then its becomes a doorstop

just wondering, are you absolutely sure about this? because bmw themselfs also update their own code now and again, which is why your remap sometimes gets overwritten when you take your beemer to the stealership for service/inspection.. wouldnt they run out of options quick? like i said , just wondering.. :)
 

zaleonardz

Well-known member
See, that is the part I also do not understand.

Is there some sort of counter on the eeprom that registers update attempts, and when it rearches a certian amount of writes, it shuts down. ?

This does not make sense, is it a limitation in programming built in, or is it a physical limitation of the eeprom, and why the magic no 15 ?
 

hennie

New member
im running a smt6 piggyback in my e 30 it manipulates the signal going ito the old ecu to advance timing or fuelling plus i clucked the original afm and is running a maf from a e 36 328 the piggyback restricts the voltage out of the maf to 5volt as the e 30 ecu shuts down if it gets a higher voltage here is a pic of how the map looks where one manipulates the settings
PerfectPowerMAFFuellingMap.jpg

the number in the blocks is where the changes are made to the fuelling map or timing map the timing has its own map
 

clutchplate

///Member
you guys don't understand, you can only reprogramm the DME 15 times. (you use DIS/SSS/progrman/CIP for this)

if your modifying the EEPROM only, you can do whatever the heck you want, however many times you want.
 

netercol

New member
in the interest of furthering my post count :thumbsup: and because its saturday morning and im stuck in front of a pc, i thought id answer a question that wasnt really asked, but might give more insight into why this happy situation exist in which we can still modify our cars, no matter how hard the manufacturers try to stop us..

or put another way, why do ecu's use lookup grids (maps, tables, or whatever u want to call them) at all, why dont they just calculate the needed values for injection, ignition ect on the fly? i mean that would make ecu's a hell of a lot more difficult to modify, you would have to mess around with the op-code, makeing them a LOT more secure?

an example (a thoroughly stupid one :mmm: )
you work in a factory, your job is to add water to a boiler, depending on the temp of the water inside, the level of the water, ect. you have a nicely graduated beaker , a calculator, and a complicated formula to do all this with.. and you have to check the boiler every 10 seconds.. so you get all the relevant values, grab the calculator, do the math, fill the beaker, add the calculated amount, start over.. eish, not going well

example 2
same job, but now you have a nice big chart next to you on the wall, a grid with temp vs. level.. so you get the values, read off the chart the amount of water needed, add it.. much better

so why do we have the luxury of just modifying a lookup table, instead of having to alter formulas to change fueling ect? simply because it is faster for the ecu to look it up than calculate it.. convenient for us eh? :)

you guys don't understand, you can only reprogramm the DME 15 times. (you use DIS/SSS/progrman/CIP for this)

if your modifying the EEPROM only, you can do whatever the heck you want, however many times you want.

ah ok, yeah that makes sense now :thumbsup:
 

applehero

///Member
netercol said:
in the interest of furthering my post count :thumbsup: and because its saturday morning and im stuck in front of a pc, i thought id answer a question that wasnt really asked, but might give more insight into why this happy situation exist in which we can still modify our cars, no matter how hard the manufacturers try to stop us..

or put another way, why do ecu's use lookup grids (maps, tables, or whatever u want to call them) at all, why dont they just calculate the needed values for injection, ignition ect on the fly? i mean that would make ecu's a hell of a lot more difficult to modify, you would have to mess around with the op-code, makeing them a LOT more secure?

an example (a thoroughly stupid one :mmm: )
you work in a factory, your job is to add water to a boiler, depending on the temp of the water inside, the level of the water, ect. you have a nicely graduated beaker , a calculator, and a complicated formula to do all this with.. and you have to check the boiler every 10 seconds.. so you get all the relevant values, grab the calculator, do the math, fill the beaker, add the calculated amount, start over.. eish, not going well

example 2
same job, but now you have a nice big chart next to you on the wall, a grid with temp vs. level.. so you get the values, read off the chart the amount of water needed, add it.. much better

so why do we have the luxury of just modifying a lookup table, instead of having to alter formulas to change fueling ect? simply because it is faster for the ecu to look it up than calculate it.. convenient for us eh? :)

you guys don't understand, you can only reprogramm the DME 15 times. (you use DIS/SSS/progrman/CIP for this)

if your modifying the EEPROM only, you can do whatever the heck you want, however many times you want.

ah ok, yeah that makes sense now :thumbsup:



Hey Netercol

What you're saying is a valid point, imho. Modern cars should be able to calculate the correct values for themselves at a specific moment in time. However, if there are many variables it implies that the equation used to solve for a particular output is necessarily complex.

My intuition tells me that modern cars cannot handle such a complex equation and solve it in the space of time needed to execute the output.

So for example, if the ecu gets inputs like throttle pedal position, readings from maf sensor, external temp, road speed, instantaneous rpm and gear selection, etc... by the time you get a result, you could've changed gears, or braked.

So to look a value up in a table is much quicker and less processor intensive than calculating a real time value. Also, why calculate the same value over and over if you can just find it in a table and use it.

***I am by no means an expert on ecu maps, but this seems a plausible explanation.
 

netercol

New member
So to look a value up in a table is much quicker and less processor intensive than calculating a real time value. Also, why calculate the same value over and over if you can just find it in a table and use it.

that is exactly it.. plus it leaves us with the happy coincidence of only having to modify the table's in order to modify engine behaviour :pimp:
 

zaleonardz

Well-known member
Gents..

Awesome discussion, I am digging it :thumbsup:

I want to add a theory to this one as well, engines and thus their management are developed over many years, in some cases, more then 5 years.

So the technology that you are getting in a brand new car is "kinda old" already, and a lot of the time, existing technology is re-used in order to save costs, it is upgraded of course, ut the basis forms the same.

Your example netercol, although over simplified, is actually brilliant, cause that is exactly the case. When the motor was designed, the technology to do on the spot calculations of correct values based on a formula, was at the time of design too slow to do it quick enough. Also automotive standards play a role in this development, sometimes hampering progress due to compliance issues.

Last issue is, there is a lot of analog to digital conversions taking place as well, many inputs into your ECU is analog, as they cannot represent a digitial value,

example fuel pump on or off = digital - 1 or zero
Throttle position : a value that is passed based on a measurement, either sent in ohms or voltage variations. The more you step on the peddle the more the input will change.

I believe such technologies exist now to indeed make the ECU's intelligent, solid state drives, quad core processors, uber quick ram/rom, but it will take a few years to bring it to production in vehciles, based on the huge development cost, and of course standards.

I work with industrial automation every day, and while it is not the same thing at all, it actually is exactly the same, :shocked:

You have analog/digital inputs, and analog/digitial outputs, and the kind of machines that are built to incorporate situational logic is unreal, but its IT, which is at cutting edge, with a lot less development/standard to adhere to.

Anyway, my 2 cents...

So question in order to keep the post going for interest. How do aftermarket management systems interact with exisitng systems (not piggybacks, but complete aftermarket systems), say for example, new management system for a E46 M3, how does it talk to IKE, does it actually replicate the communcation protocal at the IKE address and supply information, or do you replace IKE ?
 

STREETRACER

Active member
clutchplate said:
Lenoard:

unichip-B only changes air/fuel.. dunno about Q

you can program your DME 15 times, then its becomes a doorstop :)

you can use your INPA/Edibias cable and software to get your GM/SA/VN numbers, OR you can use a GT1 with DIS.. you can extract the GM/SA/VN numbers from your EWS and IKE modules only, when you reprogram your DME it reads the values from your EWS and IKE modules and programs your DME with software related to the options you've chosen.

yeah, You could add options like DSC, but getting the wiring right :) lol, eish, that will not be so fun.

Maybe someone else would elaborate on the Unichip capabilities..

The Q you can run timing, fuel, then you have auxilery ports, for Vanos solenoids, nos controler, launch control, boost controler etc..
 
M

Mike1

Guest
Wow!

Thanks for all the answers. Its great to have a better understanding of what I consider the real brain of the car.

Sherwin - Do you agree with most of the answers? Is there anything you can add?

Mike
 

STREETRACER

Active member
clutchplate said:
KICKASS !! really ? I'm getting a Q-chip if I can't manage to mod my ecu without piggy for turbo's..

We are busy putting a Q on a Gotech Management system.. for our 2.2bar Methanol turbo golf! To manage all our boost controlers, launch controlers etc.. By means of micro switches on the gear links we get the boost controller to boost 0.8 1st gear 1.1 2nd gear 1.8 in 3rd gear and 2.2 in 4th! Helps putting MAX power on the tar in each gear!

Golf will be seeing the tracks in the next coming month or so! Just busy sorting suspension, traction etc..
 

Sherwin@xcede

BMWFanatics Advertiser
Official Advertiser
MiniMike19 said:
Sherwin - Do you agree with most of the answers? Is there anything you can add?

Mike

Sorry haven't had time to read up on all the posts. Been a bit hectic, maybe I can do an in-depth response when I get some time.

The modern piggyback's can do more than just fuelling and timing. Most can have multiple digital and analog I/O's and can intercept VANOS solenoids, speed signals (for defeating speed limiters), and many more.

The DME can only be written X amount of times, that is correct. But that is a total DME update flash. The tuners do a partial write of the EEPROM. They don't flash the whole DME, only the dealer does that.
So they tuner "flashes" can be done as many times as you want.

On the question on why the ECU can't just work out what it needs to do instead of looking it up ... Well that's what humans do. A computer sees a 1 or a 0. In needs to have logic to follow. In needs a subroutine that says if X, then Y. It can't "work" out what it needs to do. It needs a program with inputs from the sensors (IAT, MAF, MAP, CAS, TPS, speed, rpm, etc), then it based on the inputs it needs a table with what to output. So, unfortunately, it needs to be mapped.

There is some for of "learning", that some may call artificial intelligence in the form of the adaption tables and short-term and long term trims. Where the tables can adjust themselves as the car adapts. But still, that is a structured program of self modification with is written in code.
 

Toeks

New member
Sherwin@Xcede said:
MiniMike19 said:
Sherwin - Do you agree with most of the answers? Is there anything you can add?

Mike

Sorry haven't had time to read up on all the posts. Been a bit hectic, maybe I can do an in-depth response when I get some time.

The modern piggyback's can do more than just fuelling and timing. Most can have multiple digital and analog I/O's and can intercept VANOS solenoids, speed signals (for defeating speed limiters), and many more.

The DME can only be written X amount of times, that is correct. But that is a total DME update flash. The tuners do a partial write of the EEPROM. They don't flash the whole DME, only the dealer does that.
So they tuner "flashes" can be done as many times as you want.

On the question on why the ECU can't just work out what it needs to do instead of looking it up ... Well that's what humans do. A computer sees a 1 or a 0. In needs to have logic to follow. In needs a subroutine that says if X, then Y. It can't "work" out what it needs to do. It needs a program with inputs from the sensors (IAT, MAF, MAP, CAS, TPS, speed, rpm, etc), then it based on the inputs it needs a table with what to output. So, unfortunately, it needs to be mapped.

There is some for of "learning", that some may call artificial intelligence in the form of the adaption tables and short-term and long term trims. Where the tables can adjust themselves as the car adapts. But still, that is a structured program of self modification with is written in code.

I'm truly loving this thread, its very informative to say the least.
Seeing as you touched on the adaptations tables, how does the car "learn"? Is there a seperate module that monitors all the different sensors or does each module have its own piece of learning code? And what is it based on?
 

zaleonardz

Well-known member
Toeks, each model is connected together in what is called a communication bus, and there are various variations of such bus's, all based on a standard, the common used in vehicles at the moment is CANbus.

Say for example the gearbox module that learns your driving behavior, it receives thottle responses, so if your not somebody that floors your car from robot to robot, it will say, ok, usually max thorttle in this gear/rpm is a good time to change from 4th to 5th, and it will them make the change, but it will need variables from other modules, such as the DME which has the input for throttle reponse, and the output for RPM. ANd it can be clever, it has differant learning patterns for when you are in normal mode, and when you are in sport.

Everything is connected, and everything can talk to each other, even the radio knows what speed the car is doing, which allows it to go harder as the speed increases.

As a bit of history, the PLC, which is essentially a cars electronic system is, stands for Programmable logic controller, and it made its debut in the 70's with automakers having a problem on their assembly lines, that everything they wanted to make a change to a production line of robots/machines, there would be a major rewiring project, being hugely expensive.

So lets use a stupid example, if a robot is spray painting a car, something tells it to move a its arm in a certian position for x amount of time, if you bring out a new model which is 8mm higher in the boot area, you would have to go to a rack, find the timing devices for the spray robot, sit there and adjust the timing manually, and adjust the timing of all other functions, that says for example move the car 2mm forward on the conveyor.

This problem gave rise to the PLC or programmable logic controller, which means the introduction of a central brain, where you can adjust all factors from a computer sitting in an office or even a million KM's away, save these settings, and you never have to change a wire/input.

Our company recently did the rear section assembly for the VW Polo or the PQ24 project, and supplied the logic equipment, man you must see this stuff and what it can do, but it, just as an automotive ECU is a PLC with digitial/analog IO, its actually so elementry in how it functions, its simple... yet so powerful.
 
Top