Dans cet article je vais créer une gateway suite a l’étude de celle présente dans le compteur de E46.
Normalement elle est aussi compatible E39 et X3. Mais surement aussi plein d’autre modèles.
Analyse
L’analyse a été réalisée dans un autre article de ce site.
Rien de plus a été découvert mis a part que la getaway ne laisse passer que les messages provenant ou en direction de l’outil de diagnostique.
Cette analyse a été poursuivie sur toutes les fonctions disponible dans INPA et elles répondent toutes a la même logique.
Choix du microcontroleur.
Pour le microcntroleur je souhaitais rester sur un compatible Arduino et un AVR de preference. On oubli donc les ESP8266 et les ESP32. Cher et beaucoup trop puissant pour ce que je veut faire avec.
Il me faut aussi deux port série USART intégrées car ca ne peur pas marcher avec du software serial. Je risquerais une perte de paquet dans le cas ou les paquets arriverait trop vite.
Il me reste donc plus que l’ATMEGA2560 bien trop puissant mais je sais qu’il marche deja car c’est la base de mon boitier outils IBUS diagbus émulateur de calculateur.
Mais beaucoup trop de mémoire et beaucoup trop volumineux pour le peu de fonction et de GPIO nécessaire.
J’ai découvert complètement par hazard le ATMEGA328PB une évolution du ATMEGA328p present dans les Arduino UNO et Micro. Il s’agit de la meme puce mais offrant quelques fonctions supplémentaires comme un Second bus I2C et un second port USART.
Malheureusement la puce a encore beaucoup trop de memoire mais Atmel ne propose pas cette puce en version 48PB avec deux ports USART.
Cette puce est trouvable dans des Arduino chinois mais c’est un peu la loterie.
Je me suis donc dirigé vers une carte faite exprès sur cette puce avec les bibliothèques et extensions nécessaires pour l’IDE Arduino.
Cette carte c’est la A-Star 328PB Micro de POLULU dans son format 5V 16MHZ.
Fonctions
Emulation Gateway E46 permettant le diagnostique des calculateurs hors véhicule avec INPA ou tout autre appareil ou logiciel de diagnostique.
Fonction d’alimentation des calculateur et de l’appareil de diagnostique.
Extrêmement rapide sans verification de la pertinence des paquets.
Permettre le coding hors véhicule.
Le schéma
On va utiliser le convertisseur Ibus TTL que j’ai designé sur les deux port série car on ne vas pas utiliser le Bootloader donc pas de risque que le bootloader comprenne un paquet Ibus ou diag comme une écriture de code au boot.
Voici donc le schéma d’un adaptateur solo
Et le schéma de la carte au complet.
J’ai rajouté en plus un convertisseur DC-DC 5V L7805 car je n’ai mais confiance en celui intégré a la carte POLULU car la tension max est de 15V.
La carte
La carte a été dessinée a la main en utilisant des composants SMD pour les resistance et pour le régulateur 5V et les transistors je reste sur des versions TH.
Les Fichiers GERBERS:
La réalisation
La carte a été réalisée sur Une CNC3018 a la maison et c’est la première fois que j’expérimente le solder mask.
La carte prête a souder
La carte Finie
Le boitier
Le boitier est tres simple et peu être réalisé a partir d’une simple imprimante 3D sans supports.
Le code
Le code est disponible sur Github
Démo
La suite
Si vous êtes intéressé par une carte toute faite contactez moi sur discord ou par le formulaire de contact. Si j’ai assez de demande (Mini 10) je fait une commande.