Autor Tema: PIC16F877 y recepción de los datos a traves de rs232  (Leído 5306 veces)

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

Desconectado jollomar

  • PIC10
  • *
  • Mensajes: 14
PIC16F877 y recepción de los datos a traves de rs232
« en: 21 de Junio de 2006, 13:45:00 »
Hola a todos,

Estoy escribiendo mi poryecto final de carrera y utilizo un PIC16F877. Este foro me está ayudando en muchas cosas, pero ahora tengo una duda bastante importante:

El PIC envía un stream de datos a través del puerto tx de la UART a 230400 bps. En un principio estos datos van a un xport de Lantronix para transmitir estos datos por la red y funciona perfectamente. Ahora lo que me gustaría es probar a leer los datos directamente por el puerto serie.

La placa tiene un conector db9 conectado a un max232. En un principio utilizo este puerto para configurar el Xport. Ahora he hecho un puente para transmitir los datos del pic al rs232.

La conexión es la siguiente:


DB-9                 ST232                    PIC16F877

2 <-------------14         12<-------------TX
3-------------->13         11------------->RX

A la entrada del pin 12, puedo ver en el osciloscopio los datos, pero en el pin 14 sólo veo una tensión de -9V

El st232 pone que tiene una velocidad típica de 220kbitsps. Añade una nota a este dato en la cual dice: One transmitter output is loaded with RL=3K to 7KOhm, CL=50 to 100pF.

Debería añadir una carga así a la salida del 232 hacia el ordenador?Cómo debería conectar estas cargas?


Ahora otra pregunta :)

Suponiendo que los datos ya se vieran al otro lado del 232(dirección PC), qué debo hacer en hyperterminal para poder guardar los datos recibidos? Sería la opción: transferir->capturar texto  ?

Estoy conectando el db9 a mi ordenador mediante un conversor USB-COM. Me ha funcionado bien para configurar el XPort.

Muchas gracias por vuestra ayuda

Un saludo







Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: PIC16F877 y recepción de los datos a traves de rs232
« Respuesta #1 en: 21 de Junio de 2006, 13:53:34 »
Hola un saludo jollomar, ¿Piensas transmitir los datos a la PC a la velocidad de 230400?, permiterme decirte que si es si tu respuesta, tengo entendido que la PC puede recibir datos hasta 115200 kbps.

Con respecto a lo de la Hyperterminal unicamente tienes que conectarte dando click en la opcion del telefono que aparece en el menu superior de esta.

Saludos LabPIC.
¡¡¡Viva México cabrones!!!

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC16F877 y recepción de los datos a traves de rs232
« Respuesta #2 en: 21 de Junio de 2006, 14:49:06 »
La placa tiene un conector db9 conectado a un max232. En un principio utilizo este puerto para configurar el Xport. Ahora he hecho un puente para transmitir los datos del pic al rs232.

La conexión es la siguiente:


DB-9                 ST232                    PIC16F877

2 <-------------14         12<-------------TX
3-------------->13         11------------->RX

A la entrada del pin 12, puedo ver en el osciloscopio los datos, pero en el pin 14 sólo veo una tensión de -9V

El st232 pone que tiene una velocidad típica de 220kbitsps. Añade una nota a este dato en la cual dice: One transmitter output is loaded with RL=3K to 7KOhm, CL=50 to 100pF.

Debería añadir una carga así a la salida del 232 hacia el ordenador?Cómo debería conectar estas cargas?


¿El st232 es un conversor TTL a RS232? Si es así, la velocidad del mismo depende de la velocidad a la que tu le mandes la información.  Ahora bien, estos son conversores DC-DC con lo cual tienen una cierta 'velocidad de respuesta' es decir si superas la velocidad dictada por el fabricante no esperes buenos resultados.

Eso no quiere decir que tengas que transmitir a 220Kbps.

Revisa que tengas bien hecho el hardware.  Un nivel de tensión 0V en el lado TTL, debiera darte un +9 a +12 en el lado RS232.  Y un nivel 5V en el lado TTL te daría -9 a -12.

No he leído el datasheet del IC que mencionas, pero me parece que dato ese de la carga, creo que te está hablando de que si pones una carga que sea más pequeña en valor óhmico (consume mas corriente el IC) tal vez no la pueda controlar por falta de capacidad de entrega de corriente.  Idem si la capacidad es más grande a la especificada, tal vez tengas inconvenientes con que los flancos salgan redondeados y se malinterpreten del otro lado.




Ahora otra pregunta :)

Suponiendo que los datos ya se vieran al otro lado del 232(dirección PC), qué debo hacer en hyperterminal para poder guardar los datos recibidos? Sería la opción: transferir->capturar texto  ?

Si, con eso debiera bastar, siempre y cuando sea todo texto ASCII.  SI envias algo que está en binario tal vez el hyperterminal no sea el mejor software para tu aplicación.


Por último como te dijo LABPIC, la mayoría de las USART de las pcs tienen una velocidad máxima de 115.200bps o lo que es igual a 115.2Kbps.  Y digo 'la mayoría' porque hay placas PCI que se conectan a la pc que te dan puertos seriales con velocidades superiores a 400Kbps y tal vez hasta más.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado jollomar

  • PIC10
  • *
  • Mensajes: 14
Re: PIC16F877 y recepción de los datos a traves de rs232
« Respuesta #3 en: 22 de Junio de 2006, 14:04:28 »
Hola,
Gracias por contestar.

Hoy he comprado una tarjeta PCI con dos puertos serie que admiten una velocidad de hasta 1mbps. LA he instalado y nada de nada. El maldito windows en administracion de dispositivos no permite configurar el puerto a más de 115Kbps.  Hoy he estado el dia entero loco por eso, y al final tengo que devolver la tarjeta porque no había manera de que hyperterminal abriera los puertos a mas de 115kbps.

De momento, como tengo que conectar esos datos serie a un módulo bluetooth para enviarlos al pc, voy a pasar de momento de la interfaz serie y voy a conectar directamente la UART del PIC con la UART del módulo bluetooth. Así me olvido de las velocidades con los puertos serie y esas historias, y recibiré los datos directamente por bluetooth.

De todas maneras, si vuelvo al tema del rs232 con el PIC os comentaré que era lo que hacía mal, o simplemente lo que ocurre.

Un saludo a todos

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC16F877 y recepción de los datos a traves de rs232
« Respuesta #4 en: 22 de Junio de 2006, 14:48:37 »
Hola,
Gracias por contestar.

Hoy he comprado una tarjeta PCI con dos puertos serie que admiten una velocidad de hasta 1mbps. LA he instalado y nada de nada. El maldito windows en administracion de dispositivos no permite configurar el puerto a más de 115Kbps.  Hoy he estado el dia entero loco por eso, y al final tengo que devolver la tarjeta porque no había manera de que hyperterminal abriera los puertos a mas de 115kbps.

De momento, como tengo que conectar esos datos serie a un módulo bluetooth para enviarlos al pc, voy a pasar de momento de la interfaz serie y voy a conectar directamente la UART del PIC con la UART del módulo bluetooth. Así me olvido de las velocidades con los puertos serie y esas historias, y recibiré los datos directamente por bluetooth.

De todas maneras, si vuelvo al tema del rs232 con el PIC os comentaré que era lo que hacía mal, o simplemente lo que ocurre.

Un saludo a todos

Bueno jollomar, realmente es una pena que te haya sucedido esto. 

Tal vez cuando retomes el tema, veas las cosas de otra forma y te salgan funcionando sin tanto problema :)

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)