Configuración de la resistencia de terminación RS485 IC

0

Cometí un error en un diseño que entró en producción ...

Se construyó como el dibujo a la izquierda, con R702 a 5V y R703 a GND, debería haber sido al revés ... como el dibujo a la derecha.

Lo que pasa es que ... la junta aprobó todas las pruebas, la comunicación RS485 funciona bien.

No querría saber si esta diferencia podría provocar errores en la comunicación / daños en el circuito si no se modifica o si es irrelevante.

Esta placa fue diseñada por varias personas, la decisión de agregar R702 y R703 no era mía, y no entiendo por qué están allí (la hoja de datos de SN75176B no las usa en ningún caso). Entonces, una segunda pregunta, y probablemente más interesante, sería: ¿por qué están esos resistores en primer lugar? ¿Cuál es su función?

    
pregunta ndelucca

5 respuestas

2

Típicamente, las resistencias dispuestas de esa manera están diseñadas para colocar un voltaje diferencial (dentro del rango de modo común aceptable) en el receptor RS-485 que es lo suficientemente grande como para impulsar la salida a un estado conocido con el bus abierto, sin embargo, también lo son. Grandes para hacer eso de manera confiable con el 75176, por lo que no hacen mucho valor. Para las resistencias de valor Rf más apropiadas, la resistencia de terminación Rt debe aumentarse de modo que:

\ $ \ tfrac {1} {Z_0} = \ tfrac {1} {R_T} + \ tfrac {2} {R_F} \ $

.. para que coincida con la impedancia característica del par trenzado.

La cantidad de desplazamiento que agregan (~ 30 mV con el cable abierto) es menor que la histéresis típica de 50 mV, y mucho menos el desplazamiento que tenga el receptor (< 200mV) y la inmunidad al ruido.

Dado que esas resistencias son opuestas al estado de inactividad del bus habitual, puede ser un error. Puede reemplazar los 75176 en su sistema con dispositivos similares (por ejemplo, SN65HVD12 ) que se integran en un compensar el voltaje (de la polaridad que generalmente se desea) si desea esa funcionalidad con su diseño actual (y simplemente no rellene las resistencias de 10K). Por supuesto, todos los receptores deben tener incorporado este sesgo.

Este es el esquema de conexión habitual de este documento de TI:

    
respondido por el Spehro Pefhany
1

Las resistencias están ahí a prueba de fallos:

  

A prueba de fallos   Para entradas de receptor RS-485 entre -200mV y + 200mV, la salida no está definida. Es decir, si la tensión diferencial en el lado RS-485 de una configuración semidúplex es de 0 V, y no hay un transceptor maestro conduciendo la línea (o la conexión se ha soltado), entonces una salida lógica "alta" es tan probable como Una lógica "baja". Para garantizar una salida definida en estas condiciones, la mayoría de los transceptores RS-485 de hoy en día requieren resistencias de polarización a prueba de fallas: una resistencia pullup en una línea (A) y un pulldown en la otra línea (B), como se muestra en la Figura 1. Históricamente, las resistencias de polarización a prueba de fallas en la mayoría de los esquemas se etiquetaron como 560Ω, pero para reducir la pérdida de potencia (cuando se termina solo en un extremo) este valor se puede aumentar a aproximadamente 1.1kΩ. Algunos diseñadores terminan ambos extremos con valores de resistencia entre 1.1kΩ y 2.2kΩ. La compensación es la inmunidad al ruido frente al consumo de corriente.

enlace

Pero parecen invertidos de lo que se usa habitualmente, con A alto y B bajo.

    
respondido por el CrossRoads
0

Presumiblemente, quien haya puesto las resistencias en el diseño quería evitar que las líneas flotaran cuando ninguno de los controladores de las líneas está habilitado, esencialmente un sesgo de 2.5V (en lugar de dejar que las líneas teóricamente se acerquen a + 5V o GND) ayudar a garantizar el funcionamiento correcto del IC, pero en la práctica es posible que no note una diferencia). No debería importar cuál (A o B) está conectado a +5 y cuál a GND. Cualquiera de los dos circuitos debería estar bien.

  

debería haber sido hacia atrás ... como el dibujo de la derecha

Me preguntaría de dónde vino esta información ...

    
respondido por el Captain Normal
0

Esos resistores cumplen dos funciones básicas:

  • Como seguro contra fallas, para garantizar un estado de línea particular cuando no hay nada conectado.

Al ir en contra de la convención general, está claro que los diseñadores querían intencionalmente un estado particular en esta condición que es diferente de lo que se usa comúnmente. Es muy probable que (1) pueda distinguir esta condición de un bus inactivo, o (2) establecer una condición definida con resistencias de mayor valor que explota el comportamiento del margen de ruido de los IC.

  • Como resistencias de purga, para controlar las diferencias en el modo común sin tener que conectar los terrenos.

Esto normalmente se realiza en protocolos diferenciales para guardar un cable adicional y evitar la presencia de bucles a tierra. Esos resistores colocan básicamente una impedancia de 10kohm (5k en cada lado) entre los terrenos. Los transceptores RS485 modernos generalmente pueden soportar voltajes de modo común varios voltios más allá de sus rieles. Por lo tanto, una impedancia relativamente grande entre los suelos puede ser fácilmente tolerada.

Dado su gran valor (100: 1 con respecto a la terminación), esto no afectaría en absoluto a las comunicaciones. Todavía miraría la hoja de datos del transceptor y verificaría las especificaciones del rango de voltaje del modo común y el comportamiento cuando las líneas se dejan flotando.

    
respondido por el Edgar Brown
0

En alguna arquitectura de U (S) ARTS, cuando la línea está flotando, puede obtener datos en el lado de la MCU, la resistencia de subida / bajada implica que el voltaje de entrada es cero y se transfiere el bit de inicio. En esta condición, se basa en la configuración del módulo puede enviar estos datos a MCU o descartarlos porque el bit de parada no está establecido.

compruebe que su MCU no se interrumpa con un bajo voltaje en el pin Rx de MCU.

    
respondido por el M KS

Lea otras preguntas en las etiquetas