Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB

Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB (https://www.ft86club.com/forums/index.php)
-   Software Tuning (https://www.ft86club.com/forums/forumdisplay.php?f=88)
-   -   Knock Sensor Control Logic (https://www.ft86club.com/forums/showthread.php?t=97308)

ztan 11-07-2015 08:01 AM

Knock Sensor Control Logic
 
2 Attachment(s)
Following @Td-d's work on the ROMraider forums here:
http://www.romraider.com/forum/viewt...hp?f=40&t=8615

I had a look at the A01G ROM with ScoobyROM.

Knock sensor calibration table was easy to find using Td-d's ScoobyROM method, unpicking the knock control logic is quite difficult. There is also a table that looks like it uses FLKC table offset as an input - possibly a threshold. All highly experimental.

Welcome any input into deciphering the knock logic.

Code:


    <table name="Knock Sensor Calibration" storageaddress="11DF48">
      <table type="Y Axis" storageaddress="11DDEC" />
    </table>
    <table name="Knock Threshold" storageaddress="11612C">
      <table type="Y Axis" storageaddress="1160A0" />
    </table>


    <table type="2D" name="Knock Sensor Calibration" category="Ignition Timing - Knock Control" storagetype="uint16" endian="big" sizey="87" userlevel="4">
      <scaling units="ECU value" expression="x-32" to_byte="x+32" format="0" fineincrement=".5" coarseincrement="10" />
      <table type="Y Axis" name="Knock Sensor" storagetype="float" endian="little">
        <scaling units="volts" expression="x" to_byte="x" format="0.0000" fineincrement=".01" coarseincrement=".1" />
      </table>
      <description>Knock sensor calibration</description>
    </table>
   
    <table type="2D" name="Knock Threshold" category="Ignition Timing - Knock Control" storagetype="float" endian="little" sizey="35" userlevel="5">
      <scaling units="ECU value" expression="x" to_byte="x" format="0.0000" fineincrement=".5" coarseincrement="10" />
      <table type="Y Axis" name="FLKC Offset" storagetype="float" endian="little">
        <scaling units="Offset" expression="x" to_byte="x" format="0" fineincrement="1" coarseincrement="1" />
      </table>
      <description>?? Knock threshold by FLKC offset </description>
    </table>


Kodename47 11-07-2015 12:43 PM

The stuff that would be really handy to have are the per cylinder thredholds with the appropriate logging parameters.

I doubt that anyone will change the sensor cal.

How does the lower one work?

stugray 11-07-2015 01:19 PM

Just FYI (stumbled across this while learning romraider):

http://www.romraider.com/forum/topic1840.html

http://www.romraider.com/RomRaider/H...ndKnockControl

http://forums.nasioc.com/forums/show....php?t=1433675

I apologize if you have already found this.

solidONE 11-07-2015 04:54 PM

Nice! (subbed)

ztan 11-07-2015 06:38 PM

1 Attachment(s)
Quote:

Originally Posted by Kodename47 (Post 2444784)
How does the lower one work?

No real idea, but the value that gets passed to the 2D table is the FLKC cell offset - this reads 0-4 in the first RPM range as load increases, then 5-9 in the next RPM range... 35 values in all for 5 load ranges and 7 RPM ranges.

I played around with reformatting the table to the following, which makes me suspect that this is a table defining knock threshold or sensitivity per FLKC cell. The logic is very complex and I am nowhere close to unravelling it:

Code:

    <table type="3D" name="Knock Threshold" category="Ignition Timing - Knock Control" storagetype="float" endian="little" sizex="5" sizey="7" userlevel="4">
      <scaling units="ECU value" expression="x" to_byte="x" format="0.000" fineincrement=".2" coarseincrement="1" />
      <table type="Static X Axis" name="" sizex="5">
        <data>FLKC Load Range 1</data>
        <data>FLKC Load Range 2</data>
        <data>FLKC Load Range 3</data>
        <data>FLKC Load Range 4</data>
        <data>FLKC Load Range 5</data>
      </table>
      <table type="Static Y Axis" name="" sizey="7">
        <data>FLKC RPM Range 1</data>
        <data>FLKC RPM Range 2</data>
        <data>FLKC RPM Range 3</data>
        <data>FLKC RPM Range 4</data>
        <data>FLKC RPM Range 5</data>
        <data>FLKC RPM Range 6</data>
        <data>FLKC RPM Range 7</data>
      </table>
    </table>


steve99 11-08-2015 12:39 AM

could it be something like this table in romraider learning view, buy i suppose it would be in ram as its learned values ?

http://www.romraider.com/forum/downl...7870&mode=view

Compelica 04-15-2024 12:14 AM

Hi @callisto - any idea if these FLKC values are stored anywhere in RAM?

callisto 04-15-2024 12:18 AM

Quote:

Originally Posted by Compelica (Post 3604112)
Hi @callisto - any idea if these FLKC values are stored anywhere in RAM?


That’s an excellent question, it’ll take a bit to find out but I’m certain they’re in there, that tool is reading them. (Note to self, read every ztan post.)

Compelica 04-15-2024 03:21 AM

Quote:

Originally Posted by callisto (Post 3604114)
That’s an excellent question, it’ll take a bit to find out but I’m certain they’re in there, that tool is reading them. (Note to self, read every ztan post.)

Thanks. Have not used the Learning View before, it could possibly just be logging values across different load / RPM ranges as the car is driven.

Never thought of this, but not sure how IAM/FLKC persists when the car is turned off... does that mean the ECU and the RAM is kept in a low power state? @AussieBRZ ?

@ztan has a lot at his disposal as well, it was him who worked on the pre-facelift flex-fuel tunes I believe.

callisto 07-04-2024 04:29 PM

Aha, I recognize that memory address, I've been looking into this previously.

S10C/FFF815E0, K00G/FFF810B4 - there are 35 pairs of (A, B) floats, stored in the order A1 B1 A2 B2 A3 B3 etc. The FLKC values you see in datalogs derive from the A-side.

Yes, the ECU RAM is kept alive by the battery, which is why pulling the battery or fuse resets the ECU. There's an EEPROM storing VVT learned values, which I want to look into more someday.

(Also: S10C/FFF816F8 is the start of a series of unsigned shorts that is storing what is likely FLKC counters of some sort. That's where my research left off, so I don't have any details for this yet.)


All times are GMT -4. The time now is 07:45 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.


Garage vBulletin Plugins by Drive Thru Online, Inc.