Mise en oeuvre de l’interface MUX-DIAG

Présentation

Le boîtier USB-MUX-DIAG est un produit de la gamme EXXOTEST. Ce boîtier permet de réaliser l’acquisition de données échangées sur des réseaux CAN HS/LS, ISO9141/LIN et/ou Diagnostic On CAN.

Le bus CAN (Controller Area Network) est un bus de terrain très répandu, notamment l'automobile, l'aéronautique et la marine. Il a été normalisé avec la norme ISO 11898. Il couvre les deux couches basses du modèle OSI (Physique et Liaison).

Il dispose notamment des liaisons suivantes :

  • interface de ligne CAN High Speed (débit jusqu’à 1 Mbits/sec) : PHILIPS TJA1040
  • interface de ligne CAN Low Speed (débit jusqu’à 125 Kbit/sec) : PHILIPS TJA1054

Fiche : MUXDIAG.pdf

Installation

Il faut installer le pilote de périphérique (driver) de l’interface MUX-DIAG.

  1. Brancher l’interface MUX-DIAG. Vérifier sa prise en charge à partir du Gestionnaire de périphériques.

Remarque : l’installation automatique de périphérique n’est pas réalisée par le système

  1. Exécuter le programme d’installation Exxotest MUX driver kit 2.6.6.exe :
  1. Vérifier sa prise en charge à partir du Gestionnaire de périphériques.

On peut aussi vérifier avec les logiciels fournis :

Remarque : L’installation a été réalisée dans le dossier C:/Program Files/exxotest/USB Mux Driver/.

Prise en charge

Les interfaces MUX-DIAG sont fournies avec une bibliothèque de fonctions logicielles muxdll.dll qui permet d’exploiter les différents réseaux :

L’interface physique USB-MUX-DIAG est modélisée par une structure CAN possédant notamment les champs suivants :

  • wCard : numero d’interface (0 pour la première détectée)
  • wBus : numéro de bus (0 pour la prise CAN HS1)

Le bus CAN n’utilisant pas d’adressage des noeuds, les trames CAN sont transmises en diffusion générale (broadcast) sur le réseau. Elles possèdent néanmoins un identifiant permettant de distinguer le contenu de chaque trame.

Il existe deux formats :

  • la trame standard (CAN 2.0A) possède un identifiant de 11 bits
  • la trame étendue (CAN 2.0B) possède un identifiant de 29 bits

La structure d’une trame CAN est la suivante :

Pour le développeur, la trame sera “gérée” via une bibliothèque logicielle qui implémente un message CAN dont les champs importants sont :

  • le format de trame (standard ou étendue)
  • le type de trame (donnée ou requête)
  • l’identifiant standard (11 bits) ou étendu (29 bits)
  • la longueur (nombre d’octets) des données DLC (Data Length Code) de 0 à 8 octets
  • un tableau de 0 à 8 octets de données

La notion de message a été définie par le constructeur EXXOTEST sous la forme d’une structure tCanMsg dans le fichier d’entête (header) refmux.h :

À la connexion du bus CAN, l’application réalise :

  • son initialisation et son passage à l’état actif
  • la création et le démarrage d’un thread de réception des messages CAN
Un thread (fil d'exécution) permet de dérouler une suite d'instructions en PARALLELE à l'intérieur d'un même processus. Un thread exécutera donc une fonction ou une méthode d'une classe. Il est considéré comme un "processus léger" car il partage le contexte du processus qui l'exécute et qui lui sera vu comme un "processus lourd". Le thread remplit la notion de tâche au sein d'une application en permettant la parallèlisation des traitements. 

Pour respecter la norme NMEA2000 en vigueur sur ce type de système, les paramètres du bus CAN qui seront appliqués dans l’application sont :

  • débit : 250 kbits/s
  • format des identifiants : étendu

Lire Bus CAN/NMEA 2000 avant de poursuivre.

Tests

Vous pouvez utiliser le logiciel ICDILight (écrit par la section BTS) pour capturer les messages CAN transitant sur le bus. Exécuter le programme d’installation setup.exe :

Puis effectuer une capture :

En cas de problème de capture ou de détection de l'interface, il vous faut déconnecter successivement les connecteurs SAE J1962 et USB puis les rebrancher. Si le problème persiste, il vous faudra ré-installer le pilote de périphérique (driver).

Retour au sommaire