communication rs232

alainav1

Senior Member
Bonjour,
avez vous déjà utilisé une liaison rs232 (ou autre ) entre 2 picaxe (type 20M2 si possible )?
je souhaite communiquer sur 5 m entre 2 picaxe (la vitesse n'est pas un critere elle peux etre faible mais doit tre fiable )
cordialement
Alain
 

PieM

Senior Member
Bonjour,
avez vous déjà utilisé une liaison rs232 (ou autre ) entre 2 picaxe (type 20M2 si possible )?
je souhaite communiquer sur 5 m entre 2 picaxe (la vitesse n'est pas un critere elle peux etre faible mais doit tre fiable )
cordialement
Alain
Bonjour,

Aucun problème pour communiquer entre Picaxes en RS232 sur 5m. Pas d'I2C par contre sans drivers de ligne.
Le seul truc, c'est en cas de comm dans les deux sens, de ne pas faire un verrouillage avec cette commande bloquante.
Mais il y a des astuces avec des interruptions.
 

BESQUEUT

Senior Member
Bonjour,
avez vous déjà utilisé une liaison rs232 (ou autre ) entre 2 picaxe (type 20M2 si possible )?
je souhaite communiquer sur 5 m entre 2 picaxe (la vitesse n'est pas un critere elle peux etre faible mais doit tre fiable )
cordialement
Alain
Envisagez-vous une simple liaison série (niveau TTL) ou une liaison RS232 avec les drivers adéquats ?
Aux faibles vitesses, ça devrait être fiable dans les deux cas si le câble est de bonne qualité et s'il ne voisine pas avec un générateur de parasites trop puissant.
Si vous visez un très haut niveau de fiabilité, un checksum ne sera malgrès tout pas totalement inutile.
 

jojojo

Senior Member
Pas de panique.

A une époque, je gérais (techniquement) un système de contrôle d'accès, en résidences (entre 250 et 400 appartements).
Les liaisons claviers-µP pouvaient atteindre les 400 m, en paires torsadées, et, souvent en sous-sol, avec plein de moteurs de voitures, bien parasitant, sans parler de la foultitude de tubes fluo. Et tout ça, en RS232 0-5V.

Les seuls dysfonctionnements constatés (et vite corrigés) provenaient du "pic" de tension généré par les gâche électriques, des portails piétons (une simple diode a résolu le problème).
Les portes d'accès parking souterrains n'ont jamais créé le moindre souci.

Deux astuces, tout de même. Chaque câble des paires torsadées doit, au minimum, avoir un diamètre de 0.75 carré. ET, la vitesse ne doit pas dépasser les 4800Bds.

Ce système, largement diffusé, gérait aussi les droits d'accès, fonction des horaires (les sociétés d'entretiens avaient de codes actifs en créneaux horaires, le suivi des allées et venues pouvait être "pisté" - le parquet de Lille a même une fois exigé un listing, dans une sombre affaire d'agression- et, au total, plus de 8600 appartements ont ainsi été sécurisé).

Tout ça en 0-5V

Pour info, ce système, dit "Sésame", architecturé autour d'un Mini-Matrix, a été primé, au concours Applica de Lille, en 1984, prix remis par Monsieur Pierre Mauroy, alors premier ministre. (bon, en gros, j'ai pris un gros chèque ! Rires !).

Plus tard, (juste avant de vendre le bébé a un "gros" du secteur), la gestion commande-µP a été passée en RS485. Franchement, pas de différence, en matière de fiabilité).

Ici, au domicile, je logge les codes de télécommandes d'ouverture de ma grille d'entrée. 75 m, et en 0-5V, depuis 20 ans. Jamais une erreur.

Donc ...

Georges.
 

PapyJP

Senior Member
... Si vous visez un très haut niveau de fiabilité, ...
Si vous n' avez que des caractères ASCII sur 7 bits à transferer, vous pouvez aussi utiliser la technique du bit de parité ( voir les MP que je vous ai envoyé le 23 Mai 2013 au sujet du dialogue Minitel en assembleur qui utilise cette technique ). Très sûre, relativement facile à écrire en BASIC, un des avantages de cette technique vient du fait que l' on peut interrompre la transmission de la trame au premier octet incorrect, sans attendre la fin de la transmission.
Cette technique est aussi applicable si vous transferez des octets complets mais alors il faut attendre la fin complète de la trame pour y voir une éventuelle erreur de transmission. Dans ce cas le soft ( BASIC ) est plus lourd à écrire et elle ne détecte qu' un nombre impair d' erreurs dans la trame.
Est-elle plus performante que le " checksum " proposé par BESQUEUT ?
Si vous avez un avis, je suis preneur.
 

PieM

Senior Member
Sans bien compliquer les choses, il suffit d'utiliser rfin et rfout et ses 2400 bauds sur les 20M2. le CRC se fait de base.
 

BESQUEUT

Senior Member
Est-elle plus performante que le " checksum " proposé par BESQUEUT ?
C'est un peu hors sujet, sauf si alain insiste vraiment pour ce qu'il y a de mieux en matière de fiabilité, ce qui serait étonnant ; comme dit par jojojo une liaison à 4800 bauds, même en 5V, sur du câble de bonne qualité pas trop enroulé avec l'alim de l'ascenseur, c'est déjà très fiable.
Sur la théorie du checksum : 1 bit de parité donne un bit pour 7 bits transmis.
Un checkum de 8 bits pour une trame utile de 7 octets donne le même niveau de fiabilité.
Un checksum de 8 bits pour moins de 7 octets transmis donne un (légèrement) meilleur niveau de fiabilité.
Et évidement un cheksum de 8 bits pour une trame de plus de 7 octets donne une moins bonne fiabilité qu'un bit de parité.
On peut utiliser un checksum de 16 bits et je vous laisse faire le calcul.
Il y a différentes façons de faire le checksum, mais je n'ai jamais trouvé de réelle différence en matière de fiabilité.
Certaines techniques permettent de reconstituer les bits perdus (comme sur les lecteurs de DVD, ou les transmissions à très longue distance avec les sondes spatiales). Mais si on en est là, il faut se poser des questions sur le vecteur physique (câblage et protocole)
 

alainav1

Senior Member
merci pour toutes ces reponses
je regarde tout ça .
d'I2C par contre sans drivers de ligne
l'i2C est réservé au circuits court j'ignorai que l'on pouvait ameliorer la distance avec des drivers de ligne ?
vous connaissez des driver de ligne pas cher (c'est juste pour "jouer avec car je ne connais pas ces composants .
cordialement
Alain
 

PieM

Senior Member
Voir également http://mchobby.be/wiki/index.php?title=P82B715PN:_I2C_Bus_Extender
de toute façon, avant d'utiliser des drivers de ligne, il faut exploiter au mieux les caractéristiques du câble compte tenu de sa longueur (la plus faible capa possible).
Ensuite réduire la résistance de rappel au 5V pour avoir un RC le plus faible possible. On peut descendre en principe à 1k. Mettre une R à chaque extrémité peut être conseillé aussi.
Et éviter le 400 kHz !
 
Last edited:
Top