Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Estableciendo la comunicación serie en el desarrollo embebido

Olga Weis Olga Weis

Contenido

  1. Tipos comunes de comunicación serial
    1.1 UART (Receptor-Transmisor Asíncrono Universal)
    1.2 I2C (Circuito Interintegrado)
    1.3 SPI (Interfaz Periférica Serial)
    1.4 CAN (Red de Área de Control)
  2. Software de prueba y depuración de comunicación serial
    2.1 Controlador de Puerto Serial Virtual
    2.2 Monitor de Puerto Serial
    2.3 Divisores de puerto serie de hardware
    2.4 Cable espía monitor serie RS232
  3. ¿Hardware o software para el desarrollo de sistemas embebidos en serie?

Debido a su simplicidad, la conexión serial se usa a menudo tanto interna como externamente en la tecnología embebida. Existen diferentes tipos de dispositivos de comunicación serial en sistemas embebidos, con distintos propósitos y peculiaridades. Al desarrollar estos sistemas, es importante elegir el tipo correcto. Por eso vamos a explorar y comparar algunos protocolos comunes de comunicación serial, y también sugerir algunas herramientas universales que serán útiles independientemente de tu elección.

Tipos comunes de comunicación serial

UART (Receptor-Transmisor Asíncrono Universal)

UART es uno de los protocolos de comunicación más simples y antiguos en sistemas embebidos. La conexión solo puede establecerse entre dos dispositivos. Cada uno tiene un pin de transmisión y otro de recepción, y ambos canales son unilaterales. Los datos se convierten en una señal binaria y se envían en paquetes de un byte. Los paquetes también contienen bits de inicio y fin, y un bit para detección de errores.

UART es asíncrono: no utiliza líneas adicionales para enviar pulsos de reloj, utilizando bits de inicio y fin para sincronizar en su lugar. Muchos parámetros, incluida la tasa de baudios (bits por segundo), deben ser los mismos en ambos dispositivos. Las tasas de baudios deben ser comparativamente bajas para evitar la desincronización. En general, elegir UART en sistemas embebidos en lugar de protocolos más nuevos no sería una cuestión de mejora técnica, sino más bien de ahorro de costos y tiempo al trabajar en prototipos o agregar capacidad de depuración.

En algunos casos, al usar un convertidor de UART a Ethernet, los datos UART pueden transmitirse a través de una red Ethernet, lo que permite la comunicación entre dispositivos que no están conectados directamente.

Aplicaciones:

  • Depuración a menudo no requiere la complejidad y velocidad de otros protocolos, y UART proporciona una forma rápida y simple de implementarla.
  • Conexión de dispositivos a PCs a través de puertos seriales o convertidores de serie a USB.

Pros: Fácil de trabajar, potencialmente mayor rango de conexión.
Contras: Baja tasa de transferencia de datos, solo puede conectar dos dispositivos.

I2C (Circuito Interintegrado)

I2C permite conectar múltiples dispositivos, potencialmente en grandes cantidades, al mismo bus. Un bus I2C consta de dos cables: una línea de datos y una línea de reloj, y cada dispositivo se conecta con un pin de datos y un pin de reloj.

Cuando un dispositivo en el bus está transmitiendo, todos los demás dispositivos reciben el mensaje, por lo que se deben utilizar algunos bits para especificar una dirección. Además, bloquea a todos los demás dispositivos para que no envíen mensajes, lo que pone un límite en la rapidez con la que se pueden intercambiar datos.

I2C es un gran avance en complejidad respecto a UART, debido a tener que lidiar con la concurrencia, mientras que también carece de los avances que aumentan la velocidad de los protocolos de comunicación posteriores en sistemas embebidos.

Aplicaciones:

  • Sistemas de baja velocidad que intercambian pequeñas cantidades de datos, como lecturas de sensores.
  • Identificación de dispositivos en PCs, como Detección de Presencia Serial en módulos de RAM y DDC para dispositivos de visualización.

Pros: La forma más simple de conectar múltiples dispositivos con acceso mutuo completo.
Contras: Lento, mucho más exigente que UART.

SPI (Interfaz Periférica Serial)

Como su nombre lo sugiere, SPI se utiliza comúnmente para conectar múltiples periféricos a un controlador. Actualmente, este es un tipo muy común de dispositivos de comunicación serial en sistemas embebidos. El controlador elige qué periférico está escuchando en ese momento y luego intercambia datos con él. A diferencia de I2C, la selección se realiza a través de líneas individuales, por lo que cada nuevo dispositivo conectado necesita su propia línea CS, pero la línea de reloj y los datos de entrada/salida se comparten entre todos. También existen configuraciones alternativas en "cadena margarita", donde una secuencia de periféricos alimenta datos entre sí y comparten la misma línea CS.

SPI es más rápido que UART debido a que tiene una línea de reloj, y más rápido que I2C ya que es más simple, sin necesidad de transmitir la dirección del receptor con cada mensaje o tener en cuenta la posibilidad de múltiples controladores.

Aplicaciones:

  • Sistemas de alta velocidad a corto alcance, donde hay necesidad de conectar tarjetas SD, pantallas LCD, módulos RTC, etc.

Pros: Más rápido que I2C y UART.
Contras: No admite múltiples controladores en el mismo bus, se necesitan pines individuales para cada periférico.

CAN (Red de Área de Control)

Un bus CAN consta de dos cables, pero a diferencia de I2C, ninguno de ellos es una línea de reloj. Ambos transportan los mismos datos (solo una señal binaria de cualquier dispositivo en el bus) y están enrollados entre sí para minimizar los efectos de la interferencia eléctrica. En general, CAN está adaptado a mayores alcances: mientras que los buses anteriores podían abarcar varios metros como máximo, un bus de Red de Área de Control puede extenderse por unos 40.

De manera similar a I2C, los dispositivos conectados, también conocidos como nodos CAN, solo transmiten si ningún otro dispositivo está transmitiendo actualmente, y los tramas de datos (los paquetes) incluyen un identificador para especificar el destino.

Este bus está destinado a aplicaciones industriales, como la comunicación en sistemas embebidos automotrices. Predeciblemente, el ancho de banda es mucho menor que cualquier tipo de conexión mencionado anteriormente, a menudo por un orden de magnitud.

Aplicaciones:

  • Electrónica automotriz, siendo CAN el estándar actual.
  • Otras aplicaciones industriales, como líneas de producción.

Pros: Larga distancia, alta fiabilidad, implementación sencilla.
Contras: Bajo ancho de banda.

¿Cómo elegir el adecuado?

La mejor manera de determinar el tipo correcto de conexión serial para tu caso es simplemente observar cómo otros técnicos están manejando casos similares. Es probable que ya hayan tenido en cuenta las necesidades potenciales de sus sistemas al elegir el protocolo. Si no es así, al menos tendrás un buen punto de partida y obtendrás una mejor respuesta al abordar las fallas en su elección.

Software de prueba y depuración de comunicación serial


Los desarrolladores de sistemas embebidos necesitan poder monitorear el comportamiento de sus sistemas. Un aspecto importante de ese monitoreo es la depuración de puertos seriales. Una interfaz serial bien podría ser la única forma de comunicarte con el sistema embebido. Electronic Team, Inc. ofrece un paquete completo de software de puerto serial que hará que trabajar con tus sistemas embebidos basados en serial sea mucho más fácil y eficiente.

Echemos un vistazo a algunas de las mejores herramientas de desarrollo de software y hardware para aquellos ingenieros que trabajan con puertos seriales y sistemas embebidos.

Controlador de Puerto Serial Virtual y Controlador de Puerto Serial Virtual PRO

Esta útil aplicación puede crear puertos COM virtuales con una tasa de baudios configurable y conexión de líneas de señal. Con ella, puedes pasar fácilmente la salida serial de una aplicación a otra.

interfaz de vspd

Controlador de Puerto Serial Virtual PRO (VSPD) introduce aún más funciones:

  • Creación de "conexiones de paquetes" que recopilan la entrada de múltiples puertos de entrada y la envían a múltiples puertos de destino.
  • Fusionar múltiples entradas en un solo puerto de salida.
  • Dividir un solo puerto de entrada para que sea accesible para múltiples aplicaciones.
  • Un Switcher automático que seleccionará automáticamente un puerto libre para aplicaciones que no pueden encontrar uno.

Es un recurso indispensable si estás escribiendo software de conexión serial o probando cómo tu hardware interactúa con el software existente.

Serial Port Monitor


Serial Port Monitor (SPM) es un conjunto versátil de herramientas que no solo te permite almacenar y ver la entrada de tus dispositivos seriales de muchas maneras diferentes, sino también enviar datos directamente a ellos a través del terminal incorporado.

interfaz de spm

Puede:

  • Reenviar la misma entrada al dispositivo de toda una sesión con la función de Reproducción
  • Mostrar datos en varios modos, incluyendo tablas y salida de terminal
  • Hacer un seguimiento de múltiples puertos COM al mismo tiempo
  • Guardar toda la información de tus sesiones en el portapapeles o en un archivo de texto

Divisores de puerto serie de hardware


Divisores de puerto serie de hardware

Existen dispositivos físicos que pueden realizar algunas de las funciones de las herramientas de software discutidas anteriormente y están disponibles para el desarrollador de sistemas embebidos. Puedes obtener cables que te permitan compartir la señal de un único puerto serie con dos o más dispositivos o aplicaciones.

Desventajas: Ofrecen menos flexibilidad que la alternativa de software, ya que están limitados en el número de conexiones que se pueden hacer disponibles. Otra limitación es la longitud del cable que se puede usar y la tarea general de gestión de cables, que puede volverse engorrosa a medida que crece la necesidad de compartir señales.

Cable espía monitor serie RS232


Cable espía monitor serie RS232

Se pueden obtener cables de monitoreo o espías seriales que funcionan en modo semidúplex o dúplex completo. Funcionan proporcionando otro conector a un cable RS232. Un dispositivo conectado a esa tercera conexión puede monitorear la comunicación que viaja entre los dos extremos del cable RS232. Dependiendo del tipo de dispositivo o aplicación que esté conectado, es posible que puedas registrar los datos para su uso posterior.

DCAClab es un simulador de circuitos eléctricos en línea para la educación en STEM y tecnología. Ayuda a los profesores de mecatrónica a explicar circuitos a sus estudiantes con facilidad. Simula y soluciona circuitos rotos en un entorno de simulación enriquecido, provisto de componentes de aspecto real, un osciloscopio y un multímetro realistas con varias funciones para usar.

¿Hardware o software para el desarrollo de sistemas embebidos en serie?


Al elegir herramientas para el desarrollo de sistemas embebidos en serie, debes considerar la facilidad de uso y la flexibilidad. Sin duda, las aplicaciones de software diseñadas específicamente para trabajar con dispositivos seriales son más poderosas y te ofrecen opciones a medida que cambia tu entorno de pruebas.

Los beneficios adicionales de una solución de software incluyen la eliminación de la necesidad de comprar cables costosos y la capacidad de monitorear la actividad serial de forma remota. Si te tomas en serio el desarrollo de sistemas embebidos, deberías echar un vistazo de cerca a estas herramientas de software. Harán tu vida de desarrollo mucho más agradable y te darán una ventaja sobre la competencia.

Serial Port Monitor

Requisitos: Windows (32 bits y 64 bits): Vista/7/8/10/11, Windows Server 2008/2012/2016/2019/2022, Windows en ARM , 9.87MB tamaño
Versión 9.5.589 (16/11/2023) Notas de la versión
Categoría: Communication Application