Comunicación 232 a 230400 bps PIC

Hola, ¿alguien podría aclarame una duda?, ¿es posible comunicar un PIC 16f628A a 230400 bps?, he revisado el datasheet y la tabla que aparace dice que solo se puede a 250000, pero esta velocidad no esta en el estandar de las comunicaciones por 232, y el dispositivo con en que me tengo que comunicar no la soporta, cabe mencionar que este pic tienen un puerto USART, por lo que en teoría deberia ser posible comunicarse a altas velocidades.

Gracias.
 
Todo depende del valor del cristal con el que estes trabajando, maximo 20MHZ

Utiliza la formula, te dejo un ejemplo para calcular el valor a cargar el generador de baudios con un cristal de 16 MHz y alcanzar una velocidad de 9600bps.

Si el resultado(la variable x) es menor a 255, es posible que puedas comunicar a esa velocidad

"pero recuerda a mayor velocidad, mayor es la probabilidad de error de bit, y menor es la distancia que puedes alcanzar"
 

Adjuntos

  • formula.png
    formula.png
    7 KB · Visitas: 15
Última edición:
Gracias, lo de la formula ya lo habia considerado, el problema es que el encuentro un valor de x=0.3563 y en las tablas de la hoja de datos no aparece la velocidad de 230.4Kbps, la distancia no es un gran problema, pues los dispositivos estarán a solo unos cuantos centimetros; hare algunas pruebas y luego les comento los resultados, aún que me parece que va a ser difícil por la probabilidad de error en la transmisión.
 
¿Que tiene que ver el tocino con la velocidad?*
Si haces una UART por software, que se puede, la velocidad será una porquería y consumirás todo el procesamiento, con suerte llegará a unos 9600bps o algo mas fundiendo todo el procesador. Pero de todas formas seguirás necesitando un MAX232 o equivalente ya que el puerto serie del PC va a +-24V y el del pic va a 0-5V.

*Expresión local que indica que una cosa con la otra no tienen relación alguna.
 
Si, es cierto para esa velocidad es necesario utilizar el puerto USART del micro, pero en la mayoria de los casos con la comunicación por software funciona bastante bien, yo he trabajado con ella hasta 9600 bps sin ningun problema, pero creo que es posible trabajar hasta 57600 bps; y el max 232, no es necesario si la distancia entre el PIC y la PC es corta, lo unico que necesitas es mandar los datos negados y un par de resistencias que limiten la corriente, ya que almenos el 16F628A soporta la conexión directa.
En cuanto a las pruebas de velocidad no he tenido tiempo de trabajar en ello, pero ya les estare informado los avances.
Saludos...
 
Es cierto!! el max232 alcanza como máximo 200 kbps. lo que implica pensar en otra forma de adaptar los niveles de voltaje, quizas con una fuente simetrica y transistores.

Con respecto a la velocidad, tal vez sea posible hacer un algoritmo en asm para transmitir, lo cual requiere bastante cuidado y conocimiento del protocolo. Pero lo mas complicado sería la recepción y peor aun si se trata de full-duplex. No estoy seguro pero sería bueno investigar si existen CI que te hagan ese trabajo.
 
. Pero de todas formas seguirás necesitando un MAX232 o equivalente ya que el puerto serie del PC va a +-24V y el del pic va a 0-5V.
.

nuevamente te repito scooter no necesitaras MAX232, cuando generas el protocolo por software (revisa la ayuda del PicBasic), ahora, me toca darte la razon, en cuanto la capacidad de procesamiento se vera muy limitada... en todo caso creo que el unico camino para alcanzar esa velocidad es via software. saludos
 
Pues si no quieres un max 232 pon un 233, o pon un transistor y una resistencia, lo mismo me tiene, necesitas un adaptador de niveles si o si. Cuanto mas "original" sea peor irá a menos velocidad, menos distancia etc.
 
no necesitaras MAX232, cuando generas el protocolo por software (revisa la ayuda del PicBasic)

...y ¿como pude saber la pc y su puerto com si le estas mandando señales por software o por hardware?

Estas un poco confundido. Si lo generas por soft, el pic te entrega niveles de 0 y 5v; so lo generas por hardware (con la usart) los niveles del pic son tambien 0 y 5v.

El puerto serial de la pc puede utilizar voltajes desde +/- 3v hasta +/-15v, por lo que electricamente no son compatibles con el pic. El max232 solo sirve para adaptar esos niveles de voltaje.
 
Última edición:
...y ¿como pude saber la pc y su puerto com si le estas mandando señales por software o por hardware?

Mira DSP yo he recibido senales de hasta 240 voltios sin necesidad de atenuarlas; cada pin del microcontrolador posee diodos recortadores de tension asi que puedes recibir cualquier voltaje no le va a pasar nada... ahora eso si la corriente tienes que limitar con una resistencia de 1M para voltajes superiores a 120V...

si los 120V no matan al pic... peor los +15v - 15v que manda la PC...

para que te convenzas te dejo un fragmento del manual de PICBASIC escrito por la gente de microingenering

(tambien pudes revisar revisar la nota de aplicacion AN521 de microchip)


No me creas!!!! experimenta​
 

Adjuntos

  • comunicacion USART por software.png
    comunicacion USART por software.png
    19 KB · Visitas: 7
Última edición:
Ok, me has convencido. Es algo nuevo para mi, gracias por la info.

Entonces ese max232 que siempre uso y sus capacitores... !!!

De todos modos voy a experimentar
Saludos
 
claro amigo eso si... asegurate de que debes configurar los la comunicacion como invertida, acuerdate que el MAX232 tambien es un inversor

el max232 es util solo cuando necesitas comunicar a distancias superiores a 2 metros
 
Última edición:
Atrás
Arriba