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
    Nov 2017
    Location
    Californiacation
    Age
    57
    Posts
    834
    Is there a SAE number that goes with that doc?
    -Carl

  2. #2
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by In-Tech View Post
    Is there a SAE number that goes with that doc?
    Hi Carl,

    There is no SAE number, it is a GM internal only document. These things do have a way of leaking out over years though.

    I found the document title in another GM internal document named "Service Programming System (SPS) Interpreter Programmers Reference Manual". This doc was published by GM customer care for (I believe) the aftermarket test industry. In the document there is a section on mode $AE which interested me. This section references a list of CPID which I believe stands for control parameter identifier or some such. It may be that a list of CPID is in one of these docs, and that would save me a bunch of time.

    Cheers,
    Tom

  3. #3
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    Look what I gathered here for mode AE on later Pcms. I am not sure if the commands are standardized or not, but if they work for 97 pcm it will be a great find.

    Some commands are still missing from the list. And there is more undefined too.
    Attached Files Attached Files

  4. #4
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by kur4o View Post
    Look what I gathered here for mode AE on later Pcms. I am not sure if the commands are standardized or not, but if they work for 97 pcm it will be a great find.

    Some commands are still missing from the list. And there is more undefined too.
    Thank you, that's a big help. I have already decoded the complete $AE $01 suite of commands. If I find any missing from your info I will post them. Your file also has other commands in the $AE $02 and $03 range. Those are the ones I am after.

    Again, thanks -Tom

  5. #5
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    I have a question for those more used to working on LT1s with pro tools... There is a built in test that permits the user to pulse/disable injectors. As part of that, the user can set the a/f ratio. How do the pro tools use this. I expect that injectors are disabled in sequence to find a dead cylinder (?). Perhaps the commanded a/f ratio is used to stop feedback from O2s that will detect excess air (from the un-fueled cyl) in the exhaust. If someone could describe the test and give details about the intent/result it would be interesting for me.

    Still a bit unsure about the following. I have done no testing with the A/F ratio part. I have disabled each injector and seen that work on my scope. The testing is triggered by the following j1850 sequence:

    4C 10 F0 AE 02 00 00 20 00 00 xx <CRC>

    xx =
    00 NONE
    01 CYLINDER 1
    02 CYLINDER 2
    04 CYLINDER 3
    08 CYLINDER 4
    10 CYLINDER 5
    20 CYLINDER 6
    40 CYLINDER 7
    80 CYLINDER 8
    FF ALL

    4C 10 F0 AE 02 00 00 60 00 00 xx <CRC>
    xx =
    commanded a/f

    When I get completed there will be a post about all the supported mode $AE commands (or most of them). I am not knowledgeable on auto trans and the whole sub-mode $03 is a/t might need some help there also.

    -Tom

  6. #6
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by Tom H View Post
    I have a question for those more used to working on LT1s with pro tools... There is a built in test that permits the user to pulse/disable injectors. As part of that, the user can set the a/f ratio. How do the pro tools use this. I expect that injectors are disabled in sequence to find a dead cylinder (?). Perhaps the commanded a/f ratio is used to stop feedback from O2s that will detect excess air (from the un-fueled cyl) in the exhaust. If someone could describe the test and give details about the intent/result it would be interesting for me.

    Still a bit unsure about the following. I have done no testing with the A/F ratio part. I have disabled each injector and seen that work on my scope. The testing is triggered by the following j1850 sequence:

    4C 10 F0 AE 02 00 00 20 00 00 xx <CRC>

    xx =
    00 NONE
    01 CYLINDER 1
    02 CYLINDER 2
    04 CYLINDER 3
    08 CYLINDER 4
    10 CYLINDER 5
    20 CYLINDER 6
    40 CYLINDER 7
    80 CYLINDER 8
    FF ALL

    4C 10 F0 AE 02 00 00 60 00 00 xx <CRC>
    xx =
    commanded a/f

    When I get completed there will be a post about all the supported mode $AE commands (or most of them). I am not knowledgeable on auto trans and the whole sub-mode $03 is a/t might need some help there also.

    -Tom
    Some errors above...
    4C 10 F0 AE 02 00 00 20 00 00 xx <CRC> sets afr
    4C 10 F0 AE 02 00 00 60 00 00 xx <CRC> sets disabled cyls

    more on the way...

  7. #7
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    I still hope to hear from someone who has experience with pro tools that use to suspend an injector. I think it works like this, but...

    you read from the PCM it's calculated a/f ratio. Then send the command a/f ratio to that value. Then send a sequence of disable injector commands.

    This sequence would prevent the PCM from compensating for the extra air sent down the exhaust by fixing the a/f. Disable each injector in turn and note rpm loss. A dead cylinder would not change the rpm. Other ideas?

    ----------
    Spark timing can be changed using mode $AE submode $02. Command is: 4C 10 F0 AE 02 00 00 04 00 NN 00 where NN is the timing you are requesting.

    Edit post---
    enter NN of $00 for -64 degrees, $80 for 0degrees and $FF for +63.5 degrees
    ---

    With most (all?) mode AE commands, the PCM must be conditioned with a $A8 command first. These commands have a timeout unless the A8 is re-issued every few seconds.

    There are just a bunch of commands, not sure what use they all are but I am working through testing them. Hope to post a list soon. Mode $AE Submode $03 are a bit of a problem for me to go through. First up they are all automatic trans related and my bench is set for manual. Second, I don't know much about automatic. I will look around the web to see if I can find a manual for a a/t diagnostic tool. That should give me an idea what to look for.

    -Tom
    Last edited by Tom H; 07-27-2021 at 09:23 PM.

  8. #8
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by kur4o View Post
    Look what I gathered here for mode AE on later Pcms. I am not sure if the commands are standardized or not, but if they work for 97 pcm it will be a great find.

    Some commands are still missing from the list. And there is more undefined too.
    Interesting to look as the similarities and differences between your command collection and what I find for '97...

    Later PCM
    ----------
    FUEL GAUGE
    6C 10 F1 AE 02 40 1A 00 00 00 00 D4 10%
    6C 10 F1 AE 02 40 33 00 00 00 00 08 20%
    6C 10 F1 AE 02 40 4D 00 00 00 00 AE 30%
    6C 10 F1 AE 02 40 66 00 00 00 00 A6 40%
    6C 10 F1 AE 02 40 80 00 00 00 00 BA 50%


    '97 PCM
    --------
    4C 10 F0 AE 02 40 00 00 00 00 00 <CRC>


    In the '97 code mode $ae submode $40 has no other parameters and I believe is used to clear out the short term fuel trim table (both left and right).

    code is
    Code:
    BANK0:7040
    BANK0:7040 loc_7040:                                                                       ; CODE XREF: VEC_OUTPUT_CMP2+326j
    BANK0:7040                                                                                 ; VEC_OUTPUT_CMP2+335j
    BANK0:7040                                 ldaa    M$AES$02P$00                            ; M$AE PID $02 PARAM 0
    BANK0:7043                                 bita    #$40
    BANK0:7045                                 beq     loc_7060
    BANK0:7045
    BANK0:7047                                 brset   <byte_7D $04 loc_7063                   ; BIT 01
    BANK0:7047                                                                                 ; BIT 02
    BANK0:7047                                                                                 ; BIT 04
    BANK0:7047                                                                                 ; BIT 08
    BANK0:7047                                                                                 ; BIT 10
    BANK0:7047                                                                                 ; BIT 20
    BANK0:7047                                                                                 ; BIT 40 TX MESSAGE IN PROGRESS
    BANK0:7047                                                                                 ; BIT 80 DISABLE BACKGROUND MESSAGES
    BANK0:7047                                                                                 ;
    BANK0:7047
    BANK0:704B                                 bset    <byte_7D $04                            ; BIT 01
    BANK0:704B                                                                                 ; BIT 02
    BANK0:704B                                                                                 ; BIT 04
    BANK0:704B                                                                                 ; BIT 08
    BANK0:704B                                                                                 ; BIT 10
    BANK0:704B                                                                                 ; BIT 20
    BANK0:704B                                                                                 ; BIT 40 TX MESSAGE IN PROGRESS
    BANK0:704B                                                                                 ; BIT 80 DISABLE BACKGROUND MESSAGES
    BANK0:704B                                                                                 ;
    BANK0:704E                                 ldaa    #$80                                    ; CENTER FOR SHORT TERM FUEL TRIM
    BANK0:7050                                 ldx     #$0026
    BANK0:7050
    BANK0:7053
    BANK0:7053 loc_7053:                                                                       ; CODE XREF: VEC_OUTPUT_CMP2+350j
    BANK0:7053                                 staa    $23,x                                   ; CLEAR TABLE TOP DOWN
    BANK0:7055                                 dex                                             ; $0049 THROUGH $0024
    BANK0:7056                                 bne     loc_7053                                ; LOOP CLEARING SHORT TERM FUEL TRIM SETTINGS
    BANK0:7056
    BANK0:7058                                 staa    STFT_B1                                 ; B1 (LEFT) SHORT TERM FUEL TRIM
    BANK0:705B                                 staa    STFT_B2                                 ; B2 (RIGHT) SHORT TERM FUEL TRIM
    BANK0:705E                                 bra     loc_7063
    Not completely figured out yet but mostly there. I will continue next post ...
    -Tom

  9. #9
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Later PCM
    ----------
    ??? pwd ID
    6C 10 F1 AE 02 80 [XX] 00 00 00 00

    '97 PCM
    --------
    4C 10 F0 AE 02 80 00 00 00 00 00

    In the '97 code mode $ae submode $80 has no other parameters and I believe is used to center the IAC.

    Code is:
    Code:
    BANK0:7025 loc_7025:                                                                       ; CODE XREF: VEC_OUTPUT_CMP2:loc_701Ej
    BANK0:7025                                 ldaa    M$AES$02P$00                            ; M$AE PID $02 PARAM 0
    BANK0:7028                                 bita    #$80
    BANK0:702A                                 beq     loc_703D
    BANK0:702A
    BANK0:702C                                 brset   <byte_7D $02 loc_7040                   ; BIT 01
    BANK0:702C                                                                                 ; BIT 02
    BANK0:702C                                                                                 ; BIT 04
    BANK0:702C                                                                                 ; BIT 08
    BANK0:702C                                                                                 ; BIT 10
    BANK0:702C                                                                                 ; BIT 20
    BANK0:702C                                                                                 ; BIT 40 TX MESSAGE IN PROGRESS
    BANK0:702C                                                                                 ; BIT 80 DISABLE BACKGROUND MESSAGES
    BANK0:702C                                                                                 ;
    BANK0:702C
    BANK0:7030                                 bset    <byte_7D $02                            ; BIT 01
    BANK0:7030                                                                                 ; BIT 02
    BANK0:7030                                                                                 ; BIT 04
    BANK0:7030                                                                                 ; BIT 08
    BANK0:7030                                                                                 ; BIT 10
    BANK0:7030                                                                                 ; BIT 20
    BANK0:7030                                                                                 ; BIT 40 TX MESSAGE IN PROGRESS
    BANK0:7030                                                                                 ; BIT 80 DISABLE BACKGROUND MESSAGES
    BANK0:7030                                                                                 ;
    BANK0:7033                                 bset    <byte_B7 $04                            ; BIT 01
    BANK0:7033                                                                                 ; BIT 02 GEAR CHANGE IAC STEPS ACTIVE
    BANK0:7033                                                                                 ; BIT 04
    BANK0:7033                                                                                 ; BIT 08 IAC TIMEOUT STEPS TIMER EXPIRED
    BANK0:7033                                                                                 ; BIT 10 PARK/NEUTRAL SELECTED PREVIOUS STATE
    BANK0:7033                                                                                 ; BIT 20
    BANK0:7033                                                                                 ; BIT 40 IAC LOW SPEED CONDITIONS ?? VEHICLE MOVING ??
    BANK0:7033                                                                                 ; BIT 80 AUTO TRANS PARK/NEUTRAL SELECTED FLAG
    BANK0:7033                                                                                 ;
    BANK0:7036                                 ldab    #$FF
    BANK0:7038                                 stab    IAC_POSITION                            ; IAC MOTOR POSITION
    BANK0:703B                                 bra     loc_7040

    The idle air control system is quite complex. There are a bunch of things relating to shifting of automatic trans from neutral to in gear, air conditioning, perhaps power steering load, various test controls. Also to be considered is the timing of the outputs to the motor. Each step needs to be sent and then a delay before the next step. This is needed to let the motor catch up with the applied state. It is going to take some effort to sort through all this.
    -Tom

  10. #10
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    Usually when a cylinder is cut the tool monitors increase in map and drop in rpm, to figure if the cylinder is producing less power. High increase in map indicates strong cylinder. No change indicates bad cylinder.

    It can be hardbuilt in code, that whenever a cylinder is disabled the pcm commands Open loop. In earier code when a cylinder is disabled you cannot change or command afr. The command is exclusive to each other. There might be something similar in the later code.

    It is more than likely there will be some commands that are not present throughout the years. For example 97 can`t command fuel gauge, because there is not such an option built in the pcm.

    Automatic trans have some simple commands for solenoids and line pressure. Most are simple on/off. Some pwm solenoids can be commanded with different pwm%.

  11. #11
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    An OBDII question for you all...

    My PCM supports Mode $19 requests. Request is four bytes format like:
    Code:
    BANK0:CF01 *************************************************
    BANK0:CF01 * MODE $19: REQUEST DTCS BY STATUS
    BANK0:CF01 * REQUESTS  H0,H1,H2,$19,$XX,$FF,$00    RETURN DTCS
    BANK0:CF01 *       H0,H1,H2,$19,$XX,$FF,$FF    COUNT OF DTC
    BANK0:CF01 *
    BANK0:CF01 * STATUS IS XX --> ANY/ALL OF THE BITS ORED TOGETHER
    BANK0:CF01 * $80 - MIL ILLUMINATED
    BANK0:CF01 * $40 - MIL PENDING
    BANK0:CF01 * $20 - MIL PREVIOUSLY ILLUMINATED -OLD CODE
    BANK0:CF01 * $10 - STORED TROUBLE CODE (FREEZE FRAMD DATA AVAILABLE)
    BANK0:CF01 * $08 - GM SPECIFIC STATUS 1
    BANK0:CF01 * $04 - GM SPECIFIC STATUS 0
    BANK0:CF01 * $02 - CURRENT DTC CODE
    BANK0:CF01 * $01 - IMMATURE DTC CODE
    BANK0:CF01 *************************************************
    This all looks a lot like the Mode $18 listed in SAE J2190 -> in fact so much the same I wonder if some thing changed along the way or ??

    Can anyone tell me where Mode $19 is speced or any details? If you have the document, that would be icing on the cake.

    Thanks,
    -Tom

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
  •