Table des matières:

Carte Bus Pirate 3EEPROM Explorer : 5 étapes
Carte Bus Pirate 3EEPROM Explorer : 5 étapes

Vidéo: Carte Bus Pirate 3EEPROM Explorer : 5 étapes

Vidéo: Carte Bus Pirate 3EEPROM Explorer : 5 étapes
Vidéo: Как взломать платное спутниковое и кабельное телевидение? (33с3) 2024, Juillet
Anonim
Carte Explorateur Bus Pirate 3EEPROM
Carte Explorateur Bus Pirate 3EEPROM

Si vous possédez l'un des pirates du bus Hack a Day, qu'en faites-vous ? Découvrez les EEPROM 1 fil, I2C et SPI avec la carte d'exploration 3EEPROM (nous l'appelons THR-EE-PROM). L'EEPROM est un type de puce mémoire qui stocke des données sans alimentation continue. Il est utile pour le stockage permanent de données dans de petits circuits d'enregistreurs ou pour la conservation de pages personnalisées dans un mini serveur Web. Les EEPROM sont disponibles dans de nombreuses tailles et protocoles. La 3EEPROM possède trois puces EEPROM communes: la DS2431 (1-Wire), 24AA- (I2C) et 25AA- (SPI). Les trois ont déjà été démontrés sur Hack a Day, mais chaque démo utilise une version différente du matériel et du micrologiciel de Bus Pirate, il est difficile pour un débutant de suivre en utilisant un Bus Pirate v2go. Continuez à lire pour un guide d'utilisation mis à jour, étape par étape. les EEPROM DS2431, 24AA- et 25AA- avec le Bus Pirate v2go. Nous avons également les journaux de session complets sous forme de fichiers texte afin que vous ne manquiez aucun détail. Nous pouvons faire produire des PCB ou des kits de carte d'exploration 3EEPROM chez Seeed Studio. Les PCB coûtent environ 10 $, les kits coûtent environ 15 $, expédiés dans le monde entier. Nous devons organiser un achat groupé de 10 PCB ou 20 kits pour commencer. Si vous êtes intéressé par un Bus Pirate, la version 3 arrive. Je n'ai pas pu inclure certains éléments de mise en forme et tableaux HTML dans un Instructable, vous pouvez voir le message original sur le blog Dangerous Prototypes.

Étape 1: Présentation du matériel 3EEPROM

3Présentation du matériel EEPROM
3Présentation du matériel EEPROM
3Présentation du matériel EEPROM
3Présentation du matériel EEPROM
3Présentation du matériel EEPROM
3Présentation du matériel EEPROM

L'objectif de ce prototype est de découvrir l'EEPROM et trois protocoles de bus communs. Tout d'abord, nous examinons le PCB 3EEPROM, puis nous démontrons chaque EEPROM à l'aide d'un outil d'interface série universelle Bus Pirate. Si vous n'avez pas de Bus Pirate, vous pouvez toujours suivre car l'ordre de base des opérations d'interface reste le même quelle que soit la façon dont vous les implémentez. CircuitSchéma complet [PNG]. Nous avons réalisé le circuit et le PCB en utilisant la version gratuite de Cadsoft Eagle. Vous pouvez télécharger le schéma et le PCB à partir de l'archive Bus Pirate SVN. Le PCB 3EEPROM contient une EEPROM 1-Wire DS2431 (IC1), une EEPROM 24AA-I2C (IC4) et une EEPROM 25AA-SPI (IC5). Le DS2431 (IC1) tire son alimentation de manière parasite du bus 1-Wire, il n'a pas de broche d'alimentation externe et ne nécessite pas de condensateur de découplage. IC2 et IC3 sont des emplacements vides pour des appareils 1-Wire supplémentaires, comme un autre capteur de température DS2431 ou DS1822. C1 (0,01 uF) est facultatif et n'est nécessaire que si IC2 ou IC3 sont équipés d'un appareil 1-Wire alimenté.1-Wire nécessite une forte résistance de rappel, un maximum de 2,2K ohms. Les résistances de rappel embarquées du Bus Pirate sont de 10K, trop faibles pour alimenter correctement le DS2431 pendant les écritures. La carte d'exploration 3EEPROM comprend une résistance de rappel de 1,8 k ohm, 1/8e de watt (R1) sur le bus 1-Wire afin qu'aucune résistance de rappel supplémentaire ne soit nécessaire. Les 24AA-(IC4) et 25AA- (IC5) chacun reçoit un condensateur de 0,1 uF pour les découpler de l'alimentation (C2, C3). Vous n'avez probablement pas besoin des condensateurs dans un circuit aussi simple, nous les avons omis de la carte prototype dans la démonstration. Le bus I2C utilisé par le 24AA- nécessite également des résistances pull-up, mais les résistances pull-up 10K ohms embarquées du Bus Pirate sont suffisantes. Tous les composants fonctionneront de 2,8 volts à 5 volts CC. Le circuit est alimenté par les broches VCC et GND du cavalier 3. Il y a deux broches VCC, l'une est pour l'alimentation, l'autre est pour la broche d'entrée de tension de résistance de pull-up du pirate de bus (Vpullup). PCBNous avons fabriqué le circuit et le PCB en utilisant le version gratuite de Cadsoft Eagle. Vous pouvez télécharger le schéma et le PCB à partir de l'archive Bus Pirate SVN. Si vous souhaitez un kit PCB ou 3EEPROM préparé par des professionnels, nous pourrons peut-être organiser un achat de groupe si 10 ou 20 personnes sont intéressées. Liste des pièces R1 Résistance 1800 ohms (1/8e watt) C2, 3 condensateurs 0,1 uF/10 volts + JP1-4 Embase à broche mâle 0,1"IC1 DS2431 1K EEPROM 1 fil TO-92IC4** 24AA014-I/P I2C EEPROM DIP8IC5** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 socket DIP à 8 broches pour IC5, 6 ** IC4, IC5 pourrait être de n'importe quelle taille, nous avons lié à de petites puces, nous avons utilisé 128 octets et 128 Ko. Je ne pouvais pas inclure de formatage et de tableaux HTML dans un Instructable, vous pouvez voir le message original sur le blog Dangerous Prototypes.

Étape 2: 25AA- / 25LC- EEPROM SPI

25AA- / 25LC- EEPROM SPI
25AA- / 25LC- EEPROM SPI
25AA- / 25LC- EEPROM SPI
25AA- / 25LC- EEPROM SPI
25AA- / 25LC- EEPROM SPI
25AA- / 25LC- EEPROM SPI

DémonstrationsToutes les démos EEPROM se ressemblent à peu près. Nous écrirons quelques chiffres sur la puce, puis nous les lirons. Chaque périphérique a des conditions qui s'appliquent une fois que vous souhaitez écrire plusieurs valeurs, telles que la taille de la page et les limites des limites. En savoir plus à ce sujet dans la fiche technique de votre appareil spécifique. Si vous ne parvenez pas à faire fonctionner une démonstration, téléchargez le journal complet du terminal afin de ne rien manquer de ce que nous avons fait. Les résistances de rappel sont le problème le plus courant, vérifiez la tension de la broche de rappel à l'aide du menu 'v' dans le terminal Bus Pirate. Puce: 25AA, SPI EEPROM (1 Ko). Bus: SPI. Résistances de rappel uniquement requises pour l'interfaçage à tension mixte. Alimentation: 1,8 volts à 5,5 volts (AA), 2,5 volts à 5,5 volts (LC). Références: fiche technique, démonstration Hack a Day. Journal complet de session Bus Pirate pour cette démonstration. Je ne pouvais pas inclure des tableaux de formatage et HTML dans un Instructable, vous pouvez voir l'original sur le blog Dangerous Prototypes. IC5 est une EEPROM I2C série 25AA de Microchip, ces EEPROM sont disponibles dans une tonne de tailles. Les pièces AA fonctionnent de 1,8 volts à 5,5 volts, tandis que les pièces 25LC ont une exigence minimale de 2,5 volts. C3 (0,1 uF) découple l'EEPROM SPI de l'alimentation. Les broches de protection en écriture (WP) et de maintien pourraient être contrôlées par un microcontrôleur, mais nous les avons désactivées en maintenant ces broches hautes. Les broches du bus SPI, CS, DO, CLK et DI, sont amenées à l'en-tête JP4. Configuration Si vous utilisez un Bus Pirate, connectez-le à la 3EEPROM ou 25AA-IC comme indiqué dans l'image ci-dessous. SPI ne nécessite normalement pas de résistances de rappel. Interfaçage Dans le terminal Bus Pirate, appuyez sur 'm' pour accéder au menu des modes et sélectionnez SPI. Configurez la bibliothèque SPI pour une sortie de broche normale, utilisez les valeurs par défaut pour tous les autres paramètres du mode SPI. Activez les alimentations (grand 'W') à l'invite du mode SPI. Enfin, obtenez un rapport de tension pour vous assurer que les alimentations fonctionnent ("v"). Nous allons montrer comment interfacer l'EEPROM directement à 3,3 volts en utilisant la bibliothèque SPI en mode broche normal. Les résistances pull-up ne sont pas nécessaires pour cette démo. Si vous souhaitez interfacer une EEPROM alimentée en 5 volts, utilisez la librairie SPI en mode broche à collecteur ouvert (HiZ) et activez les résistances de rappel avec la broche Vpullup (Vpu) connectée à l'alimentation de l'EEPROM. Étape 1, désactivez la protection en écriture' SPI>[0b110]CS ENABLED <<<sélection de puce activéeWRITE: 0x06 <<<désactiver la commande de protection en écritureCS DISABLED <<Le 25AA- est protégé en écriture à la mise sous tension. Abaissez la sélection de puce (CS) ([), envoyez la commande de désactivation de la protection en écriture (0x06), puis augmentez CS (]) pour activer les écritures sur l'EEPROM. La commande de désactivation de la protection en écriture est 0b00000110 en binaire, mais nous pouvons la raccourcir à 0b110 et le Bus Pirate comprend toujours. Étape 2, écrivez le SPI de certaines valeurs>[0b10 0 3 2 1]CS ENABLED <<<chip select enabledWRITE: 0x02 <<<write commandWRITE: 0x00 <<<write start addressWRITE: 0x03 <<<3 valeurs à écrire (3, 2, 1)ÉCRIRE: 0x02ÉCRIRE: 0x01CS DÉSACTIVÉ <<L'EEPROM est maintenant accessible en écriture. Tout d'abord, baissez CS pour activer le 25AA- ([). Ensuite, envoyez la commande d'écriture (0x02) et l'emplacement pour commencer à écrire (0). Envoyez les données à stocker (3 2 1), puis augmentez CS (]) pour enregistrer les valeurs. Remarque: nous avons utilisé une petite EEPROM de 128 octets, les puces plus grosses utiliseront une adresse de 16 bits (2 octets). Cette commande serait [0b10 0 '''0''' 3 2 1] pour les EEPROM de plus de 256 octets, notez le deuxième 0. Vérifiez la fiche technique de votre EEPROM pour être sûr. Étape 3, relire les valeurs SPI>[0b11 0 r:3]CS ENABLED <<<chip select enabledWRITE: 0x03 <<<read commandWRITE: 0x00 <<<read start addressBULK READ 0x03 BYTES: <<<read 3 values0x03 0x02 0x01CS DÉSACTIVÉ <<Enfin, relisez les données pour vérifier que l'écriture a réussi. Sélectionnez le 25AA- ([), envoyez la commande de lecture (0x03) et l'adresse de début (0), puis lisez trois valeurs (r:3). Levez CS pour terminer la transaction (]). Les valeurs correspondent, l'écriture a réussi. Remarque: nous avons utilisé une petite EEPROM de 128 octets, les puces plus grosses utiliseront une adresse de 16 bits (2 octets). Cette commande serait [0b11 0 '''0''' r:3] pour les EEPROM de plus de 256 octets, notez le deuxième 0. Vérifiez la fiche technique de votre EEPROM pour être sûr.

Étape 3: EEPROM 24AA-/24LC I2C

EEPROM 24AA-/24LC I2C
EEPROM 24AA-/24LC I2C
EEPROM 24AA-/24LC I2C
EEPROM 24AA-/24LC I2C
EEPROM 24AA-/24LC I2C
EEPROM 24AA-/24LC I2C

Puce: 24AA, I2C EEPROM (1 Ko). Bus:I2C, résistances de rappel requises. Puissance requise: 1,8 volts à 5,5 volts (24AA), 2,5 volts à 5,5 volts (24LC). Références: fiche technique, démonstration Hack a Day. Journal de session complet de Bus Pirate pour cette démonstration. Je n'ai pas pu inclure des tableaux de formatage et HTML dans un Instructable, vous pouvez voir l'original sur le blog Dangerous Prototypes. IC4 est une EEPROM I2C de la série 24AA de Microchip, ces EEPROM sont livrées dans un tonne de tailles. Les pièces AA fonctionnent de 1,8 volts à 5,5 volts, tandis que les pièces 24LC ont une exigence minimale de 2,5 volts. Un condensateur de 0,1 uF (C2) découple IC4 de l'alimentation. La broche de protection en écriture (WP) pourrait être contrôlée à partir d'un microcontrôleur, mais pour cette démonstration simple, nous la désactivons avec une connexion à la terre. Les broches du bus I2C, SDA et SCL, sont acheminées vers l'en-tête JP2. L'adresse de la plupart des EEPROM 24AA est 1010AAAS, les quatre derniers bits étant déterminés par les broches d'adresse (A0, A1, A2) et le bit de sélection du mode lecture/écriture (S). Tous les bits d'adresse sont mis à la terre dans cet exemple, donc l'adresse d'écriture de l'EEPROM est 10100000 (fiche technique page 6). Configuration Si vous utilisez un Bus Pirate, connectez-le à la 3EEPROM ou 24AA-IC comme indiqué dans l'image ci-dessous. I2C est un bus bidirectionnel qui nécessite des résistances de rappel sur les deux broches. Vous pouvez utiliser les résistances de rappel embarquées du Bus Pirate en connectant la broche Vpullup (Vpu) à l'alimentation 3,3 volts et en les activant dans le terminal. Interfaçage Remarque: toutes les EEPROM I2C ne fonctionnent pas de la même manière. Le minuscule 24AA01, par exemple, a un système d'adressage et de commande complètement différent. Assurez-vous de vérifier la fiche technique de votre puce. Appuyez sur 'm' dans le terminal Bus Pirate et sélectionnez I2C dans le menu mode. Activez les alimentations (grand 'W') et les résistances de rappel ('p', option 2) à l'invite I2C. Obtenez un rapport de tension ('v') pour vous assurer que les alimentations sont allumées et que la broche Vpullup est connectée à une tension. I2C>(0) <<(1) <<<utiliser la macro de recherche d'adresseRecherche dans l'espace d'adressage I2C 7 bits. Périphériques trouvés à:0xA0 0xA1 <<Nous savons déjà que l'adresse I2C est 10100000, mais nous pouvons également utiliser la macro de recherche I2C de Bus Pirate (1) pour rechercher le 24AA-. La macro de recherche a trouvé le périphérique aux adresses d'écriture (0xA0) et de lecture (0xA1) attendues. Étape 1, écrivez quelques valeurs I2C>[0b10100000 0 0 3 2 1]I2C START CONDITION <<<I2C start conditionWRITE: 0xA0 GOT ACK: YES <<<24AA- write addressWRITE: 0x00 GOT ACK: YES <<<write address byte 1WRITE: 0x00 GOT ACK: YES <<<write address byte 2WRITE: 0x03 GOT ACK: YES <<<3 valeurs à écrire (3, 2, 1)WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP CONDITION < <Commencez l'écriture avec une condition de démarrage I2C ([), suivie de l'adresse d'écriture 24AA (0xa0). Ensuite, envoyez l'adresse 16 bits à écrire à (0 0) et les données à écrire (3 2 1). Terminez la transaction I2C avec une condition d'arrêt (]). Étape 2, positionnez le pointeur de lecture I2C>[0b10100000 0 0]I2C START CONDITION <<<I2C condition de démarrageWRITE: 0xA0 GOT ACK: YES <<<24AA- write addressWRITE: 0x00 GOT ACK: YES <<<write address byte 1WRITE: 0x00 GOT ACK: OUI <<<écrire l'octet d'adresse 2I2C STOP CONDITION <<Il faut deux opérations pour lire à partir du 24AA-. L'un positionne le pointeur de lecture/écriture, l'autre renvoie les valeurs. Commencez par une condition de démarrage I2C ([) et l'adresse d'écriture (0xa0). Envoyez l'adresse 16 bits à lire (0 0), puis la condition d'arrêt (]). Nous n'avons envoyé aucune donnée à écrire cette fois, nous avons juste positionné le pointeur de lecture/écriture au début des données que nous avons écrites à l'étape 1. Étape 3, lisez certaines valeurs I2C>[0b10100001 r:3]I2C START CONDITION <<<Condition de démarrage I2CWRITE: 0xA1 GOT ACK: OUI <<<24AA- read addressBULK READ 0x03 BYTES: <<<read 3 values0x03 0x02 0x01I2C STOP CONDITION <<L'étape 2 place le pointeur de lecture/écriture au début des données que nous voulons lire. Nous pouvons maintenant lire les données à l'aide de l'adresse de lecture 24AA. Commencez par la condition de démarrage I2C ([) et l'adresse de lecture 24AA (0xa1). Lisez les trois valeurs que nous avons écrites à l'étape 1 (r:3) et terminez par une condition d'arrêt (]). Si les valeurs correspondent, votre écriture a réussi.

Étape 4: DS2431 1-Wire EEPROM

DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM

Puce: DS2431, EEPROM à 1 fil (1 Koctet). pour cette démonstration. Je n'ai pas pu inclure des tableaux de formatage et HTML dans un Instructable, vous pouvez voir l'original sur le blog Dangerous Prototypes. Le DS2431 est alimenté par la résistance de rappel et n'a pas besoin d'une alimentation externe ou d'un condensateur de découplage. 1-Wire a besoin d'une forte résistance pull-up, un maximum de 2,2Kohms. Les résistances de rappel embarquées du Bus Pirate sont de 10K, trop faibles pour alimenter correctement le DS2431 pendant les écritures. Vous devez utiliser une résistance externe de 2,2 Kohms ou moins entre l'alimentation et la broche du bus 1-Wire. Si vous avez des difficultés à écrire des données, assurez-vous que votre résistance de rappel est suffisamment grande. La carte d'exploration 3EEPROM comprend une résistance de rappel de 1800 ohms (R1) sur le bus 1-Wire, donc aucune résistance externe n'est nécessaire. Configuration Si vous utilisez un Bus Pirate, connectez-le à la carte 3EEPROM ou DS2431 comme indiqué dans l'image du tableau ci-dessous. Le DS2431 ne nécessite pas la broche d'alimentation, il est utilisé sur la carte 3EEPROM pour alimenter la grande résistance de rappel du bus 1-Wire. Interfaçage Appuyez sur 'm' dans le terminal Bus Pirate et sélectionnez le mode 1-Wire. Activez les alimentations de bord (grand 'W') et vérifiez le moniteur de tension (v). Étape 1, recherchez l'adresse de l'appareil 1-WIRE>(0xf0) <<<Macro de recherche 1-Wire 1WIRE ROM COMMAND: RECHERCHE (0xF0)Appareils trouvés à:Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<<DS2431 ID unique * DS2431 1K EEPROM <<Chaque appareil 1-Wire a un ID unique de 8 octets. 1-Wire a une procédure de recherche qui détecte l'ID de tous les périphériques connectés. Le Bus Pirate implémente la recherche 1-Wire en tant que macro (240). Tapez '(240)' dans le terminal Bus Pirate pour lancer la recherche 1-Wire. Chaque adresse d'appareil est imprimée, les appareils connus sont identifiés. Les dix premières adresses de périphérique 1-Wire sont stockées sous forme de macros, dans cet exemple, notre adresse DS2431 est disponible en tapant '(1)' dans le terminal. Étape 2, écrivez 8 octets sur le bloc-notes 1-WIRE>(0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<<aussi { commande 1WIRE WRITE ROM COMMAND: MATCH (0x55) * suivre avec l'adresse 64 bits1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B ' WRITE: 0x0F <<<DS2431 write scratch pad command WRITE: 0x00 <<<DS2431 write address byte 1 WRITE: 0x00 <<<DS2431 write address byte 2WRITE: 0x08 <<Ensuite, nous écrirons 8 octets dans un emplacement temporaire du DS2431 appelé bloc-notes. Démarrez la transaction avec une réinitialisation du bus 1-Wire et une commande MATCH (0x55). Les deux sont disponibles en tant que macro '(0x55)'. Cela peut également être fait sans macro en tapant '{ 0x55', { envoie la réinitialisation 1-Wire, 0x55 est la commande MATCH 1-Wire. Après la commande MATCH, envoyez l'ID de 8 octets de l'appareil à l'adresse. Nous avons utilisé la macro (1) qui a été renseignée avec l'ID DS2431 à l'étape 1. Vous pouvez également saisir l'ID de 8 octets manuellement. À ce stade, le DS2431 devrait avoir reçu son adresse et être prêt pour les commandes. 0x0f est la commande d'écriture du bloc-notes, elle indique au DS2431 d'attendre des données. Les deux octets suivants lui indiquent où mettre les données, nous les enregistrerons au début (0 0). Enfin, nous envoyons 8 octets de valeurs à stocker, les nombres 8 à 1. Vous devez écrire 8 octets complets sur le DS2431. De plus, l'adresse d'écriture doit être sur une limite de 8 octets. Consultez la fiche technique pour un aperçu complet des limitations d'écriture. Étape 3, vérifiez le bloc-notes et obtenez le code d'autorisation 1-WIRE>(0x55)(1) 0xaa r:3 r:8 r:2 r:21WIRE BUS RESET OK <<<adresse l'appareil1WIRE WRITE ROM COMMAND: MATCH (0x55) *suivre avec l'adresse 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<<read scratch pad commandBULK READ 0x03 BYTES: <<<code d'autorisation0x00 0x00 0x07BULK READ 0x08 BYTES: 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<<CRC pour les données0xC8 0x86BULK READ 0x02 BYTES: <<Vérifiez que les données ont été reçues correctement et obtenez un code d'autorisation d'écriture. Recommencez avec une macro de commande 1-Wire reset et MATCH (0x55) et la macro d'adresse de périphérique (1). Cette fois, envoyez la commande DS2431 read scratch pad (0xAA), puis lisez un total de 15 octets. Les 3 premiers octets lus (r: 3) sont le code d'autorisation d'écriture, nous en aurons besoin à l'étape suivante pour copier le bloc-notes à l'EEPROM. Les 8 octets suivants (r:8) doivent correspondre aux données que nous avons envoyées à l'étape 2. Les 2 derniers octets (r:2) sont un CRC16 pour les données. Lit après que le CRC renvoie tous les 1. Étape 4, écrivez le bloc-notes sur l'EEPROM 1-WIRE>(0x55)(1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<<adressez l'appareil1WIRE WRITE ROM COMMAND: MATCH (0x55) *suivre avec l'adresse 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<<copy scratch pad commandWRITE: 0x00 <<<code d'autorisation de 3 octets de l'étape 3WRITE: 0x00WRITE: 0x071-WIRE>Nous avons tout ce dont nous avons besoin pour stocker les données du scratchpad de façon permanente dans le EEPROM. Adressez l'appareil, puis envoyez la commande DS2431 copy scratch pad (0x55) suivie du code d'autorisation à trois octets que nous avons récupéré à l'étape 3 (0x00 0x00 0x07). Si le code d'autorisation est correct, les données sont déplacées vers l'EEPROM. Étape 5, vérifiez que le bloc-notes écrivez 1-WIRE>(0x55)(1) 0xaa r:31WIRE BUS RESET OK <<<adressez l'appareil1WIRE WRITE ROM COMMAND: MATCH (0x55) *suivez avec l'adresse 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<<lire la commande du bloc-notes BULK READ 0x03 BYTES:0x00 0x00 0x87 <<Le DS2431 définit le bit le plus élevé du code d'autorisation d'écriture après une commande de copie de bloc-notes réussie. Envoyez une autre commande de lecture du bloc-notes (0xAA) pour obtenir le code d'autorisation mis à jour, mais lisez simplement les trois premiers octets (r:3). La valeur précédente 0x07 est passée à 0x87, la commande de copie a été reçue avec succès. Étape 6, relisez les valeurs 1-WIRE>(0x55)(1) 0xf0 0x00 0x00 r:8 r:81WIRE BUS RESET OK <<<adresse l'appareil1WIRE WRITE ROM COMMAND: MATCH (0x55) *suivre avec l'adresse 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<<DS2431 read commandWRITE: 0x00 <<<2 octet read addressWRITE: 0x00BULK READ 0x08 BYTES: <<<lire les 8 octets que nous avons écrits0x08 0x07 0x06 0x05 0x02AD 0xAD 0xAD 0x08 OCTETS: <<Vérifiez que l'écriture a fonctionné correctement en récupérant les valeurs. Adressez le DS2431, puis envoyez la commande de lecture (0xf0) et l'adresse à lire (0x00 0x00). Il est possible de lire toute la plage mémoire avec une seule commande. Nous avons lu les huit octets que nous avons écrits précédemment (r:8), qui ont renvoyé les valeurs attendues. Les huit octets au-delà de ces valeurs n'ont pas été écrits et renvoient 0.

Étape 5: Conclusion

Conclusion
Conclusion

ConclusionCe prototype enseigne la mémoire EEPROM et montre comment utiliser le Bus Pirate avec trois protocoles courants: 1-Wire, I2C et SPI. La carte d'exploration 3EEPROM assure les connexions appropriées à chaque EEPROM et fournit une résistance de rappel externe pour le bus 1-Wire le plus exigeant avec des composants alimentés de manière parasite. Les PCB coûtent environ 10 $, les kits coûtent environ 15 $, expédiés dans le monde entier. Nous devons organiser un achat groupé de 10 PCB ou 20 kits pour commencer.

Conseillé: