PB de communication en RS232

Une machine en panne, cassée ? Un mode de fonctionnement incompréhensible ? Exprimez-vous ici

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

PB de communication en RS232

Message par Fabrice Montupet » 03 avr. 2019 00:03

Je me bats avec un vieux programmateur d'EPROM AMREL 9820 (développé par la société Pactronix dans les années 80-90) . J'ai déjà résolu quelques soucis matériels. Depuis je tente de communiquer avec lui à travers son port RS232, via le soft sous MS-DOS fourni avec. J’utilise pour cela un vrai PC 486DX2 66, sous MS-DOS. Exit donc toute virtualisation, je me suis mis en situation d'époque.
A la base j'ai utilisé un simple câble série RXD, TXD, MASSE / TXD, RXD, MASSE sans succès. Mais en fouillant dans les menus du soft, j'ai vu qu'il était possible de choisir uniquement la vitesse de transmission et le numéro du port COM.
Puis je me suis créé un câble NULL MODEM type Loopback Handshaking:

Code : Tout sélectionner

DB25        DB25
2           3
3           2
4-5         4-5
7           7
6-8-20      6-8-20
Le soft a accepté de basculer le programmateur en mode communication sérielle mais aucune donnée transmise, quelle que soit la vitesse choisie de 75bds à 9600bds.
Même réaction en câblant en Full Handshaking:

Code : Tout sélectionner

DB25        DB25
2           3
3           2
4           5
5           4
6-8         20
7           7
20          6-8
Je me suis dit que le programmateur pouvait croiser TXD et RXD en interne, j'ai alors modifié mes câble en conséquence... Mais pas mieux.

J'ai aussi essayé différentes configurations sous MS-DOS avant de lancer le logiciel, de type:
MODE COM1: 9600,n,8,1
avec différentes vitesses, 1 ou 2 en bit de parité, bit stop ou non, en prenant soin de choisir la même vitesse entre le logiciel et le programmateur.... Mais toujours rien.


J'ai alors tracé les lignes du port DB25 utilisées et j'ai pu voir que les broches 11, 17 à 20 et 25 étaient câblées. Je n'avais jamais rencontré un tel brochage. SI je peux expliquer l'usage de la broche #25, pour un mode de test, autant je suis interpellé par la broche #11 sensée ne pas être assignée. Quid des broches 17 à 19. De là à penser que l'équipe de Pactronix a réalisé un câble propriétaire il n'y a qu'un pas... Après, il se peut qu'un problème matériel persiste.
Avez-vous déjà rencontré pareille configuration?

Nikass
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1147
Inscription : 12 nov. 2015 23:00
Localisation : trouducul du 31 et 34 aux lunes bleues

Re: PB de communication en RS232

Message par Nikass » 03 avr. 2019 07:06

Salut Fabrice !

Je ne sais pas pourquoi, ton histoire m'a mis la puce à l'oreille et j'ai retrouvé d'où ça venait. J'ai quelques boîtes de test de liaison série (tu dois connaître, ces machins avec des LEDS, des switches et des petits câbles pour permuter tout ce qu'on veut) et dans l'une d'entre elles (de 1974 quand même !) il y a le brochage d'une full DTE...

et là:

https://www.camiresearch.com/Data_Com_B ... ndard.html

et bingo, y'a du monde sur 17, 18 et 19. Alors c'est capillotracté parce que ça n'a pas dû être implémenté des masses, mais ça existe.

25 confirme un test mode. 11, ben je ne sais pas :-)

Après, si ça peut t'aider, je te prête volontiers cette petite boîte le temps de te dépatouiller. C'est pratique, il y a des LEDs configurables, des attrapeurs de pulse, enfin elle m'a dépanné je ne sais combien de fois cette bestiole.

a+

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2959
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: PB de communication en RS232

Message par gilles » 03 avr. 2019 11:23

ça me rappelle aussi des trucs, il me semble que mon père avait tout le temps un adaptateur avec des jumper pour prototyper tout câble série avant de le faire fabriquer (dans un contexte micro/mini/telecom X25 tout ça tout ça).
ca ressemblait à ça :
https://www.amazon.com/RS232-DB25-BREAK ... B005H46XS2

tout ça pour dire que le câble série standard ça n'a jamais vraiment existé. Il y a plein de config/fonctions particulières.

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1581
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: PB de communication en RS232

Message par destroyedlolo » 03 avr. 2019 11:40

Salut,

Ca ressemble en effet bien a un câble customisé.
J'ai eu le cas avec des cables consoles HP ou SUN ou les RX, TX étaient cablé pas croisé mais c'était la fete coté des autres signaux.
J'ai donc fait usage de mon fer a souder pour les réutiliser sur des machines standards.
tout ça pour dire que le câble série standard ça n'a jamais vraiment existé. Il y a plein de config/fonctions particulières.
En fait, tant que tu restes sur les signaux standards (TX/RX et DTR/CTR RTS/CD/CTS) les cables sont standards.
Les DB25 supportaient aussi un second port, mais les signaux sont souvent utilisés a d'autres usages.
Puis ils y les signaux non assigné où c'est la fetes. Sur Amiga par exemple, ils y ont intelligemment sortie les alims (+/- 12v, 5v) ce qui permet d'avoir des périphs auto alimentés.
Le bleme c'est qu'a chaque fois il faut vérifier le cables pour ne pas que ca finisse en générateur de fumée.

Sinon, si ca peux aider dans tes tests, j'avais aussi bataillé durant un stage de fin d'étude avec la RS-232 des PC sous m$-dos et m$-w311. Comme d'hab, bien merdique et bien buggé : en particulier, le handshack hardware était pris en compte qu'on l'active ou pas. Donc bouchon obligatoire.
(Les ingés VMS avec qui je bossais étaient mort de rire, moi moins :mrgreen: :mrgreen: :twisted: :twisted: ).

A+
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2959
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: PB de communication en RS232

Message par gilles » 03 avr. 2019 12:57

destroyedlolo a écrit :
03 avr. 2019 11:40
tout ça pour dire que le câble série standard ça n'a jamais vraiment existé. Il y a plein de config/fonctions particulières.
En fait, tant que tu restes sur les signaux standards (TX/RX et DTR/CTR RTS/CD/CTS) les cables sont standards.
Les DB25 supportaient aussi un second port, mais les signaux sont souvent utilisés a d'autres usages.
Puis ils y les signaux non assigné où c'est la fetes. Sur Amiga par exemple, ils y ont intelligemment sortie les alims (+/- 12v, 5v) ce qui permet d'avoir des périphs auto alimentés.
Le bleme c'est qu'a chaque fois il faut vérifier le cables pour ne pas que ca finisse en générateur de fumée.
si la référence de ton câble est pratiquement un plan de câblage je n'appelle pas çà un standard... Le standard c'est le connecteur et les signaux, les câbles dépendent des usages et du matériel. Même pour un truc aussi con qu'un câble vers un modem il peut y avoir des variations (droit ou croisé; handshake ou pas...). bref le câble série c'est la jungle...

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: PB de communication en RS232

Message par Fabrice Montupet » 05 avr. 2019 22:32

Merci pour vos retours :)

Oui, il y a du monde sur le port DB25. J'avais déjà regardé à quoi correspondait ses signaux supplémentaires (second port) sans pour autant encore expliquer comment ce programmateur s'en sert.
Ces boites de test sont extrêmement pratiques, merci pour la proposition de m'en prêter une :) Mais comme je risque d'en avoir besoin de temps à autre, je vais m'en commander une prochainement. En attendant, je me suis réalisé un petit adaptateur avec prises DB25 et D25 connectées à des rails de headers, ainsi grâce à des câbles Femelle-Femelle je peux tester rapidement des configurations sans avoir à souder.
.... et j'avance. J'ai remarqué que connectant la broche #5 à la broche #6 du DB25 j'obtiens un début de communication: Je peux maintenant envoyer des ordres au programmateur: Blank Test et Lecture de ROM/EPROM/PAL. Le programmateur lit les composants et stocke leur contenu dans sa mémoire interne. Mais j'obtiens juste après une erreur de TIME-OUT ce qui fait que le programmateur ne transfert pas le contenu de sa mémoire vers le logiciel du PC.

Code : Tout sélectionner

DB25  PROGRAMMATEUR                        DB25 PC
2                                          3
3                                          2
4                                          5
5                                          4
6-8                                        20
7                                          7
20                                         6-8

puis:
5     (RTS)                                6 (DCE READY)
Je pars du principe que ce programmateur fonctionnait également sur un PC équipé d'un port série DB9, dans le cas contraire le service marketting du constructeur se tirait une balle dans le pied. Ce qui limite les combinaisons. Après il peut y avoir des rebouclages côté DB25...

Avatar de l’utilisateur
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2959
Inscription : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: PB de communication en RS232

Message par gilles » 06 avr. 2019 14:57

dans tous les cas ça fonctionnait très probablement sur un PC et que ce soit du DB25 ou du DB9 coté carte mère ou carte série c'est le mème connecteur depuis très très longtemps (nappe de 10) donc le second port n'est quasi jamais câblé:
ex ici:
Image

(à vérifier sur les très très anciennes machines dont les IBM d'origine)

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: PB de communication en RS232

Message par Fabrice Montupet » 06 avr. 2019 18:50

Je m'étonne de pouvoir envoyer des ordres au programmateur comme un Blank Test ou une Lecture du composant connecté et d'avoir juste après un TIME-OUT. Si des ordres sont bien envoyés et traités, je devrais en conclure que tout se passe normalement du côté du TXD/TXD. Et pourtant... Si j'envoie un ordre d'écriture, les choses sont loin des fameuses: Le PC commence un envoi de données puis affiche un TIME-OUT durant l'opération. si j'interroge la mémoire du programmateur, aucune donnée est arrivée.
Ce programmateur va me rendre dingue :)

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: PB de communication en RS232

Message par Fabrice Montupet » 06 avr. 2019 22:21

Je réussis également à lancer une copie d'EPROMs à travers le port COM et le logiciel PC. Le Checksum est OK.
En comparant les fonctions qui aboutissent et celles qui échouent, le problème vient clairement de la réception côté PC. Un problème de signal RD? Je vais vérifier, tout comme je vais re-vérifier le circuit du MC1488 sur la carte électronique du programmeur. Sait-on jamais.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: PB de communication en RS232

Message par Fabrice Montupet » 07 avr. 2019 01:40

Arf! J'ai trouvé un des coupables... Ce satané driver de ligne MC1488. Son fonctionnement était instable, il décrochait au cours de la phase de transmission. En ce qui concerne le câble, ma dernière configuration était la bonne. Je peux maintenant lire/écrire/copier/vérifier des EPROM et PAL :) Il me reste encore deux soucis à régler:
- Parfois la commande de lecture échoue, il me faut la relancer pour qu'elle aboutisse.
- L'écriture des EEPROM.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10700
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: PB de communication en RS232

Message par Fabrice Montupet » 07 avr. 2019 13:22

Nouveau problème.
Ce matin, impossible de communiquer à nouveau avec le programmateur... Le nouveau 1488 a rendu l'âme. En jetant un oeil sur le composant, j'ai vu qu'il était fendu en deux (!) Peut-être dois-je revoir mon câblage... ou le programmateur me cache d'autres composants en défaut.
Il n'aura pas fonctionné longtemps. :lol:

Répondre

Revenir vers « Problèmes techniques »