Results 1 to 15 of 509

Thread: 1997 F-Body ECM

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477

    Knock system

    Just a little to add to my last post. Working with the knock module in a breadboard circuit, I find that the envelope of the knock signal is quite important. I have come to some conclusions, but without jumping ahead I will describe the change that was made.

    I found that the wave shape of the knock signal is quite important. The knock module averages the input level to come up with the background noise level. Where possible I will get into gain and mods that could be made to the module. For now, I have found that generating between 6 and 50 cycles of 5-6KHZ will trigger the knock IF the background isn't too high. A knock signal has an envelope that decays in a natural log function. I changed my software to simulate that envelope and I no longer have trouble keeping within the calibration levels for the background noise. Here is the updated signal I generate and the knock output and a picture of the breadboard.

    -Tom

    IMG_1901.jpg
    IMG_1902.jpg

  2. #2
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post18135

    Would this help at all in making sense of how the knock filter processes things?

    I'm incredibly interested in further research into the knock module. It's been the one thing that's gotten in the way of having proper knock feedback on aftermarket engines. If the knock filter can be tuned for the appropriate knock profile so that the factory knock feedback system can work its magic, that would go a long way to improving tuning safety.
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  3. #3
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by NomakeWan View Post
    Hi,
    Yes this is a help, thank you for the link. It's been a while since I have done any significant analog work, probably since school days. To say I am a bit rusty is an understatement. I now have my text book from way back open and re-learning some details of filter design.

    So far I have a good understanding of the knock filter ID (easy). Pin 1 of the filter is connected to +5V, pin 6 is connected to ground. Two resistors R9 and R10 divide the voltage. The divided voltage is connected to knock module pin 3, that is the module ID. On the TSide PCB the knock module ID is connected to a low pass filter and then to the external blue connector on pin 13. This means that you can test if the correct module is installed without opening the PCM and looking for the knock module part number.

    One major difference between the '94/5 and the OBDII '96/97 is the way that proper connection to the knock sensor is done. The earlier PCMs bias the knock sensor through a resistor and look for the resistance to ground that is internal to the sensor. This way if the connection becomes open (or the resistor fails) the bias voltage is sensed as being too high and a malf code is registered. OBDII is quite different. The OBDII design looks at the signal produced from the knock sensor. In the case the level of the signal is in range, the sensor is deemed to be working/connected/OK. A low level of vibration from a running engine indicates a malfunction. A level that is too high is also tested. This may be looking for the knock input to be mis-connected to battery or even perhaps too much vibration from the engine (rod knock or ??). You can see physically the difference between the early filter and the OBDII design. Later units have an additional OP-Amp (NE532D) installed. This OP-Amp is used to buffer the "background noise" signal output. This output is what the ESide code looks at to determine if the sensor is connected. Earlier on (somewhere in this thread?) Kur4o sent me pictures of his knock module internals. In that picture you can see in the upper left of the module a footprint for the later design. I also spent a little time looking for other differences, so far the rest of the module looks the same.

    Not sure if I posted the map of reference designators for the knock module. I will re-post them as I get further into the circuit. Thus far I have identified a low pass filter, but gotten no further.

    One of the posts in the thread you suggested might be the rosetta stone for the design. There is a block circuit and waveforms contained in one of the patents (Motorola_patent_US4346586.pdf) that I think will be a great help. I hope that I can work through & understand the design. It may take an analog EE though because the design is quite complex.

    One thing I am running into is the lack of good test equipment. Starting to think I need a function generator that can be set to rapidly sweep through a range of frequencies.This would speed up finding the center frequency and determine the pass/reject bands (3 DB down points). Also going to need to find a few knock filter test samples. It may be necessary to cut traces and isolate sections of the circuit. Ultimately I will need to limit the amount of time spent on this. Let's see how it goes.

    -Tom

  4. #4
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477

    Knock filter

    Looking through the patent I see a bunch of waveform that match or are similar to what I am getting on my scope.

    Here are the reference designators I will use through this analysis.

    KNOCK_REFDES_R.jpg
    KNOCK_REFDES_C.jpg

    Here is the schematic
    Attached Files Attached Files

  5. #5
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by NomakeWan View Post
    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post18135

    Would this help at all in making sense of how the knock filter processes things?
    GREAT info for me! Looking into the patent... https://patents.google.com/patent/US4384473A/en

    This is describing the design of our knock filter. Lots of correlation between patent and hybrid circuit. I don't have too many of these filters so much of my surgery is taking place on a unit out of an Olds V6. Filter carries a part number 16212229. This part was used in '96/7 on a number of 3.8L V6s. I believe these engines to have a 96.5mm bore size. A web based calculator suggests that the knock for an engine with this bore size will be around 5.9 to 6KHz.

    I put the knock sensor in my breadboard, connected it to my PC and started throwing various frequencies into the input. The first stage described in the patent is a band pass filter. After identifying the components and ASIC pins involved in the filter I took some measurements...

    Filter.jpg

    Looks just as you would expect a band pass filter to. This filter could be modified based on the exact application. Hmmmm

    For the experts here: Other than bore size, what other factors are involved in the knock frequency. Some notions of mine:

    • Block material
    • Stroke
    • Compression ratio
    • intake valve close time in cycle


    My thought is that the frequency would tend to increase as the piston moves up against the detonation. The resulting vibrations would start at a lower frequency than the end of the wave. As the piston moves up the volume of the cavity would decrease. This all would cause the oscillation frequency to go up. Idea about C/R is that the detonation would perhaps start earlier in the compression stroke. Close of the intake starts the compression cycle...

    Your thoughts?

    -Tom
    Last edited by Tom H; 12-04-2022 at 03:43 PM.

  6. #6
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,055
    knock frequency is pretty much all about the bore size. although temperature has a small effect as well because physics, and probably a few other things, so you do need to keep the width of your bandpass a bit wider than expected.

    i have the following calculation that has served me well i forget where i got it. where n = bore mm: knock khz = 900 / ( 1.570795 * n )

    also have this spreadsheet i found that apparently calculates it with higher precision if required (attached)

    the knock module at a simple level is definitely like a band pass filter, and when you get a signal of sufficient amplitude in there, it simply goes KNOCK!!. it sounds simple but the amount of noise coming out of an engine is really extreme.

    i don't think detecting knock is ever a problem, and the stock knock module's band seems wide enough to handle overbores. the problem is these engines are really noisy and clattery and so are the ancient chassis that they are attached to - so there can be lots of other stuff that crosses in that band and cause tons of false knock, especially once modified with fancy valvetrains and looser clearances in the rotating assembly

    i had success once by installing a capacitor that functioned as a high pass filter on the sensor itself. it seemed to alleviate some valvetrain noise that was causing false knock but still allow knock detection. i calculated the high pass to start pretty much right at the knock frequency then induced knock by temporarily cranking up timing advance to test the results.

    if you want a really good knock system you could probably figure a good way to replace the module with a small programmable DSP so you could configure your own filters

    personally when i have run into issues with knock detection on a naturally aspirated engine with an antique ECM, i usually tune timing advance conservatively and then the thing goes right in the garbage can -- especially on a track car or something where fuel is consistent, and a false knock can cost you horsepowers.
    Attached Files Attached Files

  7. #7
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by steveo View Post
    knock frequency is pretty much all about the bore size. although temperature has a small effect as well because physics, and probably a few other things, so you do need to keep the width of your bandpass a bit wider than expected.

    i have the following calculation that has served me well i forget where i got it. where n = bore mm: knock khz = 900 / ( 1.570795 * n )

    also have this spreadsheet i found that apparently calculates it with higher precision if required (attached)

    the knock module at a simple level is definitely like a band pass filter, and when you get a signal of sufficient amplitude in there, it simply goes KNOCK!!. it sounds simple but the amount of noise coming out of an engine is really extreme.

    i don't think detecting knock is ever a problem, and the stock knock module's band seems wide enough to handle overbores. the problem is these engines are really noisy and clattery and so are the ancient chassis that they are attached to - so there can be lots of other stuff that crosses in that band and cause tons of false knock, especially once modified with fancy valvetrains and looser clearances in the rotating assembly

    i had success once by installing a capacitor that functioned as a high pass filter on the sensor itself. it seemed to alleviate some valvetrain noise that was causing false knock but still allow knock detection. i calculated the high pass to start pretty much right at the knock frequency then induced knock by temporarily cranking up timing advance to test the results.

    if you want a really good knock system you could probably figure a good way to replace the module with a small programmable DSP so you could configure your own filters

    personally when i have run into issues with knock detection on a naturally aspirated engine with an antique ECM, i usually tune timing advance conservatively and then the thing goes right in the garbage can -- especially on a track car or something where fuel is consistent, and a false knock can cost you horsepowers.
    Thanks for your post! I guess in reading your knock frequency explanation + all the rest of the things I have found, it's just that the fundamental is so much stronger that there is no reason to involve the lesser harmonics and so on. Once again guessing, the bore size surrounds the pressure wave and that the vibration set up is in the circumference of the bore.

    Your observation about the false knock is also on point. Problem is when false knock is present, if it is in the frequency band of the knock you can't filter it. A DSP would be able to create a better filter for sure, but it is way outside what I have set as my goal. Part of tuning must be being able to locate and cure issues. I think understand the complete module would permit changes that would better reject some issues.

    In any case at least part of my goal is to understand the technology used back in the day, and in that I am making progress.
    -Tom

  8. #8
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,477
    Hi Tom,

    it may be covered already, but is the mode 19 request have been decoded.

    Currently it uses 19 [XX] FF 00
    while XX is the status of dtc being requested. 02=current 10=history as far as I know. Playing with that byte I got different results but have no idea how to make a full usage of it and decode it.

  9. #9
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by kur4o View Post
    Hi Tom,

    it may be covered already, but is the mode 19 request have been decoded.

    Currently it uses 19 [XX] FF 00
    while XX is the status of dtc being requested. 02=current 10=history as far as I know. Playing with that byte I got different results but have no idea how to make a full usage of it and decode it.
    HI,

    Hope I have this right, see if it makes sense please.

    Mode $19
    Request Status of Diagnostic Trouble Codes
    Request is composed of header, mode, status, $FF and request_type

    Standard physical header

    Status as follows:
    Bit 7 Warning lamp illuminated for this code
    Bit 6 Warning lamp pending for this code, not illuminate but malfunction was detected
    Bit 5 Warning lamp was previously illuminated for this code, malfunction not currently detected, code not yet erased
    Bit 4 Stored trouble code
    Bit 3 Manufacturer specific status
    Bit2 Manufacturer specific status
    Bit 1 Current code - present at time of request
    Bit 0 Maturing/intermittent code

    Group: FF is all
    Request type: FF=count, 00= status of each dtc

    Reply comes in multiple frames on my bench where most terminals are open at the moment

    Header: Mode: DTC: Status for this DTC

    Note: Some interfaces (like ELM327) use a command response format. This will work badly in this mode. First response will be OK, others will be lost. I designed the homebrew cable to pass all traffic on the VPN (EDIT: try VPW instead) up to the computer. Other cables are probably capable but some modes are restricted to command/response type format.

    I have not completely worked through Mode $19. It isn't in the SAE spec but I believe it is mostly the same as Mode $17

    The command:
    4C 10 F0 19 FF FF 00 83
    is interesting as it replies with all the DTCs one after the other. Response to the bench was:
    4C F0 10 59 01 00 25 9C
    4C F0 10 59 01 01 25 D0
    4C F0 10 59 01 02 25 04
    4C F0 10 59 01 03 25 48
    4C F0 10 59 01 07 6F A4
    4C F0 10 59 01 08 25 C6
    4C F0 10 59 01 12 25 B0
    4C F0 10 59 01 13 25 FC
    4C F0 10 59 01 17 25 D1
    4C F0 10 59 01 18 25 72
    4C F0 10 59 01 21 25 A5
    4C F0 10 59 01 22 01 82
    4C F0 10 59 01 23 01 CE
    4C F0 10 59 01 31 25 11
    4C F0 10 59 01 32 25 C5
    4C F0 10 59 01 34 25 70
    4C F0 10 59 01 35 25 3C
    4C F0 10 59 01 37 25 A4
    4C F0 10 59 01 38 25 07
    4C F0 10 59 01 40 25 76
    4C F0 10 59 01 41 25 3A
    4C F0 10 59 01 51 25 8E
    4C F0 10 59 01 52 25 5A
    4C F0 10 59 01 54 25 EF
    4C F0 10 59 01 55 25 A3
    4C F0 10 59 01 57 25 3B
    4C F0 10 59 01 58 25 98
    4C F0 10 59 01 60 25 03
    4C F0 10 59 01 61 25 4F
    4C F0 10 59 01 71 25 FB
    4C F0 10 59 01 72 25 2F
    4C F0 10 59 01 74 25 9A
    4C F0 10 59 01 75 01 25
    4C F0 10 59 02 00 25 10
    4C F0 10 59 03 00 25 9F
    4C F0 10 59 03 23 25 3E
    4C F0 10 59 03 25 25 8B
    4C F0 10 59 03 32 25 C6
    4C F0 10 59 03 35 25 3F
    4C F0 10 59 03 36 25 EB
    4C F0 10 59 03 72 25 2C
    4C F0 10 59 04 00 25 15
    4C F0 10 59 04 03 25 C1
    4C F0 10 59 04 41 25 B3
    4C F0 10 59 04 43 25 2B
    4C F0 10 59 05 00 25 9A
    4C F0 10 59 05 06 25 2F
    4C F0 10 59 05 07 25 63
    4C F0 10 59 05 30 25 5B
    4C F0 10 59 05 31 25 17
    4C F0 10 59 05 62 25 9D
    4C F0 10 59 05 63 01 22
    4C F0 10 59 06 01 01 A9
    4C F0 10 59 06 02 25 8E
    4C F0 10 59 11 07 7F 71
    4C F0 10 59 11 11 25 7C
    4C F0 10 59 11 12 25 A8
    4C F0 10 59 11 14 25 1D
    4C F0 10 59 11 15 25 51
    4C F0 10 59 11 21 01 4E
    4C F0 10 59 11 22 01 9A
    4C F0 10 59 11 33 25 91
    4C F0 10 59 11 53 25 0E
    4C F0 10 59 11 71 25 E3
    4C F0 10 59 12 22 25 E5
    4C F0 10 59 13 51 25 95
    4C F0 10 59 13 61 25 54
    4C F0 10 59 13 71 01 13
    4C F0 10 59 13 80 25 4E
    4C F0 10 59 13 81 25 02
    4C F0 10 59 14 41 25 AB
    4C F0 10 59 15 08 25 D8
    4C F0 10 59 15 09 25 94
    4C F0 10 59 15 32 25 DB
    4C F0 10 59 15 33 25 97
    4C F0 10 59 15 39 25 55
    4C F0 10 59 15 43 25 BC
    4C F0 10 59 15 45 25 09
    4C F0 10 59 15 46 25 DD
    4C F0 10 59 16 26 25 CE
    4C F0 10 59 16 41 25 A8
    4C F0 10 59 16 42 25 7C
    4C F0 10 59 16 43 25 30
    4C F0 10 59 16 52 25 C8
    4C F0 10 59 16 61 25 DD
    4C F0 10 59 16 67 25 68
    4C F0 10 59 00 00 00 FD

    Let me know it this answers what you need. -Tom
    Last edited by Tom H; 12-27-2022 at 04:56 PM.

Similar Threads

  1. 94-95 LT1 $EE Y-body vs. F/B-body PCM differences
    By johnny_b in forum GM EFI Systems
    Replies: 5
    Last Post: 01-15-2023, 02:41 PM
  2. Tuner Pro XDF 1999-2000 F Body + Y Body
    By john h in forum OBDII Tuning
    Replies: 33
    Last Post: 02-02-2020, 11:12 PM
  3. Replies: 31
    Last Post: 09-20-2018, 06:00 AM
  4. F-body engine install to B-body
    By serge_an in forum GM EFI Systems
    Replies: 4
    Last Post: 09-22-2016, 02:51 PM
  5. 95 F-body Fuel Pump with 95 B-Body Engine/Tank
    By EPS3 in forum GM EFI Systems
    Replies: 7
    Last Post: 09-19-2016, 02:40 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •