Para conectar dos micro cual es mejor, UART o RS232?

Estoy tratando de conectar dos dispositivos que en ambos usan pic micro. Tengo curiosidad por seleccionar la mejor solución de conexión. Puedo usar uart para la conexión entre ellos y también con la ayuda de la conexión MAX232 rs232 podría usarse. Alguien con experiencia tiene recomendaciones al respecto? ¿Cuál es mejor y cuáles son sus ventajas y desventajas?

¿Qué tan separados están los dispositivos y cómo están conectados (trazas de PCB, cables)?
Se utilizarán dispositivos de remolque separados de dos metros y para cables de conexión.
UART es un bloque funcional para implementar comunicaciones en serie, no es realmente un protocolo o especificación de voltaje de señal. Sería mucho mejor decir "nivel lógico" frente a "nivel RS232". De cualquier manera, es probable que esté involucrado un UART (o como lo llame su proveedor: USART, UCI, etc.), la pregunta es si también usará una línea externa transceptores

Respuestas (3)

UART
Más barato , ya que no necesita ningún hardware adicional.

EIA-232
(el nombre RS-232 está obsoleto). Le brindará una mejor inmunidad al ruido , ya que utiliza voltajes más altos y tiene una impedancia más baja.

EIA-422
tiene una inmunidad al ruido aún mejor, gracias a la señal balanceada, pero a menos que su entorno sea extremadamente ruidoso (piense en máquinas eléctricas de alta potencia, como varios kW), probablemente no lo necesitará. Necesitaría transceptores diferenciales y cable trenzado.

Aunque tal vez no sea aplicable aquí, ¿el RS-422 no es también más adecuado para largas distancias?

El comentario de @chris-stratton es correcto y un punto importante. Si está hablando de usar EIA-232 o EIA-422, es casi seguro que esté hablando de usar un UART como el bloque funcional que realiza la comunicación en serie. Y como dijo @stevenvh, EIA-232 no es una buena opción para un nuevo diseño. Entonces, ¿necesita agregar un transmisor/receptor EIA-422 a cada microcontrolador? Hay varias cosas a considerar.

Uno de ellos es la velocidad (bits por segundo). A altas velocidades, los pines de salida UART de sus microcontroladores pueden tener problemas para controlar la capacitancia de dos metros de cable. El microcontrolador es capaz de conducir unos pocos cm de cable a un transmisor 422 a altas velocidades, por lo que si necesita velocidades de transmisión altas, es posible que desee usar 422 solo por ese motivo.

Otra consideración son los voltajes de modo común. Si usa los pines UART sin procesar para conectar los microcontroladores, también debe conectar las tierras de los dos microcontroladores. Dependiendo de la situación física y de cómo se alimentan las placas, los niveles de suelo de las dos placas pueden ser diferentes. Puede haber otras buenas razones para no conectar sus tierras, y si ese es el caso, usar un esquema de señalización diferencial, como 422, permitirá que los microcontroladores se comuniquen entre sí, incluso si hay una diferencia de varios voltios entre sus niveles de tierra.

Puede obtener receptores y transmisores 422 en paquetes bastante pequeños a bajo costo, pero hay desventajas al usar 422 en lugar de conectar directamente los UART. Dado que 422 es diferencial en lugar de un solo extremo, necesita dos cables cada uno para las dos direcciones del flujo de información y una resistencia de terminación en el extremo receptor, donde una conexión directa requeriría tres cables (señales en ambas direcciones más tierra) y sin resistencias de terminación . La corriente continua consumida por una conexión 422 es de varios miliamperios, por lo que el mayor consumo de energía (del orden de 100 mW por transmisor) también podría ser un problema para usted.

También debe considerar LVDS (señalización diferencial de bajo voltaje, EIA-644) que funciona a voltajes más bajos y consume mucha menos energía. La desventaja es que el rango de modo común es reducido, pero más de 2 metros puede que no sea un problema para ti.

Para 2 metros, es posible que necesite o no MAX232 para convertir niveles. Depende de la tasa de bits. Creo que para 2 metros es seguro usar un nivel de 0-5V hasta 9600 bits/s. Para tarifas más altas, debe usar MAX232. Tenga en cuenta que MAX232 aumentará la diferencia de voltaje entre 0 y 1 de 5 V a aproximadamente 18-20 V (de -10 a +10 V).

Pero si usa un cable blindado, puede usar de manera segura los niveles TTL para una tasa de bits un poco más alta si usa un cable blindado. El único problema sería la capacitancia del cable. Si no tiene un osciloscopio para medir el tiempo de subida, vaya con MAX232 para estar 100% seguro. También te permitirá extender el cable hasta 15 m más tarde.

Alternativamente (porque max232 requiere muchos componentes) si el consumo de energía no es un gran problema (si no funciona con batería), puede usar resistencias de 470 ohmios a 2k en los pines RX de MCU. Esto aumentará la corriente en los cables y reducirá la posibilidad de que el ruido interfiera. La capacitancia del cable seguirá siendo un problema, así que tenga cuidado con velocidades más altas.