III - Structure interne

III - Structure interne

Tous les circuits One Wire possèdent une mémoire ROM (Read Only Memory) contenant un identifiant unique (code ROM) gravé dans la puce à la fabrication de 64 bits soit 8 octets.


Le premier octet

détermine le type de famille auquel appartient le circuit. Les 6 octets suivants, constituent le code propre du circuit. Le dernier octet est le CRC. C'est un octet de contrôle calculé à partir des 56 bits précédents.



Prenons l’exemple du thermomètre digital DS18B20. On identifie facilement cette mémoire ROM.



Ce code ROM permet l’identification du circuit, il est structuré de la façon suivante :



Les 8 bits les moins significatifs du code ROM contiennent le code de la famille 1-Wire du DS18B20 : 28h.


Les 48 bits suivants contiennent un numéro de série unique.


Les 8 bits de poids fort contiennent un octet de contrôle de redondance cyclique (CRC) calculé à partir des 56 premiers bits du code ROM. Une explication détaillée des bits CRC est fournie dans la section «CRC GENERATION » de la documentation constructeur. Le code ROM 64 bits et la logique de contrôle des fonctions ROM associée permettent au DS18B20 de fonctionner comme un dispositif 1-Wire en utilisant le protocole détaillé dans la section « SYSTÈME DE BUS 1-WIRE » de cette fiche technique.


https://www.alldatasheet.com/datasheet-pdf/pdf/58557/DALLAS/DS18B20.html

https://www.alldatasheet.com/datasheet-pdf/pdf/1244260/MAXIM/DS18B20.html


Family Code Reference

https://www.analog.com/en/resources/technical-articles/1wire-software-resource-guide-device-description.html


En fonction de leurs spécificités, chaque périphérique contiendra des registres, de la mémoire EEPROM, des ports... qui seront à leur tour accessibles par le maître soit en lecture uniquement soit en écriture soit en lecture/écriture. 


Prenons l’exemple du périphérique DS18B20 (capteur digital de température) :

Ce périphérique contient une mémoire SRAM (Static Random Access Memory) nommée « Bloc-note » (Scratchpad en anglais) et une mémoire EEPROM (Erasable Programmable Read-Only Memory) qui permettent respectivement de contenir la température lue [2 octets], le registre de configuration [1octet], le CRC (Cyclic Redundancy Check ou Contrôle de Redondance Cyclique) [1 octet] d’une part, et d’autre part la sauvegarde de deux niveaux de température (haut et bas) servant d’alarme [2 octets] ainsi que le registre de configuration.

Créé avec HelpNDoc Personal Edition: Rationalisez votre processus de documentation avec l'analyseur de projet de HelpNDoc