Difference between revisions of "CAN Bus"
(→CANID_SELECTJUMPER) |
(→CANID_DISTANCE) |
||
Line 246: | Line 246: | ||
|-valign="top" | |-valign="top" | ||
|'''Interval''' | |'''Interval''' | ||
− | | | + | |10ms - 70ms, depends on distance (round trip time of sonic pulse). The farther the target, the longer it takes. |
|-valign="top" | |-valign="top" | ||
|'''Producer''' | |'''Producer''' | ||
Line 255: | Line 255: | ||
|-valign="top" | |-valign="top" | ||
|'''Semantics''' | |'''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 | ||
|} | |} | ||
Revision as of 15:36, 4 August 2010
Contents
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.
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.![]() |
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.
|
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
CAN ID | 0x25 and 0x125 |
Interval | ~20ms, depends on remote transceiver (currently 17ms) |
Producer | Sensorboard Steering (0x25) and ARM7 Board (0x125) |
Consumer | Not yet specified |
Semantics | Todo |
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.
|
CANID_ERROR
CAN ID | 0x400 |
Interval | 50ms |
Producer | all |
Consumer | Not yet specified |
Semantics | Todo |