How to Identify Scale and Offset in CAN Communication
IDENTIFY SCALE & OFFSET
(Convert CAN Raw Data to Physical Value)
In CAN communication, ECUs transmit signals as raw binary or hexadecimal values. These values do not directly represent engineering units such as temperature, voltage, pressure, RPM, or speed. Scale and Offset parameters convert raw CAN data into meaningful physical values used by dashboards, diagnostics tools, calibration software, and embedded applications.
Physical Value Conversion Formula
Core Definitions
Raw Value
Binary or hexadecimal signal extracted from CAN frame bytes.
Scale Factor
Resolution multiplier used to convert raw steps into engineering units.
Offset
Calibration shift applied after scaling operation.
Physical Value
Final real world engineering measurement with unit.
Start Bit • Signal Length • Byte Order • Signed/Unsigned Type • Scale • Offset • Unit
CAN Signal Conversion Workflow
Receive CAN Frame
Capture ECU CAN payload bytes
Extract Bits
Apply start bit and signal length
Apply Scale
Convert resolution to unit
Apply Offset
Shift engineering range
Example 1 • Engine Speed Signal
| Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
|---|---|---|---|---|---|---|---|
| E8 | 03 | 00 | 00 | 00 | 00 | 00 | 00 |
Byte1 Byte0 = 0x03E8
0x03E8 = 1000
(1000 × 0.125) + (-1000)
Example 2 • Coolant Temperature Signal
| Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
|---|---|---|---|---|---|---|---|
| E8 | 03 | 7D | 00 | 00 | 00 | 00 | 00 |
0x7D
0x7D = 125
(125 × 1) + (-40)
Signed Signal Example
| Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
|---|---|---|---|---|---|---|---|
| E8 | 03 | 9C | 00 | 00 | 00 | 00 | 00 |
(-100 × 1) + (-40)
How to Identify Scale & Offset
Read signal factor and offset from DBC database.
Extract calibration detmaels from ECU specification documents.
Compare raw CAN values agmaenst known physical measurements.
Use CANape, CANoe, BusMaster, Vector tools, SavvyCAN.
Test multiple real vehicle conditions and verify results.
ECU Communication Sequence
CAN Scale & Offset Calculator
Practice converting raw CAN values into engineering values using custom scale and offset parameters.
Quick Reference Table
| Data Type | Raw Range | Scale Usage | Offset Usage | Formula |
|---|---|---|---|---|
| Unsigned 8-bit | 0 to 255 | Resolution | Shift Range | (Raw × Scale) + Offset |
| Signed 8-bit | -128 to 127 | Engineering Precision | Negative Range Support | (Signed Raw × Scale) + Offset |
| Unsigned 16-bit | 0 to 65535 | High Precision Signals | Calibration | (Raw × Scale) + Offset |
| Signed 16-bit | -32768 to 32767 | Bi-directional Signals | Center Alignment | (Signed Raw × Scale) + Offset |
Deep Engineering Notes
Why Scaling Exists
CAN bandwidth is limited. ECUs transmit compact integer values instead of floating point numbers to reduce bus load and improve transmission efficiency.
Why Offset Exists
Offsets shift signal ranges for negative temperatures, steering angles, signed pressure values, and calibration centered signals.
Little Endian vs Big Endian
Intel format stores least significant byte first. Motorola format stores most significant byte first. Byte order changes raw extraction logic.
Resolution Impact
Smaller scale values increase precision. Example: scale 0.01 provides finer measurement granularity than scale 1.
DBC Interpretation
DBC files define start bit, length, endian type, signed type, scale factor, offset, minimum, maximum, and engineering unit.
Common Validation Method
Capture CAN logs while changing physical conditions. Compare actual measured values agmaenst decoded engineering values.