Siempre necesito comunicarme con el puerto UART TTL en la MCU con un
computadora. Cuando hablé de eso, la gente siempre refiere el puerto UART
como un puerto RS-232. ¿Son correctas? Sí no, Cuál es la diferencia
entre ellos?
Leyendo entre líneas, puede estar hablando del caso en el que tiene una placa con una MCU a la que se puede acceder (código de descarga, depuración, etc.) a través del puerto USB de su computadora. Ahora es bastante común operar de esa manera.
Si es así, es probable que su sistema operativo esté configurando un puerto "RS-232 virtual" para su dispositivo. Esto no es realmente un puerto RS-232, en absoluto. En su lugar, es un software que se ejecuta como un controlador en su sistema operativo que emula los detalles de un controlador de "puerto serie" antiguo. Este software se comunica con una MCU separada (una que también está también en la placa con su MCU) a través de un chip convertidor de USB a serie (también hay varios fabricantes para ellos). MCU independiente es lo que realmente está conectado a los pines del puerto UART de su MCU. Probablemente, también está conectado a los pines JTAG de su MCU, para que se pueda realizar la depuración. Existe un software adicional en esta MCU independiente que maneja los detalles de la depuración Y las comunicaciones UART con el sistema operativo de su computadora.
Entonces. Sí. La gente se refiere a eso como un puerto RS-232, cuando están pensando en esto desde el punto de vista de cómo el sistema operativo + el controlador del software hace que aparezca en un programa de aplicación que se ejecuta en ese sistema operativo . Luego, puede usar cualquier aplicación estándar que sepa cómo abrir un puerto RS-232 mediante las llamadas de función estándar que el sistema operativo proporciona para ese propósito y que funcionaría bien. Por lo tanto, es un puerto RS-232 desde el punto de vista de ese programa de aplicación.
Pero en realidad, no lo es.
Por separado, un UART es un "receptor / transmisor asíncrono universal" y tradicionalmente se refiere a un chip IC o también a un bloque funcional en una MCU. De cualquier manera, generalmente fue un hardware diseñado para que sea fácil para el software que usted escribe para manejar el protocolo serial asíncrono utilizado (bit de inicio, bits de datos y uno o más bits de parada). Es posible golpea el protocolo, pero es un verdadero dolor y la alta velocidad se vuelve más o menos inalcanzable entonces.
También verá USARTs - receptor / transmisor sincrónico / asíncrono universal - en algunas MCU, también. Solo significa que pueden hacer más que un UART, pero que también incluyen las capacidades de UART.
RS-232 es un conjunto de especificaciones sobre voltajes, carga, etc. También especifica un montón de detalles de señalización, que cubren bastantes líneas de señal disponibles diferentes. Pero es mejor ver RS-232 como una especificación electrónica que define los rangos de voltaje para marca y espacio , márgenes de ruido, detalles de carga permitidos en el receptor y otros detalles involucrados en la traducción. entre rangos de señales analógicas y digitales discretas y no tanto acerca de algunos protocolos seriales específicos de UART.
Solo voy a referirte a las páginas de Wiki para obtener detalles (que deberías haber leído antes de preguntar aquí, creo). Estos son: RS-232 y UART . No tengo ningún deseo real de duplicar ese trabajo.