
Réseau GMLAN sur Saab 9-3 NG : P-bus, I-bus, O-bus et diagnostic
Quand on branche un outil de diagnostic sur une Saab 9-3 NG et qu'on met le contact, on découvre vite une évidence : la voiture est un ensemble de modules qui se parlent en continu. Le terme GMLAN (GM LAN) désigne une architecture de communication véhicule basée sur une famille de bus ; côté GM, elle s'appuie sur le protocole CAN et décline des liens à vitesses d'échanges différentes selon les usages.
Trois réseaux à comprendre sur la 9-3 NG
Dans la documentation Saab, on retrouve une séparation très claire :
P-bus (Powertrain)
Bus orienté groupe motopropulseur et sécurité, avec un débit élevé : 500 kbps. C'est ici que l'ECM dialogue avec l'ABS/ESP pour les fonctions de contrôle de trajectoire.
I-bus (Instrumentation)
Bus habitacle/instrumentation, plus "confort", avec un débit plus faible : 33 kbps.
O-bus (Optical bus)
Bus optique en anneau, principalement pour l'audio/infodivertissement. Il est décrit comme un réseau fibre "en circuit fermé", et la documentation donne une vitesse de transmission de l'ordre de 25 Mbit/s.
Le CIM : la passerelle et le pare-feu intelligent
Sur cette architecture, le CIM sert de passerelle entre P-bus et I-bus : il transfère des informations d'un réseau vers l'autre. Au-delà de la simple passerelle, il agit comme un pare-feu intelligent, filtrant et traduisant les priorités entre le bus rapide (500k) et le bus lent (33k). C'est une raison simple pour laquelle une panne "colonne / CIM" peut provoquer des symptômes très variés : ce n'est pas seulement une pièce de commande, c'est un point de transit critique.
Functional vs physical : comprendre l'adressage
Sur un bus véhicule, on distingue deux méthodes d'interrogation :
- L'ID fonctionnel (0x101) : Utilisé pour le réveil global et les requêtes adressées à tous les modules simultanément. L'utilisation de l'octet d'extension FE permet une sommation broadcast efficace pour identifier la présence de tous les nœuds sur le bus.
- Les Arbitration IDs physiques : Des identifiants spécifiques à chaque module pour un diagnostic ciblé (ex: 0x245 pour le CIM).
Notez l'exception notable de l'ECM (Bosch PSG16) qui utilise des IDs décalés (0x7E0 / 0x7E8), un vestige de son architecture spécifique héritée de l'ingénierie moteur Bosch.
Diagnostic et Maintien de Session
Pour maintenir une session de diagnostic ouverte et empêcher les modules de repasser en mode normal, l'outil envoie périodiquement le service Tester Present (3E). Ce "battement de cœur" est indispensable lors des phases de lecture de données ou de programmation. Pour les flux de données massifs, comme la lecture des codes défauts, le système bascule sur des IDs en 5XX (DTCs), se distinguant ainsi des IDs de réponse standard en 6XX.
ISO-TP (ISO 15765-2) : transporter des messages longs
Une trame CAN classique a une charge utile limitée à 8 octets. Pour transporter des données plus longues (diagnostic, identifiants, lectures), on utilise la couche ISO-TP.
Le récepteur cadence l'émetteur via le mécanisme de Flow Control (30 00 00). Cette règle de priorité évite la saturation de la mémoire tampon de l'ECU en forçant l'émetteur à attendre l'autorisation avant d'envoyer les trames consécutives (Consecutive Frames).
Bit stuffing et synchronisation physique
Le CAN utilise un mécanisme de synchronisation qui impose l'insertion d'un bit complémentaire (stuff bit) après cinq bits identiques. En ingénierie Saab, on lie souvent cela au padding 0x55 (alternance 0101). Cette astuce physique garantit un maximum de transitions sur le bus, assurant ainsi une synchronisation parfaite des horloges des contrôleurs sur les messages très longs.
"Comprendre le bus, c'est apprendre à lire une logique d'ensemble - pas seulement à collectionner des codes défaut."
Preview : Le futur du diagnostic indépendant
Voici un aperçu des outils en cours de développement, permettant une analyse granulaire des fichiers binaires et des trames GMLAN. Cette interface permet de décoder la structure des en-têtes et les routines d'adressage pour automatiser les futurs outils de l'atelier.
Interface pour générer des fichiers utilitaires (.bin) spécifiques, dédiés à des opérations de maintenance comme le mariage ou le divorce de modules, à utiliser avec GM DPS.
Interface de diagnostic temps réel communiquant réellement avec le véhicule via un agent PassThru personnalisé, permettant une lecture enrichie et des tests de routine.
Maîtriser ce 'charabia' technique est le sésame qui m'a permis de transformer une simple interface en un véritable couteau suisse pour nos Saab. C'est grâce à cette architecture que je commence à développer des fonctions autrefois réservées aux ateliers officiels : le mariage immédiat d'un calculateur moteur PSG16 d'occasion, le divorce d'un CIM ou d'un écran ICM3, et même la lecture enrichie des codes défauts avec les procédures de test du WIS. En comprenant comment la voiture discute, je suis convaincu qu'il est possible de faire une alternative sérieuse aux outils d'origine qui deviennent inaccessibles.
Références et vérifications :
- GMLAN = architecture GM basée sur CAN (publication GM TechLink).
- P-bus 500 kbps et I-bus 33 kbps + CIM passerelle (WIS).
- O-bus : optique, usage audio ; anneau fermé ; 25 Mbit/s (doc Saab) + description WIS.
- ISO-TP : Flow Control (30 00 00) et adressage (ISO 15765-2).
- Arbitration IDs Saab : 0x101 (Functional), 0x7E0 (PSG16 ECM).