WOT Voltage?
Moderator: Matt
WOT Voltage?
Just wondering ... what voltage expects the ECU to assume WOT?
I get about 4.1 Volts, sounds a bit low?
I get about 4.1 Volts, sounds a bit low?
Re: WOT Voltage?
For accessing the last column of the fuel map its defined in 'Accel increase fuel' table
Re: WOT Voltage?
Interesting,
Because that brings us back to the Accel increase fuel' table.
The voltage there (after 1200rpm or so) is 5 volts, but the TPS returns 4 volts
Because that brings us back to the Accel increase fuel' table.
The voltage there (after 1200rpm or so) is 5 volts, but the TPS returns 4 volts
- Attachments
-
- acceoo.jpg
- (21.94 KiB) Downloaded 4975 times
Re: WOT Voltage?
There may be an offset or hysteresis applied to this table inside the ECU (would require more thorough investigation)
Re: WOT Voltage?
Yes,
It would be good to have more background on the Accel Enrichment.
Despite a few posts here I never fully understood how this table works.
As for the throttle voltage I read conflicting things on the net.
Either 5V or 4V .. for WOT ..
It would be good to have more background on the Accel Enrichment.
Despite a few posts here I never fully understood how this table works.
As for the throttle voltage I read conflicting things on the net.
Either 5V or 4V .. for WOT ..
Re: WOT Voltage?
approx. 4 volt at WOT is the correct voltage.
http://300zx-twinturbo.com/cgi-bin/manu ... &total=190
http://300zx-twinturbo.com/cgi-bin/manu ... &total=190
Re: WOT Voltage?
All the SR20's I've ever looked at have read slightly over 4V at WOT.
PL
PL
Re: WOT Voltage?
There is a raw offset of 10 applied to the table value and the adjusted TPS voltage can be offset by 6 (code condition)CA0C : B6 14 73 ldaa RPM_IDX
CA0F : CE F5 30 ldx #ADD_FUEL
CA12 : BD 80 EF jsr L80EF
CA15 : 7B 01 D8 tim #$01X00D8
CA18 : 27 05 beq LCA1F
CA1A : 80 0A suba #$0A
CA1C : 24 01 bcc LCA1F
CA1E : 4F clra
CA1F LCA1F:
CA1F : B1 15 DF cmpa TPS_POS_ADJUSTED(MSB)
CA22 : 22 05 bhi LCA29
CA24 : 72 01 D8 oim #$01X00D8
CA27 : 20 03 bra LCA2C
It means the 20mV x 256 voltage range for TPS does not apply in the same way to this table.
-
- Posts: 426
- Joined: Mon May 11, 2009 7:58 pm
- Location: FRANCE
Re: WOT Voltage?
Coming back on this 0xF530 table (Z32) and its purpose.
I don't understand why you think the 16th column gets accessed when throttle reaches a certain voltage.
Basically the code tells you this table is used as a low pass filter according to rpm to deduce if engine can still be considered in idle or not.
rpm is the table index (the tables is indexed from 0 to 15 i.e. 0 400 800 1200 .... 6000 rpm), it gets a value according to rpm and this value is compared to the current throttle "closed" threshold (ECU assumes "closed" when the throttle voltage is under a certain value).
If all conditions are met, the engine is considered idling and 0xD8 variable is set accordingly (bit0=1 means idling, bit0=0 means not idling)
Afterwards the value of this table is no more used, so ...
The raw offset of 10 is just an hysteresis (another hysteresis again) introduced when the engine is considered as already idling, this is just to decrease the current value got from the table and diminish the threshold to have the transition idling==> not idling.
I don't understand why you think the 16th column gets accessed when throttle reaches a certain voltage.
Basically the code tells you this table is used as a low pass filter according to rpm to deduce if engine can still be considered in idle or not.
rpm is the table index (the tables is indexed from 0 to 15 i.e. 0 400 800 1200 .... 6000 rpm), it gets a value according to rpm and this value is compared to the current throttle "closed" threshold (ECU assumes "closed" when the throttle voltage is under a certain value).
If all conditions are met, the engine is considered idling and 0xD8 variable is set accordingly (bit0=1 means idling, bit0=0 means not idling)
Afterwards the value of this table is no more used, so ...
The raw offset of 10 is just an hysteresis (another hysteresis again) introduced when the engine is considered as already idling, this is just to decrease the current value got from the table and diminish the threshold to have the transition idling==> not idling.
Re: WOT Voltage?
Now this is getting interesting.
So (if I understood you correctly) this table is not accessing column 16 based on threshold?
So (if I understood you correctly) this table is not accessing column 16 based on threshold?
RomChip200 wrote:Coming back on this 0xF530 table (Z32) and its purpose.
I don't understand why you think the 16th column gets accessed when throttle reaches a certain voltage.
Basically the code tells you this table is used as a low pass filter according to rpm to deduce if engine can still be considered in idle or not.
rpm is the table index (the tables is indexed from 0 to 15 i.e. 0 400 800 1200 .... 6000 rpm), it gets a value according to rpm and this value is compared to the current throttle "closed" threshold (ECU assumes "closed" when the throttle voltage is under a certain value).
If all conditions are met, the engine is considered idling and 0xD8 variable is set accordingly (bit0=1 means idling, bit0=0 means not idling)
Afterwards the value of this table is no more used, so ...
The raw offset of 10 is just an hysteresis (another hysteresis again) introduced when the engine is considered as already idling, this is just to decrease the current value got from the table and diminish the threshold to have the transition idling==> not idling.
-
- Posts: 426
- Joined: Mon May 11, 2009 7:58 pm
- Location: FRANCE
Re: WOT Voltage?
This table contains values that are not TP-related but that express some voltage values for throttle (indexed on rpm) and that induce some thresholds to the ECU to tell if the engine is considered idling or not.
Code: Select all
CODE:CA04 compute_fuel: ; ...
CODE:CA04 tim #%10000000, sflag2_copy ; Static value: %11101100
CODE:CA07 bne cf_1 ; Should branch
CODE:CA07
CODE:CA09 jmp cf_19
CODE:CA09
CODE:CA0C
CODE:CA0C cf_1: ; ...
CODE:CA0C ldaa rpm_d2_lo
CODE:CA0F ldx #$F530
CODE:CA12 jsr interp_16 ; X=table adress
CODE:CA12 ; A=value to look up
CODE:CA12 ;
CODE:CA12 ; A=output value
CODE:CA12
CODE:CA15 tim #1, idle ; Bit 0: 1=engine is idling
CODE:CA18 beq cf_2
CODE:CA18
CODE:CA1A suba #10
CODE:CA1C bcc cf_2
CODE:CA1C
CODE:CA1E clra
CODE:CA1F
CODE:CA1F cf_2: ; ...
CODE:CA1F cmpa throttle_filt ; Low-pass filtered throttle position
CODE:CA22 bhi cf_3 ; If A>throttle_filt then branch
CODE:CA22
CODE:CA24 oim #1, idle ; Bit 0: 1=engine is idling
CODE:CA27 bra cf_4
CODE:CA27
CODE:CA29
CODE:CA29 cf_3: ; ...
CODE:CA29 aim #%11111110, idle ; Bit 0: 1=engine is idling
CODE:CA2C
CODE:CA2C cf_4: ; ...
; ...
Re: WOT Voltage?
This table Z32 must not be ADD_FUEL then
Different to other ones I've seen since its not setting TP index to 255 (0xFF)
S13 SR20 50F00 - Fuel map lookup routine
Different to other ones I've seen since its not setting TP index to 255 (0xFF)
S13 SR20 50F00 - Fuel map lookup routine
0x98A9: AD DD 41 lda al,RPM/2
0x98AC: A2 00 82 ldx #Add_Fuel
0x98AF: 20 5B FE jsr 0xFE5B (Interpolate table)
0x98B2: 3C A6 41 40 03 bbc #0x40,0x41A6,0x98BA
0x98B7: 38 sec
0x98B8: E9 09 sbc al, #0x09
0x98BA: CD E2 41 cmp al,Absolute_TPS_%
0x98BD: 90 0B bcc 0x98CA
0x98BF: F0 09 beq 0x98CA
0x98C1: 1C A6 41 40 clb #0x40, 0x41A6
0x98C5: AC 50 42 ldy #4250 (Current TP)
0x98C8: 80 0F bra 0x98D9
0x98CA: 0C A6 41 40 seb #0x40, 0x41A6
0x98CE: 9C 88 42 FF ldm #0xff,0x4288
0x98D2: 1C 97 41 08 clb #0x08, 0x4197
0x98D6: A0 FF FF ldy #0xFFFF (TP=>MAX)
0x98D9:
0x98D9: 8C 68 41 sty 0x4168 (TP used for indexing)
0x98DC: 20 A3 F6 jsr 0xF6A3
Re: WOT Voltage?
Looking into this further ROMchip is correct here
This definition or its functionality as I described earlier doesnt exist in Z32 original definitions although the table graph looked similar it has different functionality (nothing formally defined in the Nistune software or decoding charts).
This was been included after previous address definitions for other ECUs made available refereed to this section of code as ADD_FUEL also. I've weeded through and found the same functionality (max TP setting) is only applied to CA18 and U12 in the 8 bit ECUs with Type 1/2 binaries so the address files have been updated accordingly. Other earlier ECUs dont seem to have this table
The original ROM editor definition were only defined for S13 SR20DET and later model vehiclesADD_FUEL 加速増量Acceleration increased ADD_FUEL
This definition or its functionality as I described earlier doesnt exist in Z32 original definitions although the table graph looked similar it has different functionality (nothing formally defined in the Nistune software or decoding charts).
This was been included after previous address definitions for other ECUs made available refereed to this section of code as ADD_FUEL also. I've weeded through and found the same functionality (max TP setting) is only applied to CA18 and U12 in the 8 bit ECUs with Type 1/2 binaries so the address files have been updated accordingly. Other earlier ECUs dont seem to have this table
-
- Posts: 426
- Joined: Mon May 11, 2009 7:58 pm
- Location: FRANCE
Re: WOT Voltage?
S13 CA18DET (180SX, 200SX european) has this table in 0xB970 (or 0x3970) as stated in ROmEditor, I never really deciphered its usage, this ADD_FUEL table contains just some values increasing:
Code: Select all
ROM:B970 byte_B970: fcb 0 ; DATA XREF: sub_9459+A5o
ROM:B971 fcb $1C ;
ROM:B972 fcb $27 ; '
ROM:B973 fcb $35 ; 5
ROM:B974 fcb $3D ; =
ROM:B975 fcb $4E ; N
ROM:B976 fcb $56 ; V
ROM:B977 fcb $65 ; e
ROM:94FC loc_94FC: ; CODE XREF: sub_9459+9Fj
ROM:94FC lsra
ROM:94FD tab
ROM:94FE ldx #$B970
ROM:9501 abx
ROM:9502 ldaa 0,x
ROM:9504 staa byte_10FA
ROM:9507 ldaa unk_B978
ROM:950A suba word_1085
ROM:950D bcc loc_9511
ROM:950F ldaa #0
ROM:9511
ROM:9511 loc_9511: ; CODE XREF: sub_9459+B4j
ROM:9511 ldab unk_B979
ROM:9514 mul
ROM:9515 lsld
ROM:9516 bcs loc_951B
ROM:9518 lsld
ROM:9519 bcc loc_951D
ROM:951B
ROM:951B loc_951B: ; CODE XREF: sub_9459+BDj
ROM:951B ldaa #$FF
ROM:951D
ROM:951D loc_951D: ; CODE XREF: sub_9459+C0j
ROM:951D staa byte_10FB
ROM:9520 ldaa rpm_d2_lo
ROM:9523 ldx #unk_B950
ROM:9526 jsr interp_16
ROM:9529 staa byte_10FC
ROM:952C ldaa engine_temp2
ROM:952F ldx #unk_B960
ROM:9532 jsr interp_16
ROM:9535 staa byte_10FD
ROM:9538 ldaa byte_1103
ROM:953B bita #$20
ROM:953D beq loc_9547
ROM:953F ldaa unk_B97A
ROM:9542 staa byte_10FE
ROM:9545 bra loc_954C
ROM:9547 ; ---------------------------------------------------------------------------