La red RS485 falla al reemplazar el chip SP485 con MAX485

0

He creado una red de comunicación RS485 como se muestra a continuación.

{PC} - > [FT232- > RS485] (120 ohm) < ---- par trenzado (2 cables) ------ > (120 ohm) [RS485 - > MSP430]

Aquí, la PC actúa como Maestro y envía los datos hacia MSP430. Los datos son un solo carácter de 8 bits. Estoy usando los pines CBUS para poner los chips RS485 en modo de recepción y modo de transmisión utilizando el modo de bitbang CBUS. Después de lo cual acabo de enviar el personaje en formato serial.

La PC pone el chip RS485 en modo de transmisión y envía los datos.

En el lado de MSP430, MSP430 pone el chip en modo de recepción y espera a que el personaje reciba.

En ambos lados estoy usando la resistencia de terminación 120R.

Ahora si estoy usando el chip SP485 de EXAR (similar a MAX485) en ambos lados, el sistema funciona a la perfección. No hay problemas.

{PC} - > [FT232- > SP485] (120 ohmios) < ---- par trenzado (2 cables) ------ > (120 ohmios) [SP485 - > MSP430]

La transmisión del personaje pasa bien.

Por otro lado Si estoy usando SP485 en el lado de la PC y MAX485 en el lado de la MSP430, el sistema simplemente no recibe el carácter.

{PC} - > [FT232- > SP485] (120 ohm) < ---- par trenzado (2 cables) ------ > (120 ohm) [MAX485 - > MSP430]

Tenga en cuenta que no he cambiado un poco el circuito, acabo de colocar MAX485 en lugar de SP485. La longitud de la línea de transmisión es de aproximadamente 1,5 metros y estoy usando resistencias de terminación de 120 ohmios en ambos lados. No tengo ningún osciloscopio, así que conecté un LED al pin RO del MAX485 en el lado del MSP430 para verificar la recepción de caracteres. Cuando envío el carácter desde el lado de la PC, el LED en el pin de RO se ilumina para indicar que algunos datos están llegando pero el microcontrolador se niega a reconocerlo. También he cambiado el chip MAX485 dos veces para comprobar si es el problema del ic.

¿Algún organismo tiene una solución para esto?

    
pregunta rohkumarj

2 respuestas

1

¿Tiene resistencias de polarización pull-up / pull-down en las líneas? Estos resistencias de polarización establecen el estado de la línea cuando está inactivo, es decir, ningún dispositivo lo está controlando. El comportamiento de los chips del controlador no está definido por el estándar si se permite que ambas líneas floten a cero voltios. Algunos controladores implementan una función llamada 'fail-safe' como el MAX485, con esta característica no se requieren resistencias de polarización.

Consulte la sección Resistencias de polarización a prueba de fallos en esta nota de aplicación.

    
respondido por el Tom
0

Echa un vistazo a tus terrenos. Para que RS485 funcione correctamente, es necesario conectar las conexiones a tierra del transceptor. Más información sobre los motivos RS485: enlace

    
respondido por el user25093

Lea otras preguntas en las etiquetas