0% found this document useful (0 votes)
92 views22 pages

ChryslerCCDSCIScanner UART Protocol

This document describes the UART protocol used by the Chrysler CCD/SCI scanner for communication. It includes details on frame formatting, frame bytes like data code and sub-data code, and examples of common frame types like reset, handshake, and status requests and responses. Frames are transmitted at 250,000 baudrate using NRZ encoding and include fields for length, codes, payload, and checksum. The data code byte indicates the frame source, target, and command while the sub-data code extends the command meaning. Status responses include vehicle module signatures and scanner configuration data.

Uploaded by

Eduardo Blanco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views22 pages

ChryslerCCDSCIScanner UART Protocol

This document describes the UART protocol used by the Chrysler CCD/SCI scanner for communication. It includes details on frame formatting, frame bytes like data code and sub-data code, and examples of common frame types like reset, handshake, and status requests and responses. Frames are transmitted at 250,000 baudrate using NRZ encoding and include fields for length, codes, payload, and checksum. The data code byte indicates the frame source, target, and command while the sub-data code extends the command meaning. Status responses include vehicle module signatures and scanner configuration data.

Uploaded by

Eduardo Blanco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Chrysler CCD/SCI Scanner V1.

4X UART Protocol

Chrysler CCD/SCI Scanner


UART Protocol
V1.4X

Last update: 2020.09.09

1. Frame format
Start of End of
Frame length Frame description Data
frame frame
LENGTH LENGTH DATA SUB-DATA
SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 DA A9
3D 00 06 05 02 9D
0D
Table 1. Frame format example (hex numbers implied).

SYNC byte: fixed value at the beginning of every frame (3D).

LENGTH bytes: number of bytes following (not including these two) until the
CHECKSUM byte is reached. Maximum frame length is limited to 1024 bytes.
Size: 2 bytes.

DATA CODE byte: describes the source, target and command. Size: 1 byte.

SUB-DATA CODE byte: command extension if the command alone is not enough to
describe the purpose of the frame. Size: 1 byte

PAYLOAD byte(s): optional. Arbitrary data can be stored here. Size: limited to a
maximum of 1024-6=1018 bytes.

CHECKSUM byte: all bytes, except SYNC, summed up, lower byte of the result is
placed here for error detection. Size: 1 byte.

Frame transmission and reception is realized via +5V logic serial communication
with non-return-to-zero (NRZ) encoding at 250000 baudrate either trough the USB
or FTDI connector.

2. Frame bytes in detail


2.1 DATA CODE byte description
DATA CODE byte

Source Target Command

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0

0 0 1 0 0 1 1 0

Table 2. DATA CODE byte description.

Bit 7:6 – Source of the frame: Bit 5:4 – Target of the frame:
00b: USB 00b: USB
01b: CCD 01b: CCD
10b: PCM 10b: PCM
11b: TCM 11b: TCM

1
Chrysler CCD/SCI Scanner V1.4X UART Protocol

USB: the scanner/laptop itself.


CCD: all modules on CCD-bus.
PCM: engine controller on SCI-bus.
TCM: transmission controller on a separate SCI-bus. This channel is currently
unused. TCMs mainly communicate on the CCD-bus and can be reached there for
diagnostics purposes.

Bit 3:0 – Command


0000b (00): Reset
0001b (01): Handshake
0010b (02): Status
0011b (03): Settings
0100b (04): Request
0101b (05): Response
0110b (06): Message TX
0111b (07): Message RX
1000b-1101b (08-0D): reserved
1110b (0E): Debug
1111b (0F): OK/Error

2.2 SUB-DATA CODE byte description


Individual bits have no special meaning. Different commands have different SUB-
DATA CODE bytes associated with them. When not used it always reads 00,
otherwise this value extends the meaning of the DATA CODE byte.

3. Frame examples
3.1 Reset (command: 00)
Applicable SUB-DATA CODE bytes (modes):
00: initiate scanner reset.
01: scanner reset done.
02-FF: reserved.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 00 00 02

Table 3. Reset scanner request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 03 00 00 00 03

Table 4. Scanner is being reset frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 03 00 01 00 04

Table 5. Scanner reset complete frame.

Note that the scanner never sends a communication packet without payload but
accepts them without one. In a response made by the scanner at least a single 00
byte is included and it generally means success.

2
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.2 Handshake (command: 01)


Applicable SUB-DATA CODE bytes (modes):
00: request handshake only.
01: request handshake, hardware/firmware information and scanner status.
02-FF: reserved.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 01 00 03

Table 6. Handshake request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 01 01 04

Table 7. Handshake request frame with additional information.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
43 48 52
59 53 4C
45 52 43
3D 00 17 01 00 43 44 53 37
43 49 53
43 41 4E
4E 45 52
Table 8. Handshake response frame.

PAYLOAD contains an ASCII encoded text:


43 48 52 59 53 4C 45 52 43 43 44 53 43 49 53 43 41 4E 4E 45 52 =
CHRYSLERCCDSCISCANNER

A third party software should look for a response like this when searching for
the scanner among many serial devices.

Another 2 separate frames are sent by the scanner when additional information is
requested: 1 hardware/firmware version and 1 status frame.

3.3 Status (command: 02)


No sub-data code byte/mode is applicable here, reads always 00.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 02 00 04

Table 9. Status request frame.

3
Chrysler CCD/SCI Scanner V1.4X UART Protocol

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
1E 98 01
01 31 31
00 1E AC
AE 0B B2
00 00 00
51 00 00
00 00 00
3D 00 2E 02 00 00 00 00 9D
91 00 00
00 0C 00
00 00 0C
01 27 14
04 14 01
02 13 88
00 32
Table 10. Status response frame.

PAYLOAD offset:
00-02: AVR signature (1E 98 01 for ATmega2560).
03: external EEPROM present (00: false, 01: true).
04: external EEPROM checksum.
05: external EEPROM calculated checksum.
06-09: current timestamp in milliseconds.
0A-0B: RAM usage out of 8192 bytes.
0C: connected to vehicle (00: false, 01: true).
0D-0E: measured vehicle battery voltage (multiplied by 100).
0F: CCD-bus status byte:
Bit 7:6 – bus id bits, reads 01b for CCD-bus.
Bit 5: – change settings bit, reads always 0b (0b: keep, 1b: change).
Bit 4: – state bit (0b: disabled, 1b: enabled).
Bit 3: – logic bit, reads always 0b (0b: non-inverted, 1b: inverted).
Bit 2: – termination and bias (TB) bit (0b: disabled, 1b: enabled).
Bit 1:0 – baudrate bits (00b: 976.5, 01b: 7812.5, 10b: 62500, 11b:
125000), reads always 01b as the only known communication
speed for CCD-bus.
10-13: number of CCD-bus messages received.
14-17: number of CCD-bus messages sent.
18: SCI-bus (PCM) status byte:
Bit 7:6 – bus id bits, reads 10b for the PCM.
Bit 5: – change settings bit (0b: keep settings, 1b: change settings).
Bit 4: – state bit (0b: disabled, 1b: enabled).
Bit 3: – logic bit (0b: non-inverted, 1b: inverted).
Bit 2: – OBD configuration bit (0b: A, 1b: B).
Bit 1:0 – baudrate bits (00b: 976.5, 01b: 7812.5, 10b: 62500, 11b:
125000), 7812.5 and 62500 baud are most commonly used.
19-1C: number of SCI-bus (PCM) messages received.
1D-20: number of SCI-bus (PCM) messages sent.
21: LCD state (00: disabled, 01: enabled).
22: LCD I2C address.
23: LCD width in characters.
24: LCD height in characters.
25: LCD refresh rate in Hz.
26: LCD units (00: imperial, 01: metric).
27: LCD data source (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).
28-29: LED heartbeat interval in milliseconds.
2A-2B: LED blink duration in milliseconds.

4
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.4 Settings (command: 03)


Applicable SUB-DATA CODE bytes (modes):
01: heartbeat / LED behavior.
02: set CCD-bus.
03: set SCI-bus.
04: set repeat behavior.
05: set LCD.
00,06-FF: reserved.

3.4.1 Heartbeat / LED behavior mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
13 88 00
3D 00 06 03 01 D7
32
Table 11. Change heartbeat / LED behavior setting frame.

PAYLOAD offset:
00-01: heartbeat interval in milliseconds, 5000 ms = 13 88.
02-03: blink duration for all LEDs in milliseconds, 50 ms = 00 32.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 13 88
3D 00 07 03 01 D8
00 32
Table 12. Heartbeat / LED behavior setting response frame.

PAYLOAD offset:
00: setting state (00: ok, FF: error).
01-02: heartbeat interval in milliseconds.
03-04: LED blink duration in milliseconds.

3.4.2 Set CCD-bus mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 03 02 01 00 0A

Table 13. Change CCD-bus setting frame.

PAYLOAD offset:
00: CCD-bus state (00: disabled, 01: enabled).
01: internal CCD-bus termination and bias state (00: disabled,
01: enabled). This feature is available for V1.44+ hardware versions only.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 05 03 02 00 01 00 0B

Table 14. CCD-bus setting response frame.

PAYLOAD offset:
00: setting state (00: ok, FF: error).
01: CCD-bus state.
02: internal CCD-bus termination and bias state.

5
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.4.3 Set SCI-bus mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 03 03 03 B1 BA

Table 15. Change SCI-bus setting frame.

PAYLOAD offset:
00: SCI-bus status:
Bit 7:6 – bus id bits, reads 10b for the PCM (11b for TCM).
Bit 5: – change settings bit (0b: keep settings, 1b: change settings).
Bit 4: – state bit (0b: disabled, 1b: enabled).
Bit 3: – logic bit (0b: non-inverted, 1b: inverted).
Bit 2: – OBD configuration bit (0b: A, 1b: B).
Bit 1:0 – baudrate bits (00b: 976.5, 01b: 7812.5, 10b: 62500, 11b: 125000)

Example: B1 = 10110001b
10b: PCM
1b: change settings
1b: enabled state
0b: non-inverted logic
0b: A-configuration
01b: 7812.5 baudrate

The 5th change settings bit must always be set, otherwise the scanner ignores
the request.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 03 03 00 91 9B

Table 16. SCI-bus setting response frame.

PAYLOAD offset:
00: setting state (00: ok, FF: error).
01: SCI-bus state.

Example: 91 = 10010001b
10b: PCM
0b: keep settings
1b: enabled state
0b: non-inverted logic
0b: A-configuration
01b: 7812.5 baudrate

The 5th change settings bit is necessarily cleared if it comes as a response.

3.4.4 Set repeat behavior mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 00 64
3D 00 07 03 04 75
00 02
Table 17. Change repeat behavior setting frame.

6
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).
01-02: message repeat interval in milliseconds, 100 ms = 00 64.
03-04: message increment for every repeat, 2 = 00 02.

When message repeating is enabled the scanner uses the interval set here for
message timing. Message incrementing is applicable to a specific B2-request
message only.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 01 00
3D 00 08 03 04 76
64 00 02
Table 18. Repeat behavior setting response frame.

PAYLOAD offset:
00: setting state (00: ok, FF: error).
01: target bus.
02-03: message repeat interval in milliseconds.
04-05: message increment for every repeat.

3.4.5 Set LCD mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 27 14
3D 00 09 03 05 04 14 01 68
02
Table 19. Change LCD setting frame.

PAYLOAD offset:
00: state (00: disabled, 01: enabled).
01: I2C address, 27 (hex).
02: character width, 14: 20 characters.
03: character height, 04: 4 characters.
04: refresh rate in Hz, 14: 20 Hz.
05: units (00: imperial, 01: metric).
06: data source (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 01 27
3D 00 0A 03 05 14 04 14 69
01 02
Table 20. LCD setting response frame.

PAYLOAD offset:
00: setting state (00: ok, FF: error).
01-07: current LCD settings, refer to Table 19’s PAYLOAD offset.

LCD settings are saved to the external EEPROM.

7
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.5 Request/Response (command: 04/05)


Applicable SUB-DATA CODE bytes (modes):
01: hardware/firmware information.
02: timestamp.
03: battery voltage.
04: external EEPROM checksum.
05: CCD-bus voltages.
00,06-FF: reserved.

3.5.1 Hardware/Firmware information request mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 04 01 07

Table 21. Hardware/Firmware information request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 8C 00
00 00 00
5B 7B EA
33 00 00
3D 00 1C 05 01 00 00 5C 60
02 56 AF
00 01 00
00 5F 19
B9 2A
Table 22. Hardware/Firmware information response frame.

PAYLOAD offset:
00-01: hardware version, 00 8C = 140 -> v1.40.
02-09: hardware date, 00 00 00 00 5B 7B EA 33:
64-bit UNIX time (2018.08.21 12:32:19).
0A-11: assembly date, 00 00 00 00 5C 02 56 AF:
64-bit UNIX time (2018.12.01 10:38:55).
12-09: firmware version/date:
00 01 00 00: major minor patch (build) -> v0.1.0(.0),
5F 19 B9 2A: 32-bit UNIX time (2020.07.23 18:22:02).

3.5.2 Timestamp request mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 04 02 08

Table 23. Timestamp request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 F2 03
3D 00 06 05 02 26
23
Table 24. Timestamp response frame.

8
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00-03: milliseconds elapsed since last reset:
01 F2 03 23 = 32637731 ms = 09:03:57.731 (HH:mm:ss.fff).

3.5.3 Battery voltage request mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 04 03 09

Table 25. Battery voltage request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 06 05 03 04 E0 F2

Table 26. Battery voltage response frame.

PAYLOAD offset:
00-01: battery voltage multiplied by 100, 04 E0 = 1248 = 12.48 V.

3.5.4 External EEPROM checksum request mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 04 04 0A

Table 27. External EEPROM checksum request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 05 05 04 01 AE AE 6B

Table 28. External EEPROM checksum response frame.

PAYLOAD offset:
00: checksum state (00: error, 01: ok).
01: stored checksum, AE.
02: calculated checksum, AE.

3.5.5 CCD-bus voltages request mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 04 05 0B

Table 29. CCD-bus voltages request frame.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 F8 00
3D 00 06 05 05 04
FC
Table 30. CCD-bus voltages response frame.

9
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00-01: CCD+ wire voltage multiplied by 100, 00 F8 = 248 = 2.48 V.
02-03: CCD- wire voltage multiplied by 100, 00 FC = 252 = 2.52 V.

CCD-bus wire voltage measuring is available for V1.44+ hardware versions only.

3.6 Message TX/RX (command: 06/07)


Applicable SUB-DATA CODE bytes (modes):
01: stop message transmission.
02: send a single message once.
03: send a list of messages once.
04: send a single message repeatedly.
05: send a list of messages repeatedly.
00,06-FF: reserved.

3.6.1 Stop message transmission mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 02 16 01 19

Table 31. Stop message transmission request frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 01 00 01 0C

Table 32. Stop message transmission response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

3.6.2 Send a single message once mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
E4 00 00
3D 00 06 16 02 E6
E4
Table 33. Send a single message once frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

PAYLOAD bytes(s):
E4 00 00 E4: message to be transmitted on the target bus.

10
Chrysler CCD/SCI Scanner V1.4X UART Protocol

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 02 00 01 0D

Table 34. Send a single message once acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

This response frame acknowledges that the message transmission request has been
processed and the message is waiting in the transmit buffer.
Normally transmission occurs almost immediately and a second frame is
received containing a timestamp and the received message.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 53 88
3D 00 0A 47 02 06 E4 00 FC
00 E4
Table 35. Message received frame.

DATA CODE byte:


47 = 01010110b
01b: source – CCD-bus
00b: target – USB
0111b: command – message Rx

PAYLOAD offset:
00-03: timestamp in milliseconds, 00 53 88 06 = 5474310 ms = 01:31:14.310.
04-07: received message from source bus, E4 00 00 E4.

This type of frame is received for every kind of transmission modes regardless
of list transmission and message repeating.

3.6.3 Send a list of messages once mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 02 04
24 00 00
3D 00 0E 16 03 41
24 04 E4
00 00 E4
Table 36. Send a list of messages once frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

PAYLOAD offset:
00: message iteration state (00: disabled, 01: enabled), for this mode it reads
always 00.
01: number of messages in the list, 02: 2 messages.

11
Chrysler CCD/SCI Scanner V1.4X UART Protocol

02: first message length, 04: 4 bytes.


03-06: first message to be transmitted on the target bus, 24 00 00 24.
07: second message length.
08-0B: second message to be transmitted on the target bus, E4 00 00 E4.

The list goes on similarly: every message is preceded with its length.

The delay value between messages is taken from the repeat behavior settings,
which is 100 ms by default.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 03 00 01 0E

Table 37. Send a list of messages once acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

The following frames are marked as single messages described in Table 35.

3.6.4 Send a single message repeatedly mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 01 04
3D 00 09 16 04 24 00 00 70
24
Table 38. Send a single message repeatedly frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

PAYLOAD offset:
00: message iteration state (00: disabled, 01: enabled).
01: number of messages in the list, 01: 1 message.
02: message length, 04: 4 bytes.
03-06: message to be transmitted on the target bus, 24 00 00 24.

The delay between messages is taken from the repeat behavior settings, which is
100 ms by default.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 04 00 01 0F

Table 39. Send a single message repeatedly acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

12
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.6.4.1 Send iterated messages mode


This is a special mode in which start/end messages are provided and the start
message is incremented for every repeat until the ending message is reached.
For CCD-bus the B2-request message can be incremented only. SCI-bus is more
flexible but still limited to a maximum of 4-bytes message length. This special
mode is useful for automatic ROM readings or when a range of values need to be
read once.
The delay between messages and the increment value is taken from the repeat
behavior setting. Defaults: delay = 100 ms, increment = 2 for CCD-bus, 1 for
SCI-bus. CCD-bus message increment is 2 because for one ROM value request
actually two bytes are returned and it is enough to read every second address.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 01 06
B2 20 22
3D 00 11 16 04 00 00 F4 FD
B2 20 22
FF FE F1

Table 40. Send iterated messages to the CCD-bus frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

PAYLOAD offset:
00: message iteration state (00: disabled, 01: enabled).
01: number of messages in the list, 01: 1 message.
02: message length, 06: 6 bytes.
03-08: starting message to be transmitted on the target bus, B2 20 22 00 00 F4.
09-0E: ending message to be transmitted on the target bus, B2 20 22 FF FE F1.

Note that the message length only appears once. Also in this special case only
the 4th and 5th bytes (known as request/response parameters) are considered for
incrementing.

This particular example requests ROM values from the Body Control Module (BCM).
Its ROM has a 16-bit address space so requested addresses range between 00 00
and FF FE. Since the response message (F2) has also two parameters therefore 2
bytes are returned: 1 byte at the requested ROM location and the next byte.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 04 00 01 0F

Table 41. Send iterated messages to the CCD-bus acknowledgment frame.

13
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 01 04
26 00 00
3D 00 0D 26 04 88
00 26 01
FF FF
Table 42. Send iterated messages to the SCI-bus frame.

DATA CODE byte:


26 = 00100110b
00b: source – USB
10b: target – SCI-bus (PCM)
0110b: command – message Tx

PAYLOAD offset:
00: message iteration state (00: disabled, 01: enabled).
01: number of messages in the list, 01: 1 message.
02: message length, 04: 4 bytes.
03-08: starting message to be transmitted on the target bus, 26 00 00 00.
09-0E: ending message to be transmitted on the target bus, 26 01 FF FF.

Note that the message length only appears once. Possible message lengths are
1-4 bytes.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 04 00 02 10

Table 43. Send iterated messages acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

3.6.5 Send a list of messages repeatedly mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 02 04
24 00 00
3D 00 0E 16 05 43
24 04 E4
00 00 E4
Table 44. Send a list of messages repeatedly frame.

DATA CODE byte:


16 = 00010110b
00b: source – USB
01b: target – CCD-bus
0110b: command – message Tx

14
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00: message iteration state (00: disabled, 01: enabled).
01: number of messages in the list, 02: 2 messages.
02: first message length, 04: 4 bytes.
03-06: first message to be transmitted on the target bus, 24 00 00 24.
07: second message length.
08-0B: second message to be transmitted on the target bus, E4 00 00 E4.

The list goes on similarly: every message is preceded with its length.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 06 04 00 01 0F

Table 45. Send a list messages repeatedly acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

3.7 Debug (command: 0E)


Applicable SUB-DATA CODE bytes (modes):
01: generate random CCD-bus messages.
02: read internal EEPROM byte.
03: read internal EEPROM block.
04: read external EEPROM byte.
05: read external EEPROM block.
06: write internal EEPROM byte.
07: write internal EEPROM block.
08: write external EEPROM byte.
09: write external EEPROM block.
00,0A-FF: reserved.

3.7.1 Generate random CCD-bus messages mode


This feature is useful for bench-testing the scanner’s internal CCD-bus
circuits. However, the random generated messages may confuse modules on a live
CCD-bus network. Use this debug mode carefully.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
01 00 64
3D 00 07 0E 01 70
01 F4
Table 46. Send random CCD-bus messages frame.

PAYLOAD offset:
00: state (00: disabled, 01: enabled).
00-01: minimum interval in milliseconds between two random messages,
00 64 = 100 ms.
02-03: maximum interval in milliseconds between two random messages,
01 F4 = 500 ms.

Minimum interval should be no less than 20 ms because CCD-bus load is near 100%
at this value. Message lengths are fixed between 3 and 6 bytes to make the
messages look more authentic.

15
Chrysler CCD/SCI Scanner V1.4X UART Protocol

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 0E 01 00 01 14

Table 47. Send random CCD-bus messages acknowledgment frame.

PAYLOAD offset:
00: acknowledgment state (00: ok, FF: error).
01: target bus (01: CCD-bus, 02: SCI-bus PCM, 03: SCI-bus TCM).

3.7.2 Read internal EEPROM byte mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 0E 02 00 00 14

Table 48. Read internal EEPROM byte frame.

PAYLOAD offset:
00-01: internal EEPROM offset, 00 00.

Possible offset for the ATmega2560 MCU range between 00 00 and 0F FF (4 kB).

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 02 16
00
Table 49. Read internal EEPROM byte response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: internal EEPROM offset.
03: value at the given offset, 00.

3.7.3 Read internal EEPROM block mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 03 19
02
Table 50. Read internal EEPROM block frame.

PAYLOAD offset:
00-01: internal EEPROM offset, 00 00.
02-03: number of bytes to read, 00 02 = 2 bytes.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 07 0E 03 18
00 00
Table 51. Read internal EEPROM block response frame.

16
Chrysler CCD/SCI Scanner V1.4X UART Protocol

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: internal EEPROM offset.
03: value at the given offset, 00.
04: value at next address, 00.
XX: value at a further consecutive address.

3.7.4 Read external EEPROM byte mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 04 0E 04 00 00 16

Table 52. Read external EEPROM byte frame.

PAYLOAD offset:
00-01: external EEPROM offset, 00 00.

Possible offsets for the 24LC32A chip range between 00 00 and 0F FF (4 kB).

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 04 18
00
Table 53. Read external EEPROM byte response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: external EEPROM offset.
03: value at the given offset, 00.

3.7.5 Read external EEPROM block mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 05 1B
02
Table 54. Read external EEPROM block frame.

PAYLOAD offset:
00-01: external EEPROM offset, 00 00.
02-03: number of bytes to read, 00 02 = 2 bytes.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 07 0E 05 A6
00 8C
Table 55. Read external EEPROM block response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: external EEPROM offset.
03: value at the given offset, 00.
04: value at next address, 8C.
XX: value at a further consecutive address.

17
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.7.6 Write internal EEPROM byte mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 05 0E 06 00 00 00 19

Table 56. Write internal EEPROM byte frame.

PAYLOAD offset:
00-01: internal EEPROM offset, 00 00.
02: value to write, 00.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 06 16
00
Table 57. Write internal EEPROM byte response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: internal EEPROM offset.
03: value confirmation at the given offset, 00.

3.7.7 Write internal EEPROM block mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 07 1B
00
Table 58. Write internal EEPROM block frame.

PAYLOAD offset:
00-01: internal EEPROM offset, 00 00.
02: value to write at offset, 00.
03: value to write at next address, 00.
XX: further value to write at next consecutive address.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 07 0E 07 1C
00 00
Table 59. Write internal EEPROM block response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: internal EEPROM offset.
03: EEPROM value confirmation at the given offset, 00.
04: EEPROM value confirmation at the next address, 00.
XX: value confirmation at next consecutive address.

18
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.7.8 Write external EEPROM byte mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE

3D 00 05 0E 08 00 00 00 1B

Table 60. Write external EEPROM byte frame.


PAYLOAD offset:
00-01: external EEPROM offset, 00 00.
02: value to write, 00.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 08 1C
00
Table 61. Write external EEPROM byte response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: external EEPROM offset.
03: EEPROM value confirmation at the given offset, 00.

3.7.9 Write external EEPROM block mode

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 06 0E 09 A9
8C
Table 62. Write external EEPROM block frame.

PAYLOAD offset:
00-01: external EEPROM offset, 00 00.
02: value to write at offset, 00.
03: value to write at next address, 8C.
XX: further value to write at next consecutive address.

LENGTH LENGTH DATA SUB-DATA


SYNC PAYLOAD CHECKSUM
HB LB CODE CODE
00 00 00
3D 00 07 0E 09 AA
00 8C
Table 63. Write external EEPROM block response frame.

PAYLOAD offset:
00: response state (00: ok, FF: error).
01-02: external EEPROM offset.
03: value confirmation at the given offset, 00.
04: value confirmation at next address, 00.
XX: value confirmation at next consecutive address.

19
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.8 Error (command: 0F)


Applicable SUB-DATA CODE bytes (modes):
01: invalid frame length value.
02: invalid DATA CODE byte command.
03: invalid SUB-DATA CODE byte value.
04: invalid PAYLOAD values.
05: invalid frame checksum value.
06: frame timeout occurred.
07: buffer overflow.
08-F6: reserved.
F7: not enough MCU RAM.
F8: no response from SCI-bus high-speed memory table.
F9: invalid SCI-bus high-speed memory table.
FA: no response from SCI-bus high-speed mode.
FB: external EEPROM not found.
FC: external EEPROM read error.
FD: external EEPROM write error.
FE: internal error.
FF: fatal error.

3.8.1 Invalid frame length value mode


Due to the ATmega2560 microcontroller’s limited RAM size the maximum receivable
frame length is limited to 1024 bytes. Also the minimum meaningful frame length
is 6 bytes. Whenever these conditions are violated (frame length less then 6
bytes or more than 1024 bytes) the scanner sends this error frame back to the
host computer.

3.8.2 Invalid DATA CODE byte command mode


When unused/reserved commands (08-0D) are being called this error frame is sent
as a response.

3.8.3 Invalid SUB-DATA CODE byte value mode


Depending on the particular command when unused/reserved modes are being called
this error frame is sent as a response.

3.8.4 Invalid PAYLOAD values mode


If a frame sent to the scanner does not contain the required number of payload
bytes then this error frame is sent as a response. More payload bytes are not a
problem, because the scanner discards extra bytes and processes the necessary
bytes only.

3.8.5 Invalid frame checksum value mode


The scanner verifies every received frame by calculating what the checksum byte
at the end of the frame should be. If this value does not equal to the received
checksum byte then this error frame is sent as a response.

3.8.6 Frame timeout occurred mode


When the scanner received the frame length bytes it calculates how much more
bytes it should receive until the frame ends. If the remaining frame bytes do
not arrive within 100 milliseconds then this error frame is sent back to the
host computer.

3.8.7 Buffer overflow mode


Whenever an applicable buffer in the scanner firmware tries to store more data
than its size then this error frame is sent as a response.

20
Chrysler CCD/SCI Scanner V1.4X UART Protocol

3.8.8 Not enough MCU RAM mode


Due to the ATmega2560 microcontroller’s limited RAM size there is a certain
upper limit of the length of outgoing frames. This length is calculated every
time before a frame is assembled to avoid freezing and RAM issues. Whenever such
event occurs the MCU returns this error frame before anything bad could happen.
Easiest way to trigger this error if several kilobytes of EEPROM data are
requested at once.

3.8.9 No response from SCI-bus high-speed memory table mode


Not all memory tables are accessible through the high-speed mode of the SCI-bus.
When no echo is heard from a memory table this error frame is sent as a
response.

3.8.10 Invalid SCI-bus high-speed memory table mode


Valid high-speed mode memory tables range between F0 and FF, except FE which
makes the engine controller return to low-speed mode. If values other than that
are received by the scanner as first message byte then this error frame is sent
as a response.
It is worth noting that the engine controller itself does not mind if a RAM
value request message does not start with a memory table identifier. This
condition is enforced to make every request/response message as clear as
possible.

3.8.11 No response from SCI-bus high-speed mode


In high-speed mode if a RAM value cannot be read within a certain timeout limit
(5-20 milliseconds) then this error frame is sent as a response.

3.8.12 External EEPROM not found mode


The diagnostic scanner uses an external EEPROM chip for settings storage and it
is initialized every time the scanner resets. If the chip cannot be initialized
at startup then this error frame is sent.

3.8.13 External EEPROM read error mode


If the external EEPROM cannot be read for some reason then this error frame is
sent as a response.

3.8.14 External EEPROM write error mode


If the external EEPROM cannot be written for some reason then this error frame
is sent as a response.

3.8.15 Internal error mode


When the scanner experiences an unhandled timeout this error frame is sent back
to the host computer.

3.8.16 Fatal error mode


When something goes horribly wrong in the firmware of the diagnostic scanner,
then this error frame is sent back to the host computer.

21
Chrysler CCD/SCI Scanner V1.4X UART Protocol

4. Revision history
2020.09.01: original.

2020.09.09:
- add: LCD I2C address to status response (Table 10),
- add: LCD I2C address to LCD settings (Table 19 and 20).

22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy