Para conectar dos micro, ¿cuál es mejor, UART o RS232?

1

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 MAX232. Se puede usar la conexión rs232. ¿Alguien con experiencia tiene recomendaciones al respecto? ¿Qué es mejor y cuáles son sus ventajas y desventajas?

    
pregunta mehdi

3 respuestas

6

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

EIA-232
(el nombre RS-232 está obsoleto). Le dará mejor inmunidad al ruido , porque 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 necesite. Necesitaría transceptores diferenciales y cable trenzado.

    
respondido por el stevenvh
2

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 impulsar 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 altas velocidades en baudios, tal vez quiera usar 422 solo por ese motivo.

Otra consideración es el voltaje de modo común. Si utiliza los pines de UART sin procesar para conectar los microcontroladores, también debe conectar las conexiones a tierra de los dos microcontroladores. Dependiendo de la situación física y de cómo se alimentan las tablas, los niveles del piso de las dos tablas pueden ser diferentes. Puede haber otras buenas razones para no conectar sus conexiones a tierra, y si ese es el caso, entonces el uso de un esquema de señalización diferencial, como el 422, permitirá que los microcontroladores se comuniquen entre sí, incluso si hay varias diferencias de voltios entre sus niveles básicos.

Puede obtener 422 receptores y transmisores en paquetes bastante pequeños a bajo costo, pero existen desventajas al usar 422 en lugar de conectar directamente los UART. Como 422 es diferencial en lugar de un extremo, se necesitan 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 dc que consume 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 se reduce el rango de modo común, pero más de 2 metros que podrían no ser un problema para usted.

    
respondido por el Joe Hass
0

Para 2 metros puede o no necesitar 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 tasas más altas debe utilizar 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 + 10V).

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 blindó el cable. El único problema sería la capacitancia del cable. Si no tiene un osciloscopio para medir el tiempo de aumento, vaya con MAX232 para estar 100% seguro. También le permitirá extender el cable hasta 15 m más tarde.

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

    
respondido por el NickSoft

Lea otras preguntas en las etiquetas