Communication avec MSFS - CAN Bus

Intégration du CAN Bus dans le cockpit

Présentation

Le cockpit est découpés en plusieurs modules indépendent les uns des autres.
Chaque module est controlé grâce à son micro-controlleur et ne gère que sa partie.
Par exemple, il existe le module FCU_Display qui ne s'occupe que de la gestion des écrans du FCU

Les modules on néanmoins besoin de communiquer entre eux et surtout avec MSFS (au travers de l'application de transfert "A320_Cockpit").
Pour se faire, tous les modules sont connectés entre eux via le CAN Bus. Il est capable de faire transiter des messages identifiés et chaque module connait les messages dont les informations lui sont essentiel.

Terminaison

Le bus can doit être terminé par des resistances de 120 ohm à chaque extréminté. Les composants CAN Bus utilisés (MCP2515 Can Bus Module TJA1050) permettent de terminer le BUS en shuntant les deux pins J1.

Le CAN Bus

Trame d'un message

Les types de messages

Message "Payload"

Les messages "payload" contiennent les informations et data de l'avion. Par exemple, Le module FCU_Display doit connaitre les informations de la vitesse, du cap, etc de l'autopilote, ces informations sont contenues dans une frame identifié.

Les messages contiennent des données burt (vitesse=250knots,cap=320,vitesse-managé=true etc...) le choix d'allumer tel ou tel LED, d'afficher tel ou tel information sur un écran est délégué au module, ils ont une logique minimale de programmée.

Attention cependant, un module n'est pas limité ou identifié à un seul message, plusieurs messages peuvent lui être important

Message "Events"

Le message "Events" sont les messages utilisés lors d'un appui sur un bouton, l'utilisation d'un encodeur rotatif, etc...
Ce message, a l'identifiant 0x000 et contient :

  • L'id de l'event
  • Une valeur en float

Module CAN - Serial USB

Un module SerialCAN a été fabriqué (voir la section Fabrication) avec un Arduino pour permettre la communication vers le CAN bus via un port USB.

Configuration

Le réseau CAN fonctionne sur les bauds rates suivants:
Serial USB (COM Port) 115200
CAN Bus baud rate 125 kbits

Note: Initialement le module CANable était utilisé. Cependant, ce module perdait la connexion de manière aléatoire.