CAN Bus

From ConceptCar
Revision as of 15:30, 4 August 2010 by Donald (Talk | contribs)

Jump to: navigation, search

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.

Messages present on the CAN Bus
ID (hex) ID Symbolic constant Short Description Source
0x008 8 CANID_WHEELSPEED_FL Rotation Speed Front Left Wheel Sensorboard Throttle
0x009 9 CANID_WHEELSPEED_FR Rotation Speed Front Right Wheel Sensorboard Steering
0x00a 10 CANID_WHEELSPEED_RL Rotation Speed Rear Left Wheel Sensorboard Steering
0x00b 11 CANID_WHEELSPEED_RR Rotation Speed Rear Right Wheel Sensorboard Throttle
0x00d 13 CANID_VOLTAGE Voltage of the electrical System Sensorboard Inertial
0x00e 14 CANID_RESETCOUNTER Number of Resets since last ECU flashing Sensorboard Inertial
0x010 16 CANID_INERTIAL_AX Longitudinal Acceleration Sensorboard Inertial
0x011 17 CANID_INERTIAL_AY Lateral Acceleration Sensorboard Inertial
0x012 18 CANID_ROTATION Rotation Speed Car Sensorboard Inertial
0x020 32 CANID_SELECTJUMPER Actorboard Source Selection Actorboard
0x022 34 CANID_THROTTLE Throttle from SensorBoard Sensorboard Throttle
0x122 290 CANID_THROTTLE_ARM7 Throttle from ARM7 Board ARM7 Board
0x023 35 CANID_BRAKEFL Front Left Brake Signal from SensorBoard Sensorboard Throttle
0x123 291 CANID_BRAKEFL_ARM7 Front Left Brake Signal from ARM7 Board ARM7 Board
0x024 36 CANID_BRAKEFR Front Right Brake Signal from SensorBoard Sensorboard Throttle
0x124 292 CANID_BRAKEFR_ARM7 Front Right Brake Signal from ARM7 Board ARM7 Board
0x025 37 CANID_STEERING Steering from SensorBoard Sensorboard Steering
0x125 293 CANID_STEERING_ARM7 Steering from ARM7 Board ARM7 Board
0x030 48 CANID_DISTANCE Front Distance (Ultrasonic Sensor) Sensorboard Distance
0x400 1024 CANID_ERROR Error Message ALL

CANID_WHEELSPEED

CAN ID 0x8 (FL), 0x9 (FR), 0xa (RL) and 0xb (RR)
Interval 50ms
Producer Sensorboard Steering (0x9 and 0xa) and Sensorboard Throttle (0x8 and 0xb)
Consumer Not yet specified
Semantics Todo

CANID_VOLTAGE

CAN ID 0xd
Interval 200ms
Producer Sensorboard Inertial
Consumer Not yet specified
Semantics The voltage of the battery driving the electrical system.

Voltage conversion function.png

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.
Acceleration conversion function.png

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.
Gyroscope conversion function.png

CANID_SELECTJUMPER

CAN ID 0x20
Interval 50ms
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 50ms
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 50ms
Producer Sensorboard Throttle (0x23 and 0x24) and ARM7 Board (0x123 and 0x124)
Consumer Not yet specified
Semantics Todo

CANID_STEERING

CAN ID 0x25 and 0x125
Interval 50ms
Producer Sensorboard Steering (0x25) and ARM7 Board (0x125)
Consumer Not yet specified
Semantics Todo

CANID_DISTANCE

CAN ID 0x30
Interval 50ms
Producer Sensorboard Distance
Consumer Not yet specified
Semantics Todo

CANID_ERROR

CAN ID 0x400
Interval 50ms
Producer all
Consumer Not yet specified
Semantics Todo