Presentación del conmutador USB Type-C más avanzado: Bidireccional, controlado por computadora, y de código abierto

En Codethink llevamos más de una década trabajando para numerosos clientes en la mejora de sus procesos de construcción, integración y pruebas.

Parte de este trabajo consiste en la automatización de pruebas para sistemas integrados complejos, como los sistemas de entretenimiento para automóviles. Buscábamos un conmutador USB que pudiera simular la conexión y desconexión de teléfonos móviles y dispositivos de almacenamiento para un sistema de este tipo. No encontrábamos nada en el mercado que fuera lo suficientemente asequible como para recomendar la compra de cientos de ellos para nuestros clientes, así que decidimos construir el nuestro.

(Fuente de la imagen: Codethink)

¿Qué es?

En pocas palabras, es un dispositivo que puede desconectar, volver a conectar y cambiar las conexiones por cable entre dispositivos USB C mediante programación. El conmutador está diseñado para tener puertos USB C totalmente funcionales. Esto significa que todas las características y capacidades de un típico puerto tipo C están presentes, como la carga, la alta velocidad y la transferencia de datos a supervelocidad. Al tener capacidades bidireccionales, los usuarios pueden elegir qué puerto se conecta al host y el puerto habilitado opuesto se configura automáticamente para conectarse a un periférico. Esto garantiza la seguridad y la facilidad de uso.

¿Para qué sirve?

Este conmutador es una solución plug-and-play para cualquiera que desee:

  1. Agilizar las conexiones entre varios hosts y periféricos.
  2. Automatizar las pruebas que requieren distintos periféricos que se conectan a un host, de uno en uno. Se pueden usar concentradores con el conmutador para cambiar las conexiones entre varios periféricos y un host.

(Fuente de la imagen: Codethink)

¿Cómo se controla?

Simplemente, conecte el conmutador a su laptop a través de un cable USB C. Conéctese al puerto serie CDC del conmutador usando la herramienta que prefiera y envíe uno de los comandos de control al puerto serie para iniciar la conmutación.

¿Qué parte del proyecto es de código abierto?

El hardware es completamente de código abierto y se diseñó usando KiCAD 6.

El firmware disponible actualmente es de uso libre, pero usa la cadena de herramientas y las bibliotecas de ST, por lo que no podemos llamarlo software libre (todavía). Estamos trabajando en portar el firmware a libopencm3, lo que nos permitirá obtener la licencia libremente.

Hemos diseñado una carcasa que se puede imprimir en 3D para mantener el conmutador seguro. Los archivos STL de la carcasa tienen licencia CC by SA 4.

(Fuente de la imagen: Codethink)

¿Quiere conseguir conmutadores para usted?

Comuníquese con nuestro equipo de ventas para obtener más información sobre cómo en Codethink podemos ayudarle a integrar este conmutador en su rutina de pruebas de hardware y software.

Si quiere construir uno usted mismo, todo lo que necesita son unos pocos clics. Solo siga estos sencillos pasos:

  • Hardware:
    1. Clone el repositorio de hardware.
    2. Cargue el Gerber, la BOM y el archivo de colocación de la carpeta de producción en el sitio web de la empresa de placas que elija.
    3. Pida todas las que quiera.

Una vez que tenga el hardware para el conmutador USB, es hora de flashear el firmware.

  • Firmware:
    1. Construya el firmware en su máquina local clonando el repositorio de firmware y siguiendo los pasos de construcción en el README.
    2. Conecte el programador (ST-LINK) al puerto SWD y use el programador ST CUBE para flashear.

Los archivos de la carcasa se pueden encontrar en el repositorio de hardware en la carpeta de carcasa. ¡Puede imprimirlas en 3D usando los STL proporcionados o pedirlos en línea también!

Acerca de este autor

Codethink provides software engineering and consultancy services to Electronic Companies, Technology Providers, and Service Infrastructure Operators throughout Europe, Asia, and the USA, working across various industries and verticals. Focusing on system-level engineering, they develop and maintain system-level software infrastructure. Traditionally specializing in Linux, Embedded systems, and Open Source, they deliver on extremely difficult and technically complex projects and have expertise from critical embedded devices to cloud-scale infrastructure.

More posts by Codethink
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum