| View previous topic :: View next topic |
| Author |
Message |
Christian
Joined: 24 Nov 2003 Posts: 20
|
Posted: Sat Aug 04, 2007 7:28 pm Post subject: knock count register |
|
|
Hello,
does anyone know the address of the Z32 knock count register?
Chris |
|
| Back to top |
|
 |
RomChip200
Joined: 27 Nov 2003 Posts: 196 Location: France
|
Posted: Wed Apr 02, 2008 5:36 pm Post subject: |
|
|
0x14BD _________________ 200SX CA18DET S13 '92.
300ZX TT '91. |
|
| Back to top |
|
 |
darkhalf
Joined: 08 Dec 2003 Posts: 365 Location: Adelaide, Australia
|
Posted: Thu Apr 03, 2008 1:55 am Post subject: |
|
|
Does this get used by the 3x3 knock tables? I assume these are a kind of count filter before it starts pulling timing?
Still to go through this bit of code for some type of external knock reporting from the ECU |
|
| Back to top |
|
 |
cb_drift
Joined: 04 May 2004 Posts: 472 Location: New Zealand
|
Posted: Fri Apr 04, 2008 4:24 am Post subject: |
|
|
How are the tables used?
are they the allowable knock count for that "area" they cover?
are they a "max noise acceptable before knock count increases?"
What happens if you set them to all 0 or all 128?
Just curious is all  |
|
| Back to top |
|
 |
darkhalf
Joined: 08 Dec 2003 Posts: 365 Location: Adelaide, Australia
|
Posted: Mon Apr 07, 2008 2:06 pm Post subject: |
|
|
that address doesnt seem to work...
code from Z32
| Quote: | AB5E : 7B 02 55 "{ U" tim #$02X0055
AB61 : 26 24 "&$" bne LAB87
AB63 : 7B 01 55 "{ U" tim #$01X0055
AB66 : 26 05 "& " bne LAB6D
AB68 : 7F 14 BD " " clr X14BD // clear KNOCK_COUNT
AB6B : 20 1A " " bra LAB87
;
AB6D LAB6D:
AB6D : 7B 08 B5 "{ " tim #$08X00B5 // check flag to (set)increase/(clear)decrease
AB70 : 27 0D "' " beq LAB7F
AB72 : B6 14 BD " " ldaa X14BD // check KNOCK_COUNT
AB75 : B1 FF B6 " " cmpa XFFB6 // against FFB6
AB78 : 24 0D "$ " bcc LAB87
AB7A : 7C 14 BD "| " inc X14BD // increment KNOCK_COUNT
AB7D : 20 08 " " bra LAB87
;
AB7F LAB7F:
AB7F : B6 14 BD " " ldaa X14BD //KNOCK_COUNT
AB82 : 27 03 "' " beq LAB87 // decrement KNOCK_COUNT
AB84 : 7A 14 BD "z " dec X14BD //KNOCK_COUNT
|
I tested this on an R32 and S13 CA18 (R32 code below) | Quote: |
93C3 : 72 01 B6 "r " oim #$01X00B6
93C6 : 7B 08 B5 "{ " tim #$08X00B5 check flag to (set)increase/(clear)decrease
93C9 : 27 0D "' " beq L93D8
93CB : B6 14 AA " " ldaa X14AA // check KNOCK_COUNT
93CE : B1 FF B6 " " cmpa XFFB6 // against FFB6
93D1 : 24 0D "$ " bcc L93E0
93D3 : 7C 14 AA "| " inc X14AA // inc KNOCK_COUNT
93D6 : 20 08 " " bra L93E0
;
93D8 L93D8:
93D8 : B6 14 AA " " ldaa X14AA
93DB : 27 03 "' " beq L93E0
93DD : 7A 14 AA "z " dec X14AA // dec KNOCK_COUNT |
$02X0053 (DIGITAL_CONTROL_1) START_SW must be clear
$01X0053 (DIGITAL_CONTROL_1) CLSD_THL_POS must be set
basically I injected a post filter signal from the knock sensor board to the ECU for the R32 this flags in address 0x007F bit 1 clear = knock
When this occurs and the cursor is in a knock flag enabled area on the ignition timing map it will decrease the timing rapidly as pulses are fed in. Once the knock is not longer occuring the timing will gradually increase
I dont see any activity on the 14AA address to indicate knock count is occuring, even though the routine appears to increment/decrement the address
Had a further look through the code and to enter that routine
R32 $10X0054 must be some other kind of flag dependent on input switches (currently clear on the bench)
| Quote: |
8340 : 7B 10 54 "{ T" tim #$10X0054 // skip if not set
8343 : 27 0F "' " beq L8354
8345 : 72 80 54 "r T" oim #$80X0054
8348 : 71 EF 54 "q T" aim #$EFX0054
834B : 0E " " cli
834C : BD 93 9A " " jsr L939A // KNOCK COUNT ROUTINE
834F : BD 94 42 " B" jsr L9442 // ???
|
I dont know what 0x10 is but its not being set, so no knock count variable. However timing is still getting pulled back during knocking |
|
| Back to top |
|
 |
|