NWSTP Forum
Username:
Password:
Save Password


Register
Forgot Password?
  Home   Forums   Events Calendar   NWSTP Admins   Guestbook   FAQ   RSS   Register
Active Topics | Active Polls | Resources | Members |   | Live Chat | Avatar Legend | Search | Statistics
[ Active Members: 0 | Anonymous Members: 0 | Guests: 1 ]  [ Total: 1 ]  [ Newest Member: Musicpub ]
Live News Events Calendar Photo Album File Lister File Library
 Northwest Syclone Typhoon Posse
 PM Inbox
Please login to check your PM's
 NWSTP Navigation
 NWSTP 
   Forum
   Members
   Gatherings
   Top Secret
 TunerPro Files
   TunerPro RT 4.13 Released
(Updated 2/23/06)
   $58 ECM Def 2/3Bar v1.3
(For TunerPro 4.x) (10/7/07)
   $58 ALDL Def 2/3Bar v1.1
(For TunerPro 4.x) (10/7/07)
 Section 5 - High Speed Serial Data
SECTION 5

SECTION 5

HIGH SPEED SERIAL DATA

1.0 PURPOSE AND SCOPE

This document describes the operational characteristics, communication protocol, and transmitted data for the serial data stream. The serial data output is to be utilized to transmit predetermined data parameters to intelligent receiving devices external to the vehicle. Receivers external to the vehicle shall utilize the transmitted information to identify ECM type and for testing during the ECM assembly and in-car installation procedures. A high speed UART link option is available for GMAD assembly line diagnostics.

2.0 REFERENCE DOCUMENTS

    • Serial Communications Protocol Specification (EE-1800-003, Revision A), Delco/Kokomo, dated April 7, 1979.
    • ECM Serial Output Specification (EE-1810-004, Revision A), Delco/Kokomo, dated April 17, 1979.
    • XDE 5024, system Design Specification for High Speed Serial Data Communication between Microcomputer Assemblies, dated November 17, 1982.

3.0 SERIAL DATA TRANSMISSION RATE

Low speed serial data is not implemented. The high speed serial data transmits data at the rate of one bit each 122.07 microseconds 0.5% This is equivalent to 8192 baud. The high speed serial data is transmitted on the serial data output.

4.0 MESSAGE TYPE

Different data message types are transmitted by the ECM via the serial data output port if the ignition is on. The message type sent at any point in time is dependent upon the state of the diagnostic request line as summarized in the table below:

Resistance to

Power Ground Mode Serial Data

Greater Than20K Normal Normal Mode *

10K +-5% End of Line Test ALDL *

(ALDL Mode)

3.9K +-5% ECM Factory Test See Factory Test Section

Less Than 500 ohms Diagnostics/Field ALDL *

Service

* See High Speed Serial Data Specification, Section 2.0

 

5.0 TRANSMITTED DATA SPECIFICATION

5.1 Low Speed Serial Data Specification

Low speed serial data is not implemented.

5.2 High Speed Serial Data Specification

5.2.1 High Speed Serial Data Format

The approach used for the high speed transmission is intended to be the same as that used in a UART system. A description follows:

5.2.1.1 Bit Format

A bit time is 122.07 microseconds +-0.5%. This is equivalent to 819? Baud. A high voltage state indicates a logic one "1" condition and a low voltage state indicates a lo9ic zero "0" condition. The high speed serial data is output on the serial data output port.

5.2.1.2 Word Format

A word consists of ten bit times. The first bit is a logic zero and is called the Start Bit. The last (tenth bit) in the word is always 3 logic one and is called the Stop Bit. The remaining eight center bits are data bits and are transmitted LSB first. A Start Bit must always be preceded by at least one logic one bit time (either the stop bit of the preceding word or an Idle Line).

5.2.2 Message Format

Any and all data transmitted on the serial data bus must be part of a message. All messages must be of the following format:

    • Idle Line
    • Message Identification Word (ID)
    • Message Length Word (85 + 1 + N)
    • Mode Number Word
    • Message Data (N Bytes)
    • Sum Check
    • Idle Line

5.2.2.1 Idle Line

Ten or more consecutive logic one bit times constitute an Idle Line. All receivers on the bus will use the occurrence of an Idle Line followed by a Start Bit to indicate the start of a message.

5.2.2.2 Message Identification Word

The first word of each message is a message identification (ID) word. Each message ID must be unique; therefore, all message ID's must be assigned in the particular Application Document. The total number of unique message ID's is limited to 254. ID's of $00 and $FF shall not be used in the vehicle.

5.2.2.3 Message Length Word

The message length word indicated the total number of data words in the remainder of the message plus 85 (decimal). The maximum number of data words within one message which can be transmitted by any transmitter is 64. Thus a valid message length word must lie in the range of 85 to 149. Many messages with no data words are possible; for such messages, the Message Length Word would contain the binary word 0101 0101 (MSB-LSB). This pattern has been selected because, under an abnormally severe noise environment, there is a higher probability that an erroneously received message will be detected as such.

5.2.2.4 Mode Number Word

All high speed messages have an assigned mode number. An external ALDL tester that requests high speed communications will specify the desired mode of operation.

5.2.2.5 Sum Check

The last word to be transmitted in a message is the two's complement of the sum of all the other words in the message, including the message ID and message length words. Any carrycuts of this eight-bit word while it is being formed by both the transmitter and receivers are neglected. The two's complement is used so that the sum of all the words in the message is zero for a valid message.

6.0 HIGH SPEED SERIAL DATA MESSAGES

The following sections define the input and output message formats for the various modes of high speed serial data.

The operating modes are divided into two categories, normal and ALDL modes. The ALDL modes can be entered independent of the diagnostic request line.

6.1 Normal Mode

The normal mode will be enabled if any of the following conditions are satisfied:

    • ALDL device not present.
    • Mode 0 requested by ALDL device.
    • No ALDL message received for a time of 5 seconds.

When the normal mode is enabled, messages will be continuously transmitted by the scheduler unless the ALDL mode is enabled. The scheduler consists of a table of message addresses corresponding to messages that can be transmitted at a given 12.5 msec interval. Onlv one message can be transmitted in a given 12.5 msec interval.

The scheduler table *F9OMST* shown below, shows the expected messages and rates for this application:

Schedules Message Code Message

0 No Message

1 No Message

2 No Message

3 No Message

4 *F97*

5 No Message

6 No Message

7 No Message

8 No Message

9 No Message

A No Message

B No Message

C No Message

D No Message

E No Message

F No Message

The scheduler shows that message *F97* is transmitted once every 200 msec.

6.1.1 Normal Mode Message *F97*

Message *F97* is used to poll for the presence of an ALDL testing device The message ID for the testing device is = $FO Hex, and the message length is zero.

6.2 ALDL Mode

The ALDL Mode is enabled when the ALDL device responds to the normal mode ALDL polling message (*F97*).

Once in the ALDL mode, the ECM will cease transmitting the normal mode messages.

The ALDL mode is divided into the following sub-modes and uses a message ID of $FO Hex:

    • Mode 0 (Return to normal mode)
    • Mode 1 (Transmit fixed data stream)
    • Mode 2 (Selectable memory dump)
    • Mode 3 (RAM contents)
    • Mode 4 (Controller function)
    • Mode 7 (Command normal mode message)

6.2.1 ALDL Mode 0 (Return to Normal Mode)

When the ALDL device requests Mode 0, the ECM will revert back to the normal mode. The ALDL device requests Mode 0 by sending the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 1 = 86 = $56 Hex.
    • Mode = $00 Hex.
    • Sum Check.

The ECM will respond by transmitting the normal mode messages as described in previous sections.

6.2.2 ALDL Mode 1 (Transmit Fixed Data Stream)

When the ALDL device requests Mode 1, the ECM will respond by transmitting a predetermined 63 byte message as defined in table *F95*. See Figure 3.

The ALDL device requests Mode I by sending the following message:

    • Message ID + $FO Hex.
    • Message Length = 85 + 1 = 86 = $56 Hex.
    • Mode = $01 Hex.
    • Sum Check.

The ECM will respond with the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 64 = 149 = $95 Hex.
    • Mode = $01 Hex.
    • Data Byte 1
    • -
    • -
    • Data Byte 63
    • Sum Check

6.2.3 ALDL Mode 2 (Selectable Memory Dump)

When the ALDL device request Mode 2, the ECM will respond by transmitting the contents of 64 memory locations be9innin9 with the address specified in the Mode 2 request.

The ALDL device request Mode a by sending the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 3 = 86 = $58 Hex.
    • Mode = $02 Hex.
    • Starting Address Upper byte.
    • Starting Address Lower byte.
    • Sum Check.

The ECM will respond with the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 65 = 150 = $96 Hex.
    • Mode = $02 Hex.
    • Contents of Address 1
    • -
    • -
    • Contents of Address (1 + 63)
    • Sum Check

6.2.4 ALDL Mode 3 (RAM Contents)

When the ALDL device requests Mode 3, the ECM will respond by transmitting the contents of the RAM locations specified in the request (from 0 to 8 locations).

The ALDL device requests Mode 3 by sending the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 2N + 1 (N = 0 to 8).
    • Mode = $03 Hex.
    • Address I Upper byte
    • Address I Lower byte
    • -
    • -
    • Address N Upper byte
    • Address N Lower byte
    • Sum Check

The ECM will respond with the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + N + I (N = 0 to 8).
    • Mode = $03 Hex.
    • Contents of Address 1
    • -
    • -
    • Contents of Address N
    • Sum Check

6.2.5 Mode 4 Input Message (ALDL Tester Request)

    • ID
    • MESSAGE LENGTH (2N + 11 + 85)
    • MODE 4
    • DISCRETE OUTPUT ENABLE CONTROL WORD *
    • DISCRETE OUTPUT STATE WORD *
    • MODE CONTROL ENABLE WORD *
    • MODE CONTROL STATE WORD *
    • PWM OUTPUT ENABLE CONTROL WORD *
    • PWM OUTPUT DUTY CYCLE *
    • FUNCTION MODIFICATION CONTROL WORD*
    • IAC DESIRED POSITION/IDLE RPM *
    • DESIRED A/F RATIO *
    • SPARK ABSOLUTE/DELTA MODIFICATION *
    • START ADDRESS HIGH
    • START ADDRESS LOW
    • -
    • -
    • ADDRESS N HIGH
    • ADDRESS N LOW
    • CHECK SUM

Where N is the number of data bytes requested (0 to 8). See "Mode 4 - ECM Function Modification Mode Table".

The ECM will respond with the following message:

    • ID
    • MESSAGE LENGTH = 85 + N + 1 (N = 0 to 8)
    • MODE = $04 Hex.
    • ADDRESS 1 CONTENTS
    • -
    • -
    • ADDRESS N CONTENTS
    • CHECK SUM

The Function Modifications will have immediate response (next applicable program loop), and will override the normal operation of the Outputs.

6.2.5.1 MODE 4 - ECM FUNCTION MODIFICATION MODE TABLE

1. Discrete Output Enable Control Word

Bit 0 = Check engine Light Control

Bit 1 = Fan Control

Bit 2 = Not Used

Bit 3 = Not Used

Bit 4 = Not Used

1 = Control enabled

0 = Control disabled

2. Discrete Output State Word

Bit 0 = Check Engine Light: 1 = On, 0 = Off

Bit 1 = Fan: 1 = On, 0 = Off

Bit 2 = Not Used

Bit 3 = Not Used

Bit 4 = Not Used

3. Mode Control Enable Word

Bit 0 = Fuel Closed Loop (C/L)

Bit 1 = Idle Air Control (IAC) C/L

Bit 2 = Not Used

Bit 3 = Spark Back-up (Does Not Force Fuel Backup)

Bit 4 = Block Learn Memory (BLM) Reset, (see Note 1)

Bit 5 = IAC Motor Reset, (See Note 2)

Bit 6 = Clear Malfunction Codes, (See Note 1)

Bit 7 = Fuel Back-up (COP 2 not toggled, also forces Spark Backup)

1= Select Function or feature

0 = Deselect

Note 1: Block Learn Memory Reset and Malfunction Code clearing can only occur during the first pass through the Mode 4 logic.

Note 2: IAC Motor Reset can occur at any time while in Mode 4 logic, however, it can only occur once

4. Mode Control State Word

Bit 0 = Fuel C/L: I = C/L, 0 = Not C/L

Bit I = IAC C/L: 1 = C/L, 0 = Not C/L

Bit 2 = Not Used

Bit 3 = Not Used

Bit 4 = Not Used

5. PWM Output Control Enable Word

Bit 0 = EGR Output

Bit 1 = A/C Output

Bit 2 = TCC Output

Bit 3 = Not Used

Bit 4 = Not Used

Bit 5 = Not Used

Bit 6 = Not Used

Bit 7 = Waste Gate

6. PWM Output Duty Cycle (0 - 100%)

7. Function Modification Control Word

Bit 0 = IAC Modification: 1 = Selected

Bit 1 = IAC: 0 = Position; 1 = RPM

Bit 2 = A/F Modification: 1 = Selected

Bit 3 = Spark Modification: 1 = Selected

Bit 4 = Spark: 0 = A8S; 1 = Delta

Bit 5 = Spark: 0 = ADV; 1 = RTD

Bit 6 = Not Used

Bit 7 = Not Used

8.IAC Desired Position/Idle RPM

IAC Position (0 - 255) or RPM (0 - 3200)

9. Desired A/F Ratio

Open Loop A/F (0.0 - 25.5, N = A/F * 10)

10. Spark Absolute/Delta Modification (0 - 90 deg.)

6.2.6 ALDL Mode 7 (Command Normal Mode Message)

When the ALDL device requests Mode 7, the ECM will transmit the normal mode scheduler message specified in the request.

The ALDL device requests Mode 7 by sending the following message:

    • Message ID = $F0 Hex.
    • Message Length = 85 + 2 = 87 = $57 Hex.
    • Mode = $07 Hex.
    • ECM Scheduler Message Code (0-F)
    • Sum Check

The ECM will respond with the appropriate normal mode scheduler message if one exists for that particular scheduler message code.

7.0 ERROR DETECTION/REMEDIAL ACTION

If any of the following errors are detected the complete message is ignored and the serial data handler is put into the wake-up mode in preparation for the next message:

    • Overrun Error, indicates that one or more characters in the Data Stream were lost.
    • Framing Error, indicates that the Data Byte received was improperly framed by a start and stop bit
    • Device Code riot recognizable by ECM.
    • Data Byte Count received does not match Data Byte Count expected as defined in message control block.
    • Checksum Error, indicates calculated check sum does not match transmitted check sum.
    • Noise Error, indicates that one of three samples of the transmitted bit was different from other two.

8.0 SERIAL DATA TRANSMITTER SPECIFICATIONS

8.1 High Speed Serial Data Transmitter Specifications

Characteristics of the serial data output are as follows:

    • VOH GE 4.0V @ IOH = -2.5mA, VOH LE 5.1 V (max.)
    • VOL LE 0.9V @ IOL = 10.0 mA, VOL GE ECM. Ground (min.)

Serial Data Receiver Requirements

The following specifications are required to be met by any device transmitting serial data to the ECM:

    • VIH GE 3.1V, -360uA LE IIH LE -165uA **
    • VIH LE l6V, (absolute max. allowed)
    • VIL LE 1.7V, -360uA LE IIH LE -l65uA **
    • VIL GE -0.5V, (absolute min allowed)

*All voltages relative to ECM Ground and measured at ECM connector.

*All currents directed into ECM.

**Current levels defined by ECM receiver in tri-state mode.

Requiring each receiver to meet these specifications insures that the ECMs serial data output will drive at least eight receivers in parallel.

Figure 1 *F9OMST* SC: Message Schedule Table

Time Message

0 No Message

1 No Message

2 No Message

3 No Message

4 *F97*

5 No Message

6 No Message

7 No Message

8 No Message

9 No Message

A No Message

B No Message

C No Message

0 No Message

E No Message

F No Message

This table defines the order in which the Mode 0 (normal mode) ALDL transmit tables will be transmitted in the serial data stream.

In this application, the *F97* is transmitted every 200 msec.

Figure 2 *F97* Transmit Table for Mode 0 (Normal Mode).

Location Content

1 $F0

Figure 3 *F95* Mode 1 ALDL Transmit Table.

Loc. Variable Description

1 PROMIDA Last 4 digits of ECM serial #

2 PROMIDA+l

3 MALFFLG1 Bit 0 = MALF CODE 24 Vehicle Speed Sensor

Bit 1 = MALF CODE 23 Manifold Air Temperature Sensor Low

Bit 2 = MALF CODE 22 Throttle Position Sensor Low

Bit 3 = MALF CODE 21 Throttle Position Sensor High

Bit 4 = MALF CODE 15 Coolant Sensor Low Temperature

Bit 5 = MALF CODE 14 Coolant Sensor High Temperature

Bit 6 = MALF CODE 13 Oxygen Sensor

Bit 7 = MALF CODE 12 No Reference Pulses (Engine Not Running)

4 MALFFLG2 Bit 0 = MALF CODE 42 EST Monitor Error

Bit 1 = MALF CODE 41

Bit 2 = MALF CODE 35 IAC Error

Bit 3 = MALF CODE 34 MAP Sensor Low

Bit 4 = MALF CODE 33 MAP Sensor High

Bit 5 = MALF CODE 32 EVRV/EGR

Bit 6 = MALF CODE 31 Wastegate Overboost

Bit 7 = MALF CODE 25 Manifold Air Temperature Sensor High

5 MALFFLG3 Bit 0 = MALF CODE 55 ADV Error

Bit 1 = MALF CODE 54

Bit 2 = MALF CODE 53 High Battery Voltage

Bit 3 = MALF CODE 52

Bit 4 = MALF CODE 51 PROM Error

Bit 5 = MALF CODE 45 Oxygen Sensor Rich

Bit 6 = MALF CODE 44 Oxygen Sensor Lean

Bit 7 = MALF CODE 43 ESC Failure

6 COOLDEGA N = ((Degrees C) + 40) * 256/192

7 COOLTSU N = ((Degrees C) + 40) * 256/192

8 ADTHROT TPS Position in A/D Counts

9 NTPSLD N = (Percent Throttle) * 16/6.25

10 NTRPMX N = RPM/25

11 OLDREFPER N = 65536 * ISIRPM

12 OLDRFPER+1

13 FILTMPH (Integer) N = MPH * 256 (2 Byte Variable)

14 FILTMPH+1 (Fraction)

15 ADO2A N = Volts * 226

16 ALDLCNTR N = Counts

17 CORRCL N = Value * 128 (Simply a 0 to 2 multiplier)

18 BLM N = Value * 128 (Simple a 0 to 2 multiplier)

19 BLMCELL N = Cell (0 or 1 only)

20 INT N = Units

22 ISDWNA N = RPM/12.5

23 RAWADMAT Degrees C in A/D Counts

24 ADBAT N = Volts * 10

25 SAP N = Degrees * 256/90

26 SAP+1

27 SAC N = Degrees * 256/90

23 AOBARO N = kPa * 2.71 - 28.06

29 ADVAC N = kPa * 2.71 - 28.06

30 ADMAP N = kPa * 2.71 - 28.06

31 TREF N = Seconds * 80

32 BPW N = MSEC * 65.536

33 BPW+1

34 DESSPD N = RPM/12.5

35 ISDSMP N = Steps

36 OLDPA3

37 OLDPA3+l

38 NOCKRTD N = Degrees * 256/45

39 TIME N = Seconds

40 TIME+1

41 AFCR N = A/F Ratio * 10

42 EGRDES N = Percent (1 to 100 Percent)

43 EGRDC N = Percent (1 to 100 Percent)

44 AIRFLOW N = Grams/(4 * Second)

45 BSTPRESS N = kPa * 1.28

46 DESBOOST N = kPa * 1.28

47 LCKDLY N = Seconds * 10

48 APPW N = MSEC * 65.536

49 APPW+1

50 EGRDESA N = Percent (1 to 100 Percent

51 DBSTBASE N = kPa * 1.28

52 ADESCMON N = A/D Counts

53 EGRTITMR N = Seconds * 40

54 VE N = Percent * 2.56

55 AIRFUEL N = A/F Ratio * 10

56 WGATEDC N = Percent * 2.56

57 MWl Bit 0 Advance Flag (0 = Advance, 1 = Retard)

Bit 1 Vehicle Moving Flag (0 = At Rest)

Bit 2 Interrupt Service Execution Exceeded 6.25 MSEC

Bit 3 Premium Fuel Active Flag (1 = Active)

Bit 4 Road Speed 1st Time Flag (0 = First Time)

Bit 5 A/C Clutch Flag (1 = Disable)

Bit 6 1 = Bypass Check Enabled (EST Monitor)

Bit 7 Engine Running Flag (1 = Running)

58 MW2 Bit 0 Not Used

Bit 1 Road Speed Filter Exercise Flag

Bit 2 Reference Pulse Occurred (6.25 MSEC Check)

Bit 3 Diagnostic Switch In Factory Test Position

Bit 4 Diagnostic Switch In Diagnostic Position

Bit 5 Diagnostic Switch In ALDL Position

Bit 6 High Battery Voltage - Disable Solenoid Discretes

Bit 7 Old Cell Flag (Air/Fuel)

59 MW3 Bit 0 Loop Timing Flag For Timing Error Logic

Bit 1 1 = Synch Map Read With 2X REF Pulses Enabled

Bit 2 1 = 6X Enable Criteria Met Last 6.25 MS Loop

Bit 3 0 = IAC P/S First Time

Bit 4 1 = EGR On

Bit S 1 = A/C Disengaged At High RPM

Bit 6 1 = REF Pulse Occurred (Used For FILTRPM Logic)

Bit 7 1 = ESC Active

60 NVMW Bit 0 02 Sensor Ready Flag, 1 = Ready

Bit 1 Closed Loop Timer O.K. Flag, 1 = Timer O.K.

Bit 2 Motor Reset Complete (1 = Yes)

Bit 3 Improper Shutdown Flag, 0 = Proper, 1 = Improper.

Bit 4 Extended Throttle Cracker A/C Off Enabled Flag

Bit 5 IAC Kickdown Enable Flag, 1 = Enabled

Bit 6 Extended Throttle Cracker A/C On Enabled Flag

Bit 7 MALF 42 Fail Flag (EST Monitor)

61 FMIDBYTE1 Bit 0 Park/Neutral (1 = Drive)

Bit 1 Not Used

Bit 2 Vacuum (0 = Vacuum Present)

Bit 3 Power Steering (0 = Cramp)

Bit 4 VS Cooling Fan Discrete (1 = Fan Requested)

Bit 5 Not Used

Bit 6 Not Used

Bit 7 Air Conditioner (1 = A/C Requested)

62 LCCPMW Bit 0 Fan On

Bit 1 Check Engine Light Delay Flag

Bit 2 Power Steering Mode Flag (1 = Active)

Bit 3 MALF 42A Repeat Flag

Bit 4. ICC MPH HYST BIT

Bit 5 1ST Time Hot Flag

Bit 6 First Time Fan Run Flag (Used In IGN OFF Logic)

Bit 7 Transmission Locked Flag (1 = LOCKJP Enabled)

..Or Shift Light Status (1 = On)

63 MWAF1 Bit 0 Clear Flood Flag (1 = Cranked In Clear Flood Mode)

Bit 1 Learn Control Enable Flag (1 = Enable Store, 0 = Disable)

Bit 2 Low Battery IAC Inhibit Flag (1 = IAC Inhibited)

Bit 3 Not Used

Bit 4 Quast - Asynchronous Pulse Flag (QAP Flag)

Bit S First Time CIL Flag (1 = First Time)

Bit 6 Rich - Lean Flag (1 = Rich, 0 = Lean)

Bit 7 Closed Loop Flag (1 = Closed Loop, 0 = Open Loop)

NWSTP Forum © 1998-2011 NWSTP Go To Top Of Page
This page spooled up in 0.16 seconds Syclone and Typhoon By GMC Powered By: Snitz Forums 2000 Version 3.4.03
   

 


This Ring Site is owned by Sportmachines. Want to join the Ring?
[
Skip Prev] [Prev] [Next] [Skip Next] [Random] [Next 5] [List Sites
]