This origanal webpage was at:
http://www.geocities.com/ecmguy.geo/.../7727aldl.html

It is now gone..




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