ASAP Standard
CCP
CAN Calibration Protocol
Version 2.1
Version
Date
Status
Author
Distribution
2.1
18. February 1999
Release
H. Kleinknecht
public
Co-Authors V2.1:
Hewlett Packard
Andreas Krüger
Hans-Georg Kunz Mannesmann VDO
Ralf Maier
Hans Schröter
Rainer Zaiser
ETAS
Daimler-Benz
Vector Informatik
ASAP
Arbeitskreis zur Standardisierung von Applikationssystemen
Standardization of Application/Calibration Systems task force
representing
AUDI AG, BMW AG, Mercedes-Benz AG, Porsche AG, Volkswagen AG and
AVL List GesmbH, Robert Bosch GmbH, ETAS GmbH & Co. KG, Kleinknecht,
Siemens AG, Vector Informatik GmbH, Softing GmbH, VDO AG.
CAN Calibration Protocol
Version 2.1, 18-feb-99
Contents
1 Introduction.............................................................................................................1
1.1 ASAP................................................................................................................................................1
1.2 CAN Calibration Protocol (CCP)...................................................................................................1
2 Scope and field of application...............................................................................2
3 Related documents................................................................................................2
4 Revision history......................................................................................................2
5 Definitions and Abbreviations...............................................................................4
6 Protocol definition..................................................................................................5
6.1 Generic Control Commands.........................................................................................................5
6.2 Data Acquisition Commands........................................................................................................5
7 Message Objects....................................................................................................6
7.1 Organisation of Message Objects................................................................................................6
7.2 Description of Message Objects..................................................................................................7
7.2.1 Command Receive Object CRO..............................................................................................7
7.2.2 Data Transmission Object DTO...............................................................................................7
7.3 Organisation of Data Acquisition.................................................................................................9
8 Version Mechanism..............................................................................................12
9 Version compatibility...........................................................................................12
10 Table of Command Codes.................................................................................13
11 Table of Command Return Codes....................................................................14
12 Description of Commands.................................................................................15
12.1 Connect.......................................................................................................................................15
12.2 Exchange Station Identifications.............................................................................................16
12.3 Get Seed for Key........................................................................................................................18
12.4 Unlock Protection......................................................................................................................19
12.5 Set Memory Transfer Address..................................................................................................20
12.6 Data Download...........................................................................................................................21
12.7 Data Download 6 Bytes.............................................................................................................22
12.8 Data Upload................................................................................................................................23
12.9 Short Upload...............................................................................................................................24
12.10 Select Calibration Data Page..................................................................................................25
12.11Get Size of DAQ list..................................................................................................................26
12.12 Set DAQ list pointer.................................................................................................................27
Page i
CAN Calibration Protocol
Version 2.1, 18-feb-99
12.13 Write DAQ list entry.................................................................................................................28
12.14 Start / Stop Data transmission................................................................................................29
12.15 Disconnect................................................................................................................................30
12.16 Set Session Status...................................................................................................................31
12.17 Get Session Status..................................................................................................................32
12.18 Build Checksum.......................................................................................................................33
12.19 Clear Memory...........................................................................................................................34
12.20 Program....................................................................................................................................35
12.21 Program 6 Bytes.......................................................................................................................36
12.22 Move memory block................................................................................................................37
12.23 Diagnostic Service...................................................................................................................38
12.24 Action Service..........................................................................................................................39
12.25 Test Availability........................................................................................................................40
12.26 Start / Stop Synchronised Data transmission......................................................................41
12.27 Get currently active Calibration Page...................................................................................42
12.28 Get implemented Version of CCP.........................................................................................43
13 Error Handling....................................................................................................44
14 Example Sequences...........................................................................................45
14.1 Session log-in.............................................................................................................................45
14.2 Block DownLoad........................................................................................................................45
14.3 Block UpLoad.............................................................................................................................45
14.4 Calibration Data Initialization....................................................................................................46
14.5 DAQ List Initialization................................................................................................................46
14.6 Code Update...............................................................................................................................46
15 Expected Performance Ratings........................................................................47
16 Appendices.........................................................................................................48
16.1 Matrix of Error Codes................................................................................................................48
16.2 Broadcast Techniques in Multi-point Applications................................................................49
Page ii
CAN Calibration Protocol
Version 2.1, 18-feb-99
11 Introduction
Introduction
1.11.1
ASAPASAP
The ASAP task force (Arbeitskreis zur Standardisierung von Applikationssystemen; English
translation: Standardization of Application/Calibration Systems task force) has been
founded by the companies Audi AG, BMW AG, Mercedes-Benz AG, Porsche AG and
Volkswagen AG. European manufacturers of automation, test and development systems for
the automotive industry as well as manufacturers of electronic control units have joined this
task force.
The world of automotive
into complex electronic system
configurations to meet the increased requirements in the area of legislated exhaust gas
limits, environmental pollution protection, security systems, driving performance and body
equipment options. Some automotive manufacturers use in vehicle distributed control
systems supported by networks.
To develop this new generation of automotive electronics, new and high sophisticated
software, calibration, measurement and diagnosis equipment has to be used. At this time
almost no standards exist in the area of software interfaces for such devices. Each
company has its proprietary systems and interfaces to support the development of these
high end configurations.
technology has grown
Therefore, the mission of ASAP is to reach mutual agreement and standardization in
• automation, modularisation and compatibility of all equipment to do measurement,
calibration and diagnosis, and
• manage the creation of a cost reasonable and sensible tool supplier market.
1.21.2
CAN Calibration Protocol (CCP)
CAN Calibration Protocol (CCP)
The Controller Area Network CAN is a joint development of Robert Bosch GmbH and Intel
Corporation. CAN is used in many high-end automotive control systems like engine
management as well as in industrial control systems. Controller chips for CAN are available
from various semiconductor manufacturers.
The CAN Calibration Protocol is part of the ASAP standards. It was developed and
introduced by Ingenieurbüro Helmut Kleinknecht, a manufacturer of calibration systems,
and is used in several applications in the automotive industry. The CCP was taken over by
the ASAP working group and enhanced with optional functions.
Page 1
CAN Calibration Protocol
Version 2.1, 18-feb-99
22 Scope and field of application
Scope and field of application
This document specifies the CAN Calibration Protocol CCP, as defined by the work group
within the ASAP task force.
The CCP defines the communication of controllers with a master device using the CAN
2.0B (11-bit and 29-bit identifier), which includes 2.0A (11-bit identifier) for
1. data acquisition from the controllers,
2. memory transfers to and control functions in the controllers for calibration.
Providing these functions the CCP may be used in the areas of
• development of electronic control units (ECU)
• systems for functional and environmental tests of an ECU,
•
test systems and test stands for the controlled devices (combustion engines,
gearboxes, suspension systems, climatic control systems, body systems, anti-locking
systems),
• on-board test and measurement systems of pre-series vehicles, and
• any non-automotive application of CAN-based distributed electronic control systems.
33 Related documents
Related documents
Specifications and data sheets from Intel Corporation:
• 82527 Serial Communications Controller Datasheet (Intel #272250)
• 82527 Serial Communications Controller Architectural Overview (Intel #272410)
•
Introduction to the Controller Area Network (CAN) Protocol (Intel #270962)
Note
Initial release from
Ingenieurbüro Helmut
Kleinknecht
ASAP work group
44 Revision history
Revision history
Revision Date
1.0
30 - Sep - 1992
Item(s) changed
1.01b
07 - Dec - 1995 Working draft, with the following optional
commands added
- EXCHANGE_ID
- GET_SEED
- UNLOCK
- GET_DAQ_SIZE
- SET_DAQ_PTR
- WRITE_DAQ
- ACTION_SERVICE
and the return / error codes
- Key request
- Session status request
- Cold start request
- Cal. data init. request
- DAQ list init. request
- code update request
- access locked
Page 2
CAN Calibration Protocol
Version 2.1, 18-feb-99
Revision Date
1.02
26 - Apr - 1996
2.0
14 - June - 1996
Item(s) changed
- Explanation of DAQ lists
- Extended description incl. examples
- MOVE command added
- PROGRAM command added
- Command STORE_CYCLE removed,
- Command DNLOAD_6 added,
- Command PROGRAM_6 added,
- Block size in BUILD_CHKSUM,
- Memory size in CLEAR_MEMORY,
- Return information GET_DAQ_SIZE,
- Timeout for BUILD_CHKSUM
Note
Draft for discussion in
ASAP work group
Result of ASAP work
group meeting;
Document status:
Release
Prop. 2.01 16 - March- 1998 commands modified
EXCHANGE_ID :
GET_SEED :
START_STOP : Evt.Chnl, Prescaler
BUILD_CHECKSUM :size
commands added
TEST
GET_CCP_VERSION
GET_ACT_CAL_PAGE
START_STOP_ALL
item removed:
WCO WakeUp/Connect Object
Draft for discussion in
ASAP work group
Document status:
Draft
Draft 2.1
23 - June - 1998 Chapter Version mechanism added
Chapter Version compatibility added
DOWNLOAD6 classed optional
SHORTUP classed optional
Appendix Matrix of Error Codes added
Result of ASAP work
group meeting;
Document status:
Draft
2. 1
18 - Feb - 1999
All changes Prop. 2.01 and Draft 2.1
active.
Document status:
Release / public
Page 3
CAN Calibration Protocol
Version 2.1, 18-feb-99
55
Definitions and Abbreviations
Definitions and Abbreviations
CAN
CCP
CRO
CRM
DAQ
DTO
ECU
Controller Area Network : communications protocol (in ISO/OSI model level 1 + 2)
developed and maintained by Robert Bosch GmbH. The protocol is designed to
manage multiplexed communications between multiple CPUs. It is control information
oriented, uses non-destructive bit-wise arbitration to decide, which node "owns" the
bus, and has a message priority scheme based on the value of the message
identifier transmitted with each message.
CAN Calibration Protocol: Developed by Ingenieurbüro Helmut Kleinknecht and
adopted by the ASAP task force as a standard protocol for data acquisition and
calibration.
Command Receive Object : message sent from the master device to the slave
device(s).
Command Return Message : one type of message sent from the slave device to the
master device containing command / error code and command counter.
Data Acquisition : definition of a procedure and messages sent from the slave device
to the master device for fast data acquisition from an ECU..
Data Transmission Object : message sent from the slave device to the master device
(Command Return Message or Event Message or Data Acquisition Message).
Electronic Control Unit : an electronical device with a central processing unit
performing programmed functions with its peripheral circuitry.
Message Object
A message transfered on the CAN, which is sent from a transmitting ECU to any
receiving / listening ECU. The coding of the data contained in the message is
"known" by the receiving ECUs. A message object's data can be 0 to 8 bytes.
Message Frame
Message Frame is a synonymous name for Message Object in the recent literature
on CAN.
Master and slave devices
A set of controllers connected via CAN exchanges Message Objects. An additional,
'external' controller connected to the network, which communicates with one or more
of these controllers and issues commands to them, here is called a master device
(host). The controllers in the existing network receiving commands are called 'slave
devices'.
ODT
Object Descriptor Table : list of elements (variables), used for organisation of data
acquisition.
Page 4
CAN Calibration Protocol
Version 2.1, 18-feb-99
66 Protocol definition
Protocol definition
The CAN Communication Protocol used for Calibration and Data Acquisition is a master-
slave type communication. A master device is connected with one or more slave devices on
the CAN:
Master
device
CAN
Slave
device
Slave
device
Slave
device
Configuration of Master and Slave devices
The master device (host) is a calibration tool or a diagnostic / monitoring tool or a
measurement system initiating the data transfer on the CAN by sending commands to the
slave devices. The CCP implementation supports commands for generic control with
primitive memory transfers and for data acquisition. These two parts (function sets) of the
communication protocol are independant and may run asynchroneously, depending on the
implementation in the slave controller. It is also possible that messages of both parts are
transmitted in nested order.
6.16.1
Generic Control Commands
Generic Control Commands
The commands are used to carry out functions with and in the slave device. For this
purpose a continuous logical connection is established between the master device and any
other station on CAN (slave device). This logical connection is valid until another station is
selected or the current station is explicitly disconnected via command.
After the initializing logical connection has been made, data transfers from the master
device to the slave device and from the slave device to the master device are controlled by
the master device.
All commands from the master device have to be prompted by the selected slave device
with a handshake message (command return code or error code).
6.26.2
Data Acquisition Commands
Data Acquisition Commands
These protocol commands are used for continuous data acquisition from a slave device.
Any CAN node may periodically transmit internal data corresponding to a list that has been
configured by control commands from the master device. Data transmission is initiated by
the master device and executed by the slave device and may be dependant on a fixed
sampling rate and / or may be event driven (e.g. crank position).
Page 5