Los aisladores digitales ofrecen una opción de USB aislado fácil de usar
El bus serie universal (USB) es un método popular para que las computadoras personales (PC) se comuniquen con periféricos a través de cables. En algunas aplicaciones, es deseable aislar la comunicación USB para cumplir con los requisitos de seguridad o romper los bucles de tierra. Desafortunadamente, la tarea de aislamiento no es trivial debido al flujo de datos bidireccional en el cable USB. Este artículo analiza este y otros desafíos para lograr implementaciones USB aisladas fáciles de usar y compara soluciones. Un ideal 'transparente' minimiza el impacto de agregar aislamiento al sistema, y tales soluciones ya están disponibles. La discusión se centra en USB 2.0, que admite tres velocidades de datos: 1,5 Mbps (baja), 12 Mbps (completa) y 480 Mbps (alta). Para simplificar, el caso de 12 Mbps se analiza con más detalle, pero muchos de los principios de ese ejemplo también se aplican a las otras velocidades.
Conceptos básicos de USB
Una de las razones de la popularidad de USB es su sencilla interfaz de 4 hilos que proporciona energía a un periférico y un enlace de datos en serie entre el periférico y una PC. La figura 1 muestra una conexión USB estándar. La VAUTOBÚS y los cables GND proporcionan alimentación de 5 V y conexión a tierra, mientras que D+ y D– transportan datos. La señalización es semidúplex bidireccional, lo que significa que los datos pueden fluir en cualquier dirección a lo largo del cable, pero en cualquier momento en particular, como máximo un transmisor impulsa activamente el cable. Durante la comunicación, los transmisores USB conducen estados diferenciales o de un solo extremo a D+ y D–. Los datos se organizan en paquetes, con secuencias de señales especiales que indican el inicio y el final del paquete. A veces, el bus está inactivo, lo que significa que ninguno de los transmisores está activo y, en esos momentos, las resistencias conectadas a los extremos del cable establecen estados de bus 'inactivos' en D+ y D–. Los estados inactivos ayudan a inicializar el bus entre un paquete y el siguiente. También le indican al host cuándo se conecta o desconecta el periférico y la velocidad de comunicación deseada del periférico (1,5 Mbps, 12 Mbps o 480 Mbps).
Métodos para aislar un host USB y un periférico
Ahora imagine aislar eléctricamente el host y el periférico. Como se señaló en [1], existen varias opciones para la colocación de la barrera de aislamiento. En todos los casos, se deben aislar múltiples señales y las señales pueden funcionar a alta velocidad o bidireccionalmente, dependiendo de dónde se encuentre el aislamiento. Esto complica las implementaciones que se crean a partir de componentes discretos. La lista completa de materiales puede volverse larga y puede ser difícil encontrar elementos discretos que se ajusten completamente a los requisitos de señalización.
Una posibilidad de aislamiento se muestra en la figura 2a, donde la línea discontinua muestra el aislamiento que divide conceptualmente el cable USB. La información sobre el estado de D+ y D– puede cruzar la barrera, pero la corriente no. GND1 (la referencia de tierra del lado aguas arriba) ahora es un nodo separado de GND2 (la referencia de tierra del lado aguas abajo). Desafortunadamente, el aislamiento evita que el host "vea" la resistencia pull-up aguas abajo, y el periférico no puede "ver" las resistencias pull-down aguas arriba. Por lo tanto, se necesitan algunas resistencias adicionales, como se muestra en la Figura 2b, para imitar la conexión de sus contrapartes a través del aislamiento. En este concepto 'transparente', la comunicación entre el host y el periférico funciona de manera muy similar a la conexión no aislada de la Figura 1. El componente aislador USB transparente simplemente se inserta entre uno de los transceptores y el cable USB, junto con una fuente de alimentación aislada. Los hosts y periféricos diseñados originalmente para aplicaciones no aisladas se conectan fácilmente al aislador USB e intercambian señales USB estándar sin necesidad de modificaciones significativas.
Este enfoque es muy atractivo siempre que el concepto se pueda implementar realmente, pero hay una serie de desafíos que superar. Por ejemplo, los optoacopladores independientes o los aisladores digitales generalmente no brindan características de unidad compatibles con USB ni admiten comunicación semidúplex bidireccional. Muchos optoacopladores no pueden funcionar a 12 Mbps o más, y tienen largos retrasos de propagación y errores de sincronización que no cumplen con los requisitos de sincronización de USB 2.0. Hay otros problemas que se describen más adelante.
Por ahora, cambiemos el enfoque y consideremos alternativas no transparentes como las discutidas en [1]. En lugar de dividir el cable USB en dos con aislamiento, estas soluciones colocan el aislamiento dentro del hardware del host o del periférico. Puede ir entre el transceptor USB y el motor de interfaz serial (SIE), o entre el SIE y el controlador USB. Esto permite aislar las señales lógicas digitales unidireccionales con aisladores autónomos de uso general. Sin embargo, hay varias desventajas significativas. Primero, el transceptor USB o el hardware del controlador deben personalizarse para insertar los componentes de aislamiento. También puede ser necesario un código de microcontrolador adicional o una modificación del software del controlador USB. Esto genera trabajo adicional para el diseñador del sistema y puede aumentar significativamente el espacio requerido en la placa, ya que estas soluciones son complejas y requieren múltiples componentes. Otra desventaja es que el rendimiento total de datos puede reducirse, ya que los datos ahora se envían a través de una combinación en serie de transceptores USB y el esquema de aislamiento separado. El esquema de aislamiento puede agregar demoras relacionadas con la codificación y decodificación en otro formato en serie, como SPI, o demoras relacionadas con la velocidad lenta o la temporización imprecisa de los componentes de aislamiento.
A pesar de estas deficiencias, estas soluciones eran las únicas opciones viables cuando era demasiado difícil superar los desafíos de implementar el aislador USB transparente. Ahora, las soluciones transparentes están disponibles, y el resto de este artículo describe cómo un ejemplo cumple completamente con los requisitos.
Requisitos del aislador USB transparente
Un sistema aislador USB debe cumplir varios requisitos para lograr un funcionamiento totalmente "transparente":
- Debe controlar UD+, UD–, DD+ y DD– de la misma manera que un transceptor USB estándar y, de hecho, contener dos transceptores compatibles con USB, uno a cada lado de la barrera de aislamiento (Figura 3).
- Debe administrar la comunicación bidireccional en el cable USB asegurándose de que sus transceptores transmitan y reciban en los momentos apropiados y reproduzcan con precisión todos los estados de conducción e inactividad. Para reproducir con precisión los estados inactivos, debe incluir una resistencia pull-up en su lado ascendente para imitar el estado de la resistencia pull-up conectada al periférico descendente. También puede incluir resistencias desplegables en su lado aguas abajo. El bus debe monitorearse en busca de señales que indiquen bus inactivo, inicio de paquete y fin de paquete para responder adecuadamente a esas condiciones.
- Los componentes del aislador de señal dentro del aislador USB deben comunicar los datos D+ y D– de un lado a otro a través del aislamiento. Si los aisladores de señal son unidireccionales (como suele ser el caso), el sistema aislador USB necesita múltiples canales de aislamiento, algunos transmitiendo en dirección descendente y otros transmitiendo en dirección opuesta, ascendente.
- Los aisladores de señal deben funcionar rápido con una sincronización precisa para admitir las velocidades de señalización USB deseadas y cumplir con los requisitos de USB para el retraso de propagación y el error de sincronización.
- Cada lado del aislador USB debe soportar la alimentación proporcionada por suministros de 5 V o 3,3 V. Si se proporciona alimentación de 5 V, el aislador debe obtener un suministro regulado de 3,3 V adecuado para alimentar el transceptor USB de ese lado. Si se proporciona alimentación de 3,3 V, el aislador puede utilizarla para alimentar directamente el transceptor USB y omitir su regulador.
Realización de un aislador USB transparente
El aislador digital USB ADuM4160 de Analog Devices2 cumple con todos los requisitos y está integrado en un paquete SOIC de 16 derivaciones. En la Figura 3 se muestra un diagrama de bloques. Contiene un par de transceptores USB, cinco canales de iAcoplador®basado en aislamiento digital, lógica de control y dos 'reguladores inteligentes'. También incluye una resistencia pull-up aguas arriba de 1,5 kΩ y resistencias pull-down aguas abajo de 15 kΩ
Sus transceptores USB están controlados por un controlador simplificado, que no necesita decodificar y analizar completamente los paquetes para admitir la función de aislamiento. En cambio, puede monitorear UD+, UD–, DD+ y DD– en busca de señales que indiquen bus inactivo, inicio de paquete y fin de paquete, y usarlas para habilitar o deshabilitar correctamente los transmisores USB mientras se ignora el contenido del paquete. Cuando se transmite un paquete descendente desde el host al periférico, los dos canales de aislamiento superiores en la Figura 3 están activos, al igual que el receptor USB ascendente y el transmisor USB descendente. Los datos se copian de UD+/UD– a DD+/DD–. Cuando finaliza el paquete, se detecta la secuencia de fin de paquete y se desactivan todos los transmisores USB, lo que permite que el bus alcance el estado inactivo. Si el periférico posteriormente comienza a transmitir un paquete ascendente, el aislador USB detecta la secuencia de inicio del paquete, habilita los canales de aislamiento tercero y cuarto y el transmisor USB ascendente, y copia los datos de DD+/DD– a UD+/UD– hasta que el paquete termina Luego, el bus vuelve a estar inactivo con todos los transmisores apagados, en espera de nuevos datos.
El ADuM4160 utiliza un quinto canal de aislamiento para comunicar el estado de una línea de control en el lado aguas abajo3, que activa una resistencia pull-up integrada en el lado aguas arriba. Esto permite que el puerto descendente controle cuándo el puerto ascendente se conecta al bus USB. El pin se puede vincular al pull-up periférico, una línea de control o el pin VDD2, dependiendo de cuándo se realice la conexión de bus inicial. La conexión del pin al pull-up periférico permite que su estado sea imitado por el pull-up ascendente, y los pull-downs del ADuM4160 imitan el estado de los que están conectados al host. Todos los estados activos e inactivos se copian de un lado del aislamiento al otro.
Los canales de aislamiento son aisladores digitales que utilizan transformadores de escala de chip para lograr una comunicación aislada. Cada uno de los canales individuales puede funcionar a más de 100 Mbps, admitiendo fácilmente datos USB de "velocidad máxima" de 12 Mbps. La integración de todos los canales en un solo chip permite un control estricto de la sincronización, lo que genera un error de sincronización bajo que cumple con los requisitos de sincronización USB. El retraso de propagación general a través del ADuM4160 es equivalente al retraso a través de un concentrador USB estándar. El consumo de energía en reposo está por debajo de los límites USB para buses inactivos.
Los reguladores inteligentes admiten las opciones de suministro de energía mencionadas anteriormente en el requisito 5, sin requerir un control explícito del usuario4 . Para alimentar un lado del aislador USB desde 5 V (por ejemplo, el lado ascendente), el suministro de 5 V se conecta al pin VBUS apropiado (por ejemplo, VBUS1), mientras que VDD1 no está conectado. Cuando los sensores detectan que se aplica voltaje a VBUS1 pero no a VDD1, activan el regulador de 3,3 V para alimentar VDD1.
En su lugar, para alimentar un lado del aislador USB desde 3,3 V (por ejemplo, el lado descendente), el suministro de 3,3 V se conecta tanto a VBUS2 como a VDD2. Cuando los sensores detectan voltaje aplicado en ambos pines simultáneamente, el regulador en el chip se desactiva para usar directamente los 3.3V proporcionados externamente.
Conclusión
El aislador USB 'transparente' en el que el aislamiento biseca conceptualmente el cable USB es muy fácil de usar con hardware USB que se diseñó originalmente para aplicaciones no aisladas. Esto contrasta con las alternativas, que colocan el aislamiento dentro del host o del hardware periférico, lo que requiere una modificación sustancial del hardware y, en ocasiones, degrada el rendimiento del USB. El concepto transparente es muy difícil de implementar utilizando componentes discretos como aisladores estándar de uso general. Sin embargo, las soluciones integradas recientes como ADuM4160 superan los desafíos en un solo paquete conveniente, lo que simplifica enormemente la adición de aislamiento en aplicaciones USB.
Referencias
[1] Hack, Lane. "Aislamiento de USB". Revista EDNjulio de 2006
[2] Información sobre ADuM4160, iLos aisladores digitales del acoplador y otros productos de Analog Devices se pueden encontrar en www.analog.com/iAcoplador.
[3] Patente de EE. UU. n.º 8432182.
[4] Patente de EE. UU. n.º 8564327.
Si quieres conocer otros artículos parecidos a Los aisladores digitales ofrecen una opción de USB aislado fácil de usar puedes visitar la categoría Generalidades.
Deja una respuesta
¡Más Contenido!