π Understanding CDD File in UDS Diagnostics.
In automotive diagnostics projects, one file that every validation engineer works with almost daily is:
π CDD File
Whether it is:
β UDS Testing
β CANoe Diagnostics
β ECU Validation
β Flashing Activities
β DTC Verification
β Automation Testing
CDD becomes one of the most important files during the entire validation cycle.
But in many projects, engineers use CDD files daily without clearly understanding:
β’ What exactly CDD contains
β’ How CANoe uses it internally
β’ Why diagnostics fail when wrong CDD is loaded
β’ How sessions, DIDs, NRCs, and security access are linked with CDD
β’ Why diagnostics debugging becomes difficult without proper CDD understanding
And in real projects, many diagnostics issues are not actually ECU software problems.
Most of the time, root cause comes from:
β Wrong DID configuration
β Session mismatch
β NRC mapping issue
β Incorrect scaling
β Wrong security configuration
β Old CDD version
That is why understanding CDD deeply is very important for every diagnostics engineer.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ What Exactly is a CDD File?
CDD stands for:
π CANdela Diagnostic Description
It is a diagnostics database file used mainly in Vector tools like:
β CANoe
β CANalyzer
β CANdelaStudio
A CDD file defines complete UDS diagnostics behavior of an ECU.
In simple words:
π CDD acts like a diagnostics dictionary between ECU and CANoe.
Without CDD:
CANoe only sees raw hexadecimal diagnostic communication.
With CDD:
CANoe understands:
β
DID Names
β
Diagnostic Sessions
β
NRCs
β
Security Access
β
Routine Definitions
β
DTC Information
β
Physical Parameters
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ Why CDD is Important in Diagnostics Testing?
During diagnostics testing, ECU communication happens completely in hexadecimal format.
Example:
Request:
22 F1 90
Response:
62 F1 90 54 45 53 54 56 49 4E
Without CDD:
Tester only sees hexadecimal bytes.
With proper CDD:
CANoe directly displays:
β
VIN Number
Now imagine diagnostics validation with:
β’ Hundreds of DIDs
β’ Multiple ECUs
β’ Multiple software variants
β’ Different sessions
β’ Security-protected services
Without CDD:
Diagnostics testing becomes almost impossible.
That is why every diagnostics tester heavily depends on proper CDD configuration.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ What Information Exists Inside a CDD File?
CDD does not only contain DID names.
It contains complete diagnostics behavior of an ECU.
Mainly it contains:
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 1. Diagnostic Services
CDD defines all UDS services supported by ECU.
Examples:
β’ 0x10 β Diagnostic Session Control
β’ 0x11 β ECU Reset
β’ 0x22 β ReadDataByIdentifier
β’ 0x2E β WriteDataByIdentifier
β’ 0x27 β Security Access
β’ 0x31 β Routine Control
β’ 0x19 β ReadDTCInformation
These services are used daily during diagnostics validation.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 2. DIDs (Data Identifiers)
DIDs are used to read ECU-related information.
Examples:
β’ F190 β VIN Number
β’ F188 β Software Version
β’ F187 β ECU Part Number
Example:
Request:
22 F1 88
Response:
62 F1 88 31 2E 30 2E 35
With CDD:
CANoe directly displays:
β
Software Version = 1.0.5
Without CDD:
Tester needs manual decoding.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 3. Diagnostic Sessions
One of the most important areas during diagnostics testing.
Not every service works in Default Session.
Some services require:
β Extended Session
β Programming Session
Example:
Request:
10 03
Positive Response:
50 03
Now ECU enters Extended Session.
Only after entering correct session:
β’ Certain DIDs become accessible
β’ Routines execute properly
β’ Security access becomes active
Many βService Not Supportedβ issues during testing are actually caused by:
π Wrong diagnostic session.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 4. Security Access
Certain services are protected because OEMs do not want unauthorized access.
Examples:
β’ Flashing
β’ Variant Coding
β’ Calibration Updates
Get Koteswara Rao Paraβs stories inΒ yourΒ inbox
Join Medium for free to get updates fromΒ thisΒ writer.
Typical flow:
Seed Request:
27 01
Seed Response:
67 01 12 34
Then tester sends calculated key:
27 02 XX XX
If security configuration inside CDD is wrong:
β Security unlock fails.
This is one of the most common diagnostics integration issues.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 5. NRC (Negative Response Codes)
During diagnostics testing, ECU may reject requests.
Example:
Request:
22 F1 AA
Response:
7F 22 31
Meaning:
7F β Negative Response
22 β Requested Service
31 β Request Out Of Range
CDD helps CANoe properly decode NRC information.
Without proper NRC mapping:
Debugging becomes difficult.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 6. Routine Control
RoutineControl (0x31) is heavily used during:
β Flashing
β ECU Self-Test
β Memory Erase
β Calibration Activities
Example:
Request:
31 01 FF 00
Positive Response:
71 01 FF 00
CDD defines:
β’ Routine IDs
β’ Input Parameters
β’ Output Parameters
β’ Session dependency
β’ Security dependency
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 7. DTC Information
CDD also contains:
β DTC Definitions
β Fault Descriptions
β Failure Conditions
Example:
ECU reports:
P0123
CANoe directly displays:
β
Throttle Position Sensor High Input
instead of raw hexadecimal data.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
## β 8. Scaling and Units
Some DIDs contain raw numerical values.
CDD defines:
β Factor
β Offset
β Units
Example:
Battery Voltage Raw Value:
120
Factor:
0.1
Actual Voltage:
12V
Without scaling:
Raw data becomes meaningless.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ How CDD Helps During CANoe Diagnostics Testing?
During diagnostics validation, CDD helps CANoe:
β Automatically decode responses
β Display readable DID names
β Interpret NRCs
β Handle sessions
β Execute routines
β Support diagnostics automation
β Generate diagnostics panels
Without CDD:
Most diagnostics activities become manual and time-consuming.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ One Common Real-Time Issue β Wrong CDD Version
This is probably one of the biggest issues during diagnostics integration.
Software team updates:
β’ DID definitions
β’ Security configuration
β’ Session requirements
β’ NRC behavior
But validation team accidentally uses old CDD.
Now CANoe starts showing:
β Wrong DID decoding
β Missing services
β Incorrect parameters
β Security failures
β Automation script failures
Eventually root cause becomes:
π Wrong CDD Version
This happens very frequently during vehicle integration phases.
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
# πΉ Difference Between DBC and CDD
Many beginners confuse DBC and CDD.
## β DBC
Used for:
β CAN signal decoding
Contains:
β’ CAN IDs
β’ Signals
β’ Scaling
β’ Byte Order
## β CDD
Used for:
β UDS diagnostics decoding
Contains:
β’ Diagnostic Services
β’ DIDs
β’ Sessions
β’ Security Access
β’ NRCs
β’ DTC Information
Both are importantβ¦
but both solve different problems.





