Lecture de bits sur port RS232 (Rx) et ecriture reciproque sur Tx

bimaonethc Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 4 mars 2005 - 28 févr. 2005 à 16:34
panoramix591 Messages postés 1 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2005 - 18 juil. 2005 à 17:52
Bonjour,
J'essaie d'aller lire un flux binaire quelconque sur mon port RS232 par l'intermediaire de Rx. Autrement dit, echantilloner le Rx sans prendre en compte de protocole spécifique.
Les signaux ressemblent à ça :

Le probleme c'est que toutes les fonctions que j'ai trouvé viennent interpreter ce signal selon le protocole RS232 alors que cette trame n'a pas de signalisation.

Quelqu'un saurait comment "court-circuiter" ce protocole et recuperer les bits (et non les mots) qui m'interessent?
Par la même, la reciproque me permettant de reconstituer ce type de signal sur Tx m'interesse grandement...

Merci d'avance.

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 févr. 2005 à 19:02
Désolé je suppose que tu as mis un schémas mais il n'est pas passé. Je vais quand même tenté une explication.



Sur un PC, avec un port série RS232, ce sont des octets que tu reçois et non pas des bits

Pour recevoir les bits il faut que tu intervienne au niveau du
hardware, en fait faut que tu te gère toute la partie reception
hardware de liaison RS232. Et ça c'est pas possible avec les ports du
PC.

Pour cela il te faut faire un montage électronique à base de
microcontroleur (ex: PIC16xxx) et son petit programme associé pour
gérer a mano la liaison série.



Seconde explication : Si c'est la partie données qui t'interesse (dans
le schéma que tu voulais mettre mais qui n'y est pas si j'ai tout
compris), tu peux toujours récupérer les octets et les découper ensuite
en bits avec des masques.


Attention aux termes, tu utilise le terme 'mot' dans ton post, un
mot (word) représente 2 octets soit 16 bits. Je pense que tu voulais
plutot parler d'un octet (byte) soit 8 bits.



Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
0
bimaonethc Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 4 mars 2005
1 mars 2005 à 11:49
Bonjour Casy,
Je suis ravi d'avoir deja un retour sur ce dileme qui commence à me faire perdre patience.
Je pense que tu as bien compris ma problematique. Ce en sont pas les données qui m'interesse mais les bits (reflet de l'echantillonage de mon signal analogique apres photodiode etc.)
En effet, le terme "mot" n'était pas approprié dans ce cas.
Apparement :
il te faut faire un montage électronique à base de microcontroleur (ex: PIC16xxx) et son petit programme associé pour gérer a mano la liaison série ce qui me semble très profond comme demarche même si je ne me rend pas encore bien compte du travail que ça demande.
Aurais-tu plus de bille la dessus car là je suis HS?

Apparement passer par le port RS232 est très contraignant, connais-tu un adaptateur pour pluger mon convertisseur IR/RS232 (EL-Link-IR Lascar) sur un port parallèle et echantilloner sur celui-ci, qui normallement est plus accessible?

N'aurais-je pas interet à trouver une autre piste genre emetteur-recepteur infrarouge CS8130-CS?

Merci d'avance pour tes conseils.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
1 mars 2005 à 12:26
Effectivement passer par un PIC16xxx
(ou autre) n'est pas à la protée de tout le monde. Si tu ne connais
rien en électronique ne te lance pas, surtout que ça n'a pas l'air de
correspondre à ton besoin.



Excuse-moi, mais je suis extremement perplexe quant aux informations que tu me donnes


echantillonage de mon signal analogique apres photodiode ...... convertisseur IR/RS232 (EL-Link-IR Lascar) .......... emetteur-recepteur infrarouge CS8130-CS



Les deux références de convertisseurs que tu donnes ne font absolument pas d'échantillonage de signal analogique.

Ces convertisseurs permettent d'obtenir une liaison infrarouge selon la
Norme IrDA à partir d'un port série RS232. Ces liaisons sont notammant
utilisées pour des communications avec des périphériques tel que
imprimantes, PDA, NoteBook, et autres téléphones portable .........

Donc que des tranferts de données purrement numériques (des octets, par
centaines). De toute façon tu ne récupèreras à la sortie de ces
circuits que des octets et jamais un échantillonage de signal
analogique après photodiode.




Les bits que tu reçois sur le port série arrive tel quel (codé quand
même) sur la photodiode, il ne 'sagit nullement d'un échantillonage
d'un quelconque signal analogique.



Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
0
bimaonethc Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 4 mars 2005
2 mars 2005 à 17:22
En fait, c'est plutot un abus de langage que je fais en parlant d'echantillonage pour dire "recuperer des 0 et des 1", peu importe.
Je suis etonné de ce que tu me dis a propos du kit de developpement CS8130-CS, il est pourtant noté sur le catalogue Radiospares que c'est utilisable pour des signaux de telecommandes...menfin, de toute facon c'est relativement cher!

Donc pour le moment, je vais essayer d'autres pistes et voir sur Girder où ce systeme de lecture semble exister, enfin j'espere! Par contre, d'autres idees peuvent m'etre utiles. J'ai d'ailleurs entendu parler recement de passer par la carte son, qui est le convertiseur A/N disponible sur la pluprt des PC. Aurai ti un avis la dessus?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 mars 2005 à 18:23
Je ne pense pas que ce soit un abus de langage quand tu dis
"échantillonage" pour parler de 0 et de 1, ça correspond à de
l'échantillonage.

Par contre, là ou j'ai quelque fois du mal à te suivre, c'est que j'ai
l'impression que tu considère tes 0 et 1 comme un signal analogique. Et
la c'est une erreur, au mieux tes 0 et 1 représente un signal ana qui a
déjà été échantilloné mais pas le signal ana lui-même.


En étudiant de plus près la doc du CS8130 (le circuit, pas la
carte) sur le site Cirrus, il apparait que ce circuit est compatible
avec plusieurs signaux dont les signaux de télécommande.

Il possède en plus un mode (mode 4) ou on peut lire ou piloter
directement la led du style en reception : reçois un signal IR ->
RxD=0, ne reçois pas -> RxD=1.mais c'est toujours du binaire, il n'y
a pas de conversion analogique/numérique. Je ne sais si la carte d'eval
de chez RS te permet d'exploiter ce mode.

Si tu veux seulement récupérer une suite de 0 et de 1, ce mode peut
t'intéressé, mais il faudra surrement à l'arriveée que tu rassemble tes
bits par octets, mots ou autre pour pouvoir les décodés.



La carte son possède effectivement un CAN sur l'entrée son, mais je ne sais pas s'il est exploitable, et comment l'exploiter


Quel est exactement le signal que tu veux récupérer? (en fait on aurait du commencer par là)

Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
0
bimaonethc Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 4 mars 2005
4 mars 2005 à 11:33
Le signal que je souhaite recuperer est standard (voir differents site de presentation de signaux de terlecommande genre RC5, NEC, etc.).
Au niveau du Rx de mon EL-LINK-IR, j'ai le signal que j'avais placé au début, je vais

Là je pense qu'il y est...
Je cherche donc (en clair) à échantilloner ce signal à une frequence suffisante de maniere à stocker les bits (fichier texte ou autre) puis par la suite reproduire ce signal sur Tx.

Le problème c'est les bits de start, stop, etc. qui empeche de realiser cette fonction librement...snif!
0
panoramix591 Messages postés 1 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2005
18 juil. 2005 à 17:52
salut a tous,

pour le probleme qui vous concerne,il y a peut etre une solution:



si tu veux recupérer un 0 ou un 1(deux etats possible),tu peux utiliser le port // pout te connecter et utiliser

le langage assembleur pour lire la valeur mais pour ca il faut etudier les registres d'etat,de données,et de controle.

en faisant un petit programme qui va lire a intervalle regulier le bit
que tu auras designé(voir db 25) tu pourras facilement recupérer
tes infos.



a+ et j'espere que je n'ai pas été brouillon ds mes explications.
0
Rejoignez-nous