[Gmecm] BLM cell confusion
WopOnTour
wopontour
Tue Nov 15 01:56:24 UTC 2005
Gary
I'm trying to determine what's different in the calibration files between
the "distributor" versions of the '749 code (2.0L turbo, Sy/Ty) and the DIS
version (1988 Quad 4)
Below are a few excerpts from "the archives" you probably have all this
already but if it helps any... But one things for certain, at least the
offsets are different in the Quad4 as its a 256K PROM instead of 128K
WopOnTour
**************************************************
Here is the dwell computation code from the SyTy (and turbo Sunbird)
program. All the named locations are RAM variables except for
TachInterval which comes from the hardware timing chip. Notice that all
of the constants are hard coded, none are read from the configuration
area. (Question: Are the SyTy and Sunbird distributor or DIS?)
This code fragment is invoked at 80 Hz
xD035 ...
LDX TachInterval ;Hardware register
LDAA #255 ;Dummy huge ExtraDwell
LDAB Flags2F
BITB #bigMapIncrease
BNE @0 ;Force ExtraDwell := (TachInterval / 8)
LDD OldTachInterval ;OldTachInterval - TachInterval
PSHX
TSX
SUBD (X)
PULX
ASLD ;Double difference
SUBD ExtraDwell ;Extra dwell if RPM increased
BMI @1
ADDD ExtraDwell
@0 STD ExtraDwell
@1 PSHX ;TachInterval to D
PULD
LSRD ;TachInterval / 8
LSRD
LSRD
SUBD ExtraDwell ;Limit ExtraDwell to (TachInterval / 8)
BHS @2
ADDD ExtraDwell
STD ExtraDwell
@2 PSHX ;TachInterval to D
PULD
STD OldTachInterval ;Set new OldTachInterval
LSRD ;Compute Dwell using TachInterval
SUBD #229
BHS @3
ADDD #308
BRA @5
@3 LSRD
SUBD #295
BLO @4
ADDD #382
BRA @5
@4 ADDD #1527
LSRD
LSRD
@5 STD Dwell
LDAA #120 ;Increase dwell at low volts
DIFA SensedVolts
LDAB #4
MUL
ADDD Dwell ;Combine all terms
ADDD ExtraDwell
STD Dwell
LDD TachInterval ;TachInterval - 39
SUBD #39
SUBD Dwell ;Limit Dwell to (TachInterval - 39)
BHS @6
ADDD Dwell
STD Dwell
@6 ...
This code fragment slowly reduces ExtraDwell to zero. It is executed
once per ignition event (up to 80 Hz).
xCE2F ...
LDD ExtraDwell ;ExtraDwell / 8
LSRD
LSRD
LSRD
COMA ;- (ExtraDwell / 8) - 1
COMB
ADDD ExtraDwell ;ExtraDwell - (ExtraDwell / 8) - 1
BPL @9
CLRD
@9 STD ExtraDwell ;Decay ExtraDwell to zero
--
Ludis Langens ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies: http://www.cruzers.com/~ludis/
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
$Date: Tue, 23 Feb 1999 10:04:57 -0800
$From: Ludis Langens <ludis at cruzers.com>
$Subject: Re: EST observations (kinda long)
Tedscj at aol.com wrote:
The problem is that the other edge may "move around" at different RPMs.
Here is the dwell computation code from the SyTy (and turbo Sunbird)
program. All the named locations are RAM variables except for
TachInterval which comes from the hardware timing chip. Notice that all
of the constants are hard coded, none are read from the configuration
area. (Question: Are the SyTy and Sunbird distributor or DIS?)
This code fragment is invoked at 80 Hz
xD035 ...
LDX TachInterval ;Hardware register
LDAA #255 ;Dummy huge ExtraDwell
LDAB Flags2F
BITB #bigMapIncrease
BNE @0 ;Force ExtraDwell := (TachInterval / 8)
LDD OldTachInterval ;OldTachInterval - TachInterval
PSHX
TSX
SUBD (X)
PULX
ASLD ;Double difference
SUBD ExtraDwell ;Extra dwell if RPM increased
BMI @1
ADDD ExtraDwell
@0 STD ExtraDwell
@1 PSHX ;TachInterval to D
PULD
LSRD ;TachInterval / 8
LSRD
LSRD
SUBD ExtraDwell ;Limit ExtraDwell to (TachInterval / 8)
BHS @2
ADDD ExtraDwell
STD ExtraDwell
@2 PSHX ;TachInterval to D
PULD
STD OldTachInterval ;Set new OldTachInterval
LSRD ;Compute Dwell using TachInterval
SUBD #229
BHS @3
ADDD #308
BRA @5
@3 LSRD
SUBD #295
BLO @4
ADDD #382
BRA @5
@4 ADDD #1527
LSRD
LSRD
@5 STD Dwell
LDAA #120 ;Increase dwell at low volts
DIFA SensedVolts
LDAB #4
MUL
ADDD Dwell ;Combine all terms
ADDD ExtraDwell
STD Dwell
LDD TachInterval ;TachInterval - 39
SUBD #39
SUBD Dwell ;Limit Dwell to (TachInterval - 39)
BHS @6
ADDD Dwell
STD Dwell
@6 ...
This code fragment slowly reduces ExtraDwell to zero. It is executed
once per ignition event (up to 80 Hz).
xCE2F ...
LDD ExtraDwell ;ExtraDwell / 8
LSRD
LSRD
LSRD
COMA ;- (ExtraDwell / 8) - 1
COMB
ADDD ExtraDwell ;ExtraDwell - (ExtraDwell / 8) - 1
BPL @9
CLRD
@9 STD ExtraDwell ;Decay ExtraDwell to zero
--
Ludis Langens ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies: http://www.cruzers.com/~ludis/
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
$From: "Bruce Plecan" <nacelp at bright.net>
$Subject: Re: 749 inna 730
$Date: Wed, 31 Mar 1999 20:59:38 -0500
-----Original Message-----
From: andy quaas <realsquash at yahoo.com>
To: gmecm at esl.eng.ohio-state.edu <gmecm at esl.eng.ohio-state.edu>
Date: Wednesday, March 31, 1999 7:52 PM
Subject: Re: 749 inna 730
No, the 730 uses one injector driver, and shares two pins for the injectors.
The 749 has two injector drivers and can be set as a single saturated
injector driver
like in the syclone, or as a dual Peak+Hold like in the Sunbird Turbo (that
used the 749),
or like in the Quad 4 (that used the 749).
It can take a ton of work to work out a calibration!.
If anyone thinks the reading the archives is time consuming you won't
beleive how much time you can invest inna calibration.
Bruce
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
$From: "John T. Martin" <gmman at eskimo.com>
$Subject: Re: Turbo Sunbird GT Boost Gauge wiring?
$Date: Fri, 2 Apr 1999 20:29:37 -0800
-----Original Message-----
From: Terry/Carol Kelley <terryk at foothill.net>
To: gmecm at esl.eng.ohio-state.edu <gmecm at esl.eng.ohio-state.edu>
Date: Thursday, April 01, 1999 5:47 PM
Subject: Turbo Sunbird GT Boost Gauge wiring?
Anybody have the wiring for the Sunbird turbo boost gauge?
Terry Kelley
1986 Olds Ciera GT 3800 Supercharged
hello,
The boost gauge is in parallel with the ECM on the Sunbird. Uses the same
map signal on pin F15 of the 749. Had a wiring diagram faxed to me today.
Email me if any more info is needed.
John
gmman at eskimo.com
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
$From: Tedscj at aol.com
$Date: Mon, 12 Apr 1999 17:58:30 EDT
$Subject: Re: DIS, HEI, and PITAs
I Tried some things with the DIS today.
First, I made sure the DIS was at least responding to the original DIS .bin
(from a '91 Sunbird) and it was.
Then I just started from the beginning trying to adjust different things
with
the SyTy .bin. I kept notes and I will paste them right here.
The changes I made to the .bin were NOT accumulative. The changes made
were
ONLY those mentioned in each line. Except for the Main Spark Table. 1-5
the
table was zeroed out completely 6< the table was 0 for everything below
2000rpm and 30degrees for everything above 2000rpm (so that any advance
would
be obvious.)
1 - 5 : Main Spark Table zeroed out.
1. no changes except for above: ran about 60 degrees advanced.
2 KREFANGL at 40: No difference.
3. MAXRTRD2 at 50: Timing mark right at zero.
4. MAXRTRD2 at 70: Timing mark at 20 BTDC.
MAXRTRD2 seems to be ADVANCING the base timing.
5. Changed KCTBIAS (coolant temp bias) from 20 to 50: No changed.
6- Main spark advance table set as described below.
6. Changed main spark advance to abruptly go from 0 to 30 degrees advance
at
2000 rpm: It DID advance abruptly at 2000 RPM.
7. set MAXRTRD2 at 60: timing mark at 10 BTDC but there is now NO advance
at 2000RPM
8. 7 + changed MAXADVN2 from 46 to 120: still No advance at 2000 RPM
9. change MAXRTRD2 to 5 (to check if a small change will still render the
main spark table inop.): It DID advance abruptly at 2000RPM. SO changing
the MAXRTRD2 value does not in itself render the the Main Spark Adv. inop.
10. Change MAXRTRD2 to 20 (I'm going to sneak up on the 60 value): Can
barely get the car started at 20, and won't reve pas 1200 or so ... will
jump
to 40 and see what happens.
11. MAXRTRD2 set to 40: Timing mark at something like 10 ATDC and there is
NO advance after 2000RPM.
12. Set MAXRTRD2 to 50 and set MAXADVN2 to 0.0 just to see what happens:
timing mark at 0 degrees and No advance.
13. leave MAXRTRD2 at 50 and move MAXADVN2 to 60 and KREFANGL to 60 to see
what happens: Still no advance.
14. same as above only MAXADVN2 at 120: still no advance.
What did I learn?
The DIS module DOES respond to the EST signal, WHEN no other parameters have
been changed too far. The MAXRTRD2 seems to advance the base timing. The
MAXADVN2 and KREFANGL seem to have no apparent effect. Once you advance the
base timing too far (through the MAXRTRD2) the MAIN SPARK TABLE ceases to be
effective. Again, adjusting the MAXADVN2 does not solve this problem and
appears to have no effect.
You can see all the different combinations I have tried above. If you can
think of anything else, please let me know.
Thanks,
Ted
PS What Bruce and Terry said about inverting the Reference Signal from the
DIS to the ECM would work. It would push back the timing 60degrees
(assuming
50% duty cylce and three pulse per revolution). That would set the base
timing at 10degrees when the Main Spark Table says 0 degrees, which is close
enough. And I found that if you don't mess with the KREFANGL, MAXRTRD2, or
MAXADVN2 then the DIS module WILL respond to the EST signal. If you set the
base timing too far with the MAXRTRD2, then the DIS module will NOT respond
to the EST signal (or maybe the ECM stops pushing up the advance on the EST
signal any further).
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
$From: ECMnut at aol.com
$Date: Fri, 12 Feb 1999 09:32:05 EST
$Subject: DIS w/ '749 .bin, GM did it..
The same 749 box was used in just about all
of the '88 Quad-4 applications the General produced,
with (I think) DIS.. I never saw a a Q4 with a dissy...
Anyway, it sounds like the the 749 has the hardware
to do what you want, but the Sy bin has the wrong code
for the app. Unfortunately, none of the offsets are the same
in the Q4 PROM as the Sy chip.. It's a 256 instead of the
Syphoon/Sunbird 128 chip.
Lemme know (off list) if a Q4 749 bin is required.
HTH
Mike V
In a message dated 2/11/99 5:42:14 PM Eastern Standard Time, Tedscj at aol.com
writes:
be
-<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>-
----- Original Message -----
From: "Gary Evans" <gary at garyandliz.com>
To: <gmecm at diy-efi.org>
Sent: Monday, November 14, 2005 2:32 PM
Subject: Re: [Gmecm] BLM cell confusion
> Not Kidding.
>
> If you have some time, check out the disassembly. There are only 3 cells
> defined. Unlike the 16 cell code, which determines cell based on rpm and
> map, the $a1 and $88 define the cells based on VSS, BPW and MAP.
>
> Here are the definitions in the code:
>
> HIGH HYSTERESIS VALUE, WITH KLCBPWL
> 870F 04 4 KCELIDLL 1.3 MPH IF SPEED EXCEEDS THIS
> THRESHOLD, CAN'T BE IDLE
> LOW HYSTERESIS VALUE, WITH KCELIDLH
> 8710 06 6 KCELIDLH 2 MPH IF SPEED EXCEEDS THIS
> THRESHOLD, CAN'T BE IDLE
> HIGH HYSTERESIS VALUE, WITH KCELIDLL
> 8711 24 36 KCELMAPL 31.3 KPA DIVIDING POINT BETWEEN PART
> THROTTLE CELL AND
> OVERRUN CELL LOW HYSTERESIS VALUE, WITH KCELMAPH
> 8712 37 55 KCELMAPH 37.2 KPA HIGH MAP DETERMINES PART
> THROTTLE CELL
> HIGH HYSTERESIS VALUE, WITH KCELMAPL
> 8713 0080 128 KCELBPWL 1.95 MSEC THRESH BETWEEN CELL 1 AND CELL
> 2
> LOW HYSTERESIS VALUE, WITH KCELBPWH
> 8715 0090 144 KCELBPWH 2.2 MSEC BPW > THRESH DETERMINES CELL 1
> HIGH HYSTERESIS VALUE, WITH KCELBPWL
>
> There are only 3 cells: Idle, part throttle, and overrun.
>
> My scan tool is a laptop reading the raw ALDL stream for the ECM. The ECM
> *never* reports any other cell than 0, 1 or 2. Is it possible the Tech 1
> is faking 16 cells based on the RPM / MAP values?
>
> As for the 6+1 crank trigger, there have been lengthy threads in the past
> on the differences between the DIS and distributor code. Despite the
> similarities in wiring and theory of operation, the distributor and DIS
> codes expect slightly different things to be happening on the signal
> lines. There is a difference in the timing and dwell calculations that no
> one ever seemed to figure out (or if they did, I missed it). Of
> particular interest is this line:
>
> 801B AA 170 KREFANGL 59.8 DEG SPARK REFERENCE ANGLE
>
> I read about the trials of another GMECM member trying to get DIS to run
> on distributor code, decided it wasn't worth blowing up my engine, and
> went with the $a1 code instead.
>
> This google search will lead you to some of the old threads on the
> subject:
>
> http://www.google.com/search?q=gmecm+dis+distributor+base+reference +angle
>
> -Gary
>
>
> On Nov 13, 2005, at 1:16 PM, WopOnTour wrote:
>
>> Gary
>> Nah, you're kidding right? I realize the $88 and $1A calibration details
>> concern itself with cells 0 and 1 a lot for as these are idle cells, but
>> I've had a TECH1 scan tool on hundreds of those V6s and the BLM cell PID
>> varies between cell 3 and cell 15 at road loads. What scan tool do you
>> use??
>>
>> Also, what difference does the style crank triggering make to the ECM?
>> That's all resolved by the DIS module itself AFAIK (well except on the
>> newer OBDII models where the CKP is hardwired directly to the ECM) On
>> the 122730/727 the ECMs onlly connection to the ignition system is the
>> EST and BYPASS and the ECM doesnt care what triggering methods
>> (distributor or DIS) are being employed, as the CKP is connected to the
>> DIS module not the ECM.
>> Please explain
>> WopOnTour
>>
>> ----- Original Message ----- From: "Gary Evans" <gary at garyandliz.com>
>> To: <gmecm at diy-efi.org>
>> Sent: Sunday, November 13, 2005 1:13 AM
>> Subject: Re: [Gmecm] BLM cell confusion
>>
>>
>>> No really, they exist. The $a1 and $88 masks for the 2.8 / 3.1 V6
>>> engines use only 3 cells. There are probably others, used primarily on
>>> "low budget" applications. The customary masks to work with ($8d for
>>> example) are performance oriented, so the 16 cell calibrations are
>>> better known in the GMECM community but 16 cells are by no means
>>> standard across all applications.
>>>
>>> If I was going to start from scratch on my project again, I would
>>> definitely try to use one of the other masks that offer the usual 16
>>> BLM cells. IMHO, the $a1 and $88 code bases are sloppily written and
>>> not very easy to tune. I am no assembly expert, but from the work I
>>> have done on the $a1 hac, the code appears to be a mess. Example: the
>>> injector constant is part of one of the EGR tables. yeah.....
>>>
>>> However, I need the 6+1 crank trigger DIS, and as far is I know $88
>>> $8F and $A1 are the only masks that support it out of the box on the
>>> V6. If there is another mask that supports 6+1 crank trigger, DIS,
>>> *and* 16 BLM cells, I would love to hear about it because I am getting
>>> the itch to do more tuning on my car, and I might be inclined to try
>>> something new if it offered better tunability and cleaner (or maybe
>>> just better documented) code.
>>>
>>> -Gary
>>>
>>>
>>> On Nov 12, 2005, at 9:05 PM, WopOnTour wrote:
>>>
>>>> Gary
>>>> This post has me a bit stumped
>>>> What about the other 13 cells?
>>>> Don't ALL of the OBDI calibrations use at least a full 16 cell BLM
>>>> map? (4cells by 4cells) Cells 0 thru 16 ??
>>>> I know some others like the Quad4 ECMs use 16 PLUS and additional 4
>>>> cells (17-20) that depend on "in-gear" state and AC clutch status.
>>>> I've never heard of a GM calibration with only 3 cells...
>>>> WopOnTour
>>>
>>> _______________________________________________
>>> Gmecm mailing list
>>> Gmecm at diy-efi.org
>>> http://lists.diy-efi.org/mailman/listinfo/gmecm
>> _______________________________________________
>> Gmecm mailing list
>> Gmecm at diy-efi.org
>> http://lists.diy-efi.org/mailman/listinfo/gmecm
>
> _______________________________________________
> Gmecm mailing list
> Gmecm at diy-efi.org
> http://lists.diy-efi.org/mailman/listinfo/gmecm
>
More information about the Gmecm
mailing list