35
FTSPARK
ProductID
Identifies the product that has sent the
message. The lower the ProductID the higher
is the priority in the CAN bus. In the network
two devices that are the same type of product
ProductID (15 bits)
Bit 14 to 5 (10 bits)
Bits 4 to 0 (5 bits)
ProductTypeID
Unique identifier
Each product that wants to send data to the
CAN bus must have a unique identifier. Devices
that will only receive data from the CAN bus
doesn’t need to have a unique ID.
The ProductIDs are divided in priority ranges:
•
Critical priority: 0x0000 to 0x1FFF
•
High priority: 0x2000 to 0x3FFF
•
Medium priority: 0x4000 to 0x5FFF
•
Low priority: 0x6000 to 0x7FFF
A list with all the possible ProductTypeIDs is
presented later in this document.
DataFieldID
Identifies the type of data structure that is being
sent in the CAN FRAME -> DATA FIELD. There
are 4 possible data layouts:
•
0x00: Standard CAN data field
•
0x01: Standard CAN data field coming
from/going to a bus converter.
•
0x02: FTCAN 2.0 data field
•
0x03: FTCAN 2.0 data field coming from/
going to a bus converter.
10.3 IDENTIFICATION
Each product that wants to send data to the
CAN bus must have a unique identifier. Devices
that will only receive data from the CAN bus
don’t need to have a unique ID.
IDENTIFICATION (29 bits)
Bits 28 to
14 (15 bits)
Bits 13 to
11 (3 bits)
Bits 10 to 0
(11 bits)
ProductID
DataFieldID
MessageID
CAN FRAME
29 bits
0 to 8 bytes
IDENTIFICATION
DATA FIELD
10.1 Physical layer
CAN 2.0B extended mode
Rate: 1Mbps
10.2 Features
In this document we will approach the
implementation of a custom protocol (FTCAN)
running on top of a CAN 2.0B physical layer.
One main rain feature of the FTCAN protocol is
to provide a means to segment a large stream
of data into many smaller CAN packets. We will
consider a CAN FRAME as indicated below:
(two O2 sensors for example) cannot have the
same ProductID. In order to differentiate two
products of the same type the ProductID bits
are divided as show below.