|
|
Line 7: |
Line 7: |
| == CAN Bus Messages == | | == CAN Bus Messages == |
| | | |
− | The following table gives an overview over all messages present on the CAN bus. Further detailed descriptions can be found below. | + | The following table gives an overview over all messages present on the CAN bus. Further detailed descriptions can be found below. The ID equals the CAN id that this message is transferred with, the Symbolic Constant is the name by which the corresponding ID is defined in the sources. |
| | | |
| {| border="1" cellpadding="5" cellspacing="0" | | {| border="1" cellpadding="5" cellspacing="0" |
Revision as of 15:50, 4 August 2010
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. The ID equals the CAN id that this message is transferred with, the Symbolic Constant is the name by which the corresponding ID is defined in the sources.
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
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
|
Actorboard
|
Semantics
|
The relative value of the brake. Two distinct signals exist for brakes on the left and right side; currently they both carry the same value. Ranges from 0 (brakes released) to 1000 (full break)
File:Brake conversion function.png
|
CANID_STEERING
CAN ID
|
0x25 and 0x125
|
Interval
|
~20ms, depends on remote transceiver (currently 17ms)
|
Producer
|
Sensorboard Steering (0x25) and ARM7 Board (0x125)
|
Consumer
|
Actorboard
|
Semantics
|
The desired value for the steering in 0.1° steps. Ranges from 0 (steering 30° left) over 300 (steering straight) to 600 (steering 30° right)
|
CANID_DISTANCE
CAN ID
|
0x30
|
Interval
|
10ms - 70ms, depends on distance (round trip time of sonic pulse). The farther the target, the longer it takes.
|
Producer
|
Sensorboard Distance
|
Consumer
|
Not yet specified
|
Semantics
|
An integer value, holding the distance to the next obstacle detected ahead in centimeters. Detector unit is the supersonic sensor SRF02.
- 0, if no obstacle has been detected (>6m or obstacle too small)
- 15-600, if obstacle in measurement range
- do not consider other values
|
CANID_ERROR
CAN ID
|
0x400
|
Interval
|
50ms
|
Producer
|
all
|
Consumer
|
Not yet specified
|
Semantics
|
Todo
|