Je veut attaqué mon voiture (WV BORA) via le bus CAN, alors, je cherche a trouver les commandes (le protocole s'il y a un standard) pour l'accès aux informations stockés dans l'ordinateur de bord.
Merci
-----
20/04/2010, 11h32
#2
Calou80
Date d'inscription
avril 2010
Messages
51
Re : Bus can
Bonjour,
Tout dépend des informations que tu souhaites récuperer.
Pour une info de distance parcourue ou conso instantannée (peut être), c'est disponible sur le CAN en mode pooling (émission de trames CAN périodiquement)
Pour d'autres infos, il faut certainement passé par le protocole CCP mais qui impose d'avoir certains fichiers issus de la compilation (mapping des variables accessibles en acqui ou en calibration) et, sauf si tu connais quelqu'un chez VAG/Audi ou Jonhson Control (si c'est eux qui fournissent le tableau de bord), impossible à trouver.
Le CAN pooling est définit par le standard CAN 2.0A ou 2.0B. Les messages sont indentifiés par un Id codée sur 11 bits (CAN2.0A ou standard) ou 28 bits (CAN2.0B ou étendu) classés par priorités (plus c'est petit, plus c'est prioritaire).
La vitesse de bus est, dans la majorité des cas, de 500Kbits/s (facilement vérifiable au scope)
Dans le mode pooling, il est possible de retrouver le décodage des trames par expérimentations (notamment vitesse véhicule, régime moteur, brake switch...)
De plus, avec un peu de chance, tu peux retrouver ce bus sur la prise diag (OBD II)
20/04/2010, 11h40
#3
invite6ebdb2cf
Date d'inscription
janvier 1970
Messages
106
Re : Bus can
Est ce que tu peut me donner une idée plus clair autour le mode pooling (quelques commandes) ?
Merci
20/04/2010, 13h48
#4
Calou80
Date d'inscription
avril 2010
Messages
51
Re : Bus can
Le mode pooling peut être considéré comme le mode de communication par défaut entre les différents controleurs de la voiture.
Chaque contrôleur possède ses propres identifiants qu'il va émettre périodiquement et les identifiants qu'il va attendre.
Pour décoder (au niveau matériel) les trames CAN, il faut une interface où l'on va définir les Bit Rates (image du débit), les filtres d'identifiants, la position de l'échantillonnage, le nombre d'échantillon.... De mémoire, il existe le SJA1000 et quelques µC intégrant déjà du CAN.
Ce décodage permettra de ressortir les trames présentes sur le bus (en fonction du filtre configuré dans le driver CAN), à savoir l'Identifiant (codé sur 11 ou 28 bits selon la norme utilisée), le nombre d'octets (de 0 à 8 ou 64) puis les octets en tant que tel.
Il faut ensuite interpréter la signification de ces octets qui définiront les signaux.
Par exemple, je peux avoir une trame périodique, transmise toute les 10ms par le contrôleur ABS vers le controleur moteur (mais disponible pour tous le monde), qui possède un identifiant 100h et qui contient 3 octets dans les 2 premiers indiquent la vitesse du véhicule (qu'il faut ajusté à l'aide d'un gain/offset) et le dernier octet contient 1 bit indiquant une activation ABS en cours et 1 bit indiquant que le signal vitesse et correct.
Evidemment, pour "analyser" ce qu'il se passe sur le bus CAN, il faut un matériel et un logiciel assez spécifique car il va "accepter" tous les messages présents sur le bus (parfois presque 40 messages!). Le plus utilisé est CANalyzer mais inaccessible pour le particulier.
Je recherche quelques liens mais le maitre incontesté et Mr Dominique Paret.
J'espère que ceci éclaire un peu ta lanterne, le CAN est un domaine assez vaste mais relativement simple lorsque l'on a compris le système