Logiciel moniteur de communication CAN (option pour dongle "CANUSB").
Dongle interface de conversion CAN vers USB Lawicel CANUSB
Dongle de conversion CAN vers USB jusqu'à 1 Mbit/s, connecteur DB9, pilotes VCP/D2XX et commandes ASCII. Compatible Windows, Linux et macOS.
Le dongle LAWICEL CANUSB est une interface CAN vers USB qui transforme n'importe quel port USB d'un PC en connexion bus CAN jusqu'à 1 Mbit/s, via un connecteur Sub-D 9 points (DB9) mâle câblé selon les recommandations CiA DS102-1. Ce petit dongle est reconnu par le système comme un port série RS232 virtuel : dans ce mode, aucun pilote spécifique n'est nécessaire, le pilote FTDI suffit.
Deux modes de dialogue cohabitent. Le premier passe par un port COM virtuel (VCP) et se pilote comme un RS232 classique depuis Visual Basic, Delphi, C++ ou C#. Le second repose sur le pilote direct D2XX de FTDI et une DLL CANUSB threadée, plus rapide quand la charge du bus grimpe. Au cœur du boîtier, un contrôleur SJA1000 et un transceiver 82C251 gèrent la couche CAN ; le dialogue avec le PC se fait dans un format ASCII ouvert, repris depuis par plusieurs autres fabricants.

Les composants clés du CANUSB : contrôleur SJA1000, transceiver 82C251, puce USB FT245RL et connecteur DB9
Ce que le CANUSB apporte à vos projets CAN
Le principal atout du CANUSB tient à sa simplicité de mise en œuvre. Branché sur un port USB, il apparaît comme un port série : vous écrivez vos trames en ASCII avec la bibliothèque RS232 de votre langage préféré, sans coucher une seule ligne de driver bas niveau. Pour aller plus vite, la DLL CANUSB associée au pilote D2XX ouvre, ferme, lit et écrit les trames dans un thread dédié. LAWICEL annonce plus de 5000 trames par seconde en réception avec cette DLL.
Le format ASCII est un second point fort. Ouvert et documenté, il a été adopté par d'autres constructeurs d'interfaces CAN, ce qui limite le risque de vous retrouver enfermé dans un protocole propriétaire. Le boîtier est auto-alimenté par l'USB (moins de 60 mA en usage courant), sans bloc secteur ni pile.
Une limite mérite d'être connue avant l'achat : le débit d'émission plafonne autour de 1000 messages par seconde, car chaque commande attend un accusé et le pilote USB Windows travaille par créneaux de 1 ms. Le CANUSB vise donc l'analyse, le diagnostic et les réseaux CAN à charge modérée. Pour piloter une machine en environnement fixe et critique, ce n'est pas l'outil adapté.
Spécifications techniques
Au cœur du CANUSB, le contrôleur CAN NXP/Philips SJA1000 cadencé à 16 MHz gère le protocole, épaulé par le transceiver 82C251 (interface ISO 11898-2, ligne 24 V). Le lien avec le PC est assuré par une puce FTDI FT245RL en USB 2.0 Full Speed. L'ensemble prend en charge les trames CAN 2.0A (identifiant 11 bits) et CAN 2.0B (identifiant 29 bits), ainsi que les trames RTR.
Côté tampons, le module embarque une FIFO de réception de 32 trames et une FIFO d'émission de 8 trames. Un horodatage (time stamp) optionnel en millisecondes peut être activé et mémorisé en EEPROM, utile pour mesurer l'intervalle entre deux messages. Deux LED renseignent en direct : verte pour l'activité CAN, rouge pour les erreurs. Le firmware se met à jour par USB grâce à un bootloader intégré.
La connexion au bus se fait par un connecteur DB9 mâle conforme au brochage CiA DS102-1. L'alimentation provient du port USB (5 V), avec une consommation maximale de 100 mA et typiquement inférieure à 60 mA. Le boîtier bleu translucide mesure 55 × 36 × 16 mm pour 70 g, livré avec un câble USB blindé d'un mètre.
Applications et cas d'usage du CANUSB
Le CANUSB sert avant tout d'outil d'analyse et de diagnostic pour tout réseau bus CAN : automobile, machines industrielles, robotique, équipements médicaux ou agricoles. On le branche sur un portable, on ouvre le port, et on observe le trafic en temps réel.
Diagnostic et écoute de bus CAN
Par défaut, le CANUSB accepte toutes les trames. Il capture le trafic d'un réseau existant pour vérifier qu'un calculateur émet bien, repérer une trame manquante ou identifier un nœud fautif. Les registres de filtrage (Acceptance Code et Mask du SJA1000) permettent ensuite de ne conserver qu'un identifiant ou une plage d'identifiants.
Rétro-ingénierie et relevé de trames
Sur un véhicule ou un équipement dont la documentation manque, l'écoute des identifiants CAN aide à reconstituer la cartographie des messages. L'horodatage en millisecondes situe chaque trame dans le temps, ce qui facilite l'analyse des séquences périodiques.
Bancs de test et validation
En bureau d'études, le CANUSB injecte des trames de test vers un calculateur en développement et vérifie ses réponses. Le format ASCII se scripte facilement, y compris depuis un banc automatisé.
Enregistrement (logging) de trafic
Associé à un logiciel de log, il enregistre les échanges d'un bus pendant une session de roulage ou un cycle machine, pour analyse ultérieure. Les réseaux à 250 kbit/s ou moins sont son terrain de prédilection.
Développement CANopen et mise à jour firmware
Le CANUSB dialogue avec des nœuds CANopen et sert de passerelle pour reprogrammer un équipement via le bus CAN. Les paramètres de vitesse et de filtrage s'ajustent en quelques commandes ASCII.
Prise en main : pilotes VCP et D2XX
Deux familles de pilotes sont proposées, et une seule peut être installée à la fois. Le pilote VCP (Virtual COM Port) crée un port COM standard : c'est le choix le plus rapide, idéal pour remplacer un ancien CAN232 avec peu de modifications logicielles. Le pilote D2XX passe par la DLL FTDI et la DLL CANUSB, plus performant sur les charges élevées. Le passage de l'un à l'autre se fait en désinstallant le premier.
Pour un premier test avec le VCP, ouvrez un terminal série (8 bits de données, sans parité, 1 bit de stop, contrôle de flux désactivé), envoyez la commande V : le CANUSB répond Vhhss, où hh et ss sont les versions matérielle et logicielle. Une réponse valide confirme le dialogue. Bonne pratique en début de session : envoyez 2 à 3 retours chariot pour vider la file d'attente, vérifiez la version, réglez la vitesse CAN (commande S), puis ouvrez le canal (commande O). Le module est alors prêt à émettre et recevoir.
Protocole ASCII et jeu de commandes
Le CANUSB se pilote par des commandes ASCII courtes, sensibles à la casse, chacune terminée par un retour chariot (CR, ASCII 13). L'unité répond CR pour un succès ou BELL (ASCII 7) en cas d'erreur. Ce jeu de commandes reste utile même si vous utilisez la DLL, notamment pour un développement sous Linux ou macOS.
La vitesse du bus se règle canal fermé, via la commande Sn aux débits normalisés :
- S0 : 10 kbit/s, S1 : 20 kbit/s, S2 : 50 kbit/s
- S3 : 100 kbit/s, S4 : 125 kbit/s, S5 : 250 kbit/s
- S6 : 500 kbit/s, S7 : 800 kbit/s, S8 : 1 Mbit/s
Une vitesse sur mesure se programme aussi par les registres BTR0/BTR1 (commande s suivie de deux octets hexadécimaux). Le canal s'ouvre avec O et se ferme avec C. L'émission d'une trame standard 11 bits passe par t (identifiant, longueur, octets de données), l'extension 29 bits par T ; les trames RTR correspondantes utilisent r et R. La commande F lit les drapeaux d'état (FIFO pleine, erreur de bus, arbitrage perdu…) et éteint la LED rouge. Les registres de filtrage se chargent par M (Acceptance Code) et m (Acceptance Mask). Enfin, V renvoie les versions, N le numéro de série, et Z active ou coupe l'horodatage.
Raccordement au bus CAN
Le brochage suit la recommandation CiA DS102-1 sur le connecteur DB9 mâle. Trois broches suffisent : CAN_L sur la broche 2, CAN_H sur la broche 7 et CAN_GND sur la broche 3. La broche 9 (alimentation externe) n'est pas à câbler, le CANUSB tirant son énergie du port USB.

Un bus CAN fonctionnel réclame au moins deux nœuds actifs (le CANUSB compte pour un) et une terminaison correcte. Placez une résistance de 120 ohms à chaque extrémité du réseau, entre CAN_L et CAN_H, y compris sur un montage court de laboratoire. Utilisez une paire torsadée d'impédance proche de 60 ohms et reliez les masses des nœuds si elles ne partagent pas déjà un GND commun. Le CANUSB est un outil d'analyse, de journalisation, de réglage de paramètres ou de mise à jour firmware : il n'est pas prévu pour le contrôle de machines en installation fixe.
Compatibilité : systèmes, logiciels et écosystème LAWICEL
Le CANUSB fonctionne sous Windows, Linux et macOS grâce aux pilotes FTDI gratuits (32 et 64 bits). Côté développement, des programmes d'exemple en C, C++, C#, Visual Basic 6, Delphi et Linux sont disponibles en source, libres d'usage et de modification. La DLL CANUSB threadée et un contrôle ActiveX simplifient l'intégration sous Windows.
Le passage depuis l'ancien CAN232 (interface CAN vers RS232) se fait avec peu de changements, les commandes ASCII étant largement communes. Pour visualiser le trafic sans écrire de code, un logiciel comme CAN Monitor affiche les trames à l'écran.

Résumé des caractéristiques techniques
- Contrôleur CAN : NXP/Philips SJA1000 à 16 MHz
- Transceiver : NXP/Philips 82C251 (interface ISO 11898-2, ligne 24 V)
- Interface PC : USB 2.0 Full Speed, puce FTDI FT245RL
- Protocoles CAN : CAN 2.0A (11 bits) et CAN 2.0B (29 bits), trames RTR
- Débit CAN : jusqu'à 1 Mbit/s (débits normalisés de 10 kbit/s à 1 Mbit/s)
- Tampons : FIFO réception 32 trames, FIFO émission 8 trames
- Horodatage : optionnel, en millisecondes (mémorisé en EEPROM)
- Connecteur CAN : DB9 mâle, brochage CiA DS102-1
- Alimentation : via USB (5 V), 100 mA max, typiquement < 60 mA
- Pilotes : port COM virtuel (VCP) ou pilote direct D2XX + DLL CANUSB
- Systèmes : Windows, Linux, macOS (pilotes FTDI 32 et 64 bits)
- Signalisation : LED verte (activité CAN), LED rouge (erreur)
- Firmware : mise à jour par USB (bootloader)
- Boîtier : bleu translucide, 55 × 36 × 16 mm, 70 g, câble USB blindé 1 m
Questions fréquentes sur le CANUSB
Faut-il installer un pilote pour utiliser le CANUSB ?
Avec le pilote VCP de FTDI, le CANUSB apparaît comme un port COM standard : aucun pilote supplémentaire n'est requis, vous utilisez la bibliothèque série de votre langage. Pour de meilleures performances, le pilote direct D2XX et la DLL CANUSB s'installent à la place du VCP. Les deux pilotes ne cohabitent pas sur le même PC.
Le CANUSB fonctionne-t-il sous Linux et macOS ?
Oui. Des pilotes FTDI gratuits existent pour Windows, Linux et macOS. Sous Linux et macOS, le dialogue passe par les commandes ASCII décrites dans le manuel. Des exemples de code en C, C++ et pour Linux sont fournis par le fabricant.
Quel débit CAN le CANUSB accepte-t-il ?
Il gère les débits normalisés de 10 kbit/s à 1 Mbit/s, réglables par une commande ASCII. En pratique, il excelle jusqu'à 250 kbit/s ; au-delà, la charge du bus doit rester modérée ou le filtrage doit limiter le nombre de trames traitées.
Combien de trames par seconde peut-il traiter ?
Avec la DLL et le pilote D2XX, la réception dépasse 5000 trames par seconde. L'émission plafonne autour de 1000 messages par seconde, car chaque commande attend une réponse et le pilote USB travaille par créneaux de 1 ms.
Le CANUSB nécessite-t-il une alimentation externe ?
Non. Il est alimenté par le port USB (5 V) et consomme au maximum 100 mA, généralement moins de 60 mA. La broche 9 du connecteur DB9, prévue pour une alimentation externe, n'a pas besoin d'être câblée.
Peut-on filtrer les trames reçues ?
Oui. Par défaut, le CANUSB reçoit toutes les trames. Les registres Acceptance Code (commande M) et Acceptance Mask (commande m) du SJA1000 permettent de ne conserver qu'un identifiant précis en 11 bits, ou une plage d'identifiants en 29 bits.
Le CANUSB gère-t-il l'horodatage des trames ?
Oui, en option. La commande Z active un horodatage en millisecondes ajouté à chaque trame reçue, valeur mémorisée en EEPROM. Le compteur va de 0 à 60 000 ms avant de reboucler, ce qui suffit pour mesurer l'intervalle entre messages.
Quelle différence avec le CAN232 ?
Le dongle CAN232 relie le bus CAN à un port RS232, tandis que le CANUSB se branche en USB et offre une bande passante supérieure. Les commandes ASCII étant largement communes, la migration d'un programme CAN232 vers le CANUSB demande peu de modifications.
Changement de version depuis 2017

Note: Depuis le mois de septembre 2017, le dongle CANUSB a changé de présentation. Techniquement il s'agit exactement de la même électronique et du même logiciel. Seul la présentation change avec désormais un câble USB débrochable.
Le dongle CANUSB est disponible chez Lextronic
Le CANUSB reste, après des années de catalogue, l'une des interfaces CAN les plus simples à mettre en œuvre pour débuter l'analyse d'un bus. Son format ASCII documenté et ses exemples de code multi-langages en font un bon point d'entrée pour les enseignants, les étudiants et les techniciens de maintenance. Pour les applications exigeant une isolation entre le PC et le bus, orientez-vous vers les versions isolées de la gamme.
