8192 Baud Asynchronous Communications With a P6 Processor

    General Description.
    The  8192  Baud data stream used by more advanced GM ECM's, (Type P4, P6 and P66) up to OBD II. The OBD II system is a CAN network, the  communications protocol defined by  statute.

    The 8192 GM data format is asynchronous serial data the same as your PC is capable of processing, The 8192 baud rate is non-standard, but you can set the PC to a close enough so that the PC will accommodate the error.

    The GM system is a master/slave system. Thus feature allows the vehicle to have multiple computers on line and avoids collisions between talker..
    The user must initiate a short message to inform the receiving device that information is being requested. This message must conform to a specific format, describing the requested information as a block.

    To Establish diagnostic communications between a P6 or P66  ECM or PCM and an outside computer do the following:

    • Mode 0 request, this clears any other communications such as the body computer, (dash board) , ABS brakes Etc.
    • Mode 1 request, This is a request for the diagnostic data stream, generally 60+ bytes of parametric data.



    • MODE 0,  ALDL REQUEST:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $56
    MODE = $00
    SUM CHECK

  •  
    • The ECM/PCM Will Reply:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $56
    MODE = $00
    SUM CHECK

    • MODE 1,  Data REQUEST:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $57
    MODE = $01
    MESSAGE  = $00
    SUM CHECK

    or

    F45701B3

     

      Note:
      1. The sum check is the complement of the message. When the incoming message is added it
      will always have a LSB of $FF

      2. The message length is always $56 + the actual count of data bytes, in this case 1 byte.


     

    • The ECM/PCM Will Reply:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $95
    MODE  = $01
    data byte 1
                      x
                      x
    data byte 63
    SUM CHECK


     

    • To get another update the user must send another Mode 1 Request.




    Possible data Reading Schemes:
    The commercial scan tools generally use a 6800 series Motorola processor to decode and display the data. These commercial systems also convert the output to a standard serial data  rate that is readable by a PC. The problem with all of this is it becomes a "kluge" of cables to set all of this up and the data format may not be what you want.

    A more attractive method would be to eliminate the real time display part and have a small Microprocessor, (PIC Chip) translate the data and store it in a flash memory chip. I have found it very difficult to read and interpret data while driving, particularly if I'm using the data to do a tune up. I prefer looking at the results on my desk top and in some cases graphing them in order to calculate new values.

    Other Communications Features:
    The serial communications has several modes Typically:
     

    • Mode 2, Dump 60 bytes of memory starting with a user defined address.
    • Mode 3, dump of any 8 user defined address's
    • Mode 4, Controller mode, User may change AFR, Spark, TCC etc.
    • Mode 10, Clear diagnostic errors, (clear codes)




    An example of Mode 2:
     

    • To Execute a Mode 2, Transmit the following message:
     MESSAGE ID   = $F4
    MESSAGE LENGTH = $58
    MODE = $02
    Address MSB
    Address LSB
    CHECKSUM


     

    • The ECM/PCM Will Reply:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $96
    MODE = $02
    data 1
        x
        x
    data 64
    SUM CHECK

     .



    An example of Mode 3,
     

    • To Execute a Mode 3, Transmit the following message:
     MESSAGE ID   = $F4
    MESSAGE LENGTH = $65
    MODE = $03
    Address 1 MSB
    Address 1 LSB
          x
          x
    Address 8, MSB
    Address 8, LSB
    CHECKSUM


     

    • The ECM/PCM Will Reply:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $63
    MODE = $03
    data 1
        x
        x
    data 8
    SUM CHECK

    An example of Mode 10,  "Clear Error Mode":
     

    • To Execute a Mode 10, Transmit the following message:
     MESSAGE ID   = $F4
    MESSAGE LENGTH = $56
    MODE = $0A
    CHECKSUM


     
     

    • The ECM/PCM Will Reply:
    MESSAGE ID  = $F4
    MESSAGE LENGTH = $56
    MODE = $0A
    SUM CHECK