Autor Tema: Cual es el Baud Rate adecuado???  (Leído 3880 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 441
    • Mcu Tronics
Cual es el Baud Rate adecuado???
« en: 29 de Abril de 2020, 20:13:19 »
Hola a todos, tengo una consulta, explico un poco cual es mi dilema esperando no confundirlos:

Tengo 1 equipo operando con un modulo USR-TCP232-T2 (Ethernet-UART), este se conecta al software instalado en una PC remota, donde el software VCOM (Proporcionado por el fabricante) emula un puerto COM, que permite que se envie y reciba informacion desde el equipo que posee el modulo de red, puntualmente transmite 30 bytes cada 60segundos (aprox) y cuando el usuario que opera el equipo lo desea, solicita que se envie informacion puntual a la PC remota, la cual son aproximadamente 60 bytes (varia entre 50 y 60 bytes)

El modulo de red, esta acoplado a una PCB (el equipo en cuestion), comunicando con un PIC16F18456 por su puerto UART.

Ahora, tanto el modulo como el UART del PIC, transmiten a 9600 baudios (he probado a 115200, 14400, 38400, 57600)

He experimentado perdida de datos ocacional de la trama repetitiva de datos (la que se envia cada 60seg), transmitidos del equipo a la PC, este equipo, envia datos a traves de la red (con ayuda del modulo), siendo el mas alejado de la misma.

En la red hay conectadas camaras de CCTV, y la mas alejada transmite video sin problemas

Ahora mis dudas puntuales:

Si yo bajo el baudrate, del modulo y de mi PIC, podria mejorar la estabilidad de la comunicación???? perder menos datos??? o en el mejor de los casos, no perder nada???

Es una distancia considerable, se que al final el modulo transmite en un protocolo TCP, pero......le afecta este detalle del baudrate serial???

Cual seria para ustedes un baud rate adecuado para transmitir a largas distancias???

Espero haberme explicado correctamente

Saludos y gracias  :-)

Nunca se deja de aprender

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Cual es el Baud Rate adecuado???
« Respuesta #1 en: 29 de Abril de 2020, 21:09:33 »
Como bajar la velocidad es sencillo es lo primero que se intenta.  Siendo tan pocos bytes por minuto empezá por el menor baudrate, si podés configurar tan bajos como 300baud dale nomás  (los 30 bytes salen en 1 segundo)

Si desaparecen los errores: Perfecto!  Lo dejás ahí o vas probando con velocidades mayores.
Una sola vez me encontré con un problema asi. Tenía que comunicar varias PCs con máquinas CNC. Como la distancia total era del orden de los 40m, a 9600baud no era para nada confiable pero a 2400 era un violín.

Si a velocidades ultrabajas igual tenés errores el problema ya es la calidad del cable, o que comparte recorrido con cables de potencia , o debido a la distancia, la masa de origen no es equipotencial con la de destino.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 441
    • Mcu Tronics
Re:Cual es el Baud Rate adecuado???
« Respuesta #2 en: 29 de Abril de 2020, 21:29:24 »
Muchas gracias por la respuesta Eduardo2, he estado simulando a 300 baudios, tendre que actualizar el equipo y probar.

Ya habia probado varios baud rate, pero no tan bajos, ahora mismo transmite a 9600, la distancia mas lejana deben ser aproximadamente, a ojo de buen cubero (como decimos por aca) unos 700 metros. y si que me pierde datos, o comienza bien y de pronto o ya no transmite o transmite a veces o mal.

Intentare con el mas bajo haber si mejora

Si alguien tiene alguna otra opinion, se los agradecere

Saludos
Nunca se deja de aprender

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Cual es el Baud Rate adecuado???
« Respuesta #3 en: 29 de Abril de 2020, 22:07:03 »
...
Ya habia probado varios baud rate, pero no tan bajos, ahora mismo transmite a 9600, la distancia mas lejana deben ser aproximadamente, a ojo de buen cubero (como decimos por aca) unos 700 metros. y si que me pierde datos, o comienza bien y de pronto o ya no transmite o transmite a veces o mal....

700m es muchísimo.  Evidentemente el cable es bueno porque a 9600 deberían ser puros errores.

Por las dudas medí la resistencia ohmica del lazo (cortocircuitando en un extremo RX y GND  y midiendo con tester en el otro.
Porque a menos que uses cables de varios pares y estén en paralelo va a ser alta.
« Última modificación: 29 de Abril de 2020, 22:11:34 por Eduardo2 »

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 441
    • Mcu Tronics
Re:Cual es el Baud Rate adecuado???
« Respuesta #4 en: 29 de Abril de 2020, 22:32:26 »
Bueno, tal ves me explique mal, el equipo se encuentra aproximadamente a 700 mts de la oficina de donde se tiene la PC remota, pero la conexion no es puramente serial, el modulo de red que va en la PCB, permite conectarme a un switch, este switch se encuentra concentrando y manejando el trafico de algunos equipos, entre ellos, la antena principal que transmite hacia otra repetidora, y asi sucesivamente conformando una red de anillo hasta llegar a la PC remota.

La distancia que especifique no es propiamente de cableado, es distancia fisica del equipo con respecto a la PC remota

Lo que pienso hacer es implementar un sistema de cambio de baudrate en tiempo de ejecucion, de ese modo voy probando sin necesidad de estar re-grabando el PIC

les seguire comentando como me vaya y sigo leyendo sus comentarios

saludos y gracias Eduardo2
Nunca se deja de aprender

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Cual es el Baud Rate adecuado???
« Respuesta #5 en: 30 de Abril de 2020, 06:57:10 »
Ahí lo que tienes que ver es el datasheet del pic. , te vas al apartado del módulo usart eusart, el que tenga tu pic.

 Te vas a ver las tablas del BRG y en función del cristal oscilador que tengas vas a buscar la opción que menos error te de y pones esa velocidad con esa configuración de BRG.

  Por otro lado doy por sentado que la configuración de paridad, bit de datos y bits de stop coinciden en ambos lados de la comunicación. 

  También, las tramas de datos incluirán un CRC. compruébalo siempre y vuelve a pedir la trama que venga con checksum erróneo. 

  En última instancia usa un cristal con frecuencia múltiplo de rs232.

  Por ejemplo, si es un cuarzo de 10 Mhz, cámbialo por uno de 11.0592 Mhz.

  El error será siempre del 0% en todos los baudrates estándares.


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Cual es el Baud Rate adecuado???
« Respuesta #6 en: 30 de Abril de 2020, 08:42:49 »
El problema puede estar en la parte de la UART o en la parte del Ethernet..

Ahora si hay algunos datos que cambia o faltan, miraria la UART... O el micro.
Si falta un paquete entero entonces miraria la parte de Ethernet.

Citar
Si yo bajo el baudrate, del modulo y de mi PIC, podria mejorar la estabilidad de la comunicación???? perder menos datos??? o en el mejor de los casos, no perder nada???
Si esta proximo el conversor Ethernet-TTL no... no deberias a no ser que exista demasiado ruido.

Citar
Es una distancia considerable, se que al final el modulo transmite en un protocolo TCP, pero......le afecta este detalle del baudrate serial???
No, ese ya es otro tema, el Ethernet es aparte, y si va por TCP entonces lo hace mas seguro de que llegue, aunque puede tener sus problemas. Ahora si es UDP entonces puede perderse el dato por ahi.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 441
    • Mcu Tronics
Re:Cual es el Baud Rate adecuado???
« Respuesta #7 en: 04 de Mayo de 2020, 21:06:08 »
Hola compañeros, respondo lo ultimo que no había revisado.

remi04, he seleccionado la configuración que me da menor porcentaje de error en la parte del UART, mirare lo del cristal para ver si puedo reemplazarlo por uno que no me de error alguno

KILLERJC, los datos en ocaciones no llegan completos, o simplemente no llegan, no siempre, aclaro, pero alguna ves si que falla.
el conversor ethernet-uart, esta en la misma pcb del microcontrolador, a escasos 3 o 4cm, ruido....si que debe haber, es un lugar con una instalación eléctrica pésima, en el equipo se tiene un supresor de picos para protección, un filtro de linea, y la fuente es conmutada e incorpora otro filtro de linea, aun asi, seguro que hay ruido.

El protocolo en el lado del ethernet, es TCP, y si no me equivoco, utiliza sockets para la recepción y envió de datos, no estoy muy enterado de esa parte para serte sincero.

Saludos y sigo pendiente para hacer las mejoras, aun estoy luchando con el problema
Nunca se deja de aprender


 

anything