Inicio Artículos de fondo Ventajas y trampas de las implementaciones USB-C en sistemas embebidos

Ventajas y trampas de las implementaciones USB-C en sistemas embebidos

2207
0

Tercera parte del artículo técnico escrito por congatec mencionando las ventajas de las implementaciones USB-C en sistemas embebidos, los detalles del USB-C y, finalmente, algunas “trampas” para implementar USB-C en sistemas embebidos.

Trampa 1: Detección de orientación

Ventajas y trampas de las implementaciones USB-C en sistemas embebidosEl conector USB-C dispone de las partes correspondientes, pero los 8 canales en el centro no están dispuestos simétricamente. En su lugar, sólo se define un canal de configuración que detecta cómo se enchufa el conector en el receptáculo, detectando CC1 o CC2 en el pin 5. Esto es importante ya que es la única manera para que el dispositivo anfitrión sepa qué canales de datos utilizar.

Un ejemplo: USB 3.x sólo utiliza un par de canales de señal para la transferencia de datos. Y puesto que cualquier cable USB-C en sistemas embebidos se puede conectar a los dispositivos finales en dos orientaciones, la detección tiene que suceder en ambos lados. Suena como una tarea bastante simple, ¿verdad? Teóricamente sí, pero ejemplos de la vida real demuestran que esto no es siempre el caso. Pruebas independientes muestran que algunas combinaciones de cables y dispositivos sólo funcionan correctamente cuando el cable está enchufado en una orientación específica.

Guía: Para evitar errores de instalación, siga las directrices USB-C exactamente y recomiende / use solamente cables USB-C en sistemas embebidos que estén evaluados dentro de sus aplicaciones.

Trampa 2: Entrega de potencia

USB-C establece nuevos límites de potencia en comparación con las especificaciones USB anteriores. Donde USB 2.0 fue especificado para entregar 2.5 W (5 V, 0.5 A) para periféricos, USB 3.0 fue calificado para entregar 4.5 W (5 V, 0.9 A). Los huéspedes USB-C con USB 3.1 Gen 1 o Gen 2 pueden entregar hasta 7,5 W (1,5 A) o opcionalmente hasta 15 W (3 A). Por lo tanto, si la potencia de 15 W es suficiente, no se requiere entrega de potencia dedicada (PD). Sin embargo, si tiene la intención de ejecutar un sistema embebido con todas las características incluyendo la pantalla, debe integrar el nuevo USB-PD capaz de entregar hasta 100 W.

Como otra característica completamente nueva, los dispositivos USB-C en sistemas embebidos ahora pueden asumir dos roles de potencia diferentes. Pueden funcionar como fuente de energía o como recipiente. En este caso, el voltaje y la corriente deben negociarse activamente entre la fuente de alimentación y el recipiente de potencia USB-C. Esto significa que ambos dispositivos necesitan un microcontrolador activo para establecer los parámetros para tensiones donde 5 V, 9 V 12 V o 20 V están permitidos y la corriente puede alcanzar hasta 5 A. En este último caso, se requieren cables activos. Estos diferentes modos de alimentación son una verdadera bendición para los dispositivos embebidos, ya que ahora pueden conectarse a través de un cable, lo que reduce el coste. Además, un solo conector es menos propenso a fallos de funcionamiento que tres cables separados.

Pero esto nos lleva a la pregunta: ¿Cómo actúan los dispositivos, cuando la fuente de alimentación y la demanda no encajan? En este caso, los desarrolladores deben tener cuidado, ya que la especificación de tipo C no proporciona una guía sobre cómo los dispositivos deben gestionar este caso. Sólo asegura que no se rompa nada, ya que los voltajes superiores a los típicos 5 V tienen que ser activamente sincronizados entre los dispositivos.

Vayamos más allá, ¿qué sucede si un sistema cuenta con dos puertos USB-C con suministro de energía? Aquí, hay que integrar una fuente de alimentación inteligente, ya que la mejor solución es que ambos puertos proporcionen o consuman la potencia definida y no que uno de ellos no lo haga, ya que esto podría confundir a los usuarios. Todos estos modos deben ser programados activamente en un microcontrolador PD apropiado que también es necesario para implementar y negociar los Modos Alternos disponibles descritos a continuación.

Directriz: Hay diferentes controladores de PD en el mercado que los diseñadores pueden elegir. Sin embargo, los diseños de referencia han demostrado que, para diseños totalmente desarrollados, algunos ofrecen una mejor funcionalidad y son más sencillos de configurar que otros. El principal reto aquí es implementar una programación que cubra sin problemas todos los requisitos de hardware. Busque proveedores de sistemas embebidos que ofrezcan diseños evaluados y estén dispuestos a compartir sus conocimientos. Confíe en su experiencia y reutilice sus componentes y programación de mejores prácticas.

Trampa 3: Modos Alternos

USB-C ofrece varios modos alternos en los que los ocho pines de alta velocidad (A2 / 3; A10 / 11; B2 / 3; B110 / 11) y canales de banda lateral (A8, B8) ofrecen diferentes asignaciones de pines. Estas asignaciones de pines alternos se especifican como

  • Modo alterno DisplayPort (DP-Alt) compatible con DP 1.4,
  • Modo alterno MHL (enlace de alta definición móvil para la transmisión de señales de audio y vídeo),
  • Modo alterno Thunderbolt 3 (TB-Alt) para la transmisión de 4 señales PCIe Gen 3 y DisplayPort
  • Modo alterno HDMI (HDMI-Alt) para transmitir señales de vídeo y audio HDMI 1.4b.

El canal de configuración sirve para definir qué modo se utiliza y qué señales se transmiten a través de los canales de datos. Los pines específicos permanecen siempre sin cambios, independientemente del modo que se use. Estos son los pines para el retorno de tierra, el canal de configuración y USB 2.0. Para definir qué modos alternos están disponibles en su dispositivo, se utiliza el controlador USB PD. Aquí, se encuentran las mismas trampas, que se mencionaron antes. Además, como estamos hablando de alta velocidad de señalización, también debe prestar atención a la señal de enrutamiento en su PCB. Evite el enrutamiento que aumente el damping, crosstalk y las interferencias.

Guía: Para la transmisión de vídeo y audio, por ejemplo, en juegos, info entretenimiento y aplicaciones de señalización digital, recomendamos utilizar USB-C en sistemas embebidos con el modo DP-Alt en lugar de HDMI-Alt. La razón es que, como la implementación es la más joven, HDMI-Alt no es tan madura como DP-Alt. Además, sólo se especifica para el estándar HDMI 1.4b. Sus aplicaciones pueden sufrir un ancho de banda limitado (8.16 Gbit/s sólo permite 4k a 24 Hz) y calidad de imagen limitada (sin HDR). DP-Alt en su lugar cubre DP 1.4, que ofrece más de tres veces el ancho de banda con un máximo de 25.92 Gbit/s permitiendo incluso encadenamiento de dos pantallas de 4k con soporte para HDR10 y hasta 32 canales de audio.

Trampa 4: Cables USB-C en sistemas embebidos

La placa congatec Pico-ITX con pantalla USB-C y soporte de alimentación fue mostrada por primera vez en Embedded World 2017.
La placa congatec Pico-ITX con pantalla USB-C y soporte de alimentación fue mostrada por primera vez en Embedded World 2017.

Al igual que los diversos Modos Alternos son adecuados para diferentes aplicaciones, no todos los cables se pueden utilizar para todos los modos de uso. Por ejemplo, es poco probable que un simple cable USB-C por unos pocos céntimos pueda ofrecer la calidad requerida para transmitir señales SuperSpeed ​​USB 3.1 en ancho de banda completo con hasta 10 Gbit / s; más bien, se producirán errores de datos y el ancho de banda bajará a la velocidad USB 2.0. O bien, piense en un huésped USB-C que controle una pantalla que solo tenga un receptáculo HDMI o DisplayPort. En este caso, es necesario utilizar un cable adaptador con electrónica activa para gestionar la negociación del Modo Alt. Por lo tanto, USB-C especifica diferentes cables que deben ser evaluados para evitar mal funcionamiento. Se trata de cables pasivos de Tipo-C a Tipo-C que se pueden utilizar para transferir la velocidad USB 3.0 y una corriente de hasta 3 A. Los cables activos marcados electrónicamente se requieren para la velocidad USB 3.0 Gen 2 (10 Gbit / s), suministro de potencia de más de 3 A y todos los modos alternos para transmisiones de datos de alta velocidad con hasta 40 Gbit / s. Un cable adaptador Tipo-C también necesita componentes electrónicos activos para la amplificación de señal en cables de longitud extendida y / o conversión de protocolo de flujo de vídeo nativo a otras interfaces como DisplayPort a HDMI, DVI o VGA.

Directriz: Determinar cuidadosamente qué cables USB-C requiere su aplicación. Por ejemplo, no suministre un cable pasivo cuando desee utilizar modos alternos. En su lugar, lo ideal es proporcionar cables USB-C evaluados para los diseños que han demostrado trabajar en su configuración. Esto evita costosas llamadas de servicio de sus clientes. También es una buena idea marcar claramente las capacidades de sus interfaces USB-C en la producción, especialmente cuando el diseño cuenta con más de uno, para que los usuarios no se confundan.

Trampa 5: Soporte de software

Ahora que ha aprendido sobre los desafíos de implementación de hardware, es hora de echar un vistazo al soporte del sistema operativo. Aquí, la situación es bastante relajada, pero aún no 100% libre de conflictos para el espacio embebido. Windows 10, incluyendo todas las versiones de Windows 10 IoT y Windows 10 Mobile, soporta USB 3.1, USB-C, los Modos Alternos y suministro de energía. Linux soporta USB 3.0 desde el kernel versión 2.6.31 y USB versión 3.1 desde el kernel versión 4.6. Para la entrega de potencia hay actualmente parches disponibles para agregar esta función. Y Android soporta USB 3.1 y USB-C desde la versión 6 de Marshmallow.

Directriz: Compruebe que su proveedor de módulo y placa proporciona paquetes de soporte de placa para Linux que soportan totalmente la conectividad USB-C en sistemas embebidos.

Trampa 6: Seguridad de dispositivos con USB-C en sistemas embebidos

Los planos de los esquemas de la placa base congatec SMARC con conectividad USB-C son gratuitos para los clientes OEM.
Los planos de los esquemas de la placa base congatec SMARC con conectividad USB-C son gratuitos para los clientes OEM.

Por último, pero no menos importante, la cuestión de seguridad es otra trampa común para todas las interconexiones USB. Esto podría ser más frecuente en el futuro, especialmente en lo que respecta a la función de alimentación USB-C en la carga. El reto aquí es cómo asegurarse de que un cargador USB sólo actúa como un cargador y no compromete el dispositivo también, utilizando los canales de datos. Esta tarea se está discutiendo actualmente y se ha propuesto un mecanismo llamado autenticación USB. Está dirigido a utilizar métodos criptográficos con seguridad y certificados de 128 bits. La autenticación se realizará a través del bus PD y / o del bus de datos USB para que los dispositivos habilitados para Tipo-C, incluidos los cables del dispositivo huésped y las fuentes de alimentación, puedan identificarse entre sí, y crear una raíz de confianza. Esto permite a los OEM especificar exactamente a qué dispositivos finales se les permite comunicarse con su aplicación, bloqueando potencialmente peligrosas contrapartes y permitiendo que sólo dispositivos seguros aumenten drásticamente la seguridad. Además, implementará actualizaciones de firmware de USB PD para actualizar de forma segura el firmware en un dispositivo compatible con USB PD. Con este complemento exclusivo, USB-C se convertirá realmente en el estándar de conectividad ideal para las aplicaciones de seguridad crítica embebidas.

Directriz: Como la especificación de autenticación USB-C aún no se ha implementado, no hay directrices disponibles. Sin embargo, se recomienda encarecidamente que los diseñadores sean conscientes de esta característica, ya que hará USB-C aún más a prueba de futuro, dando otra razón para comenzar a implementar USB-C desde hoy.

Otras lecturas recomendadas:

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.