Cómo aislar las herramientas de desarrollo del hardware defectuoso

Por Jacob Beningo

Colaboración de Editores de Digi-Key de América del Norte

Conectar una herramienta de desarrollo, computadora portátil y otros recursos a hardware electrónico para realizar pruebas y depurar es arriesgado. Si bien las conexiones directas a través del Transmisor Receptor Asíncrono Universal (UART), SPI, I2C y otros buses son necesarias para monitorear cómo se comporta el sistema, muchas veces el hardware que se está desarrollando puede fallar. Entonces, es posible que envíe voltaje y corriente no deseados a través de esas interfaces y que dañe esas herramientas y computadoras portátiles.

Estas herramientas son, por lo general, costosas. No solo eso, sino que la ley de Murphy dicta que el hardware y las herramientas fallarán en el peor momento posible. El resultado será un producto retrasado y gastos de envío durante la noche adicionales para que el banco de trabajo vuelva a funcionar.

Este artículo analizará cómo los desarrolladores pueden proteger su inversión en herramientas utilizando interfaces que se basan en IC de aislamiento económico que se puede crear en menos de 30 minutos. También analizará cómo se pueden seleccionar estos aisladores y brindará varios consejos y trucos para asegurarse de que las herramientas de desarrollo y las computadoras portátiles no se estropeen cuando el hardware falle.

Consideraciones relativas a la selección de un aislador

Un aislador divide un circuito en dos circuitos que están separados por una barrera de aislamiento. Los circuitos de cada lado de la barrera están alimentados y conectados a tierra por separado. La barrera funciona como un filtro que bloquea altos voltajes y transientes, y solo permite que la información o los datos digitales se transmitan de un lado al otro a través de un mecanismo de acoplamiento. El mecanismo de acoplamiento es, por lo general, capacitivo, magnético u óptico.

En muchos casos, el lector descubrirá que, para cualquier interfaz que le interese proteger, habrá más de una sola opción disponible. Por ejemplo, los aisladores I2C se proporcionan, generalmente, en variantes tanto capacitivas como magnéticas. Antes de seleccionar una tecnología, debemos entender el entorno en el que estamos trabajando.

El acoplamiento capacitivo utiliza un campo eléctrico cambiante para transmitir datos a través de la barrera de aislamiento, lo cual lo hace una buena elección en aplicaciones donde es posible que haya campos magnéticos intensos. El acoplamiento capacitivo también suele dar como resultado un espacio de placa más pequeño y una operación con mayor eficiencia de energía. Ambas cosas hacen que sea una buena elección para muchas aplicaciones. Sin embargo, cabe destacar que el acoplamiento capacitivo a veces tiene problemas con el ruido debido a una ruta de señal compartida.

El acoplamiento magnético utiliza un campo magnético cambiante para transmitir datos través de la barrera de aislamiento, lo cual lo hace una gran elección en aplicaciones donde es posible que haya campos eléctricos intensos. El acoplamiento magnético a veces utiliza pequeños transformadores que ayudan con el rechazo de ruido y una transferencia de energía altamente eficaz en la barrera.

El acoplamiento óptico utiliza pulsos ópticos para transmitir luz a través de una barrera no conductiva, lo cual lo hace la elección perfecta para entornos magnéticos y eléctricos ruidosos. A diferencia de las señales acopladas de manera capacitiva y magnética, el acoplamiento óptico puede transmitir señales en estado estacionario en la barrera. La desventaja de utilizar acoplamientos ópticos es que es posible que la velocidad esté limitada y que requieran más energía para funcionar.

Teniendo en cuenta estas diferentes tecnologías y sus características, el próximo paso es analizar diferentes protocolos de bus y explicar cómo aislar las herramientas de desarrollo en las diferentes interfaces.

Seleccionar un aislador I2C

Una buena forma para que los desarrolladores desarrollen controladores para dispositivos que se encuentran fuera del microcontrolador es utilizar una herramienta de espionaje de bus de algún tipo. Estas herramientas le permiten a un desarrollador monitorear el tránsito de buses. Una herramienta más costosa y de alta calidad también le permitirá a un desarrollador insertar mensajes en el bus.

Una breve anécdota: Una vez tuve un combo de herramientas I2C/SPI que estaba conectado al bus I2C de un cliente. Su hardware falló y disminuyó en 42 voltios a través del bus I2C y destruyó su hardware y, a su vez, mi herramienta de desarrollo. Si hubiese usado un aislador I2C para proteger mis herramientas, no tendría que haber gastado más dinero en comprar una herramienta nueva y pagar el envío rápido.

Al elegir un aislador I2C, se deben tener en cuenta varias características. Primero, el voltaje de aislamiento debe ser de al menos 2500 voltios rms. Este nivel de aislamiento brinda protección contra el 90 % o más de los problemas del desarrollo integrado. Segundo, se debe revisar la velocidad de transmisión de datos del aislador. Un I2C estándar opera con 100 kilobits por segundo (kbps) y 400 kbps. Un I2C de alta velocidad opera con 1000 kbps. La herramienta y la aplicación definirán qué aislador y tecnología de aislamiento es más adecuada.

Hay muchos aisladores I2C para uso general diferentes que funcionan bien para proteger las herramientas de desarrollo. Una buena opción para un aislador para uso general es el ADUM3211ARZ-RL7 de Analog Devices (Figura 1).

Diagrama del aislador de acoplamiento magnético de dos canales para uso general ADUM3211 de Analog Devices

Figura 1: El ADUM3211 es un aislador de acoplamiento magnético de dos canales para uso general que puede operar con hasta 1000 kbps. (Fuente de la imagen: Analog Devices)

El ADUM3211 utiliza acoplamiento magnético para transferir datos a través de la barrera a velocidades de transferencia de datos de hasta 1000 kbps. Por lo tanto, el aislador puede soportar un I2C de alta velocidad, pero no cuenta con una barrera bidireccional. Esto significa que la herramienta de desarrollo puede controlar el bus, pero no puede escribir al bus, lo cual es totalmente normal para la mayoría de las aplicaciones.

Una opción ideal para proteger las herramientas de desarrollo que necesitan controlar e insertar datos en el bus es el aislador ISO1541DR I2C de Texas Instruments (Figura 2). El ISO1541 utiliza un acoplamiento capacitivo en un paquete SOIC-8 para transmitir datos bidireccionales a una velocidad de hasta 1000 kbps. El aislador cuenta con dos canales de aislamiento separados: uno para la señal de datos (SDA) y uno para la señal de reloj (SCL).

Diagrama del aislador I2C ISO1541DR de Texas Instruments

Figura 2: El aislador I2C ISO1541DR de Texas Instruments cuenta con dos canales de aislamiento bidireccionales que pueden funcionar con hasta 1000 kpbs. (Fuente de la imagen: Texas Instruments)

Las Figuras 1 y 2 muestran que estos dispositivos requieren que el lado de la herramienta alimente a su lado del aislador y que el lado de destino alimente a su lado. La falta de comunicación en la barrera suele ocurrir cuando olvidamos proporcionar energía a estos desde sus respectivas fuentes. Por este motivo, debemos tener cuidado al configurarlos para garantizar que los dos lados tengan energía.

Seleccionar un aislador de la SPI

Es posible que sea más difícil proteger el bus de la SPI que el bus I2C. El bus I2C cuenta con tan solo dos líneas de comunicación, sin importar la cantidad de dispositivos que estén conectados al bus. En cambio, el bus de la SPI cuenta con tres líneas de transferencia de datos para una salida maestra, una entrada maestra y un reloj. Además de estas tres líneas, cada dispositivo que se conecta al bus de la SPI requiere una línea de selección de secundarios. Es imprescindible que cualquier aislador de la SPI también tenga varias líneas de aislamiento para las líneas de selección de secundarios.

Existen muchas opciones diferentes que son adecuadas para proteger una herramienta de desarrollo de la SPI. La primera es el aislador de la SPI ADUM3154 de Analog Devices. El ADUM3154 utiliza acoplamiento magnético para transmitir datos a través de la barrera de aislamiento a tasas de transferencia de datos de hasta 17 megabits por segundo (Mbps). Esto no solo cubre la velocidad de transmisión máxima para la mayoría de los periféricos de la SPI de microcontrolador de 4 Mbps, sino también las tasas de transferencia de datos que son comunes para los controladores de la interfaz de memoria. El ADUM3154 también soporta hasta cuatro selecciones de secundarios aisladas (Figura 3).

Diagrama del aislador de la SPI ADUM3154 de cuatro canales de Analog Devices

Figura 3: El ADUM3154 es un aislador de la SPI de cuatro canales de Analog Devices que puede soportar tasas de transferencia de datos de hasta 17 Mbps. (Fuente de la imagen: Analog Devices)

En los casos en que 17 Mbps no sea lo suficientemente rápido, Analog Devices también ofrece el ADUM3151BRSZ-RL7 (Figura 4).

Diagrama del aislador de la SPI ADUM3151 de siete canales de Analog Devices

Figura 4: El ADUM3151 es un aislador de la SPI de siete canales de Analog Devices que puede soportar tasas de transferencia de datos de hasta 34 Mbps. (Fuente de la imagen: Analog Devices)

El ADUM3151 también utiliza acoplamiento magnético, pero puede soportar tasas de transferencia de datos de hasta 34 Mbps. También tiene cuatro canales que se pueden utilizar para la selección de secundarios.

Seleccionar un aislador de depuración de cable serial (SWD)

Una de las herramientas de desarrollo más costosas que, por lo general, tendrá un ingeniero de software integrado es una sonda de depuración. Una buena sonda de depuración puede costar por arriba de los varios miles de dólares. Aunque las probabilidades de que algo salga mal en líneas de programación son bajas, no vale la pena arriesgarse.

Un desarrollador podría desarrollar su propia solución de aislamiento para proteger todas las líneas de SWD, pero eso le llevaría tiempo y sería costoso. En cambio, una solución simple es utilizar el aislador de SWD J-Link de SEGGER Microcontroller Systems (Figura 5).

Imagen del aislador de SWD J-Link de SEGGER Microcontroller Systems

Figura 5: El aislador de SWD J-Link de SEGGER Microcontroller Systems brinda 1000 voltios de aislamiento entre un programador de depuración y el sistema de destino. (Fuente de la imagen: SEGGER Microcontroller Systems)

El SWD J-Link brinda 1000 VCC de aislamiento entre el emulador y el hardware de destino.

Seleccionar y fabricar un aislador UART

Es posible que muchos desarrolladores consideren que aislar un pequeño UART sea una pérdida de tiempo y dinero. Al fin y al cabo, una herramienta de bajo costo como el tablero de ruptura BOB-12731 de USB a serial de SparkFun Electronics podría ser reemplazado con facilidad si algo le sucediera. Sin embargo, si algo saliera mal, podría haber varios miles de dólares en equipos de computación del otro lado que deberían ser protegidos. Es muy posible que el tiempo y el dinero adicionales valgan la pena.

Armar un circuito de protección de UART es simple y también se pueden seguir pasos similares para proteger otras interfaces de bus. Primero, se debe seleccionar un aislador. El ADUM3211 analizado anteriormente es una gran opción, ya que tiene dos canales de aislamiento de alta velocidad que se encuentran en direcciones opuestas. Esto es perfectamente adecuado para las líneas Tx/Rx de un UART, que, por lo general, se encuentran una al lado de la otra.

Una vez que se selecciona el aislador, un desarrollador puede obtener un tablero de ruptura como el LCQT-SOIC8-8 de Aries Electronics (Figura 6). Ya incluye cabeceras y se puede soldar fácilmente al BOB-12731.

Imagen del LCQT-SOIC8-8 de Aries Electronics

Figura 6: El LCQT-SOIC8-8 de Aries Electronics brinda una ruptura para un chip SOIC-8 que ya cuenta con puentes para hacer una conexión rápida con un dispositivo de destino. (Fuente de la imagen: Aries Electronics)

Al soldar el aislador a la placa y luego al adaptador del UART, es importante asegurarse de que el voltaje y los pasadores a tierra se alineen de manera adecuada. Si no se alinean de manera adecuada, no se alimentará el aislador. También es importante asegurarse de que la dirección del canal del aislador se encuentre en la dirección correcta. Si el tablero de ruptura o el aislador no están alineados de manera correcta, es posible que haya que personalizar un tablero (Figura 7).

Imagen del circuito del aislador UART

Figura 7: Un circuito del aislador UART ensamblado que se ha conectado al convertidor de USB a UART y brinda comunicación aislada personalizada con el dispositivo de destino. (Fuente de la imagen: Beningo Embedded Group)

Una vez montado, el convertidor de USB a UART alimenta al lado de la herramienta del aislador, mientras que el dispositivo de destino alimentaría al lado de destino. El resultado es una herramienta bidireccional aislada de UART que está protegida para hasta 2500 voltios.

Consejos y trucos para el aislamiento de herramientas de desarrollo

Hay muchas técnicas e interfaces de aislamiento que se pueden usar para proteger herramientas de desarrollo. A continuación, se encuentran varios consejos y trucos para proteger esas inversiones:

  • Revise la hoja de datos y asegúrese de que la especificación de aislamiento de voltaje sea adecuada para sus necesidades.
  • Investigue sobre los diferentes mecanismos de aislamiento y asegúrese de seleccionar la tecnología correcta para la aplicación.
  • Aísle cualquier bus o interfaz que se conecte al puerto USB de una computadora portátil, ya que es un camino a tierra potencialmente dañino.
  • Aproveche los kits de desarrollo existentes para el aislador seleccionado o utilice tableros de ruptura para simplificar el tiempo y el costo de desarrollo.
  • Proteja un depurador profesional utilizando un aislador de SWD.

Conclusión

Muchos desarrolladores de sistemas integrados no vuelven a evaluar la decisión de conectar una herramienta de desarrollo costosa a una pieza de hardware que no está del todo comprobada. Por lo general, no habrá ningún problema. Sin embargo, llegará el momento en el que ocurra algo inesperado y las herramientas de desarrollo estarán expuestas a voltajes y corrientes que exceden sus especificaciones, lo que provocará daños. Para evitar las corridas y conseguir un banco de trabajo en funcionamiento, se deben dedicar unas horas para aislar las herramientas de manera adecuada utilizando las soluciones de aislamiento disponibles, que conducen a un proceso de desarrollo más eficiente y menos costoso.

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de Digi-Key Electronics o de las políticas oficiales de Digi-Key Electronics.

Acerca de este autor

Jacob Beningo

Jacob Beningo es un consultor de software integrado que actualmente trabaja con clientes en más de una docena de países para transformar drásticamente sus negocios mejorando la calidad del producto, el costo y el tiempo de comercialización. Ha publicado más de 200 artículos sobre técnicas de desarrollo de software embebido, es un conferenciante y entrenador técnico muy solicitado y tiene tres títulos que incluyen una Maestría en Ingeniería de la Universidad de Michigan. No dude en ponerse en contacto con él en jacob@beningo.com, en su sitio web www.beningo.com, y suscríbase a su boletín mensual Embedded Bytes Newsletter.

Acerca de este editor

Editores de Digi-Key de América del Norte