Se rendre au contenu

Protocoles de transport, diagnostic et calibration

Au-dessus de la couche physique CAN, plusieurs protocoles standardisés permettent le transport de messages volumineux, le diagnostic des calculateurs et la calibration en temps réel. Voici les quatre protocoles les plus utilisés dans l'industrie automobile.

ISO-TP (ISO 15765-2) — Transport sur CAN

Le protocole CAN limite chaque trame à 8 octets de données (64 octets en CAN FD). ISO-TP (Transport Protocol) résout cette limitation en permettant de segmenter et réassembler des messages de grande taille (jusqu'à 4 095 octets) sur un réseau CAN.

Mécanisme de segmentation

ISO-TP définit quatre types de trames :

TypeRôleContenu
Single Frame (SF)Message court (< 8 octets)Données complètes en une seule trame
First Frame (FF)Début d'un message longTaille totale + premiers octets de données
Consecutive Frame (CF)Suite du messageNuméro de séquence + bloc de données suivant
Flow Control (FC)Contrôle de fluxLe récepteur indique combien de CF il peut accepter et à quel intervalle

ISO-TP est la couche de transport obligatoire pour les protocoles de diagnostic UDS et OBD-II sur CAN. PEAK-System propose l'API PCAN-ISO-TP pour intégrer ce protocole dans vos applications.

UDS (ISO 14229) — Diagnostic unifié

UDS (Unified Diagnostic Services) est le protocole de diagnostic standardisé pour les calculateurs automobiles. Il fonctionne au-dessus d'ISO-TP et définit un ensemble de services de requête/réponse permettant de communiquer avec n'importe quel ECU de manière uniforme.

Services principaux

ServiceIDUsage
DiagnosticSessionControl0x10Basculer entre sessions (default, programming, extended)
ECUReset0x11Redémarrer le calculateur
ReadDataByIdentifier0x22Lire un paramètre (numéro de série, version firmware, etc.)
WriteDataByIdentifier0x2EÉcrire un paramètre (configuration, calibration)
ReadDTCInformation0x19Lire les codes défaut (DTC) mémorisés
ClearDiagnosticInformation0x14Effacer les codes défaut
RoutineControl0x31Lancer une routine (test actionneur, auto-diagnostic)
RequestDownload / TransferData0x34 / 0x36Flasher un nouveau firmware dans l'ECU
SecurityAccess0x27Déverrouiller les fonctions protégées (seed-and-key)

UDS est utilisé sur toutes les chaînes de production automobile pour la programmation de fin de ligne, la lecture de codes défaut en atelier, et les mises à jour firmware. PEAK-System propose l'API PCAN-UDS pour implémenter un client ou serveur UDS.

CCP (CAN Calibration Protocol) — Calibration sur CAN

CCP est un protocole standardisé par l'ASAM (Association for Standardisation of Automation and Measuring Systems) permettant la calibration et la mesure de paramètres sur les calculateurs automobiles via le bus CAN.

Principes de fonctionnement

  • Architecture maître-esclave — un outil de calibration (maître) communique avec un ECU (esclave) via deux identifiants CAN dédiés (CRO et DTO).
  • Accès mémoire direct — le maître peut lire et écrire dans la mémoire du calculateur (RAM, Flash, EEPROM) pour modifier les cartographies moteur en temps réel.
  • Listes DAQ — mécanisme de mesure périodique : le maître configure des listes d'adresses mémoire, et l'esclave envoie cycliquement les valeurs correspondantes, permettant l'acquisition de données en temps réel.
  • Flashage — CCP permet aussi de reprogrammer le firmware du calculateur.

PEAK-System propose l'API PCAN-CCP pour intégrer ce protocole. Cependant, CCP a été progressivement supplanté par XCP, son successeur plus flexible.

XCP (Universal Measurement and Calibration Protocol) — Successeur de CCP

XCP, également standardisé par l'ASAM, est le successeur universel de CCP. Son innovation majeure : la séparation entre le protocole et la couche de transport, le rendant indépendant du bus de communication.

Transports supportés

TransportAbréviationUsage typique
CAN / CAN FDXCP on CANMigration directe depuis CCP, compatibilité bus existant
EthernetXCP on EthernetHaut débit pour véhicules modernes, jusqu'à 1 Gbit/s
USBXCP on USBConnexion directe PC-ECU en développement
SxI (RS-232, SPI)XCP on SxISystèmes embarqués à interface série

Fonctionnalités clés

  • DAQ (Data Acquisition) — mesure synchrone de variables internes de l'ECU à haute fréquence, avec horodatage précis.
  • STIM (Stimulation) — injection de valeurs dans les variables de l'ECU pour simuler des conditions de fonctionnement.
  • Calibration en ligne — modification de paramètres (cartographies, gains, seuils) pendant que le calculateur fonctionne, avec concept de page mémoire (working page / reference page).
  • Flash Programming — reprogrammation du firmware du calculateur.

XCP est aujourd'hui le standard de l'industrie pour le développement et la calibration moteur, supporté par tous les grands outils (INCA, CANape, ETAS). PEAK-System propose l'API PCAN-XCP pour intégrer ce protocole.

Comparaison des protocoles

CritèreISO-TPUDSCCPXCP
RôleTransportDiagnosticCalibrationCalibration
StandardISO 15765-2ISO 14229ASAMASAM
TransportCAN uniquementSur ISO-TPCAN uniquementCAN, Ethernet, USB, SxI
Taille message4 095 octetsVariable (via ISO-TP)8 octets CANVariable selon transport
API PEAKPCAN-ISO-TPPCAN-UDSPCAN-CCPPCAN-XCP
Neutralisé