De nombreux protocoles de communication série sont disponibles pour le transfert de données entre dispositifs électroniques, que ce soit un microcontrôleur lisant des données d'un capteur ou envoyant des données à un dispositif de stockage. Ceci fait partie d'une série d'articles qui couvriront certains des protocoles les plus populaires couramment utilisés. Nous terminerons la série avec une comparaison des avantages et des inconvénients de chacun.
Mon objectif est que cette série s'avère être une référence utile la prochaine fois que vous vous trouverez à devoir mettre en œuvre un bus de communication série, afin que vous puissiez choisir la meilleure option pour votre application particulière.
Dans cet article, nous examinerons le protocole 1-Wire populaire.
Le 1-Wire est un bus de communication à faible vitesse développé par Dallas Semiconductor Corp. (maintenant Maxim Integrated) qui utilise une seule ligne de données de signal à l'exclusion de la terre. C'est un système de communication maître-esclave où un dispositif maître ou hôte est connecté par une seule ligne de données à un ou plusieurs dispositifs esclaves. Chaque dispositif esclave 1-Wire aura un numéro d'identification unique de 64 bits (ID) programmé en usine, qui est l'adresse de ce dispositif.
Les dispositifs 1-Wire sont généralement produits uniquement par Maxim Integrated et sont disponibles dans divers types de boîtiers, tels que le transistor typique TO-92, ainsi que différents circuits intégrés. Un dispositif de communication 1-Wire très populaire est l'iButton (également connu sous le nom de Clé Dallas). L'iButton est un petit dispositif modulaire utilisé pour des applications telles que les enregistreurs de données, les capteurs de température et d'humidité, les LED, les dispositifs de mémoire, les adaptateurs, etc. Bien que l'iButton ait historiquement été une mise en œuvre très populaire du 1-Wire, aujourd'hui, il existe de nombreux capteurs disponibles chez Maxim Integrated qui implémentent le protocole 1-Wire.
En principe, un iButton est une micro-puce très similaire à celles utilisées dans les cartes à puce. La différence est que la micro-puce est logée dans un bouton en acier inoxydable rond et est conçue pour être utilisée dans des environnements difficiles et exigeants. Ils comptent sur des contacts physiques pour la connexion avec le bus 1-Wire.
Les plages de tension 1-Wire typiques sur lesquelles le dispositif fonctionne comprennent :
L'une des caractéristiques les plus intéressantes du bus 1-Wire est que l'alimentation peut être appliquée via la ligne de communication, plutôt que de nécessiter une alimentation externe. Cela peut permettre de connecter des capteurs externes, tels que des capteurs de température, avec juste des fils de données et de masse, le capteur étant alimenté par l'alimentation parasitaire du bus de données. Cela peut économiser une complexité et un câblage considérables par rapport aux autres protocoles de communication en série que nous avons étudiés dans cette série.
Une connexion typique d'un dispositif bus 1-Wire peut être vue dans le schéma de circuit suivant :
Dans l'exemple ci-dessus, un dispositif maître contrôle plusieurs dispositifs esclaves.
La plupart des dispositifs 1-Wire nécessitent une puissance extrêmement faible et n'ont pas besoin de broches d'alimentation. Ces dispositifs extraient l'énergie dont ils ont besoin pour fonctionner de la ligne de données 1-Wire, connue sous le nom d'alimentation parasitaire.
Un dispositif 1-Wire typique en configuration d'alimentation parasitaire peut être observé dans le schéma de circuit suivant :
Il existe divers dispositifs 1-Wire, qui peuvent être utilisés pour des applications incluant la détection de température, l'identification, l'enregistrement du temps, EEPROM ou EPROM (programmable une seule fois), l'authentification sécurisée, etc., permettant la création de dispositifs avec des applications allant de l'identification, l'authentification de consommables, les accessoires de PCB et d'ordinateur, la protection de la propriété intellectuelle, le contrôle d'accès aux systèmes de rondes de garde, la monnaie électronique, le suivi du temps et de la présence, la surveillance de la température des aliments, ou la sécurité pharmaceutique.
La valeur de la résistance de tirage nécessaire pour la connexion 1-Wire doit être assez faible pour fournir suffisamment de courant pour alimenter le dispositif, mais pas trop faible au point que les dispositifs esclaves ne puissent pas tirer la ligne de données vers le niveau logique 0 avec succès.
Les valeurs typiques de résistance de tirage pour une connexion 1-Wire sont entre 1 kΩ et 4.7 kΩ. Cela établit le courant d'une alimentation de 5 V entre 5 mA et 1.06 mA. Par exemple, le dispositif DS2480B nécessite une valeur de courant entre 1.5 mA et 5 mA pour fonctionner, typiquement 3 mA.
Sur le bus 1-Wire, il y a toujours un maître qui est en charge globale, qui peut être un ordinateur personnel ou un microcontrôleur. Le maître initie toujours l'activité sur le bus pour éviter toute collision de transmission. Le dispositif maître est responsable de la détection et de la gestion de toute collision provenant de la transmission simultanée par plusieurs dispositifs esclaves.
Les dispositifs transmettent en utilisant des impulsions basses courtes et longues pour représenter les données. Une impulsion basse de 1 à 15 µs équivaut à un niveau logique 1, tandis qu'une impulsion basse de 60 µs équivaut à un niveau logique 0. Le bord descendant (négatif) de l'impulsion est utilisé par les dispositifs esclaves pour écouter la largeur de l'impulsion. Ils mesurent sa durée en utilisant un multivibrateur monostable très basique. Le maître initie les communications en envoyant une impulsion de réinitialisation suivie d'une commande de 8 bits, puis les données sont envoyées ou reçues par groupes de 8 bits. La détection d'erreur est mise en œuvre à l'aide d'une simple vérification de redondance cyclique (CRC) de 8 bits.
Cet article a examiné certaines caractéristiques du protocole 1-Wire populaire et a discuté de certains de ses avantages et détails d'implémentation. Dans les autres articles de cette série, nous examinerons certains des protocoles de communication série alternatifs disponibles.
Voulez-vous en savoir plus sur comment Altium Designer® peut vous aider avec votre prochain design de PCB ? Parlez à un expert chez Altium.