Le protocole de communication EX Bus de Jeti
Sommaire
- 1 Le protocole de communication EX Bus de Jeti
- 1.1 Introduction
- 1.2 Pour aller plus loin :
- 1.3 Traduction française de la documentation technique « EX Bus communication protocol, version: 1.21 ».
- 1.4 Topologie du EX Bus Jeti
- 1.5 Couche physique du EX Bus Jeti
- 1.6 Accès au bus de données partagé du EX Bus Jeti.
- 1.7 Reconnaissance de la vitesse de communication du EX Bus Jeti
- 1.8 Le format de paquets générés par le Maître (Master)
- 1.9 Le format de paquets générés par l’Esclave
- 1.10 Somme de contrôle
- 1.11 EX Bus Jeti : exemple de paquet – Maître
- 1.12 EX Bus Jeti : exemple de paquet – Esclave
- 1.13 Autres ressources EX Bus
Introduction
Le EX Bus est le protocole de communication série développé par Jeti. Comme tous les protocoles séries numériques, c’est un protocole sans perte, utilisant un câble de 3 fils (signal, puissance et masse). Il permet de relier le récepteur à d’autres éléments tel que des accessoires de télémétrie par exemple. Pour citer d’autres protocoles numériques : SBUS (Futaba/Fr-Sky), XBUS (JR Propo), MSP (Multiwii), IBUS (Flysky), FPort (Frsky), CRSF (Crossfire), MSB (Multiplex) ou SUMD (Graupner).
Pour aller plus loin :
Traduction française de la documentation technique
« EX Bus communication protocol, version: 1.21 ».
Le protocole de communication EX Bus
Le EX Bus est un standard de transmission de données série, conçu principalement pour la transmission d’informations opérationnelles entre un récepteur et d’autres appareils connectés à celui-ci. EX Bus remplace la norme de transmission des valeurs de canal sous la forme de PPM et fournit également des fonctions de sécurité, une réponse plus rapide et une communication bidirectionnelle (transmission de la télémétrie EX). Le bus EX permet également la transmission d’informations pour la configuration à distance des appareils connectés via les émetteurs DC / DS. Cette fonction n’est disponible que pour les produits du modèle JETI et sa description ne fait pas partie de ce document.
Topologie du EX Bus Jeti
Le bus a une topologie appelée «point à point». Le récepteur est marqué comme «maître» ( Master ) dans le réseau, car il initie toujours la communication. Un appareil connecté au récepteur est marqué comme «esclave» (Slave). En cas de demande de connexion de plusieurs appareils à un récepteur, il est obligatoire d’utiliser EX Bus Expander qui traite toutes les entrées et les transforme en une seule sortie
Couche physique du EX Bus Jeti
La communication est réalisée par interface série asynchrone (USART) en mode semi-duplex (half-duplex mode).
Vitesse de communication: 125 kBaud (LowSpeed) ou 250 kBaud (HighSpeed)
Nombre de bits de données: 8
Nombre de bits d’arrêt: 1
Pareté (Parity) : aucune
Les lignes de communication RX etTX sont physiquement connecté via une résistance (nous recommandons la valeur de 2,4 kilo ohms).
Accès au bus de données partagé du EX Bus Jeti.
Dans le premier cas, le maître génère un paquet avec l’en-tête, dont le deuxième octet est 0x01, qui est toujours suivi de la libération d’un bus réservé à l’Esclave.
Dans le second cas, le Maître génère d’abord le paquet avec l’en-tête, dont le deuxième octet est 0x03, qui n’est pas suivi de la libération d’un bus, puis le Maître génère le paquet, dont le deuxième octet est 0x01.
Reconnaissance de la vitesse de communication du EX Bus Jeti
Le format de paquets générés par le Maître (Master)
Format général des paquets générés par le maître (Master)
Un paquet contenant les données du canal (channel data)
Paquet avec la demande de télémétrie
Le format de paquets générés par l’Esclave
Paquet avec la télémétrie EX
Somme de contrôle
uint16_t crc_ccitt_update( uint16_t crc, uint8_t data )
{
uint16_t ret_val;
data ^= (uint8_t)(crc) & (uint8_t)(0xFF);
data ^= data << 4;
ret_val = ((((uint16_t)data << 8) | ((crc & 0xFF00) >> 8))
^ (uint8_t)(data >> 4)
^ ((uint16_t)data << 3));
return ret_val;
}
uint16_t get_crc16z(uint8_t *p, uint16_t len)
{
uint16_t crc16_data=0;
while(len–) { crc16_data=crc16_update(crc16_data, p[0]); p++; }
return(crc16_data);
}
EX Bus Jeti : exemple de paquet – Maître
EX Bus Jeti : exemple de paquet – Esclave
Fin. Source JETI.
Autres ressources EX Bus
Une analyse sur une ancienne version d’EX Bus
L’article date de 2015, il est intéressant pour se représenter sur un oscilloscope.
https://www.rc-thoughts.com/2015/12/analyzing-jeti-ex-bus-and-spirit-fbl/
Bibliothèque de capteurs de bus Jeti Ex pour Arduino
Interface série pour envoyer des données de télémétrie et recevoir des données de canal vers / depuis les récepteurs Jeti Duplex via EX Bus. La version actuelle est pour Teensy 3.x., AtMega32u4 et ESP32
https://github.com/Sepp62/JetiExBus