Étape n°2 : Commandes ROM

Étape n°2 : Commandes ROM

Les commandes ROM, justifiées par la présence d’un ou plusieurs périphériques, ont lieu après la séquence d’initialisation et permettent au maître de :


    • Prendre connaissance de l’identifiant unique des périphériques : commande Search ROM,
    • Prendre connaissance de l’identifiant unique d’un seul périphérique : commande Read ROM,
    • Sélectionner un périphérique afin de communiquer avec lui : commande Match ROM,
    • Envoyer une commande simultanément à tous les périphériques : commande Skip ROM,
    • Identifier les périphériques répondant à une condition : commande «Conditional» Search,


Selon les commandes ROM, le maître pourra :

    • Dénombrer les périphériques présents sur le bus,
    • Identifier les périphériques par leur référence 
    • Solliciter un périphérique en particulier ou remplissant une condition particulière.


Toutes ces commandes ont un point commun : leur format est un octet.


1. Read ROM [33h]

Cette commande sera utilisée lorsqu’un seul périphérique est présent sur le bus. Dans le cas contraire, il existerait des collisions de données car plusieurs périphériques seraient susceptibles de répondre en même temps (Cette erreur pourra être détectée par le CRC)


Après cette opération, le maître connaît l’identifiant du seul périphérique sur le bus One Wire


2. Match ROM [55h]

Cette commande suivie par une séquence de 64 bits (le code ROM du périphérique) permet au maître de s’adresser à un périphérique en particulier. Les autres périphériques restent alors en attente (inactif) et seul le périphérique désigné répond à la commande du maître.


3. Skip ROM [CCh]

Cette commande permet au maître de s’adresser simultanément à tous les périphériques présents sur le bus.

Prenons l’exemple d’un bus One Wire comportant plusieurs capteurs de température de type DS18B20. Le microprocesseur pourra envoyer une commande Skip ROM suivie d’une commande de conversion de température [Convert T] à l’ensemble des circuits.


4. «Conditional» ROM [ECh]

Cette commande permet de solliciter tous les périphériques qui répondent à la condition exprimée par « Conditional ». La nature de cette commande dépend de la famille du périphérique Dans le cas de circuits DS18B20, cette commande appelée spécifiquement « Alarm Search »permettra au microprocesseur de connaître tous les périphériques dont les conditions d’alarme en température depuis la dernière acquisition sont valides. L’identification des périphériques répondant aux conditions suit un mode opératoire semblable à la commande « Search ROM ».


5. Search ROM [F0h]

L’algorithme de cette commande permet de rechercher :

    • le nombre total de périphériques sur le bus et pour chacun d’eux leur identifiant unique,
    • Les périphériques répondant à la condition formulée par la commande « Conditional ROM ».


La commande « Search ROM » répond au premier besoin. C’est avec un algorithme de recherche basé sur un processus d’élimination bit à bit du «code ROM» de chaque périphérique que le maître va identifier tous les «code ROM» des périphériques connectés. 

Cet algorithme fait l’objet d’une note d’application : référence AN187

https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/187.html


Remarque : d’autres commandes ROM spécifiques existent en fonction de la famille du périphérique. Avec le périphérique DS2408, on trouve « Resume Command » [A5h], « Overdrice Match ROM » [69h]


Règle n°3

Après une commande ROM (étape n°2), il est nécessaire d’utiliser des commandes de fonction pour écrire ou lire dans le périphérique One Wire.

Créé avec HelpNDoc Personal Edition: Convertissez facilement vos fichiers d'aide WinHelp HLP en CHM avec le guide étape par étape de HelpNDoc