Desviador de nivel no inversor RS232

0

Estoy iniciando un proyecto que terminará como un puente inalámbrico RS232 (radios XBee) y no tengo idea de dónde encontrar el chip que necesito.

Actualmente estoy en la fase de prueba sin las radios para garantizar que el MCU- > RS232 funcionará correctamente, pero me encontré con un problema. Porque voy desde el Arduino 2560 - > MAX3232 - > Dispositivo RS232 la señal no está siendo reconocida por el dispositivo final. Después de pensarlo, me di cuenta de que el MAX3232 es el problema, ya que está invirtiendo la señal antes de enviarla al dispositivo final.

Mi pregunta es, ¿dónde y dónde puedo encontrar un IC que realice el cambio de nivel adecuado necesario (bidireccional) sin invertir la señal?

    
pregunta SolveEtCoagula07

3 respuestas

2

No encontrará un traductor de nivel TTL / CMOS a RS232 que no invierta, porque no hay mercado para tal cosa. Desarrollar un diseño de circuito integrado es muy costoso, por lo que no se realizará a menos que exista un mercado sustancial claramente identificado. Y cada UART de nivel TTL espera que el "espacio" inactivo sea un "0" lógicamente bajo. Si invierte el nivel lógico, no podrá comunicarse con los dispositivos RS232.

Normalmente, un traductor de nivel adapta un "1" lógico de un bus de voltaje (Vcc1) a un "1" lógico en otro bus de voltaje (Vcc2). La lógica "0" está cerca del suelo en ambos sistemas.

Un chip de interfaz RS232 es diferente de un desplazador de nivel normal, porque el "espacio" 0 "lógico se asigna a un voltaje positivo alto (en algún lugar entre + 3V a + 25V), y la" marca "1" lógica es negativa voltaje (en algún lugar entre -25 V a -3 V) ( dependiendo de cuál de las muchas "especificaciones" de TIA / EIA / RS232 que elija para creer ). También hay una carga capacitiva significativa en un cable de larga longitud, por lo que un transmisor RS232 tiene que ser capaz de manejar esta carga capacitiva más pesada lo suficientemente rápido como para no perder la integridad de la señal, pero lo suficientemente lento para cumplir con los requisitos EMC radiados aplicables.

El traductor de nivel RS232 no solo debe generar un nivel lógico mínimo que es algo así como + 5V / -5V, sino que también debe sobrevivir a niveles lógicos de + 25V / -25V. Porque algún día alguien podría conectar un antiguo módem de baudios Hayes 1200, y su traductor de nivel RS232 debería poder sobrevivir a los niveles más altos de voltaje de señalización.

Ya que en su aplicación está conectando TTL / CMOS Arduino TX a una entrada de Xbee TTL / CMOS RX, debe usar:

  • Una conexión por cable directa (si están físicamente cerca y los niveles lógicos son compatibles)
  • Un traductor de nivel lógico estándar (si los niveles lógicos son diferentes)
  • Un controlador RS232 TX y un receptor RS232 RX (si se conduce a través de un cable RS232 largo)

( Divulgación: trabajo en Maxim Integrated y diseñé el kit de evaluación para el MAX3223E en el pasado. Parte muy similar al MAX3232 y MAX232. )

    
respondido por el MarkU
0

Xbee es ttl level (unipolar), y también lo es Arduino. No necesita el convertidor rs-232 aquí, solo un cambiador de nivel de 3.3V a 5V si la placa Arduino es de 5V (o simplemente use Arduino de 3.3V y conéctese directamente). No te olvides de cruzar TX, RX. Si ya intentaste conectar el controlador RS-232 (bipolar) a Xbee, es posible que hayas eliminado el Xbee - prueba antes de continuar.

    
respondido por el Oleg Mazurov
0

Como han dicho otros, parece extraño que necesite invertir las señales que entran y salen del chip MAX3232, ya que la combinación de RS3232 y RS232 no es inversa (los dos chips, ambos con inversores, se cancelan a sí mismos fuera), y la conexión de la MCU por cable directo al XBee no debería requerir inversores también.

Sin embargo , si por algún motivo determina que necesita inversores, no es necesario encontrar un traductor de nivel de tipo RS232 que no sea de inversión; en su lugar, todo lo que debe hacer es usar los inversores hexadecimales 74HC04 o 74HCT04 en la línea de TX que van al chip MAX3232, y en la salida de RX.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas