$0D mask and TPI settings
$0D mask and TPI settings
I feel reasonably comfortable with some of the flags for TPI, but I don't really understand some of the constants yet, and after reading about $0D and MAF I was really lost. This thread is to step thru the modifications to $0D to make it work for TPI. I made the hardware mods to the ECM and memcal already, and understand that the fuel and spark tables will need to be massaged after initial startup, so what I really am trying to do here is step by step make the modifications to the flags and constants to build a first start prom. It will be installed in a modded 427 ECM running a 383 with 193 heads, stock TPI equipment and a LT4 hot cam. Not my idea of an ideal build, but I am just build the prom. It will have 24# Accel injectors to feed it. Okay, here goes the first steps.
$400B B2 = 0 Sync Fuel at idle ( 1 for tbi)
$400B b0 = 1 CPI/PFI mode
That's really straight forward, no problems there
$400C b2 = ? crank fuel all injectors for each DRP
in tunerpro notes it says some bins have it set and some don't, I was reading on the $0D MAF thread where startup can need more fuel, but I didn't get any conclusive answer for this bit.. Anybody?
$400E b4 = 1 Use L496f with ASYNC FUEL DELIVERY Here again tunerpro indicates that this is used with TPI
That does it for flags.
$400B B2 = 0 Sync Fuel at idle ( 1 for tbi)
$400B b0 = 1 CPI/PFI mode
That's really straight forward, no problems there
$400C b2 = ? crank fuel all injectors for each DRP
in tunerpro notes it says some bins have it set and some don't, I was reading on the $0D MAF thread where startup can need more fuel, but I didn't get any conclusive answer for this bit.. Anybody?
$400E b4 = 1 Use L496f with ASYNC FUEL DELIVERY Here again tunerpro indicates that this is used with TPI
That does it for flags.
Last edited by jim_in_dorris; Jan 4, 2011 at 08:22 PM. Reason: changed injectors to 24# from 30#
Re: $0D mask and TPI settings
now on to the confusing parts. Constants. What I need here is help figuring out how to calculate the appropriate values for the parts being used. I will start with some easy stuff and quickly work my way to hairpulling. (and I really don't have much left to pull LOL)
injector constant. 24#/hr injectors flow 3.02 gm/sec per tunerproRT5 so
$4D88 = $1354 3.02 * 1638.4 Again per TunerProRT5
not especially germaine but the cylinder volume for a 383 is .784 Liters so
$4D8a = 174 or .784L * 222
I think that is ok.
Now I get really lost
SYNC to ASYNC BPW <= ? AT $4922 How do I figure out what this number is supposed to be? I don't want to blindly use a number I pulled off another post.
ASYNC to SYNC (or PFI Double Fire) = ? at $4920 again how do I figure out these numbers. Also, if someone would be so kind as to explain SYNC to ASYNC and ASYNC to SYNC ( i understand sync and async as terms, just not how if pertains here) I am going to leave off here until these questions are answered before asking more.
injector constant. 24#/hr injectors flow 3.02 gm/sec per tunerproRT5 so
$4D88 = $1354 3.02 * 1638.4 Again per TunerProRT5
not especially germaine but the cylinder volume for a 383 is .784 Liters so
$4D8a = 174 or .784L * 222
I think that is ok.
Now I get really lost
SYNC to ASYNC BPW <= ? AT $4922 How do I figure out what this number is supposed to be? I don't want to blindly use a number I pulled off another post.
ASYNC to SYNC (or PFI Double Fire) = ? at $4920 again how do I figure out these numbers. Also, if someone would be so kind as to explain SYNC to ASYNC and ASYNC to SYNC ( i understand sync and async as terms, just not how if pertains here) I am going to leave off here until these questions are answered before asking more.
Last edited by jim_in_dorris; Jan 4, 2011 at 08:25 PM. Reason: edit injector stuff
Member
Joined: Jul 2004
Posts: 419
Likes: 1
From: Salem,Oregon.
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: $0D mask and TPI settings
Cant help with the sync and asynch stuff, but i think you may want to try and ignore the MAF threads. The fueling code is heavily modified in those so some things just dont apply or work the same way, I think startup is one.
I have three projects (actually four or five)in the works that will use $0D in PFI mode, two with MAF and one with SD+boost. And reading the the various threads gets confusing sometimes(ok, all of the time).
I'll be watching this one, cuz it looks like your trying to take it step by step.
I have three projects (actually four or five)in the works that will use $0D in PFI mode, two with MAF and one with SD+boost. And reading the the various threads gets confusing sometimes(ok, all of the time).
I'll be watching this one, cuz it looks like your trying to take it step by step.
Re: $0D mask and TPI settings
The idea is not only for me to learn how to make the conversion from TBI to TPI, but to create a sort of how to guide for future users attempting to do the same thing. If you just blindly plug numbers into constants, they may not work in a particular application. If you learn how to generate the values, it won't matter what your application is, you will be able to put the correct values into your bin.
Re: $0D mask and TPI settings
Okay, after reading a post by Fiero in fullsizechevy, I think understand the usage of sync and async in fueling. below 15% tps you are in sync mode, meaning the injectors alternate firings. Above 15% you are in async mode meaning both injectors fire simultaneously at an 85 hz frequency. That is assuming that you have async mode enabled. I think that is $400E bit 4. Now if I can figure out how to calculate and apply the sync to async bpw and the async to sync bpw values I will make the first step. I have to assume that these values are added to the bpw during transition periods, but they may indicate how long the transition between sync and async takes. This is a question that needs to be resoved also. Off to do more reading.
Re: $0D mask and TPI settings
After looking at TPRT5, there are settable values for making the transition from sync and async (and vice versa) in both RPM and MAP, so I understand how to adjust the transition points. With more reading I came up with this from an archived thread on FSC.
FOR TBI !!!
BPW = 1461.5 * (VOL/RATE)
where VOL is Vol of 1 cyl. in Liters
and RATE is injector flow in gms/sec
for this engine, that works out to 1561.5 * (.784/3.02) or 378.8 usec.
I am not yet positive that the calculation is correct in PFI mode. This also appears to be the minimum BPW in sync mode. I am not sure how to calculate the minimum BPW in async mode. I still don't have an answer for the transition BPW values.
FOR TBI !!!
BPW = 1461.5 * (VOL/RATE)
where VOL is Vol of 1 cyl. in Liters
and RATE is injector flow in gms/sec
for this engine, that works out to 1561.5 * (.784/3.02) or 378.8 usec.
I am not yet positive that the calculation is correct in PFI mode. This also appears to be the minimum BPW in sync mode. I am not sure how to calculate the minimum BPW in async mode. I still don't have an answer for the transition BPW values.
Last edited by jim_in_dorris; Jan 4, 2011 at 08:26 PM. Reason: change injectors
Re: $0D mask and TPI settings
Well,
I found an injector sizing calculator on moates.net that gives me a slightly different value for gms/sec which affects the minimum BPW. now I guess I will have to dig a little more. Stay tuned. Found it!!! The injector sizing calculator uses an incorrect conversion from #/hr to gm/sec. TPRT5 is correct. Thank goodness for conversion calculators.
I found an injector sizing calculator on moates.net that gives me a slightly different value for gms/sec which affects the minimum BPW. now I guess I will have to dig a little more. Stay tuned. Found it!!! The injector sizing calculator uses an incorrect conversion from #/hr to gm/sec. TPRT5 is correct. Thank goodness for conversion calculators.
Last edited by jim_in_dorris; Jan 4, 2011 at 08:05 PM.
Trending Topics
Re: $0D mask and TPI settings
After looking at source code for SYNC to ASYNC BPW <= ? AT $4922 and ASYNC to SYNC (or PFI Double Fire) = ? at $4920 I understand WHAT these values are, I am just not sure how they are arrived at. When the base pulse width exceeds the threshold value stored at $4920 then the fueling switches from ASYNC to SYNC. Conversely when the base pulse width becomes smaller than the threshold value stored at $4922 then fueling switches from SYNC to ASYNC. The calculation is CAL = msec * 65.536. How does one arrive at the BPW values for these thresholds.???? I also am a little confused as this seems backwards to me, SYNC to ASYNC would happen as you need more fuel not less. What is wrong with my thinking here..
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 234
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Re: $0D mask and TPI settings
Those sound like the short PW async mode. This is when the sync PW gets too small to use the ECM will fire the injectors in async mode. And if the async PW is too small it is accumulated until it can be fired.
In this case of async mode, the enter/exit PW's are based on the sync PW. Which is always calculated. The equivalent async PW is calculated based on engine RPM (DRP's over time) and the sync PW.
RBob.
In this case of async mode, the enter/exit PW's are based on the sync PW. Which is always calculated. The equivalent async PW is calculated based on engine RPM (DRP's over time) and the sync PW.
RBob.
Re: $0D mask and TPI settings
Wow thanks for responding RBob. Your post sent me looking more, however it ended up with more questions than answers. I know that my calculated static BPW is 378.8 usecs. That figure is stored at L4963 and L4965.
;==============================================
; PULSE WIDTHS BDWM, TYPE $0D
; TBL = msec * 65.536
;==============================================`
L4963 FDB 0025 ; .3788 msec, MIN SYNC BPW
L4965 FDB 0025 ; .3788 msec, SYNC BPW IF FINAL BPW LT CAL
L4967 FDB 0016 ; .2441 msec, OFFSET BIAS FOR SHORT PW'S
; (See TBL L496F IF L400E b4)
;-------------------------------------------------
However, from my copy of $0D hack the min ASYNC BPW appears to be a constant that is precalculated in the bin at L492A. I suspect that the comments in the following code may be incorrect and that is throwing me off. I will spend a little time looking at the code to see if I can clear this up. However that still leaves the question of min ASYNC BPW value and max ASYNC BPW values to figure out.
;=============================================
; BPW PARAMS
;
;=============================================
L4920 FDB 0046 ; 701.9 usec, ASYNC to SYNC IF BPW G.T. 702 usec
..........................; (If CPI/PFI then, sngl file to dbl fire)
..........................; CAL = msec * 65.536
;
L4922 FDB 0033 ; 503.5 usec, SYNC to ASYNC IF BPW L.T. or E.Q THRESH.
;
L4924 FCB 112 ; 51.7 Kpa, ASYNC to SYNC IF MAP L.T. or E.Q. THRESH, (TBI)
L4925 FCB 50 ; 1250 RPM, ASYNC to SYNC IF RPM L.T. or E.Q. THRESH.
;
L4926 FCB 128 ; 57.6 Kpa, SYNC to ASYNC IF MAP G.T. THRESH.
L4927 FCB 54 ; 1350 RPM, SYNCH to ASYNC IF RPM G.T. THRESH.
;
L4928 FDB $0312 ; 12 msec MAX ASYNC BPW
L492A FDB 0033 ; 503.5 usec MIN ASYNC
;
the comment about going from single fire to double fire in cpi/pfi mode would seem to indicate that it is going from SYNC to ASYN mode, not the other way around.
;==============================================
; PULSE WIDTHS BDWM, TYPE $0D
; TBL = msec * 65.536
;==============================================`
L4963 FDB 0025 ; .3788 msec, MIN SYNC BPW
L4965 FDB 0025 ; .3788 msec, SYNC BPW IF FINAL BPW LT CAL
L4967 FDB 0016 ; .2441 msec, OFFSET BIAS FOR SHORT PW'S
; (See TBL L496F IF L400E b4)
;-------------------------------------------------
However, from my copy of $0D hack the min ASYNC BPW appears to be a constant that is precalculated in the bin at L492A. I suspect that the comments in the following code may be incorrect and that is throwing me off. I will spend a little time looking at the code to see if I can clear this up. However that still leaves the question of min ASYNC BPW value and max ASYNC BPW values to figure out.
;=============================================
; BPW PARAMS
;
;=============================================
L4920 FDB 0046 ; 701.9 usec, ASYNC to SYNC IF BPW G.T. 702 usec
..........................; (If CPI/PFI then, sngl file to dbl fire)
..........................; CAL = msec * 65.536
;
L4922 FDB 0033 ; 503.5 usec, SYNC to ASYNC IF BPW L.T. or E.Q THRESH.
;
L4924 FCB 112 ; 51.7 Kpa, ASYNC to SYNC IF MAP L.T. or E.Q. THRESH, (TBI)
L4925 FCB 50 ; 1250 RPM, ASYNC to SYNC IF RPM L.T. or E.Q. THRESH.
;
L4926 FCB 128 ; 57.6 Kpa, SYNC to ASYNC IF MAP G.T. THRESH.
L4927 FCB 54 ; 1350 RPM, SYNCH to ASYNC IF RPM G.T. THRESH.
;
L4928 FDB $0312 ; 12 msec MAX ASYNC BPW
L492A FDB 0033 ; 503.5 usec MIN ASYNC
;
the comment about going from single fire to double fire in cpi/pfi mode would seem to indicate that it is going from SYNC to ASYN mode, not the other way around.
Last edited by jim_in_dorris; Jan 6, 2011 at 10:06 PM.
Re: $0D mask and TPI settings
Well my brain just exploded all over my screen, so lets see if this makes any sense.
If $400B b0 is set, then you are in CPI/PFI mode which is double fire in SYNC mode. so if the BPW stored at L0277 is greater than the value stored at $4920 then you switch from ASYNC single fire to SYNC double fire..... correct?
If $400B b0 is set and the BPW stored at L0277 is LT or equal to the value stored at $4922 then you switch from SYNC double fire to ASYNC single fire.
Now if I can figure out how to calculate L4928 and L492A I think I will be ready to assemble this mess.
If $400B b0 is set, then you are in CPI/PFI mode which is double fire in SYNC mode. so if the BPW stored at L0277 is greater than the value stored at $4920 then you switch from ASYNC single fire to SYNC double fire..... correct?
If $400B b0 is set and the BPW stored at L0277 is LT or equal to the value stored at $4922 then you switch from SYNC double fire to ASYNC single fire.
Now if I can figure out how to calculate L4928 and L492A I think I will be ready to assemble this mess.
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 234
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Re: $0D mask and TPI settings
Code:
L4928 FDB $0312 ; 12 msec MAX ASYNC BPW L492A FDB 0033 ; 503.5 usec MIN ASYNC
If the async PW is less then the 503 msec, then whatever the PW is is accumulated. That is, it is added to the current accumulated PW value. And is then fired once the total accumulated PW is greater then the 503 msec.
The reason for the 12 msec max is that the fuel loop runs every 12.5 msec. And do not want to program a pulse longer then that. As it could then be truncated on the next loop.
Code:
L4920 FDB 0046 ; 701.9 usec, ASYNC to SYNC IF BPW G.T. 702 usec ..........................; (If CPI/PFI then, sngl file to dbl fire) ..........................; CAL = msec * 65.536 ; L4922 FDB 0033 ; 503.5 usec, SYNC to ASYNC IF BPW L.T. or E.Q THRESH.
For MPFI, since single/double fire is mentioned, these define those modes of injector firing. Now, I haven't looked at the $0D mask enough to know whether it will truly do S/F, D/F modes.
However, this is how they work: double fire is the normal mode of operation. Which fires the injectors once every engine revolution. Hence, double (twice) for every engine cycle (4-stroke).
Single fire mode is firing the injectors every other engine revolution, or once every two engine revolutions. Which is a single firing event for each engine cycle.
In S/F mode the calculated injector PW is doubled, then compensated, then programed into the hardware. After that injector firing point the PW is programmed to be 0 for the next firing.
So S/F mode is used to help with small injector PW's. Along the lines of using async mode for a TBI set up. Which by the way, doesn't always work out too well for TBI.
Although the S/F mode does work a treat on MPFI engines. And note that TPS AE should be fired async on MPFI engines. This will provide the best throttle response.
RBob.
Re: $0D mask and TPI settings
I did look at some code that does indeed double the pulse width, still not sure I understand how it all goes together, but I am closer. I was beginning to suspect that the Min and Max ASYNC BPW were timing related rather than associated with injector size. Thank you for confirming that. It appears that I can now assemble a baseline prom. I hope that this discussion will help others interested in using $0D in PFI applications. Now I will focus on some of the hardware issues we have left to address. Thank You RBob !!!!
Thread
Thread Starter
Forum
Replies
Last Post
Fast355
DFI and ECM
14
Dec 2, 2016 06:33 PM
Sanjay
Engine/Drivetrain/Suspension Parts for Sale
1
Aug 12, 2015 03:41 PM





