A medida que las funciones de seguridad y redes de IoT continúan avanzando a un ritmo acelerado, también lo hace la tecnología utilizada para conexión, suministro eléctrico y seguridad. En este artículo de Analog Devices, aprenda a elegir el bus maestro de 1 cable correcto para aplicaciones con alimentación donde se deben minimizar las interconexiones.
Introducción
El bus de 1 cable es un esquema de señalización simple que realiza comunicaciones bidireccionales semidúplex entre un controlador maestro y uno o más esclavos que comparten una línea de datos en común. Tanto el suministro de energía como la comunicación de datos tienen lugar a través de esta única línea, lo que hace que los dispositivos de 1 cable sean inigualables en su capacidad para proporcionar funciones clave a los sistemas en los que se debe minimizar la interconexión. Los productos de 1 cable brindan combinaciones de memoria, señal mixta y funciones de autenticación segura a través de una interfaz en serie de un solo contacto. Las aplicaciones típicas de los dispositivos de 1 cable comprenden la identificación de cartuchos de impresión o consumibles médicos, la calibración y el control de tarjetas de rack, la identificación y autenticación de placas de circuito impreso (PCB), accesorios y periféricos, la protección de la propiedad intelectual, la prevención de actividades de clonación y el control de características de seguridad.
Para aprovechar la tecnología de 1 cable, se necesita un maestro de 1 cable que genere las formas de onda necesarias para identificar los dispositivos en el bus y comunicarse con ellos. Existen numerosas formas de implementar un maestro de 1 cable. En estas notas sobre la aplicación, se analiza una variedad de implementaciones de dispositivos maestros de 1 cable que ayudan a los diseñadores a elegir la solución adecuada para su aplicación integrada. Principalmente, nos enfocamos en el extremo maestro de un circuito de 1 cable.
Los maestros de 1 cable que se muestran en esta nota varían en términos de tensión de operación, cuyos valores oscilan entre 1,8 V a 5 V. Si la tensión de operación de un maestro de 1 cable no coincide con la tensión de los dispositivos esclavos de destino (por ejemplo, un dispositivo maestro de 3,3 V se comunica con esclavos de 1,8 V), se recomienda usar un cambiador de nivel de tensión.
Glosario sobre los dispositivos de 1 cable
Hay varios términos que a menudo se encuentran en los documentos relacionados con este tipo de dispositivos y que deben explicarse desde el principio.
Tensión de operación
Por lo general, los dispositivos de 1 cable funcionan en los siguientes rangos de tensión:
- 1,71 V (mín.) a 1,89 V (máx.)
- 2,97 V (mín.) a 3,63 V (máx.)
- 2,8 V (mín.) a 5,25 V (máx.)
La mayoría de los dispositivos de 1 cable no tienen pines para una fuente de alimentación. Tales dispositivos reciben energía parasitariamente a través de la línea de comunicación de 1 cable. Por lo tanto, la tensión de operación y la tensión de empuje de los dispositivos de 1 cable son prácticamente sinónimos. Cuanto mayor sea la tensión de operación (empuje), más energía pueden recibir los dispositivos de 1 cable.
Potencia para la tensión de empuje
Este término hace referencia a un medio para suministrar energía adicional a la red de 1 cable entre intervalos de tiempo. Los dispositivos de memoria de solo lectura programable y borrable eléctricamente (EEPROM) necesitan energía adicional para varias funciones, como cuando se copian datos desde un búfer hacia celdas EEPROM, para proteger las memorias cuando el motor criptográfico está funcionando o para los sensores de temperatura de 1 cable durante una conversión de temperatura. Cuando tales dispositivos de 1 cable se utilizan en un entorno de 1,8 V o 3 V, es necesario contar con una tensión de empuje más potente, mientras que en un entorno de 5 V con los mismos esclavos de 1 cable, la potencia para la tensión de empuje puede ser opcional.
Temporización de 1 cable
Esta es una expresión general para la forma de los intervalos de tiempo de 1 cable y la secuencia de detección de reinicio/presencia, y los medios para generar estas formas de onda. Se puede usar hardware especial (por ejemplo, chips con su propio generador de temporización) o simplemente generar las formas de onda mediante software. El método de hardware es más sencillo para el desarrollador de software, pero requiere otro chip. El método de software ahorra costos de hardware, pero quizás aumente el costo de desarrollo y pruebas de software.
Compatibilidad de sobreexitación
La mayoría de los esclavos de 1 cable pueden comunicarse a dos velocidades: velocidad estándar y velocidad de sobreexitación. En la sobreexitación, la temporización es aproximadamente ocho veces más rápida que en la velocidad estándar.
Tensión de empuje activa
El bus o red de 1 cable es un entorno de drenaje abierto, con 0 V (0 lógico) como el estado activo. Cuando está inactivo, el bus se eleva hasta la tensión de empuje a través de un resistor (empuje resistivo). En consecuencia, los lados descendentes son abruptos, mientras que los lados ascendentes, debido al resistor y al suministro de corriente parásita, pueden ser bastante lentos. La tensión de empuje activa hace referencia a un método que prueba los lados ascendentes y, si se ha cruzado un umbral específico, omite el resistor de empuje durante un tiempo limitado con una ruta de baja impedancia. Por lo general, la tensión de empuje activa no se necesita en redes cortas o con un solo dispositivo esclavo. Si está disponible, la tensión de empuje activa recarga la línea de 1 cable más rápido que la tensión de empuje resistiva y, por lo tanto, admite múltiples esclavos de 1 cable en la red sin tener que extender el tiempo de recuperación entre los diferentes intervalos de tiempo. Los maestros de 1 cable difieren en la resistencia (impedancia) de la derivación y el método que controla la duración de la tensión de empuje activa.
Circuitos maestros de 1 cable
En esta sección, se analizan en detalle los diversos circuitos maestros. Los circuitos se agrupan en dos categorías:
- Pin de puerto de microprocesador
- Maestros de 1 cable de hardware de Maxim
Cada categoría presenta uno o más circuitos. Se muestra el esquema, se enumeran los requisitos previos, se sopesan las ventajas y desventajas, se brindan sugerencias sobre qué observar y se recomiendan lecturas adicionales y direcciones URL para el software compatible.
Categoría 1. Creación de un maestro usando un pin de puerto de microprocesador
La Figura 1 muestra la implementación más básica de un maestro de 1 cable.
Figura 1. Pines de puertos unidireccionales con circuito opcional para potencia para la tensión de empuje (líneas discontinuas).
Como único requisito previo, este circuito requiere un puerto bidireccional libre y algo de espacio libre en la memoria de programa. La ventaja de este circuito es su bajo costo de hardware. La desventaja es que la temporización de 1 cable se genera a través del software, lo que puede aumentar el tiempo y el costo inicial del desarrollo de software.
En función de los esclavos de 1 cable en la aplicación y de la tensión de empuje de los dispositivos de 1 cable, tal vez se requiera un pin de puerto adicional a fin de incorporar la potencia para la tensión de empuje. La tensión de operación máxima en el bus de 1 cable está determinada por las características del puerto bidireccional. Con más de un esclavo en el bus de 1 cable, es necesario reducir el valor de RPUP. En ese caso, verifique si el valor de VOLMAX resultante es compatible con los esclavos de 1 cable y con las características de entrada del puerto del microprocesador.
La comunicación a velocidad de sobreexitación requiere un microcontrolador con una alta frecuencia de reloj o un bajo número de ciclos de reloj por ciclo de instrucción.
La Figura 2 muestra otro circuito básico similar a la Figura 1.
Figura 2. Pin de puerto bidireccional con circuito opcional para potencia para la tensión de empuje (líneas discontinuas).
Como requisito previo, este circuito requiere dos puertos unidireccionales libres, un transistor pull-down y algo de espacio libre en la memoria de programa. La ventaja de este circuito es que no necesita un puerto bidireccional. La desventaja es que la temporización de 1 cable se genera a través del software, lo que puede aumentar el tiempo y el costo inicial del desarrollo de software.
En función de los esclavos de 1 cable en la aplicación y de la tensión de empuje de los dispositivos de 1 cable, tal vez se requiera un pin de puerto adicional a fin de incorporar la potencia para la tensión de empuje. La tensión de operación máxima en el bus de 1 cable está determinada por las características del puerto de entrada. Con más de un esclavo en el bus de 1 cable, es necesario reducir el valor de RPUP. En ese caso, verifique si el valor de VOLMAX resultante es compatible con los esclavos de 1 cable y con las características de entrada del puerto del microprocesador.
La comunicación a velocidad de sobreexitación requiere un microcontrolador con una alta frecuencia de reloj o un bajo número de ciclos de reloj por ciclo de instrucción.
Categoría 2. Maestros de 1 cable de hardware de Maxim
Maxim produce una amplia gama de productos de hardware maestro de 1 cable, los cuales también se pueden usar para controlar de manera confiable una red de dispositivos esclavos de 1 cable. Esos maestros comúnmente se conocen como dispositivos de "puente de 1 cable" y, tal como su nombre lo indica, se utilizan para "puentear" la interfaz entre el procesador host de un sistema (por ejemplo, microcontroladores, FPGA, PC, etc.) y un esclavo de 1 cable. Esto significa que, al integrar un dispositivo puente entre un procesador host y un esclavo de 1 cable, el procesador host ya no se conecta directamente al esclavo de 1 cable para operarlo. En cambio, el procesador host interactúa con el dispositivo puente a través de un protocolo de comunicación específico como I2C y le ordena que transmita datos de 1 cable al esclavo de 1 cable. El beneficio de esto es que la comunicación de 1 cable se descarga desde el procesador host hacia el dispositivo de puente de 1 cable, lo que evita que el procesador host genere formas de onda de 1 cable cuando el tiempo es un factor crítico. Como resultado, toda la aplicación de software se puede desarrollar en un lenguaje de alto nivel, y el tiempo y el costo inicial del desarrollo de software se reducen de manera significativa.
Además de generar un protocolo fundamental de 1 cable, un dispositivo de puente de 1 cable incluye características adicionales que pueden ayudar a impulsar una línea de 1 cable de manera más eficiente. Por ejemplo, cada dispositivo de puente de 1 cable incluye una tensión de empuje pasiva interna (es decir, RPUP) para ayudar a reducir la cantidad de componentes de hardware externos necesarios. Los siguientes productos que presentamos son algunos de los mejores dispositivos de puente de 1 cable de Maxim. La lista de características destacadas les permite a los diseñadores elegir la opción adecuada para su aplicación. Se proporciona un circuito de aplicación típico para cada dispositivo como referencia de configuración.
DS2480B
El maestro de 1 cable DS2480B simplifica el diseño de un puerto RS-232 COM universal de bajo costo para la interfaz de 1 cable. Este dispositivo incluye:
- Una tensión de empuje activa interna (APU) que se emplea automáticamente después de cruzar un umbral en los lados ascendentes de la línea de 1 cable para controlar sin esfuerzo varios dispositivos en el bus de 1 cable.
- Una potencia para la tensión de empuje interna (SPU) que se puede habilitar opcionalmente según los requisitos de alimentación de un dispositivo esclavo de 1 cable.
- Un acelerador de búsqueda integrado de 4 bits, que hace que la secuencia de búsqueda de la memoria de solo lectura (ROM) de 1 cable sea más fácil de implementar en el software.
- La capacidad de programar dispositivos de memoria de solo lectura programable y borrable (EPROM) de 1 cable utilizando una fuente de alimentación externa de 12 V.
- Temporización programable de 1 cable y características de controlador para adaptarse a una amplia gama de configuraciones de dispositivos esclavos a velocidad estándar.
- Un rango de tensión operativa superior a 5 V +-10 %.
El DS2480B interactúa directamente con el receptor-transmisor asíncrono universal (UART) y los sistemas RS232 de 5 V, y puede comunicarse a una velocidad de hasta 115,2 kbps. El circuito en la Figura 3 muestra cómo integrar el DS2480B en un sistema compatible.
Figura 3. DS2480B conectado a un puerto UART del microcontrolador host.
DS2484
El DS2484 es un modelo básico de I2C para buses maestros de 1 cable e incluye:
- Un traductor de nivel de tensión incorporado que permite que el DS2484 funcione a varios niveles de tensión en el lado de 1 cable, los cuales van desde 1,8 V -5 % a 5 V +5 %, independientemente de la tensión de operación el I2C.
- Una tensión de empuje activa interna (APU) y valores seleccionables para la tensión de empuje pasiva (RPUP) a fin de lograr una operación eficiente a larga distancia de los dispositivos de 1 cable.
- Una potencia para la tensión de empuje interna (SPU) que se puede habilitar opcionalmente según los requisitos de alimentación de un dispositivo esclavo de 1 cable.
- Un comando triple incorporado para dispositivos de 1 cable que hace que la secuencia de búsqueda de la memoria de solo lectura (ROM) de 1 cable sea más fácil de implementar en el software.
- Control de energía sobre el puerto de 1 cable para apagar los dispositivos en el bus mediante software.
- Pin de modo de baja potencia (SLPZ) para preservar el consumo de energía cuando el DS2484 no está en uso.
- Parámetros de temporización ajustables de 1 cable para admitir una amplia gama de esclavos de 1 cable.
El DS2484 interactúa directamente con un bus I2C maestro y puede comunicarse a velocidades de hasta 400 kHz. El circuito en la Figura 4 muestra cómo integrar el DS2484 en un sistema compatible.
Figura 4. DS2484 conectado a un puerto I2C del microcontrolador host.
DS2485
El DS2485 es un maestro integral de 1 cable que está optimizado para un mayor rendimiento y ofrece control total sobre su amplio conjunto de funciones. Este dispositivo incluye:
- Capacidad de secuencias de comandos para ejecutar secuencias personalizadas de comandos primitivos de 1 cable.
- Algoritmo de búsqueda de 1 cable incorporado para descubrir y recuperar fácilmente las ID de ROM del dispositivo en el bus de 1 cable según se prefiera.
- Búfer de bloque de gran capacidad de 1 cable y 126 bytes de tamaño para un alto rendimiento de datos.
- Parámetros de temporización ajustables de 1 cable para velocidad estándar y velocidad de sobreexitación a fin de admitir una amplia gama de esclavos de 1 cable.
- Tres páginas de 32 bytes de EEPROM para datos del usuario.
- Una tensión de empuje activa interna (APU) ajustable y valores seleccionables para la tensión de empuje pasiva (RPUP) a fin de lograr una operación eficiente a larga distancia de los dispositivos de 1 cable.
- Una potencia para la tensión de empuje interna (SPU) que se puede habilitar opcionalmente según los requisitos de alimentación de un dispositivo esclavo de 1 cable.
- Control de energía sobre el puerto de 1 cable para apagar los dispositivos en el bus mediante software.
- Un pin GPIO para funciones de control específicas de la aplicación.
- Un rango de tensión operativa superior a 3,3 V ±10 %.
El DS2485 interactúa directamente con un bus I2C maestro y puede comunicarse a velocidades de hasta 1 MHz. El circuito en la Figura 5 muestra cómo integrar de forma adecuada el DS2485 en un sistema compatible.
Figura 5. DS2485 conectado a un puerto I2C del microcontrolador host.
DS2465
El DS2465 es un maestro de 1 cable y un coprocesador SHA-256 diseñado para operar con autenticadores seguros SHA-256 de 1 cable. Este dispositivo incluye:
- Un conjunto básico de herramientas criptográficas que, a su vez, incluye:
- Un motor SHA-256 incorporado para la autenticación criptográfica de dispositivos esclavos SHA-256 de 1 cable.
- Dos páginas de 32 bytes de EEPROM para datos del usuario.
- Una tensión de empuje activa interna (APU) y valores seleccionables para la tensión de empuje pasiva (RPUP) a fin de lograr una operación eficiente a larga distancia de los dispositivos de 1 cable.
- Una potencia para la tensión de empuje interna (SPU) que se puede habilitar opcionalmente según los requisitos de alimentación de un dispositivo esclavo de 1 cable.
- Pin de modo de baja potencia (SLPZ) para preservar el consumo de energía cuando el DS2465 no está en uso.
- Un comando triple incorporado para dispositivos de 1 cable que hace que la secuencia de búsqueda de la memoria de solo lectura (ROM) de 1 cable sea más fácil de implementar en el software.
- Control de energía sobre el puerto de 1 cable para apagar los dispositivos en el bus mediante software.
- Parámetros de temporización ajustables de 1 cable para velocidad estándar y velocidad de sobreexitación a fin de admitir una amplia gama de esclavos de 1 cable.
- Un rango de tensión operativa superior a 3,3 V ±10 %.
El DS2465 interactúa directamente con un bus I2C maestro y puede comunicarse a velocidades de hasta 400 kHz. El circuito en la Figura 6 muestra cómo integrar de forma adecuada el DS2465 en un sistema compatible.
Figura 6. Maestro de 1 cable DS2465 conectado a varios dispositivos SHA-256 de 1 cable.
DS2477
El DS2477 es un maestro de 1 cable y un coprocesador SHA-3 diseñado para operar con autenticadores seguros SHA3-256 de 1 cable. Este dispositivo incluye:
- Un conjunto básico de herramientas criptográficas que, a su vez, incluye:
- Un motor SHA-3 incorporado para la autenticación criptográfica de dispositivos esclavos SHA-3 de 1 cable.
- Tecnología de funciones no clonables físicamente (PUF) ChipDNA™ para proteger los datos del dispositivo de ataques de seguridad.
- 2 Kb de EEPROM para datos del usuario y almacenamiento de claves.
- Un generador de números aleatorios verdaderos (TRNG) que cumple con el Estándar Federal de Procesamiento de Información (FIPS) o las directrices del Instituto Nacional de Estándares y Tecnología (NIST).
- Un número de identificación de 64 bits único e inalterable programado en fábrica (ID de ROM).
- Una tensión de empuje activa interna (APU) y valores seleccionables para la tensión de empuje pasiva (RPUP) a fin de lograr una operación eficiente a larga distancia de los dispositivos de 1 cable.
- Una potencia para la tensión de empuje interna (SPU) que se puede habilitar opcionalmente según los requisitos de alimentación de un dispositivo esclavo de 1 cable.
- Control de energía sobre el puerto de 1 cable para apagar los dispositivos en el bus mediante software.
- Parámetros de temporización ajustables de 1 cable para admitir una amplia gama de esclavos de 1 cable.
- Búfer de bloque de gran capacidad de 1 cable y 126 bytes de tamaño para un alto rendimiento de datos.
- Un pin GPIO para funciones de control específicas de la aplicación.
- Un rango de tensión operativa superior a 3,3 V ±10 %.
En las pruebas de laboratorio, el DS2477 pudo controlar con éxito 50 dispositivos esclavos de 1 cable DS1990 a más de 1000 pies de distancia con una configuración de resistor de empuje de 333Ω. El DS2477 interactúa directamente con un bus I2C maestro y puede comunicarse a velocidades de hasta 1 MHz. El circuito en la Figura 7 muestra una aplicación de ejemplo en la cual el DS2477 controla múltiples dispositivos esclavos SHA-3 de 1 cable, como el DS28E50.
Figura 7. DS2477 conectado a un puerto I2C del microcontrolador host con esclavos DS28E50.
Adaptadores basados en PC y kits de evaluación
Dado que no requieren ninguna clase de desarrollo de software por parte del usuario, los adaptadores de PC que funcionan como maestros de 1 cable y los kits de evaluación específicos para dispositivos son muy convenientes tanto para evaluar dispositivos de 1 cable como para crear prototipos.
Para la solución basada en PC, además del adaptador, los dispositivos de 1 cable para explorar y algunas opciones de cables listas para usar, lo único que necesita el usuario es el software de evaluación; por ejemplo, OneWireViewer basado en Java® que está disponible para descargar de forma gratuita.
Los kits de evaluación resultan más convenientes que los adaptadores independientes, ya que incluyen todo lo que se necesita para llevar a cabo la creación de prototipos y la exploración. Estos kits también incluyen un adaptador USB-a-I2C o USB-a-I2C/1 cable.
Además del software de evaluación gratuito incluido con los kits, Maxim también proporciona ejemplos de códigos de demostración gratuitos basados en C a pedido. La Tabla 1 muestra los detalles de algunas plataformas de evaluación disponibles.
Tabla 1. Adaptadores basados en PC y kits de evaluación
Conclusión
El bus maestro de 1 cable adecuado para una aplicación integrada es el que cumple con los requisitos eléctricos para los dispositivos de 1 cable (es decir, tensión operativa y potencia para la tensión de empuje, si es necesario) a un costo razonable, pero también ofrece la mejor funcionalidad general. La elección final depende de los recursos del puerto libre (sin usar) en la aplicación y esto puede abarcar pines de puerto, un bus UART o I2C y espacio en la memoria de programa. En la actualidad, los maestros de hardware de 1 cable proporcionados por Maxim (Categoría 2) son las opciones más versátiles disponibles en el mercado a un costo muy razonable. Ofrecen gran cantidad de funciones y pueden programarse para admitir todos y cada uno de los sistemas de 1 cable, incluidos los que tengan altos requisitos de seguridad.