I've had some time today to finally get the TXS Knock lite hooked up
Blue wire - RPM output to TXS DTEC computer
Yellow wire - Active 5 volt knock output to TXS DTEC computer
What happens is that when you get a knock signal, you get a noisy signal coming in.
The TXS filters this based on your RPM and the sensitivity you set, to generate the ORANGE/RED light
The output signal on the yellow wire pulls down from 5 volts temporarily for a few microseconds (2-10uS) for each time the noise exceeds the threshold
Basically if you have something like a wideband input or DLP converter. The sampling on that is 115200 bits/second or 14,440 bytes second. Thats 14.4 bytes per millisecond or a 14 in 1000 chance of samping in microseconds
The sampling rate of standard serial is too slow to capture microsecond pulses. The only way to do this would be someone make a device up which latches the samples and then reports them. It would need to be a brand new dedicated device to do this
So the TXS knocklite investigations are now finished.... and unfortunately cant be used as an input to nistune
However what I am looking at is modifying the ECU code (which has its own internal knock filter for free) and counting the amount of knock pulses and reporting that count over the interface
Knocklite sensing - No go
Moderator: Matt
HCR32 ECU has an inbuilt knock counter, but its not used anywhere. When theres no knock it decreases
I've done a test and remove the decrementer, and then updated the firmware to read this address out and then clear it. Currently updating the application code to read and display it. Looks very promising, as it captures every single filtered knock pulse from the ECU
matt
I've done a test and remove the decrementer, and then updated the firmware to read this address out and then clear it. Currently updating the application code to read and display it. Looks very promising, as it captures every single filtered knock pulse from the ECU
matt
After some small code changes. I've got HCR32 knock counting reporting to NIStune application
I've done the knock counts per cell whilst it is tracing. Once it hits a set cell limit, it will start warning the operator
I've had a look at the Z32 code, and its completely different in this area. Going to require different patching to do the same thing. Bit of work involved there. Going to have a look at SR20 next...
I've done the knock counts per cell whilst it is tracing. Once it hits a set cell limit, it will start warning the operator
I've had a look at the Z32 code, and its completely different in this area. Going to require different patching to do the same thing. Bit of work involved there. Going to have a look at SR20 next...
-
- Posts: 15
- Joined: Fri Jul 06, 2007 1:13 am
- Location: QLD, Australia
- Contact:
Yes I have looked at this and have the addressing information already on hand for most of the earlier ECUs
I believe the Z31/VLT just pull 5 degrees timing or something like that. Havent looked into it too closely
Since the HCR32 is proven, so to speak I'm going to perform similar functionality on all ECUs. Only problem is that the routine is different between them so writing auto generated patching code is going to be interesting
The main trouble at the moment is the 16 bit ECUs. I've done some digging into the code but cant find the main knock register. I think it may be one value, but going to have to test it on the bench
I have a logic analyser now which will dump the exact sequence and contents of memory addresses whilst the ECU runs. This can be turned into disassembly on the fly which shows me where the code is executing. I can use that for determining what the S13 SR20 is doing (first 16 bit ECU)
I believe the Z31/VLT just pull 5 degrees timing or something like that. Havent looked into it too closely
Since the HCR32 is proven, so to speak I'm going to perform similar functionality on all ECUs. Only problem is that the routine is different between them so writing auto generated patching code is going to be interesting
The main trouble at the moment is the 16 bit ECUs. I've done some digging into the code but cant find the main knock register. I think it may be one value, but going to have to test it on the bench
I have a logic analyser now which will dump the exact sequence and contents of memory addresses whilst the ECU runs. This can be turned into disassembly on the fly which shows me where the code is executing. I can use that for determining what the S13 SR20 is doing (first 16 bit ECU)