Idéalement conçue pour le prototypage rapide, l'apprentissage et l'évaluation, cette platine Shield est destinée à venir s'enficher sur une carte Arduino® Mega2560 afin que vous puissiez y insérer jusqu'à 3 modules Click Board.
Module interface ISO 9141 MIKROE-4331 UART
Ce module Click Board intègre un circuit L9637 contenant des fonctions d'interface compatibles avec la norme ISO 9141 de ST Microelectronics™.
Le ISO 9141 Click (MIKROE-4331) est un module au format mikroBUS™ qui relie un microcontrôleur à une ligne K de diagnostic automobile : liaison série bidirectionnelle sur un seul fil, fréquence de transmission jusqu'à 50 kHz, tension de bus admise de 4,5 à 36 V.
La ligne K, c'est le fil de dialogue historique entre un calculateur embarqué et un outil de diagnostic. Un seul conducteur, tiré au niveau de la batterie du véhicule, sur lequel les deux extrémités parlent chacune leur tour. Aucun UART de microcontrôleur ne sait attaquer directement une ligne pareille : il faut un étage de puissance entre les deux. C'est exactement le rôle du L9637 de STMicroelectronics, le circuit embarqué sur ce module.

Spécifications visuelles du ISO 9141 Click MIKROE-4331
Spécifications techniques
Le L9637 de STMicroelectronics est un pilote de bus monolithique doté d'une interface ISO 9141. Il expose une ligne K bidirectionnelle, utilisée pour l'émission et la réception, et un comparateur séparé sur la ligne L, destiné historiquement à l'initialisation lente du dialogue. Les deux sorties sont accessibles sur le bornier à vis du module.
Côté hôte, le dialogue passe par l'UART. Seules les broches TX et RX du connecteur mikroBUS sont câblées, plus l'alimentation et la masse ; les lignes SPI, I²C, AN, PWM, INT, RST et CS restent libres. Le débit par défaut est de 9600 bps, la valeur usuelle du diagnostic K-Line, et le circuit accepte une fréquence de transmission jusqu'à 50 kHz.
Le cavalier VCC SEL fixe le niveau logique côté microcontrôleur : 3,3 V ou 5 V, position 3,3 V à la livraison. Côté véhicule, le L9637 tolère une tension de bus de 4,5 à 36 V, encaisse les inversions de batterie et fait passer toutes ses broches en haute impédance dès qu'il perd son alimentation ou sa masse. Le courant de sortie sur la ligne K est limité à 60 mA typique. La pente des fronts est contrôlée, ce qui réduit les perturbations rayonnées sur un faisceau de plusieurs mètres, et un dispositif d'arrêt protège l'étage de sortie en cas d'échauffement excessif.
Une LED d'alimentation (LD1) équipe la carte. Le circuit imprimé mesure 28,6 × 25,4 mm, la taille S du standard mikroBUS Add-on Board. Référence fabricant : MIKROE-4331.
Écosystème mikroBUS et plateformes compatibles
Toute carte hôte pourvue d'un socket mikroBUS™ accueille le module sans réglage : Clicker, EasyMx, Fusion, UNI-DS et les autres cartes de MikroElektronika. Le format taille S laisse de la place aux sockets voisins, un détail qui compte sur une carte à quatre emplacements.
Le module n'occupant que l'UART, il cohabite sans conflit avec un autre Click board utilisant le SPI ou l'I²C. La seule contrainte réelle vient du nombre d'UART disponibles sur la carte hôte : un microcontrôleur qui n'en possède qu'un devra arbitrer entre le dialogue K-Line et la console de débogage.
Côté logiciel, la bibliothèque mikroSDK s'installe depuis le gestionnaire de paquets de NECTO Studio et s'utilise avec les compilateurs MikroElektronika. Elle se limite à deux fonctions, une écriture et une lecture d'octets sur l'UART : la logique du protocole de diagnostic reste à votre charge.
Ce que le ISO 9141 Click apporte à vos projets
Un accès direct à la couche physique du diagnostic automobile, sans câblage à improviser. Le module fait la traduction entre un UART en logique 3,3 V ou 5 V et une ligne K qui travaille à la tension de batterie du véhicule.
Le point fort du L9637 tient dans sa robustesse électrique. Une ligne K traîne dans un faisceau automobile, à côté de bobines d'allumage et de moteurs, avec des transitoires que ne connaît aucun montage de laboratoire. Le circuit encaisse les surtensions, l'inversion de polarité de la batterie, et passe ses broches en haute impédance dès qu'il perd son alimentation : un calculateur voisin ne se retrouve jamais pollué par un module hors tension.
Le second intérêt est pédagogique. La ligne K est une bonne porte d'entrée vers les bus embarqués, plus simple que le CAN : pas de contrôleur de protocole, pas de trames à construire au niveau matériel. Vous envoyez des octets sur l'UART, ils arrivent sur le fil. Le protocole de diagnostic, lui, se code entièrement en logiciel, ce qui donne une visibilité complète sur ce qui transite.
Restent deux limites à connaître avant de commander. La première : la ligne K est half-duplex, une seule extrémité parle à la fois, et l'octet que vous émettez vous revient en écho sur la réception. Le programme doit l'absorber, sans quoi la première trame reçue sera votre propre trame. La seconde : le module ne gère aucune couche protocolaire. Les temporisations d'initialisation, les sommes de contrôle, l'encodage des requêtes, tout cela reste à écrire. Ce n'est pas un défaut de conception, c'est le partage de responsabilité habituel entre un transceiver et son microcontrôleur — mais autant le savoir.
ISO 9141 Click en pratique : exemples de projets de prototypage
Partout où un microcontrôleur doit dialoguer sur une ligne K, ou plus généralement sur une liaison série monofilaire tirée à une tension supérieure à sa logique interne.
Lecteur de diagnostic embarqué
Le cas d'école. Une carte hôte, un ISO 9141 Click, un écran, et vous interrogez le calculateur d'un véhicule pour lire ses codes défaut ou ses grandeurs en temps réel. Le projet oblige à écrire la séquence d'initialisation lente, un exercice formateur sur les temporisations.
Banc de simulation de calculateur
Le module travaille aussi bien du côté du calculateur que de celui de l'outil de diagnostic. Deux cartes équipées chacune d'un ISO 9141 Click, reliées par leurs lignes K, forment un banc de test complet : l'une joue le calculateur et répond aux requêtes, l'autre les émet. C'est d'ailleurs le montage retenu par l'exemple fourni avec la bibliothèque du fabricant.
Passerelle vers un bus moderne
Un calculateur ancien parle la ligne K, le reste du véhicule parle CAN. Un microcontrôleur équipé d'un ISO 9141 Click d'un côté et d'un module CAN de l'autre traduit les échanges. Le format mikroBUS rend l'assemblage immédiat sur une carte à deux sockets.
Enregistreur de trames
Le module écoute la ligne sans jamais émettre. Les octets sont horodatés puis stockés sur carte mémoire. Un rétro-ingénieur y trouvera de quoi reconstituer un protocole propriétaire ; un enseignant, de quoi illustrer concrètement à quoi ressemble une trame sur le fil.
Liaison série monofilaire longue distance
Rien n'oblige à rester dans le monde automobile. Sur une machine-outil ou une installation agricole, la ligne K fait une liaison série robuste sur plusieurs mètres, là où un UART en 3,3 V direct décrocherait. La limitation de courant et la pente contrôlée des fronts font le travail.
Support de travaux pratiques
Deux modules, deux cartes Arduino, et un TP complet sur les bus embarqués : couche physique, half-duplex, écho local, temporisations. Le tout se visualise à l'oscilloscope sur un fil unique, ce qui aide beaucoup à faire passer les notions.
Prise en main et utilisation
Commencez par le cavalier VCC SEL, réglé en 3,3 V en sortie d'usine. Une carte hôte en logique 5 V impose de le basculer, sans quoi les niveaux reçus sur l'UART resteront ambigus.
Le raccordement se fait ensuite sur le bornier à vis : la ligne K vers le fil de diagnostic, la ligne L si votre application l'exploite, et la masse en commun avec le véhicule ou l'équipement distant. Une masse mal reprise reste la première cause de dialogue muet.
Côté programme, ouvrez l'UART à 9600 bps et écrivez vos octets. La bibliothèque mikroSDK fournit une écriture et une lecture ; tout le reste est à composer. Prévoyez dès le premier essai la gestion de l'écho : chaque octet émis revient sur la réception, il faut le lire et le jeter avant d'attendre la réponse du correspondant.
Un conseil de terrain : validez d'abord votre code entre deux modules sur un plan de travail, avec un fil de 20 cm et une alimentation de laboratoire, avant de brancher quoi que ce soit sur un véhicule. Une ligne de diagnostic mal maîtrisée peut perturber un calculateur en fonctionnement.
Utilisation avec Arduino, Raspberry Pi, micro:bit et Teensy
Le ISO 9141 Click se connecte aux plateformes non-mikroBUS via un shield d'adaptation, qui reporte le brochage mikroBUS sur les connecteurs de la carte hôte. Le module s'y enfiche sans outil, et seules deux broches sont réellement mobilisées : TX et RX.
Sur Arduino UNO, placez VCC SEL en 5 V et réservez de préférence un port série logiciel au module, afin de garder l'UART matériel pour le moniteur. Une Arduino Mega 2560, avec ses quatre UART, s'affranchit du problème. Sur Teensy et Raspberry Pi, le cavalier reste en 3,3 V. Le module acceptant les deux niveaux logiques, une carte micro:bit convient également.

ISO 9141 Click utilisable avec Arduino, Raspberry Pi, micro:bit et Teensy via un shield d'adaptation mikroBUS™
Tutoriels et ressources fabricant
Présentation du module par MikroElektronika
La page éditoriale du fabricant détaille la fonction du L9637, le brochage mikroBUS retenu et le rôle du cavalier VCC SEL. Elle décrit également l'exemple de démonstration, qui fait dialoguer deux ISO 9141 Click entre eux : l'un émet une trame toutes les deux secondes, l'autre la lit octet par octet et la restitue sur un terminal.
ISO 9141 Click sur le blog MikroElektronika
Code source des bibliothèques Click
Le dépôt officiel des bibliothèques mikroSDK regroupe le pilote du module, ses en-têtes et son application d'exemple. Utile pour lire l'implémentation réelle de l'initialisation de l'UART avant de porter le code vers un autre environnement de développement.
Bibliothèques Click mikroSDK v2 sur GitHub
Résumé des caractéristiques techniques
- Circuit principal : L9637 (STMicroelectronics)
- Fonction : pilote de bus monolithique à interface ISO 9141, transceiver de ligne K
- Interface hôte : UART (broches TX et RX du mikroBUS)
- Broches mikroBUS inutilisées : AN, RST, CS, SCK, MISO, MOSI, PWM, INT, SCL, SDA
- Débit par défaut : 9600 bps
- Fréquence de transmission : jusqu'à 50 kHz
- Lignes de bus : ligne K bidirectionnelle et ligne L (comparateur), sur bornier à vis
- Tension de bus admissible : 4,5 à 36 V
- Courant de sortie ligne K : 60 mA typique
- Protections : inversion de batterie, surtensions, haute impédance en l'absence d'alimentation ou de masse, arrêt sur échauffement
- Tension logique : 3,3 V ou 5 V (cavalier VCC SEL, 3,3 V par défaut)
- Indicateur : LED d'alimentation LD1
- ClickID : non
- Format : mikroBUS Add-on Board, taille S
- Dimensions : 28,6 × 25,4 mm
- Support logiciel : bibliothèque mikroSDK (MikroElektronika)
- Référence fabricant : MIKROE-4331
Questions fréquentes
À quoi sert le ISO 9141 Click ?
À faire dialoguer un microcontrôleur avec une ligne K de diagnostic automobile. Le L9637 assure la traduction entre l'UART de la carte hôte, en 3,3 V ou 5 V, et le fil unique du bus, qui travaille à la tension de batterie du véhicule. Les octets écrits sur l'UART partent sur la ligne, ceux reçus reviennent par la même voie.
Quelles broches mikroBUS le module utilise-t-il ?
Uniquement TX et RX, plus l'alimentation et la masse. Toutes les autres broches du connecteur restent libres, ce qui permet de cumuler ce module avec un autre Click board utilisant le SPI ou l'I²C sur une carte à plusieurs sockets.
Le module fonctionne-t-il en 3,3 V ?
Oui. Le cavalier VCC SEL sélectionne le niveau logique, 3,3 V ou 5 V, et sort d'usine en position 3,3 V. Une carte Raspberry Pi, une Teensy ou une micro:bit dialoguent donc avec le module sans translateur de niveaux, en le reliant simplement par un shield d'adaptation mikroBUS.
Pourquoi reçois-je les octets que je viens d'envoyer ?
Parce que la ligne K est half-duplex : un seul fil sert à l'aller et au retour. Tout ce que vous émettez revient donc en écho sur la réception. Le programme doit lire et jeter cet écho avant d'attendre la réponse du correspondant, sinon la première trame lue sera la vôtre.
Le module gère-t-il le protocole de diagnostic ?
Non, et c'est important de le savoir avant l'achat. Le L9637 est un transceiver : il s'occupe de la couche physique, pas du dialogue. Les temporisations d'initialisation, la construction des requêtes et les sommes de contrôle restent entièrement à écrire dans votre programme.
Peut-on l'utiliser hors du domaine automobile ?
Oui. La ligne K reste une liaison série monofilaire robuste, capable de franchir plusieurs mètres de câble dans un environnement bruité. Sur une machine-outil ou une installation extérieure, elle rend service là où un UART direct en 3,3 V ne tiendrait pas la distance.
Quelle est la différence entre la ligne K et la ligne L ?
La ligne K est bidirectionnelle : elle porte l'émission et la réception. La ligne L est un simple comparateur d'entrée, employé dans les schémas anciens pour l'initialisation lente du dialogue. Les deux sont sorties sur le bornier à vis, mais la plupart des applications actuelles n'exploitent que la ligne K.
Notes d'applications Lextronic
Note d'application Click Board™ et Arduino™ (TOME 1)
Note d'application Click Board™ et Arduino™ (TOME 2)
Téléchargez également les fichiers sources de ces notes d'applications
Les modules Click™ Board sont utilisés dans les établissements scolaires !
Lextronic propose également désormais aux professeurs de recevoir (par email) et sur simple demande différents TP leur permettant de mettre en oeuvre divers modules Click Board avec une platine arduino UNO.
En tant que professeur, il vous suffit de nous adresser votre demande via notre adresse email lextronic@lextronic.fr (en précisant le nom et l'adresse de votre établissement) - Seules les demandes en provenance d'une adresse email académique seront traitées (les demandes via des comptes free, gmail, hotmail, etc... ne pourront pas être traitées - Merci de votre compréhension).

Ces différents TP sont composés: d'une documentation technique, des programmes Arduino™, des schémas (sous Proteus) et des corrigés
-
Datasheet du moduleTélécharger
