Page 24 of 34 FirstFirst ... 141920212223242526272829 ... LastLast
Results 346 to 360 of 509

Thread: 1997 F-Body ECM

  1. #346
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    OK, first off sorry for all the confusion I caused. Looks like my typing was faster than my thinking.
    Looking a bit closer at the hardware side...

    PIN C12 (GRAY): This pin is labled not used. Internally it tracks from the gray connector to an input network that defaults it low. The state of the pin is available through the PRU in port C bit 4. I will look at S/W to see how/if it is used.

    PIN C11 (GRAY): This pin is labled TRACTION CONTROL SYSTEM ACTIVE SIGNAL. This pin is defaulted to ignition voltage and tracks to an input network (default high). The state of the pin is available through the PRU in port A bit 0. I will look at S/W to see how/if it is used.

    PIN A23 (RED): This pin is labled TRACTION CONTROL SYSTEM SPARK RETARD REQUEST. This pin is defaulted to ignition voltage and tracks to a schmitt trigger receive curcuit. The input is used by the TPU only (TPU pin 22). We can only look at the inputs and outputs to the TPU and uses educated guesses about what is going on inside. Lots of work needed here to gain an understanding.

    The first post on this topic should have named pin A23 as the source instead of C12. Swap these two references and I believe the post is corrected.

    -Tom

  2. #347
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by Tom H View Post
    I will look at S/W to see how/if it is used.
    Just quick results here, not exhaustive

    PIN C12 (GRAY): Received through PRU port C ($1804) --> $0123 and $0077. Not used on Tside, but passed through the SPI to the Eside. Eside $0081 and $0059. Used in traction control logic, more effort needed to gain a clear picutre. In my PCM it is a don't care though because there is no connection to the terminal pin.

    PIN C11 (GRAY): Received through PRU port A ($1800) --> $0075 (MASK OFF 4MSBS). Affects traction control flags
    (@$80,$08)

    OK, so nothing unexpected here. C12 is likely just a way that traction control was done in earlier cars before it got integrated into the ABS. Looks to me likely it was just an earlier step in development that was not removed (?).

    -Tom

  3. #348
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by kur4o View Post
    About the traction control on 94-95.

    There is 2 differnet type of usage incorporated in the code. Analog and digital.
    The analog is used on the y-bodies only. They have some crap bosch abs module.

    The pcm sends pwm encoded signal of tps to ABS via pin A12[needs confirming]
    Abs request spark retard from pcm via a frequency signal at pin A23??[needs confirming].

    There is also second analog system to request traction on.
    Put B+ to pin c12. It is analog on/off switch. Not sure where it is used. ??B-bodies.
    You are incorrect. First, the Bosch ABS is actually awesome, the Bosch 5 more than the 2U, but either way I'll take the Bosch over the Delco any day of the week.

    Second, the EBTCM on 94-95 Y-Bodies does not get a TPS signal from the PCM at all. They use a separate repeater module (called a "TPS Module") that takes the output voltage from the TPS, buffers it, then sends the buffered voltage reading to the EBTCM. This is so that the EBTCM reading the TPS doesn't affect the TPS signal going to the PCM. EDIT: It occurs to me that you may be having a separate thought here and you're no longer talking about Y-Bodies. If this is the case then I apologize; the above functionality is how Y-Body cars supply TPS data to the EBTCM (ABS/ASR).

    Third, as already stated, the ASR (TCS) traction control request is sent to pin C12. The EBTCM merely has an internal switch that connects to +12V to tell the PCM it wants to retard timing for ASR. The PCM then determines how much retard to use and how long to do it for. So far from being just "B-Bodies," this is normal operation for all Bosch ABS vehicles (Y-Body, E-Body, K-Body, B-Body, D-Body).

    No clue where you're getting your information from, but mine is from GM and Bosch directly.

    Quote Originally Posted by Tom H View Post
    Just quick results here, not exhaustive

    PIN C12 (GRAY): Received through PRU port C ($1804) --> $0123 and $0077. Not used on Tside, but passed through the SPI to the Eside. Eside $0081 and $0059. Used in traction control logic, more effort needed to gain a clear picutre. In my PCM it is a don't care though because there is no connection to the terminal pin.

    PIN C11 (GRAY): Received through PRU port A ($1800) --> $0075 (MASK OFF 4MSBS). Affects traction control flags
    (@$80,$08)

    OK, so nothing unexpected here. C12 is likely just a way that traction control was done in earlier cars before it got integrated into the ABS. Looks to me likely it was just an earlier step in development that was not removed (?).
    To be perfectly accurate, it's the way all the Bosch-equipped cars did it, up to and including the '96 Y-Body.

    C11, according to my FSMs, is connected to the Cruise Control Cutoff Relay, and is used to trigger the relay to cut out the cruise control when ASR is activated.
    Last edited by NomakeWan; 04-12-2021 at 12:25 AM.
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  4. #349
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by NomakeWan View Post
    C11, according to my FSMs, is connected to the Cruise Control Cutoff Relay, and is used to trigger the relay to cut out the cruise control when ASR is activated.
    Thank you, that gives me info as to what that flag does. But some confusion, are you saying C11 is an output?


    Ages ago when I first got my Camaro, I entered a Solo II meet here in Canada. The finish stop box was just feet after a sweeping corner. Both myself and another person with a Camaro had great trouble getting the car stopped. Peddle went hard and car kept motoring. First round was no time due to stop box destruction... both cars. The other fellow had the insight to unplug the ABS. Worked a treat. He told me later that his dealer said that there was some sort of "ice" mode the ABS could get into that blocks pressure from the master. Some time I will read my '96 service manual to see how this thing actually works, unless someone here knows.

    -Tom

  5. #350
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by Tom H View Post
    Thank you, that gives me info as to what that flag does. But some confusion, are you saying C11 is an output?


    Ages ago when I first got my Camaro, I entered a Solo II meet here in Canada. The finish stop box was just feet after a sweeping corner. Both myself and another person with a Camaro had great trouble getting the car stopped. Peddle went hard and car kept motoring. First round was no time due to stop box destruction... both cars. The other fellow had the insight to unplug the ABS. Worked a treat. He told me later that his dealer said that there was some sort of "ice" mode the ABS could get into that blocks pressure from the master. Some time I will read my '96 service manual to see how this thing actually works, unless someone here knows.

    -Tom
    No, sorry, C11 is an input. While I had the device it was connected to correct, I had the pins backwards. The EBTCM is connected to the Cruise Control Cutoff Relay. When the relay is triggered (by the EBTCM), it opens the contact that sends voltage to the Cruise Control Disengage Input on the Cruise Control computer (removing +12V from this input disengages the computer), as well as closing the contact that sends voltage to C11 on the PCM and the "ASR ACTIVE" light on the Driver's Information Center. My Bosch ABS/ASR manual says that this input is for automatic transmission vehicles only, so it may not be used on manual transmission cars. If I had to guess I'd say it's to switch the PCM from the Cruise shift map back to the Normal shift map when ASR cuts off the cruise control.

    On "ice mode," yes, I'm very familiar with it. Chances are your service manual will not tell you anything about it. I know mine don't. For Bosch systems, I do have the actual Bosch book that they wrote about it. Basically, the computer looks at all of its inputs and tries to figure out of the braking force experienced is exceeding the maximum potential threshold of braking for a conventional surface (negative speed delta exceeds set point). If this happens, it assumes that the wheel(s) in question must have come into contact with a low-mu surface (such as ice), and will prevent excessive brake pressure from reaching the calipers. This hopefully allows the wheel(s) in question to resume spinning, returning some level of control to the driver. However, a problem occurs in racing environments where it's entirely possible to have braking equipment and a road surface so good that your braking exceeds that same set point, causing the ABS to think you're on ice, and thus restricting your braking. It's counterintuitive, but if you release the brake pedal momentarily, you 'reset' this input, allowing you to hit the pedal again and should get full braking pressure back. This system is designed and required for all vehicles registered for public roadway use in the US (and probably elsewhere). It is also mandated that the driver should not be able to disable it. This is why dedicated race vehicles tend to use aftermarket ABS which do not have these "nanny" subroutines programmed. Bosch themselves, for example, offer a race-only ABS that does not have any "ice mode" shenanigans.

    That said, I can only speak for how Bosch systems work, and it looks like F-Body cars don't use Bosch systems. On a Bosch system, there is a lateral accelerometer linked into the ABS that measures how "hard" you are cornering. On these vehicles, most of the "ice mode" incidents happen in straight-line braking. I was already developing an aftermarket G-sensor for 94-96 Y-Body cars, but after reading up on "ice mode" woes, I believe I can counteract it with the very same sensor. Essentially, giving it a "race mode" that sends false high lateral G-load data to the ABS during straight-line braking, thus convincing the ABS that it cannot possibly use "ice" logic since it's impossible to have such high lateral G-loads on ice. I have not yet tested this system, but according to Bosch's ABS operational theory, it should work.


    EDIT:
    So I discovered the discrepancy between the usage of pin B22 between what is marked on page 13 of this thread and what's marked in my FSMs. It turns out that it is in fact a difference between vehicles. The F-Body does not use this pin (apparently). The Y-Body uses this pin as "Cruise Control Active," which assumedly is what tells the PCM to use the cruise shift map (which the 4L60E manual claims 'delays the 3->4 upshift and TCC apply during heavy throttle', but the cruise maps for upshifts, downshifts, and TCC apply/release appear to be identical to the normal maps on my Y-body calibrations). However, the B-Body uses pin B22 as a connection to a TCC Temperature Switch located in the feed line to the transmission cooler that connects this pin to ground when the fluid temperature is over 325F. Additionally, the B-Body calibrations have radically different "Cruise Mode" maps compared to Normal Mode maps. The B-Body also has no "cruise control active" input.

    This leads me to believe that, in fact, the input itself is used the same way--the input triggers the PCM to switch to the "Cruise" map. But the B-Body has populated its "cruise" map with "hot" values, essentially using the cruise map to account for overheated transmission fluid. Why it does this even though the PCM already has a "hot" map and the B-Body has a transmission fluid sensor input on pin D28 is beyond me.
    Last edited by NomakeWan; 04-12-2021 at 11:45 AM. Reason: Added additional information about B22
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  6. #351
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,475
    The info I posted is straight from disassembly. That is the usage of traction and how it is handled by the pcm. Linking the code with platforms is not an easy task, so thanks for figuring that part. I suspect the frequency input was designed to allow abs to request specific not only retard but how much of a retard. ANyway it seems overkill left over for something more complex.

    B22 might be configured in the calibration how to be used. I need to check that out.

    Does anybody knows if that ICE mode is only bosch related, or is experienced on other abs modules. 98+ fbodies also come with bosch abs.
    We can also make that statement. Bosch= built to brake. AC Delco= built to last.

  7. #352
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by kur4o View Post
    Does anybody knows if that ICE mode is only bosch related, or is experienced on other abs modules. 98+ fbodies also come with bosch abs.
    We can also make that statement. Bosch= built to brake. AC Delco= built to last.
    "Ice Mode" is required by law, so it should be present in all ABS systems regardless of manufacturer. My statement about how exactly that logic was implemented and how to potentially circumvent it, however, only applies to how Bosch handled it in the Bosch 2U and Bosch 5 present in the 1992-1996 Y-Body. Not everyone uses an accelerometer, for example, to accompany their ABS logic. And some companies use longitudinal accelerometers rather than lateral (for example, the Nissan Skyline GT-R uses a longitudinal accelerometer with its ABS logic).
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  8. #353
    Administrator
    Join Date
    May 2011
    Location
    Lakes Region, NH
    Age
    54
    Posts
    3,852
    n "ice mode," yes, I'm very familiar with it. Chances are your service manual will not tell you anything about it. I know mine don't. For Bosch systems, I do have the actual Bosch book that they wrote about it. Basically, the computer looks at all of its inputs and tries to figure out of the braking force experienced is exceeding the maximum potential threshold of braking for a conventional surface (negative speed delta exceeds set point). If this happens, it assumes that the wheel(s) in question must have come into contact with a low-mu surface (such as ice), and will prevent excessive brake pressure from reaching the calipers. This hopefully allows the wheel(s) in question to resume spinning, returning some level of control to the driver. However, a problem occurs in racing environments where it's entirely possible to have braking equipment and a road surface so good that your braking exceeds that same set point, causing the ABS to think you're on ice, and thus restricting your braking. It's counterintuitive, but if you release the brake pedal momentarily, you 'reset' this input, allowing you to hit the pedal again and should get full braking pressure back. This system is designed and required for all vehicles registered for public roadway use in the US (and probably elsewhere). It is also mandated that the driver should not be able to disable it. This is why dedicated race vehicles tend to use aftermarket ABS which do not have these "nanny" subroutines programmed. Bosch themselves, for example, offer a race-only ABS that does not have any "ice mode" shenanigans.
    The first time I experienced something like this was in a shop heading toward the overhead door. A quick snap of the throttle and immediate brake apply was usually enough to cause tire chirp to alert the guy with the door remote I wanted to leave. While he was playing around looking for the buttons I was quickly learning the car was going to continue to roll toward the door despite repeatedly releasing and applying the brakes. It did eventually stop but the trans was in R at the time.

    "Ice Mode" is required by law, so it should be present in all ABS systems regardless of manufacturer.
    Once we learned about this issue we played with a number of cars in the parking lot. While we could easily send early ABS equipped Y bodies into "ice mode" the later vehicles and anything with TEVES systems just didn't behave the same way. Years later in a conversation with a Bosch engineer I mentioned this issue. He replied there were software updates to the early Bosch ABS systems and if I had one that seemed overly sensitive a replacement unit should not behave the same way. I have never had a chance to follow up.

  9. #354
    Fuel Injected! JimCT_9C1's Avatar
    Join Date
    Feb 2013
    Location
    Connecticut
    Posts
    63
    The B-body specific variations noted above caught my eye, so I decided to take a look at my 96 9C1:

    A23 - TCS spark retard request per FSM callout, but no harness connection
    B22 - TCC fluid temperature switch
    C11 - no harness connection
    C12 - no harness connection

    Per FSM, traction control parameters (TCS active and ASR/TCS spark retard) are applicable only to D, F, and Y cars, and TCC temp only to B and D cars w/ LT1.

    Hopefully this is useful or at least interesting to those following along.

    Jim
    1995 Caprice 9C1 LT1 - 4.10s, Dynomax Catback, K&N Cold Air Kit, Other Little Stuff
    1996 Caprice 9C1 LT1 - 3.73s, Stock

  10. #355
    Fuel Injected!
    Join Date
    Jul 2019
    Location
    Orange, CA
    Posts
    757
    Quote Originally Posted by 1project2many View Post
    Once we learned about this issue we played with a number of cars in the parking lot. While we could easily send early ABS equipped Y bodies into "ice mode" the later vehicles and anything with TEVES systems just didn't behave the same way. Years later in a conversation with a Bosch engineer I mentioned this issue. He replied there were software updates to the early Bosch ABS systems and if I had one that seemed overly sensitive a replacement unit should not behave the same way. I have never had a chance to follow up.
    Not sure about that; I've never heard of any software revisions in the EBTCM for the Bosch 2U or Bosch 5 (1992-1996). Not saying there aren't, just saying I haven't heard of one. There was, I believe, a "race spec" version you could purchase from GM Performance Parts, but I've never seen one in person nor has anyone (to my knowledge) reverse-engineered one. They're long out of production, sadly, so even if I wanted to pony up the big bucks I can't get my hands on one to test it out.

    But "ice mode" is in many more cars than just these few older GM cars. Again, this is because it's required by law (NHTSA FMVSS 49 CFR § 571.105 in the USA). Every ABS-equipped road vehicle has it. The difference is just in whether you notice it or not. Some are, as noted, 'better' than others. Sadly while I used to have a video that showed this pretty well in a newer Camaro, the youtube account that uploaded it was terminated, so it doesn't exist anymore. Basically the guy came in hot into the final right turn of an autocross, slammed the brakes, nothing happened, and he nearly went straight into a track worker's pickup truck parked outside the course. Had to reset the pedal and turn hard, and thankfully avoided it, his side mirror tapping the truck's open tailgate. Apparently this was 'fixed' for the 2019-2020 models.

    Anyway, looking forward to following for more updates on the disassembly. Always a fantastic discussion. :)
    1990 Corvette (Manual)
    1994 Corvette (Automatic)
    1995 Corvette (Manual)

  11. #356
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Started looking into PCM comms over ALDL, now my focus has shifted to the so called Class II or OBDII connection. The comms interface is described using hundreds of three/four letter acronyms. I hope that none of my own confusion creeps into things, but as always corrections are very well received.

    Starting off with Class II: What does it mean? Well I am not sure. The Data Link Controller (DLC) describes Class II as a vehicle bus communication protocol. Not sure where this is defined or what is implied by the label. I can tell you though that J1850 describes the physical layer, and data link layer used on the early PCMs. J1850 describes the interface as Class B, defined as follows:

    Class B Data Communications - A system whereby data (e.g., parametric data values) is
    transferred between nodes to eliminate redundant sensors and other system elements. The
    nodes in this form of a multiplex system typically already existed as stand-alone modules in a
    conventionally wired vehicle. A Class B network shall also be capable of performing Class A
    functions.

    In the case of the PCM I am working with (1997), the only comms in this network are between tester and PCM. Other than that, the line is idle. I can not say why J1850 was selected for the lower layers. The data rate varies depending on the order of data. For example sending data 0x55 takes about 512us where as sending 0xAA takes 1024us. This results in variability in transmit time. Baud rate is 7,812 at the low end and 15,625 at the high end. Probably averages around 11.7Kbps or so. But in any case this is what was decided all those years ago, it's what we have to work with.

    I focus on the data rate only because it comes into play during re-programming of the module. In the case where a longish string of 0x55 is sent, the time per character will be around 512us. The Data Link Controller (DLC) has a FIFO depth of 20 on the RX side and 11 on the TX. Since the DLC is serviced by polling at 12.5ms, it is important that less than 20 data words are received in that time. J1850 indicates the maximum word count is 12. Three are header and one is CRC, so there remains 8 data words per frame. For normal tester interface all is good BUT when longer frames are used such as in programming, the FIFO can be over-run. This brings a data dependent factor into the programming algorithm. Since there can be no gaps or delays in a transmitted frame and the run length is extended for programming, service must happen in less than 10ms to ensure that there is no overrun. It is our luck that GM has taken care of all this.

    Two types of addressing schemes are employed: functional and physical. If there were multiple nodes connected to the bus, functional addressing could be used without knowledge of which module would respond. The GM scheme does not use In-Frame Response so a message is sent and the other nodes then arbitrate for the bus and reply. There could be multiple replys but in the case of the '97 PCM it is simple: Just two nodes.
    Physical addressing is used to communicate with a specific node. Once again with just two nodes there is little gained by differentiating between the addressing schemes. I am sure this was all put in place such that standardization between manufacturers could be achieved. Shame that never happened for real.

    My first look at OBDII is to disassemble all the code and try to make sense of the code. When the Data Link Controller (DLC) receives a frame, header byte 0 is decoded. Bit 2 (designated Y for reasons I know not) differentiates between functional addressing and physical addressing. Where bit 2 is a zero, functional addressing is indicated.

    Functional frames are processed as per J1979. Data reception does not use interrupts although there is a service just to turn them off if some how they should become active. My disassembly of the receive frames is not yet complete but I will include disassembly of code that processes functionally addressed frames. This code has service for modes $01 through $07 which are:

    MODE $01: REQUEST CURRENT POWERTRAIN DIAGNOSTIC DATA
    MODE $02: REQUEST POWERTRAIN FREEZE FRAME DATA
    MODE $03: REQUEST POWERTRAIN DIAGNOSTIC TROUBLE CODES
    MODE $04: REQUEST CLEAR/RESET DIAGNOSTIC TROUBLE CODES
    MODE $05: REQUEST OXYGEN SENSOR MONITORING TEST RESULTS
    MODE $06: REQUEST ONBOARD MONITORING TEST RESULTS
    MODE $07: REQUEST PENDING TROUBLE CODES


    I have included a filtered list of the Parameter IDentification (PID), Diagnostic Trouble Code (DTC) and Test Identification (TID) supported in the '97 code in the spread sheet I will post along with this note.

    I found it interesting that the ELM327 that I have used for some of this work will not permit investigating some of the mode $06 responses. The code in the ELM327 sends the request OK, receives the first reply frame and then times out. I tried many of the commands to extend the receive but no joy. I then programmed an Arduino to monitor the bus and was able to complete the tables.

    I will post later the rest of the OBD commands. Most are complete and with a little polish are ready for posting.

    -Tom
    Attached Files Attached Files

  12. #357
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Hi,

    Just wondering if anyone knows where I could find "General Motors Class 2 Physical Message Diagnostic Strategy Specification" document. It would make easy work of a large task...

    Thanks, -Tom

  13. #358
    Fuel Injected!
    Join Date
    Nov 2017
    Location
    Californiacation
    Age
    57
    Posts
    817
    Is there a SAE number that goes with that doc?
    -Carl

  14. #359
    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

  15. #360
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,475
    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

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
  •