Existen muchos Protocolos de Comunicación Serial disponibles para transferir datos entre dispositivos electrónicos, ya sea un microcontrolador leyendo datos de un sensor o enviando datos a un dispositivo de almacenamiento. Este es uno de una serie de artículos que cubrirán algunos de los protocolos más populares en uso común. Completaremos la serie con una comparación de las ventajas y desventajas de cada uno.
Mi objetivo es que la serie demuestre ser una referencia útil la próxima vez que te encuentres buscando implementar un bus de comunicación serial, para que puedas elegir la mejor opción para tu aplicación particular.
En este artículo, estaremos viendo el popular protocolo 1-Wire.
1-Wire es un bus de comunicación de baja velocidad desarrollado por Dallas Semiconductor Corp. (ahora Maxim Integrated) que utiliza una línea de datos de señal excluyendo la tierra. Es un sistema de comunicación maestro-esclavo donde un dispositivo maestro o anfitrión está conectado a través de una única línea de datos a uno o más dispositivos esclavos. Cada dispositivo esclavo 1-Wire tendrá un número de identificación único de 64 bits programado de fábrica (ID), que es la dirección de ese dispositivo.
Los dispositivos 1-Wire generalmente son producidos solo por Maxim Integrated y están disponibles en varios tipos de encapsulado, como el transistor típico TO-92, así como diferentes circuitos integrados. Un dispositivo de comunicación 1-Wire muy popular es el iButton (también conocido como Llave de Dallas). El iButton es un dispositivo modular pequeño utilizado para aplicaciones tales como registradores de datos, sensores de temperatura y humedad, LEDs, dispositivos de memoria, adaptadores, etc. Aunque históricamente el iButton ha sido una implementación muy popular de 1-Wire, hoy en día hay muchos sensores disponibles de Maxim Integrated que implementan el protocolo 1-Wire.
En principio, un iButton es un microchip muy similar a los que se utilizan en las tarjetas inteligentes. La diferencia es que el microchip está alojado en un botón de acero inoxidable redondo y está diseñado para su uso en entornos duros y exigentes. Se basan en contactos físicos para la conexión con el bus 1-Wire.
Los rangos de voltaje típicos de 1-Wire sobre los cuales opera el dispositivo incluyen:
Una de las características más interesantes del bus 1-Wire es que la alimentación puede aplicarse a través de la línea de comunicaciones, en lugar de necesitar una fuente de alimentación externa. Esto puede permitir que sensores externos, como los sensores de temperatura, se conecten solo con cables de datos y tierra, siendo alimentados el sensor a través de la energía parasitaria del bus de datos. Esto puede ahorrar una considerable complejidad y cableado en comparación con los otros protocolos de comunicaciones en serie que hemos investigado en esta serie.
Una conexión típica de dispositivo de bus 1-Wire se puede ver en el siguiente diagrama de circuito:
En el ejemplo anterior, un dispositivo maestro está controlando varios dispositivos esclavos.
La mayoría de los dispositivos 1-Wire requieren una potencia extremadamente baja y no necesitan pines de suministro de energía. Estos dispositivos extraen la energía que necesitan para operar de la línea de datos 1-Wire, conocida como suministro de energía parasitaria.
Una configuración típica de alimentación parasitaria de un dispositivo 1-Wire se puede ver en el siguiente diagrama de circuito:
Existen varios dispositivos 1-Wire, que se pueden utilizar para aplicaciones que incluyen sensado de temperatura, identificación, registro de tiempo, EEPROM o EPROM (programable una sola vez), autenticación segura, etc., permitiendo la creación de dispositivos con aplicaciones que varían desde identificación, autenticación de consumibles, accesorios de PCB y computadoras, protección de IP, control de acceso a los sistemas de rondas de guardia, efectivo electrónico, tiempo y asistencia, monitoreo de temperatura de alimentos o seguridad farmacéutica.
El valor de la resistencia de pull-up necesaria para la conexión 1-Wire debe ser lo suficientemente bajo para proporcionar suficiente corriente para alimentar el dispositivo, pero no tan bajo que los dispositivos esclavos no puedan tirar exitosamente la línea de datos hacia el nivel lógico 0.
Los valores típicos de resistencia de pull-up para una conexión 1-Wire están entre 1 kΩ y 4.7 kΩ. Esto establece la corriente desde una fuente de alimentación de 5 V entre 5 mA y 1.06 mA. Como ejemplo, el dispositivo DS2480B requiere un valor de corriente entre 1.5 mA y 5 mA para operar, típicamente 3 mA.
En el bus 1-Wire, siempre hay un maestro que tiene el control total, que puede ser una computadora personal o un microcontrolador. El maestro siempre inicia la actividad en el bus para evitar cualquier colisión de transmisión. El dispositivo maestro es responsable de detectar y gestionar cualquier colisión proveniente de la transmisión simultánea por múltiples dispositivos esclavos.
Los dispositivos transmiten utilizando pulsos bajos cortos y largos para representar los datos. Un pulso bajo de 1–15 µs equivale a un nivel lógico 1, mientras que un pulso bajo de 60 µs equivale a un nivel lógico 0. El borde descendente (negativo) del pulso es utilizado por los dispositivos esclavos para escuchar el ancho del pulso. Miden su duración utilizando un multivibrador monostable muy básico. El maestro inicia las comunicaciones enviando un pulso de reinicio seguido de un comando de 8 bits, y luego los datos se envían o reciben en grupos de 8 bits. La detección de errores se implementa utilizando un simple chequeo de redundancia cíclica (CRC) de 8 bits.
Este artículo ha examinado algunas características del popular protocolo 1-Wire y ha discutido algunas de sus ventajas y detalles de implementación. En los otros artículos de esta serie, veremos algunos de los protocolos de comunicación serial alternativos disponibles.
¿Te gustaría saber más sobre cómo Altium Designer® puede ayudarte con tu próximo diseño de PCB? Habla con un experto en Altium.