Conseil d’administration de Pirate 3EEPROM Explorateur de bus (4 / 5 étapes)

Étape 4: DS2431 1-Wire EEPROM

Puce : DS2431, 1-wire EEPROM (1 Koctet).
Bus : 1-Wire, < 2.2Kohm résistance de pull-up requise.
Alimentation électrique : 2.8volts à 5.25volts.
Références : fiche technique, pirater une manifestation de la journée.
Journal de session complète Bus Pirate pour cette démonstration.

Je ne pouvais pas inclure certains mise en forme et des tableaux HTML dans une Instructable, vous pouvez voir l’original sur le blog de Prototypes dangereux.

Le DS2431 est alimenté à partir de la résistance de pull-up et ne nécessite pas une alimentation externe ou le condensateur de découplage.

1 fil a besoin d’une résistance pull-up fort, d’un maximum de 2.2Kohms. Résistances de pull-up bord de le Bus Pirate sont 10K, trop faible pour alimenter correctement le DS2431 au cours de l’écrit. , Vous devez utiliser un 2.2Kohm ou plus petite résistance externe entre le pouvoir et la broche 1-Wire bus. Si vous avez des difficultés à écrire des données, assurez-vous que votre résistance de pull-up est assez grand. Le Conseil de l’Explorateur 3EEPROM comprend une résistance de pull-up de 1800 ohms (R1) sur le bus 1-Wire donc aucune résistance externe n’est nécessaire.

Programme d’installation

Si vous utilisez un Bus Pirate, connectez-le au Conseil 3EEPROM ou DS2431 comme le montre l’image du graphique ci-dessous. Le DS2431 ne nécessite pas la broche de puissance, il est utilisé sur la carte de 3EEPROM pour alimenter la résistance grand pull-up pour le bus 1-Wire.

Entoilage

Suis de la presse ' en terminal et sélectionnez mode 1-Wire Bus Pirate. Activez les blocs d’alimentation embarquée (grand "W") et vérifier le moniteur de tension (v).

Étape 1, trouver l’adresse du périphérique
1-WIRE > (0xf0) <<< macro Rechercher 1-Wire
1WIRE COMMANDE ROM : RECHERCHER (0XF0)
Appareils trouvés à :
Adresse 1WIRE macro
1.0x2D 0 x 54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 ID unique
* EEPROM DS2431 1K <<< type d’appareil est connu
Appareils de 0 x 01 trouvés.
Les premiers ID de 10 périphériques n’existent pas de MACRO, consultez (0).
1 fils >

Chaque périphérique 1-Wire possède un ID d’unique de 8 octets. 1-wire a une procédure de recherche qui détecte le ID de tous les périphériques connectés. Le Bus Pirate implémente la recherche 1-Wire comme macro (240). Tapez « (240) » dans le terminal de Bus Pirate pour démarrer la recherche 1-Wire.

Chaque adresse d’appareil est imprimé, dispositifs connus sont identifiés. Les dix premières adresses de périphérique 1-Wire sont stockés sous forme de macros, dans cet exemple, notre adresse DS2431 est disponible en tapant « (1) » dans le terminal.

Étape 2, écrire 8 octets dans le bloc-notes
1 fil > 0 x (55) (1) 0x0f 0 0 8 7 6 5 4 3 2 1
1WIRE réinitialisation du BUS OK <<< aussi {commande
COMMANDE de ROM WRITE 1WIRE : correspond à (0 x 55) * suivre avec adresse 64 bits
1WIRE ADRESSE MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B '
ÉCRITURE : 0x0F <<< DS2431 écrire scratch pad commande
ÉCRITURE: 0 x 00 <<< DS2431 écrire les octets de l’adresse 1
ÉCRITURE: 0 x 00 <<< DS2431 écrire adresse octet 2
ÉCRITURE: 0 x 08 <<< commencer 8 valeurs de données à écrire
ÉCRIRE: 0 X 07
ÉCRIRE: 0 X 06
ÉCRIRE: 0 X 05
ÉCRIRE: 0 X 04
ÉCRIRE: 0 X 03
ÉCRIRE: 0 X 02
ÉCRIRE: 0 X 01
1 fils >

Ensuite, nous allons écrire 8 octets vers un emplacement temporaire sur le DS2431 appelé le bloc-notes.

Début de l’opération avec une réinitialisation du bus 1-Wire et MATCH command (0 x 55). Les deux sont disponibles comme macro « 0 x (55) ». Cela peut aussi être fait sans une macro en tapant ' {0 x 55 ', {envoie le reset 1-Wire, 0 x 55 est le commandement MATCH 1-Wire.

Après la commande MATCH, envoyer l’ID 8 octets de l’appareil à l’adresse. Nous avons utilisé la macro (1) qui a été remplie avec l’ID DS2431 à l’étape 1. Vous pouvez également entrer l’ID 8 octets manuellement. À ce stade, que le DS2431 aurait dû recevoir, c’est adresse et être prêt pour les commandes.

0x0F est la commande "write" bloc-notes, il raconte la DS2431 de s’attendre à des données. Les deux octets lui dire où mettre les données, nous allons l’enregistrer au début (0 0). Enfin, nous envoyer 8 octets pour les valeurs à stocker, les numéros 8 à 1.

Vous devez écrire un total de 8 octets dans le DS2431. En outre, l’adresse de l’écriture doit être sur une limite de 8 octets. Voir la fiche technique pour une présentation complète des limitations écriture.

L’étape 3, vérifier le bloc-notes et obtenir le code d’autorisation
1-WIRE > (0x55)(1) 0xaa r: 3 r: 8 r: 2 r: 2
1WIRE réinitialisation du BUS OK <<< adresse de l’appareil
COMMANDE de ROM WRITE 1WIRE : correspond à (0 x 55) * suivre avec adresse 64 bits
1WIRE ADRESSE MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
ÉCRITURE : 0xAA <<< lire le bloc-notes commande
En vrac lire octets 0 x 03 : <<< le code d’autorisation
0 x 00 0x00 0x07
En vrac lire les octets de 0 x 08 : <<< les données que nous avons envoyé
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
En vrac lire les octets de 0 x 02 : <<< CRC pour les données
0xC8 0x86
En vrac lire les octets de 0 x 02 : <<< tous les 1 après CRC
0xFF 0xFF
1 fils >

Vérifier que les données a été reçues correctement et obtenir un code d’autorisation écriture.

Recommencer avec un redémarrage à 1fil macro de commande MATCH (0 x 55) et la macro d’adresse de dispositif (1). Cet envoi de temps le DS2431 lire le bloc-notes (0xAA) de commande et puis lire un total de 15 octets.

Les 3 premiers octets lu (r: 3) sont le code d’autorisation écrire, nous aurons le besoin à l’étape suivante pour copier le bloc-notes dans l’EEPROM. Les prochaines 8 octets (r: 8) doit correspondre à des données que nous avons envoyé à l’étape 2. Les finales 2 octets (r: 2) sont un CRC16 pour les données. Lit après le CRC retourner tous les 1.

Étape 4, écrire le bloc-notes dans l’EEPROM
1 fil > (0x55)(1) 0x55 0x00 0x00 0x07
1WIRE réinitialisation du BUS OK <<< adresse de l’appareil
COMMANDE de ROM WRITE 1WIRE : correspond à (0 x 55) * suivre avec adresse 64 bits
1WIRE ADRESSE MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
ÉCRITURE: 0 x 55 <<< copier scratch pad commande
ÉCRITURE: 0 x 00 <<< code d’autorisation de l’étape 3 de 3 octets
ÉCRIRE: 0 X 00
ÉCRIRE: 0 X 07
1 fils >

Nous avons tout ce dont nous avons besoin pour stocker les données de bloc-notes en permanence dans l’EEPROM.

Régler l’appareil, puis envoyer la commande de bloc-notes de copie de DS2431 (0 x 55) suivi du code d’autorisation de trois octets nous récupérées à l’étape 3 (0 x 00 0x00 0x07). Si le code d’autorisation est correct, les données sont transférées dans l’EEPROM.

Étape 5, vérifiez l’écriture de bloc-notes
1-WIRE > (0x55)(1) 0xaa r: 3
1WIRE réinitialisation du BUS OK <<< adresse de l’appareil
COMMANDE de ROM WRITE 1WIRE : correspond à (0 x 55) * suivre avec adresse 64 bits
1WIRE ADRESSE MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
ÉCRITURE : 0xAA <<< lire le bloc-notes commande
EN VRAC, LIRE LES OCTETS 0 X 03 :
0 x 00 0x00 0x87 <<< mis à jour le code d’autorisation
1 fils >

Le DS2431 définit la tige peu la plupart de l’écriture de code d’autorisation après une commande de bloc-notes copie réussie. Envoyer un autre lire scratch pad commande (0xAA) pour obtenir le code d’autorisation de mise à jour, mais il suffit de lire les trois premiers octets (r: 3). La valeur précédente 0 x 07 a changé à 0 x 87, la commande de copie a été reçue avec succès.

Étape 6, collationné les valeurs
1-WIRE > (0x55)(1) 0xf0 0x00 0x00 r: 8 r: 8
1WIRE réinitialisation du BUS OK <<< adresse de l’appareil
COMMANDE de ROM WRITE 1WIRE : correspond à (0 x 55) * suivre avec adresse 64 bits
1WIRE ADRESSE MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
ÉCRITURE : 0xF0 <<< DS2431 lu commande
ÉCRITURE: 0 x 00 <<< 2 octet lu adresse
ÉCRIRE: 0 X 00
LECTURE en vrac 0 x 08 octets : <<< lire les octets 8 nous avons écrit
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
LECTURE en vrac 0 x 08 octets : <<< lu plus de valeurs
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
1 fils >

Vérifier l’écriture a fonctionné correctement en récupérant les valeurs. Adresse de le DS2431, puis envoyer la lecture command (0xf0) et l’adresse pour lire à partir (0x00 0x00).

Il est possible de lire la plage de mémoire entière avec une seule commande. Nous avons lu les huit octets, nous avons écrit plus tôt (r: 8), qui retourne les valeurs attendues. Les huit octets au-delà de ces valeurs n’ont pas été rédigés et retourne 0.

Articles Liés

Glissez le Conseil d’administration, un comment sans se ruiner !

Glissez le Conseil d’administration, un comment sans se ruiner !

Salut. Il s'agit de mon premier instructable, donc s'il vous plaît soyez gentil.Intro !Il s'agit pour les patineurs, bladers, patineurs et hockeyeurs ! ou quelque chose comme ça, à droite ?Si vous ne savez pas ce que j'ai glisser Conseil est, je m'ex
Papier aquarelle au Conseil d’administration de montage (pour le découpage au laser ou autre)

Papier aquarelle au Conseil d’administration de montage (pour le découpage au laser ou autre)

Il s'agit de la technique que j'utilise Mont/Stretch papier aquarelle au Conseil d'administration, dans ce cas, pour être utilisée dans la gravure laser et découpe (un processus dans un plus tard instructable). Vous pouvez également utiliser cela pou
Phase du projet de Conseil d’administration de Liège 4

Phase du projet de Conseil d’administration de Liège 4

j'ai fait cela à la TechShop (www.techshop.ws) à Menlo Park.Il s'agit d'une continuation de la série de Instructables pour le projet de Conseil d'administration de Cork.Ces planches ont besoin deux habillages des bouchons couché horizontalement. Pour
Conseil d’administration de Micromouse(mobile robot) IR distance capteur + conseils

Conseil d’administration de Micromouse(mobile robot) IR distance capteur + conseils

Bonjour et Bienvenue sur mon premier instructable ! Dans ce court métrage instructable je vais vous expliquer comment construire une unité de capteur de distance infrarouge et le phototransistor . J'ai construit cette planche de capteur pour mon robo
Conseil d’administration d’ombre

Conseil d’administration d’ombre

Ce guide va vous apprendre à créer votre propre ombre ! Vous pouvez utiliser vous-même ou lui donner comme un cadeau pour quelqu'un qui pourrait utiliser un peu d'organisation dans leurs ateliers.Il s'agit d'un projet qui peut être fait pour très peu
Conseil d’administration de Pac-man Cork

Conseil d’administration de Pac-man Cork

en arrivant au Collège, j'ai réalisé que j'ai oublié ma planche de Liège retour à la maison. Au lieu d'avoir mes parents par la poste à moi ou même : soupir : aller un terme ensemble sans une planche de Liège, j'ai décidé de faire une version bon mar
Conseil d’administration de Liège

Conseil d’administration de Liège

Notre Conseil de Liège est un design astucieux pour mettre votre vin sur, utilisez comme une natte de protection thermique, ou toute autre chose. Il s'agit d'une embarcation très simple et rapide à faire en tant qu'accessoire pour n'importe quelle ma
Conseil d’administration de câbles IDE du pain

Conseil d’administration de câbles IDE du pain

aujourd'hui, nous allons à la construction d'un bourgeon de pain pour les circuits de protyping. Plupart des pièces que vous avez traînent. L'idée ici est ne pas de remplacer les planches à pain acheté en grand magasin mais, pour la construction de p
Méthode d’application d’un plan de masse en cuivre à bande-Conseil d’administration (p. ex. Veroboard)

Méthode d’application d’un plan de masse en cuivre à bande-Conseil d’administration (p. ex. Veroboard)

cet insondable décrit une méthode fiable d'appliquer un plan de masse à "Veroboard" (bande-Conseil ou pad-board) en utilisant un adhésif aluminium de cuivre et endos adhésif en plastique transparent.  Clinquant de cuivre adhésif peut être utilis
Conception d’une enceinte pour le Conseil d’administration un LinkIt MediaTek

Conception d’une enceinte pour le Conseil d’administration un LinkIt MediaTek

J'ai voulu faire un simple et robuste boîtier minime pour le LinkIt. J'ai fait celui-ci à l'aide d'un coupeur de laser et ~1/8 "matière (acrylique, contreplaqué, carton, etc. seraient tous travaux). Je suppose que si vous étiez super attentive, vous
Phase du projet de Conseil d’administration de Liège 2

Phase du projet de Conseil d’administration de Liège 2

j'ai fait cela à la TechShop (www.techshop.ws) à Menlo Park.Ce projet poursuit le « projet de Conseil de Liège » décrit dans un précédent Instructable.L'ensemble du projet est de construire plusieurs tableaux en Liège en cadeau d'anniversaire ou de N
Projet de Conseil d’administration de Liège

Projet de Conseil d’administration de Liège

Je l'ai fait à la TechShop (www.techshop.ws) à Menlo Park.Le projet final (l'image montre un prototype) nécessite un grand nombre de bouchons de vin-bouteille à couper transversalement en deux longueurs presque égales. Pour éviter de couper individue
Le Conseil d’administration de nombreuses balles de Ping-Pong

Le Conseil d’administration de nombreuses balles de Ping-Pong

Ok,Projet le wildehttp://www.youtube.com/watch?v=m41S2sZquC4&feature=PLCPTout d'abord, je tiens à m'excuser pour tout manque de clarté .etc ; J'ai 15 ans et n'ont par conséquent aucune compétence .etcIl s'agit d'une matrice de LEDIl a 64 LEDs RVB mon
Conseil d’administration de tapis

Conseil d’administration de tapis

Plan sur la coupe de quelques verres ? besoin d'une bonne surface pour garder ces satanés rayures loin de travail ? ici ya go.vous avez besoin d'un morceau de contreplaqué ou osb. n'importe quelle taille que vous aimez est très bien.certains tapis. é