Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

21/01/2016 #1


Problema de comunicacion Asincrona con RS232
Buen dia lectores.

La duda hoy es algo probablemente sencillo. Pregunte en foros anteriores pero la respuesta a mi problema se ajusta mejor a este tema.

Tengo una comunicación entre computadora y computadora usando HyperTerminal, protocolo asincrono, cable RS232 DB9, Un puerto Paralelo DB25 y un transmisor de Radiofrecuencia para transmitir los datos por aire. Ahora tratare de explicarle el procedimiento por el cual hice las pruebas y donde esta el problema.

a) Las configuraciones de hyperterminal son las siguientes: Velocidad 9600, Bit de datos 8 bits, Paridad Ninguno, Bit de parada "1" logico y control de flujo.

b) Desde Hyperterminal transmito datos asincronos en codigo ASCII, donde si envio por ejemplo el caracter "a" este tiene un equivalente en binario, bien?.

c) Haciendo uso de un osciloscopio, verifico la salida de datos por el Puerto COM 1 de la computadora a traves de un RS232 DB9. Se puede observar toda la estructura asicnrono y verificar que la combinacion de bits es la adecuada con respecto al caracter enviado, es decir, se aprecia: el estado en reposo, bit de inicio, datos (8 bits) y el bit de parada. Por los momentos todo correcto.

d) Tengo un modulo en donde puedo extraer con un cable el pin de Transmisión del RS232, el detalle es que puse un adaptador puerto paralelo de RS232 DB9 a DB25. Vuelvo a verificar la salida y todo esta bien aun.

e) La salida de transmisión (Los datos asincronos) Lo conecto con el modulador de RF para transmitir dichos datos por aire. Luego estos llegan a una estacion receptora y se demodula dicha modulacion.

f) Aqui es donde se presenta el problema, en la salida del demodulador me sale la misma señal invertida, ya me asegure de que el demodulador no sea el problema, es decir, el demodulador no me invierte la señal (Lo comprobé haciendo la transmisión de una señal dientes de cierra y lo demodula sin invertirlo). Es decir que el problema de la inversion de datos radica en algun mal ajuste en la transmision.

-Ahora mi duda es, existe alguna configuracion en el cable RS232 o en el HyperTerminal para evitar que al enviar datos se inviertan?.

-Que fenómeno puede causar en la transmision asincrona se invierta?

- En las IMAGENES 2 y 3, que configuracion en el RS232 es la adecuada para comunicar una computadora a otra computadora con la siguiente confiugarcion: 9.600 baudios, 1 bit de Start, 8 bits de Datos, 1 bit de Stop y sin paridad.

Posdata: Ni el transmisor, ni el demodulador invierten la señal. Ya lo verifique.

Anexe una imagen del diagrama para mayor entendimiento del problema.
21/01/2016 #2

Avatar de miguelus

Buenas tardes.

Ten en cuenta que las señales RS232, para un "1" lógico es una tensión Negativa de entre -3VCC y -15VCC, para un "0" lógico es una tensión positiva de entre +3 y +15VCC.

Los Módulos TX funcionan de la siguiente forma, si ponemos tensión Positiva en la entrada de Datos, el TX transmitirá, si en la entrada de Datos no ponemos ninguna tensión o una tensión Negativa, el TX no transmitirá.

Esto significa que cuando transmitimos (un "0") , el RX lo interpretará como un "1" lógico y si no hay transmisión ("1"), el RX lo interpretará como un"0" lógico.

Lo que te está pasando parece tener sentido

Intenta invertir la señal que entra al Módulo TX.

Sal U2
21/01/2016 #3


miguelus dijo: Ver Mensaje
Buenas tardes.

Ten en cuenta que las señales RS232, para un "1" lógico es una tensión Negativa de entre -3VCC y -15VCC, para un "0" lógico es una tensión positiva de entre +3 y +15VCC.

Los Módulos TX funcionan de la siguiente forma, si ponemos tensión Positiva en la entrada de Datos, el TX transmitirá, si en la entrada de Datos no ponemos ninguna tensión o una tensión Negativa, el TX no transmitirá.

Esto significa que cuando transmitimos (un "0") , el RX lo interpretará como un "1" lógico y si no hay transmisión ("1"), el RX lo interpretará como un"0" lógico.

Lo que te está pasando parece tener sentido

Intenta invertir la señal que entra al Módulo TX.

Sal U2
Hola saludos, amigo.

Esas tensiones que me mencionaste es por el uso del RS232 o se produce en la transmision de la PC?.

Existe alguna manera de invertir la señal de TX sin yo interrumpir el diagrama?, es decir, que se pueda desde el hyperterminal que invierta la señal que sale de la pc
21/01/2016 #4

Avatar de J2C

.



Jesusto

Jesusto dijo: Ver Mensaje
..... e) La salida de transmisión (Los datos asincronos) Lo conecto con el modulador de RF para transmitir dichos datos por aire. Luego estos llegan a una estacion receptora y se demodula dicha modulacion.

f) Aqui es donde se presenta el problema, en la salida del demodulador me sale la misma señal invertida, ya me asegure de que el demodulador no sea el problema, es decir, el demodulador no me invierte la señal (Lo comprobé haciendo la transmisión de una señal dientes de cierra y lo demodula sin invertirlo). Es decir que el problema de la inversion de datos radica en algun mal ajuste en la transmision. ........
Si los módulos que usas en esta consulta son los mismos de Polaridad de sincronismo de Television que se observan en la siguiente figura:






Vas a obtener respuestas que no te guiaran adecuadamente, ya que en la forma que lo has expresado hace suponer que estas usando algún módulo de alguno de los siguientes tipos:

nRF24L01:


ó RF433:



o alguna otra variante, deberías ser mas explicito al referenciar dichos modulos.





Saludos, JuanKa.-
21/01/2016 #5


J2C dijo: Ver Mensaje
.



Jesusto



Si los módulos que usas en esta consulta son los mismos de Polaridad de sincronismo de Television que se observan en la siguiente figura:






Vas a obtener respuestas que no te guiaran adecuadamente, ya que en la forma que lo has expresado hace suponer que estas usando algún módulo de alguno de los siguientes tipos:

nRF24L01:


ó RF433:



o alguna otra variante, deberías ser mas explicito al referenciar dichos modulos.





Saludos, JuanKa.-
Hola de nuevo juanka.

Bueno te explicó. Resulta que el problema no lo pude arreglar con lo del pulso de sincronismo. Aunque si invierte adecuadamente las señales.

Eso de que creía que la señal se estaba invirtiendo, hoy me fije que no es asi... El problema radica en la sintonización de la portadora cuando envió la informacion.

Como ya sabemso la transmisión de datos en asíncrono tiene un bit de inició, bit de parada, los datos y un estado de reposo (1 lógico ). En la IMAGEN 1 y 2 señaló los datos en el círculo rojo y el estado de reposo en el círculo azul, esta es la señal que sale de la pc hacia el transmisor, como se observa sin ruido, distorsión o problema alguno.

En cambio las imágenes 3 y 4 se muestran la salida del demodulador (la recepcion) como se ven los datos no están invertidos, el problema radica en el estado de reposo. El estado de reposo no se mantiene en uno lógico, este sube a 5 v y va bajando gradualmente hasta convertirse en 0 v. Lo cual el receptor entiende como un bit de inicio.

La verdad es que ahora si no tengo ni idea ni sospecha de cual puede ser el problema. Mañana intentaré centrarme bien en la portadora a ver si tengo éxito

Posdata: las imágenes 5 y 6 son las mismas señales en el osciloscopio pero con la escala del tiempo más grande
Imágenes Adjuntas
Tipo de Archivo: jpg IMG_20160121_190508.jpg (105,4 KB (Kilobytes), 10 visitas)
Tipo de Archivo: jpg IMG_20160121_190615.jpg (113,8 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg IMG_20160121_192625.jpg (124,5 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg IMG_20160121_192722.jpg (129,8 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg IMG_20160121_175413.jpg (116,6 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg IMG_20160121_175115.jpg (115,8 KB (Kilobytes), 9 visitas)
21/01/2016 #6

Avatar de albertoxx

Una vez hace tiempo me paso algo similar pero con un receptor de infrarojos que cuando no recibia nada enviaba un pulso alto y cuando recibia algo lo bajaba y provocaba el efecto que tu dices la misma se;al pero invertida asi que lo que hice fue poner una compuerta logica NOT y listo lo que recibe lo vuelve a invertir asi quedan iguales
21/01/2016 #7

Avatar de chclau

Si el problema es como lo planteas puede ser que poner una resistencia de pull-up a la salida de los datos te lo resuelva.
21/01/2016 #8


chclau dijo: Ver Mensaje
Si el problema es como lo planteas puede ser que poner una resistencia de pull-up a la salida de los datos te lo resuelva.
Una resistencia de 1K, por ejemplo?

Eso no presentaria una subida de tension en toda la señal como tal?.. Por que aumentaria el 0 y el 1 logico en voltaje

Para que se entienda mejor la imagen, exactamente esto es lo que esta sucediendo en la señal. La señal cae en el estado de reposo y hace creer al receptor que se inicio una cadena de caracteres.

La imagen de arriba es un ejemplo y la de abajo es otro ejemplo aparte, pero es el mismo caso.
Imágenes Adjuntas
Tipo de Archivo: png Sin título.png (52,8 KB (Kilobytes), 14 visitas)
22/01/2016 #9

Avatar de chclau

No puedo saber que valor es el mejor, y como subir toda la señal, es imposible. Si la salida en estado alto es 5V, y el pullup tambien es a 5V, en estado alto no cambia. La unica diferencia es en estado bajo.

Es cuestion de probar, yo empezaria por 4K7

Nota: El comportamiento que se ve corresponde a una salida con acoplamiento de CA, o sea, capacitancia en serie. Como no se cual es ese capacitor ni cual es la carga que le presenta la PC... digo que es cuestion de probar.
28/01/2016 #10


Problema sin resolver, el profesor de la materia me insistió que agregarle algo al sistema no era la solución (aunque si se puede arreglar con sus consejos) no le conseguí respuesta al problema
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.