CAN Bus Configuration
The communication in the Concept Car is implemented via a high-speed (1Mbit/s) CAN-Bus (Controller-area network), featuring a message based protocol. Each message has a message identifier to distinguish between different message types. CAN standard 2.0A is applied, so the message identifiers are 11 bits wide, allowing 2048 distinct messages. Further details about the CAN-Bus can be found in [ZS08].
In the ConceptCar, only messages with the length of 4 Bytes, which are interpreted as an unsigned integer number, are used. How the message data has to be interpreted depends only on the message identifier, further details are given in the next section.
CAN Bus Messages
The following table gives an overview over all messages present on the CAN bus. Further detailed descriptions can be found below.
CANID_WHEELSPEED
CANID_VOLTAGE
CAN ID
|
0xd
|
Interval
|
200ms
|
Producer
|
Sensorboard Inertial
|
Consumer
|
Not yet specified
|
Semantics
|
The voltage of the battery driving the electrical system.
|
CANID_RESETCOUNTER
CAN ID
|
0xe
|
Interval
|
Once at boot time of the Sensorboard Inertial
|
Producer
|
Sensorboard Inertial
|
Consumer
|
Not yet specified
|
Semantics
|
An integer with the number of times the Sensorboard Inertial has been booted.
|
CANID_INERTIAL
CAN ID
|
0x10 (longitudinal) and 0x11 (lateral)
|
Interval
|
20ms
|
Producer
|
Sensorboard Inertial
|
Consumer
|
Not yet specified
|
Semantics
|
The longitudinal and lateral acceleration of the car, measured with the ADIS16006 accelerometer.
|
CANID_ROTATION
CAN ID
|
0x12
|
Interval
|
20ms
|
Producer
|
Sensorboard Inertial
|
Consumer
|
Not yet specified
|
Semantics
|
The rotation speed of the car around its axis, measured with the ADIS16100 gyroscope.
|
CANID_SELECTJUMPER
CAN ID
|
0x20
|
Interval
|
1s, and sent when switch on Actorboard has been toggled.
|
Producer
|
Actorboard
|
Consumer
|
Not yet specified
|
Semantics
|
Binary value, announces which source the Actorboard is configured to use.
- 0 if the source is from the Sensorboards Steering and Throttle (thus CAN ids 0x22 to 0x25)
- 1 if the the source is the Controlboard (thus CAN ids 0x122 to 0x125).
See #CANID_THROTTLE, #CANID_STEERING and #CANID_BRAKE.
|
CANID_THROTTLE
CAN ID
|
0x22 and 0x122
|
Interval
|
~20ms, depends on remote transceiver (currently 17ms)
|
Producer
|
Sensorboard Throttle (0x22) and ARM7 Board (0x122)
|
Consumer
|
Not yet specified
|
Semantics
|
Todo
|
CANID_BRAKE
CAN ID
|
0x23 and 0x123 (left), 0x24 and 0x124 (right)
|
Interval
|
~20ms, depends on remote transceiver (currently 17ms)
|
Producer
|
Sensorboard Throttle (0x23 and 0x24) and ARM7 Board (0x123 and 0x124)
|
Consumer
|
Not yet specified
|
Semantics
|
Todo
|
CANID_STEERING
CANID_DISTANCE
CANID_ERROR
CAN ID
|
0x400
|
Interval
|
50ms
|
Producer
|
all
|
Consumer
|
Not yet specified
|
Semantics
|
Todo
|