Bonjour,
Je n’ai pas reçu de réponse de chez Lenz, mais j’ai quand même pas avancé dans le décodage de la doc. sur le bus RS décrite dans le lien suivant
der-moba.de/index.php/RS-R%C3%BCckmeldebus
Et je pense qu’ils ne répondront pas, car j’ai cu voir quelque part dans ce document que c’est dit explicitement.
Comme ça intéressait d’autres personnes, J’essaye de résumer l’essentiel.
Je pense avoit compris comment les différents modules prennent la main sur le bus, sans risque de collision.
Les deux figures très importantes pour comprendre sont les figures 2 (schéma électrique), et 3 (protocole) de ce document.
-
Donc le bus RS est constitué de deux fils R et S. Le R est relié à une tension fixe de 12V (dans la centrale), et le S varie entre 0V et 6,8V selon qu’on a un “0” ou un “1”. (voir figure 2). Il n’est absolument pas différentiel, contrairement à ce que je croyais. Mais par contre, il est piloté en courant, et non en tension, ce qui le rend a priori moins sensible aux parasites.
-
La centrale émet prériodiquement un train de 130 impulsions (109uS/93uS). Le niveau 1 de ces impulsions est assuré par les sources de courant (3mA) de chaque module RM de rétrosignalisation. Mais la tension ne peut pas remonter au delà de 5,7V environ, parce que dans chaque module, il y a une zener de 5,6V et une diode en série avec cette source de courant.
Le niveau 0 est assuré par un transistor (T1 fig.2) dans la centrale.
-
Lorsqu’un module émet un message, il active une deuxième source de courant de 20mA (sans zener en série!!) qui peut donc tirer la tension au-delà de 6V, et donc activer le montage de réception de la centrale (transistor T2 en base commune: voir figure 2).
Cette différence de tension permet donc à tout module de distinguer entre une impulsion envoyée par la centrale, ou une prise de main par un module.
Le module envoie ensuite son message (9bits dont 4 bits utiles de données) pendant 9 impulsions: voir figure 3.
-
puis après la fin du message, la centrale REPREND LA SUITE DE SONT TRAIN D’IMPULSIONS, jusqu’à arriver à 130.
-
Mais qu’est-ce qui empêche deux modules de prendre la main simultanément?
Ce n’est pas écrit explicitement, mais la seule explication que je vois est la suivante:
- il peut y avoir jusqu’à 128 (et non 64 comme je l’avais dit) modules RM de 8 bits.
- 130 impulsions, c’est 128 + 2 (peut-être un pulse de début et un de fin?).
- lorsque le module d’adresse 65 veut envoyer un message, il attend le pulse n° 66 (65 + 1), et active alors sa source de courant 20mA pour prendre la main.
- et les autres modules RM détectent une tension 5,7V, et gèlent leur comptage d’impulsions.
Ce n’est qu’une hyptothèse, mais je crois que ça correspond à ce qui est dit dans cette phrase
“Jede Nachricht, die zum Zeitpunkt eines angemeldeten RM’s eintrifft, wird dessen Adresse zugeordnet”
que j’ai en gros décodé comme:
Chaque message, qui correspond à un moment donné à un RM enregistré, utilisera l’adresse de celui-ci.
Jean: peux-tu confirmer?
Cette phrase était exprimée de façon plus explicite dans une version antérieure:
“Falls eine aktuelle Nachricht in einem RM bereit liegt, legt er diese nach dem Impuls, der seiner Adresse entspricht auf den Bus”
où il est question d’ADRESSE CORRESPONDANTE sur le bus.
Voilà en gros.
JPP