Autor Tema: Datos erróneos en recepción serie  (Leído 3280 veces)

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

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Datos erróneos en recepción serie
« en: 04 de Agosto de 2004, 08:23:00 »
Hola amigos.
Llevo días enteros probando una comunicación serie asíncrona entre un 18F258 y un teléfono móvil a 19200 baudios.
El problema está en que algunas veces el pic recibe correctamente los datos enviados por el móvil y otras veces,al visualizar estos datos en un lcd,éstos no tienen nada que ver con lo que se supone que el teléfono ha enviado.
Cuando el teléfono recibe una llamada desde el número 600123456,le envia al pic una cosa así:
Codigo:

RING


+CLIP: 600123456,161




El pic atiende la recepción de esta cadena de caracteres mediante su correspondiente interrupción,la cual va insertando cada carácter en un buffer en memoria RAM.Con ello consigo después sacar el número desde el que se produjo la llamada y mostrarlo en el lcd.
Pues bien,como he dicho,hay veces que lo hace correctamente,sin embargo,en otras ocasiones lo que saco del buffer después de haber recibido la llamada es basura.
La comunicación es a 19200 baudios,8 bits sin paridad.RC6 para TX y RC7 para RX.Cristal de 10 MHz
El móvil funciona a 3.6V,por lo que el pic también lo tengo alimentado con ese valor directamente desde mi fuente de alimentación.
No creo que el problema pueda estar en el programa,aunque si a alguien le parece oportuno,lo puedo poner para que le echen un vistazo.
He probado a poner condensadores de diferentes valores entre Vcc y masa para evitar las posibles fluctuaciones de tensión que pueda haber en la salida de la fuente,pero sigo con el mismo problema

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Datos erróneos en recepción serie
« Respuesta #1 en: 04 de Agosto de 2004, 10:45:00 »
Modulay, ¿alimentas el PIC a 3.6V?, ¿entra esto dentro de las especificaciones técnicas?, ¿podría ser la causa de la inestabilidad?

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Datos erróneos en recepción serie
« Respuesta #2 en: 04 de Agosto de 2004, 11:33:00 »
Según dice en el datasheet (en la parte introductoria),el rango de voltaje válido va desde 2V hasta 5.5V.
Pero ahora que lo dices he rebuscado por las gráficas,tablas y demás y parece que ese dato es referido a la gama LF,pareciendo ser de 4.2V el voltaje mínimo para mi pic 18F258.
Conclusión:
He estado haciendo el primo unos cuantos días
GRACIAS NOCTURNO!!!!
A propósito ¿que remedio puedo usar para obtener ese nivel lógico de 3.6V en la USART sin tener que recurrir a un 18LF?
El teléfono y el pic están conectados así:

RC6 ------ RX Móvil
RC7 ------ TX Móvil
Vss ------- GND Móvil

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Datos erróneos en recepción serie
« Respuesta #3 en: 04 de Agosto de 2004, 11:41:00 »
Un nivel TTL de 3.6 voltios es un 1 claro sin problemas, porqwue supongo que lo conectas a nivel TTL. Si lo conectas a Nivel RS232 no tendías que tener problemas de tensiones. Eso si las masas las unes para tener la misma referencia.

Saludos
Ricky
Madrid-España

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Datos erróneos en recepción serie
« Respuesta #4 en: 04 de Agosto de 2004, 14:29:00 »
De cara al pic sé que no hay problema,RGL,pero el teléfono no admite otra cosa que no sean 3.6V exactos(si le metemos otra cosa se vuelve loco) para el "1" lógico.El pic como mínimo dará un nivel lógico de 4.2V,que es el valor mínimo para Vcc.
¿Qué se podría hacer?
Saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Datos erróneos en recepción serie
« Respuesta #5 en: 04 de Agosto de 2004, 14:36:00 »
Para pasar 4.2V a 3.6V lo más fácil va a ser que pongas un diodo, que te va a bajar la tensión en 0.6V, justo lo que necesitas.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Datos erróneos en recepción serie
« Respuesta #6 en: 04 de Agosto de 2004, 14:49:00 »
Eso había pensado yo.
Para la línea TX del pic vendría de perilla:
El pic da 4.2V y al teléfono le llegan 3.6.
Pero ¿y para la línea RX?...Se supone que quien impone la tensión en esa línea es el teléfono por lo que si colocamos un diodo,éste estaría polarizado a la inversa y por consiguiente en circuito abierto ¿no? Corríjanme si me equivoco

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Datos erróneos en recepción serie
« Respuesta #7 en: 04 de Agosto de 2004, 14:59:00 »
Si el flujo de comunicación de la línea RX siempre va del móvil al PIC, o lo que es igual, si ese PIN del micro está configurado siempre como entrada, no tendrás que hacer nada porque como ha dicho Ricky, los 3.6V van a ser interpretados como un 1 por el PIC.

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Datos erróneos en recepción serie
« Respuesta #8 en: 04 de Agosto de 2004, 15:02:00 »
Puedes poner un Zener en ese caso.

O adaptar con un transistor los niveles en ese pin. La pata de TX del telefono a la base a través de una R (1K) y en el emisor del BC317 una r de 10K hasta masa, luego el colector a +VCC del pic.

Cuando tienes un 1 (3.6V) en el pin del TX del telefono el TRT conduce una corriente que la limitará la R del emisor y en el emisor tendras un nevel alto (Si con 10K es mucho prueba a bajar un poco la resistencia).

Saludos
Ricky
Madrid-España

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Datos erróneos en recepción serie
« Respuesta #9 en: 04 de Agosto de 2004, 15:39:00 »
Coloqué un diodo 1N4148 en la línea TX del pic y RX la dejé tal cual...Vcc = 4.2V...
¡Funciona a la perfección!
Gracias amigos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Datos erróneos en recepción serie
« Respuesta #10 en: 04 de Agosto de 2004, 15:46:00 »
Me alegro que te haya servido nuestra ayuda. Esto parecía un chat más que un foro.

Ya nos dirás algo más de tu proyecto cuando lo acabes. Tiene buena pinta.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Datos erróneos en recepción serie
« Respuesta #11 en: 04 de Agosto de 2004, 16:08:00 »
Pues si nos hemos ventilado el problema en un plis plas jejej.
Cuenta con ello,Nocturno
Saludotes


 

anything