Autor Tema: Sincronización de mensajes RF  (Leído 1931 veces)

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Sincronización de mensajes RF
« en: 05 de Octubre de 2007, 04:43:37 »
Estoy montando un proyecto (el GiroPlay) en el que necesito establecer una comunicación RF, para la que estoy utilizando los módulos Aurel C-0504 como RX y Aurel C-0503 como TX.

Ya consigo enviar y recibir tramas correctas a 2400 bps, aunque para que los dispositivos se sincronicen correctamente le envío un chorizo inicial de 10 bytes que precede al fichero que luego transmitiré.
He observado que unas veces sincroniza al 4º o 5º byte, y otras veces lo hace en el 7º o el 8º, y no entiendo porqué.

¿Alguien me puede indicar cuáles son las tramas más adecuadas para sincronizar ambos dispositivos garantizando en un 100% de los casos que el primer byte de información llegará correctamente?

Gracias

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Sincronización de mensajes RF
« Respuesta #1 en: 05 de Octubre de 2007, 18:26:16 »
Que tal Nocturno,

Es para mi todo un honor el poder contribuir con una experiencia personal con respecto a la RF.

Primero mencionar que con que comentas una vez mas compruebo que no es simplemente enviar datos via radiofrecuencia cuando se usan estos modulos, ya qeu los problemas vienen para sincronizarlos.

Hace algunas semanas estuve peleando con modulos de radiofrecuencia, unos muy parecidos a los que usas, pero en este caso fueron los TLP434 y el RLP 434.

Lo que yo hice para poder sincronizarlos fue enviar un 1 de larga duracion, esto es si tu modulo es de 2400 bits por segundo, esto te dice que la duracion de cada bit es de 417 uS aprox. Ahora bien lo que hice fue enviar un nivle alto con una duracion de 5 ms, esto lo que hace es dejar encendido el transmisor por un "largo tiempo", mayor que el del baud rate, logrando que se sincronize el recepctor y entonces, bajo el nivel con duracion de un solo byte (esto es 4.167 milisegundos). Ahora bien en la parte del receptor lo que hago es medir el tiempo en estado bajo y si este corresponde, significa que el receptor se ha sincronizado. Despues envio los datos, y estos estan codificados usando manchester.

Otra forma de lograr una sincronizacion es enviar una trama de 1 y 0 (de unos 16 bits mas aprox) es decir una senial que tiene un ciclo de trabajo del 50%. Esto es nivle alto que mide exactamente lo mismo que el nivel bajo,  Despues lo que se hace es codificar los datos en codificacion PWM, esto es para un "0" el nivel alto tiene una duracion del 66% del tiempo total del bit y el otro 33% esta en nivel bajo. Para el caso del "1" es lo contrario, es decir 33% en alto y 66% en bajo. Esta es una forma mas eficaz pero mas compleja.

Saludos y espero haber ayudado con esta aportacion.

Elreypic.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Sincronización de mensajes RF
« Respuesta #2 en: 05 de Octubre de 2007, 18:47:57 »
Mira esta pagina, apenas la encontré hoy...

http://jap.hu/electronic/codec.html