Tuners Rejoice! Free Tuning For M4.4!

Recommended Posts

  • Replies 7.5k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Attention: The first 30 or so pages of this thread are outdated. Please refer to the M4.4 Wikia article where all the relevant information is currently being collated. Before asking any questions p

Crush it.

After alot of testing and rewriting code, we finally got a useful new mod working. As we all know, some time ago my dad Piet found out how to convert to bigger maf housings with the maf factor. Conver

Posted Images

Ah, OK thanks!

It's all done in the external interrupt 3 routine, triggerd by the cranksensor.

0051 and 0052 {Zeitausgabe Inkrementverfg. Schliessbeginn (time output something (inkrementsverfg) closing begin (lowbyte and highbyte) are put in the timer 0 registers or

004F and 0050 {Zeitausgabe Inkrementverfeinerung Zuendung LOB} are put inthe timer 0 register dependent of 002B.7 ({D:DIS_TI.7 (unverteiltes) zuendungssummensignal 1:=offen}

When timer 0 overflows the coil (or one of the COPs directed by 0021) is physically turned off or on also dependent of 002B.7

I just can't find exactly where the dwell table is read.

None of the lookuproutines I know is used for it.

@RKAM Ich kann Deutsch zimmlich gut verstehen aber: It's not quite clear to me what is meant by Inkrementverfg. and Inkrementverfeinerung.

Maybe you help me with that, German being your native language?

Edited by Piet
Link to post
Share on other sites

Mein Deutsch ist leider nicht viel besser als deine. I'm Norwegian.

verfeinerung sounds like forfining in Norwegian meaning refinement.

I belive the tooth increments are divided into smaller parts than 6 degrees.

Link to post
Share on other sites

KW is usually the german acronym for "Kurbelwelle" -> crankshaft

NW should be "Nockenwelle" -> camshaft

Inkrementverfeinerung is tricky to translate. It has something todo with tweakinga signal to identify the cylinder based on readings from a wheel mounted to the crankshaft.

Link to post
Share on other sites

I always thougt that you are a German, don't know how I came to that.....

Yes, just like "verfijning" in Dutch.

verfeinerung - forfining - verfijning - refinement: interesting

It's actually "inkrementverg. " I don't quite get.

Edited by Piet
Link to post
Share on other sites

Should have worded that better...

Inkrementverfeinerung is really two words:

inkrementieren -> to increment e.g. to increase something / count higher

verfeinern -> to refine something, in this case it should be interpreted as "increasing resolution"

The idea is that the crankshaft sensor reads the teeth on the sensor wheel mounted to the crankshaft but can never return exact values due to manufacturing tolerances. Also signals can subjected to distortions by the time they arrive at the control unit. This value should be adaptive so the ECU can learn what hardware it is dealing with too make corrections based on the readings.

Based on " {Zeitausgabe Inkrementverfeinerung Zuendung LOB}" I guess this happens once at the beginning of every ignition cycle?

Link to post
Share on other sites

I have checked the cranksenorsignal once with a scoop. It's a very clean signal and rather precise.

But there are only 60 teeth (minus 2 for cil 1 TDC detection) that means that the resolution (6 degr), despite being quite accurate, is to low for adequate ingnition control.

Probably (now I'am just theorizing! ) the controller measures time or something like that between two flanks of the signal and does some calculations to refine timing.

The older motronics actually did use the rising and falling edge of the signal, but i don't know if the M4 does that too.

But even then the resolution (being 3 crankdegr) will still be far to low.

Edited by Piet
Link to post
Share on other sites

I started looking into this some time ago, thinking that some timers must be involved in the ignition stuff.

I was hoping that more people getting involved with the COP stuff could result in information on how/what to calculate to change from 6-cylinders to 4 for my B20.

Difference between 6 and 5 cylinders should in theory give some clues.

Link to post
Share on other sites

Totally different question:

Does anyone know the resistance of the internal pull-up resistors in the M4.4 CPU,

and for how long I can safely externally pull down a pin on the P2 port while the CPU tries to pull it high?

Link to post
Share on other sites

In this disassembly project the half teeth counter is divided into 4, resulting in 0.75 degrees.


Sure about that?

60 tooth makes 6 degree per rising edge but the Volvo uses at least 3 different sensor patterns. There's the old style SM pattern using holes, new style SM and DM pattern using square teeth and the AT pattern which is square but like the early flywheels the holes do not really have equal spacing which goes against 3 degree spacing on both edges.

{quantisierung 1 geberradzahn (:= 6 grad KW)}
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.