Uso correcto de RE y DE con RS485

Estoy tratando de construir un proyecto RS-485 usando MAX485. Sin embargo, tengo problemas para descubrir cómo usar correctamente los pines RE y DE. Algunos PDF y sitios web dicen que RE y DE deben unirse y luego conectarse a un pin en un microcontrolador (por ejemplo). Otros lugares parecen tener varias combinaciones de conectar DE a tierra y RE a positivo, y otras cosas por el estilo.

Además, los lugares que dicen que RE y DE deben unirse y luego conectarse a un microcontrolador, también tienen información contradictoria sobre cómo deben controlarse a través del software.

Entonces mis preguntas son:

  • ¿Qué se supone que debo hacer con RE y DE? ¿Necesito resistencias pull up o pull down también?
  • ¿Cómo controlo RE y DE asumiendo que están controlados por mi microcontrolador? ¿Los configuro alto/bajo, luego envío datos y luego los configuro bajo/alto nuevamente? ¿Hago lo mismo para recibir datos?

Cualquier ayuda en esto sería apreciada, y también sería bueno si hay enlaces a sitios con esta información específica sobre DE/RE.

Respuestas (3)

No necesita resistencias pull-up o pull-down si está manejando esos pines con pines de salida normales en su micro.

DE es el pin de 'habilitación del controlador' y debe colocarse alto mientras transmite datos. Dependiendo de su micro y de cómo esté usando sus interrupciones, es posible que deba tener cuidado cuando lo baje: verifique que todos los bits estén completamente terminados primero o corre el riesgo de truncar el final de su mensaje. Debes bajarlo antes de que puedas recibir algo.

RE es el pin de 'Habilitación del receptor' y debe bajarse siempre que desee poder recibir datos.

Notarás que los pines DE y RE tienen polaridad opuesta. DE es activo-alto y RE es activo-bajo.
Entonces, puede unirlos y controlarlos desde un pin si lo desea: alto significa que desea transmitir (DE activo, RE inactivo) y bajo significa que desea recibir (RE activo, DE inactivo).

Otra posibilidad es vincular RE a tierra y solo controlar DE.
Usaría esta configuración si desea poder escucharse a sí mismo hablar. Esto sería útil en los casos en los que podría haber múltiples maestros hablando en su bus RS-485 y necesita verificar que lo que cree que está enviando no está dañado por otra transmisión que ocurre al mismo tiempo. Como Tut señala correctamente, este no es un método confiable de detección de colisiones.

Si solo va a transmitir o recibir, entonces puede vincular DE y RE en alto (transmisión permanente) o ambos en bajo (recepción permanente).

Para el uso normal de RS-485, no creo que se suponga que sea confiable para detectar colisiones al monitorear su propia transmisión, ya que ni 1 ni 0 son dominantes; sin embargo , la detección de colisión semidúplex J1708 aparentemente hace que un bit sea dominante al vincular la señal TxD (posiblemente invertida) a la entrada DE en lugar de la entrada Tx normal.

No se requieren resistencias pull up o pull down para las habilitaciones. Dependiendo de lo que desee hacer y de lo que permita el chip, puede unirlos y manejarlos juntos (alto es TX, bajo es RX) o manejarlos a ambos por separado. Este último permite un estado de baja potencia en el transceptor.

editar: El 485 en realidad no permite el apagado, aunque el 481/3/7 sí, consulte la pág. 5 de la hoja de datos. Entonces, en ese caso, los uniría y los conduciría juntos.

"El 485 en realidad no permite el apagado, pero el 481/3/7 sí, consulte la página 5 de la hoja de datos. Entonces, los uniría y los conduciría juntos". Bueno, gracias. Entonces, es solo una cuestión de: Establecer RE/DE alto -> Enviar datos -> Recibir datos -> ¿Establecer RE/DE bajo?

Esto depende de lo que estés tratando de lograr. Por ejemplo, si nunca necesita recibir, entonces RE-NOT (¡¡No hay RE!!) se puede atar alto y dejar allí. Si necesita habilitar el controlador, DE debe ser alto. Si nunca necesita desactivarlo, puede vincularlo allí.

No necesitas dominadas.