Ignition timing logic

Talk and Tech about turbocharged 924/944/968 cars
User avatar
johnb
Posts: 363
Joined: Thu Jul 08, 2021 5:57 am
Has thanked: 121 times
Been thanked: 93 times
A while back I posed a couple of detailed articles about how the ignition signal is generated in the real time part of the DME code. But I didn't get into how the timing values used are actually calculated.

The basic calculation is pretty simple and I just posted a description of that here:
https://jhnbyrn.github.io/951-KLR-PAGES ... rview.html

There's a very complicated bit that comes after this, which I have yet to document. To give a quick preview, the rate at which the current timing is allowed to change is carefully regulated depending on various driving conditions involving rpm, load, and whether fuel has been cut and whether is has been restored.

As a side note though, I noticed a strange thing in the main timing map lookups. There's a map that's used to skew the timing values by rpm after the main map lookups. I hadn't heard of this before in any of the tuning stuff I've seen, so I decided to give it it's own article:

https://jhnbyrn.github.io/951-KLR-PAGES ... _maps.html

@Tom this might be something you want to discuss in the tuning guide.

Quick storytime: years ago I was messing around with an oscilloscope and I noticed something strange when I looked at the ignition signals going into and coming out of the KLR. The output ignition signal was always delayed by a fixed amount. When I asked the experts about this on other forums they generally dismissed it as a bad KLR or a me not knowing how to use an oscilloscope etc.. Now, I was curious before, but when the people who claimed to know about these things responded that way, it really piqued my curiosity. And that was the thread I started pulling on that led me to my whole KLR reverse engineering project, which ultimately expanded to include the DME too.

Well now I can finally wrap the story up: this rpm skew map I discovered fixes the KLR latency. I know that's not its only purpose, because there's still a residual effect on the main map, and also the NA DME image has a similar skew map, so it' s clearly intended for tweaking the existing maps by RPM without having to touch every cell. But the difference in the Turbo and NA maps also makes it clear that it's being used as deliberate fix for the KLR issue.

#1

User avatar
whalenlg
Posts: 441
Joined: Mon Jul 05, 2021 8:58 am
Has thanked: 8 times
Been thanked: 119 times
@johnb

This post appeared magically as I was about to start debugging my partial load FQS testing - and Voila - the conditions described showed exactly why I wasn't seeing FQS timing applied (>1600 RPM, but load <80, partial throttle).

Thanks!
1986 951 - Silicon Valley

#2

User avatar
johnb
Posts: 363
Joined: Thu Jul 08, 2021 5:57 am
Has thanked: 121 times
Been thanked: 93 times
A quick follow up - this one explains how small sudden rpm changes are damped by an adjustment to ignition timing:

https://jhnbyrn.github.io/951-KLR-PAGES ... mping.html

I can only guess but I think this was done to improve driveability. It's only done at lower rpm (<2650) and lower load values. Basically rpm changes are opposed by + or - 1.36 degrees, depending on whether rpm is increasing or decreasing, and the faster the change in rpm, the longer the timing correction remains in place.

#3

Post Reply