Cuprins:

Bus Pirate 3EEPROM Explorer Board: 5 pași
Bus Pirate 3EEPROM Explorer Board: 5 pași

Video: Bus Pirate 3EEPROM Explorer Board: 5 pași

Video: Bus Pirate 3EEPROM Explorer Board: 5 pași
Video: Кастуем, сегодня мы с тобой кастуем ► 6 Прохождение Elden Ring 2024, Noiembrie
Anonim
Bus Pirate 3EEPROM Explorer Board
Bus Pirate 3EEPROM Explorer Board

Dacă ai unul dintre Piratii autobuzului Hack a Day, ce faci cu el? Aflați despre EEPROM-uri cu 1 fir, I2C și SPI cu placa de explorare 3EEPROM (o numim THR-EE-PROM). EEPROM este un tip de cip de memorie care stochează date fără o sursă de alimentare continuă. Este util pentru stocarea permanentă a datelor în circuite mici de înregistrare sau pentru păstrarea paginilor personalizate într-un mini server web. EEPROM-urile vin în multe dimensiuni și protocoale. 3EEPROM are trei cipuri EEPROM comune: DS2431 (1-Wire), 24AA- (I2C) și 25AA- (SPI). Toate cele trei au fost prezentate anterior în Hack a Day, dar fiecare demonstrație folosește o versiune diferită a hardware-ului și firmware-ului Bus Pirate, este dificil pentru un începător să urmeze folosind un Bus Pirate v2go. Continuați lectura pentru un ghid actualizat, pas cu pas, pentru utilizarea DS2431, 24AA- și 25AA- EEPROM-uri cu Bus Pirate v2go. De asemenea, avem jurnalele de sesiune complete ca fișiere text, astfel încât să nu pierdeți niciun detaliu. Putem avea 3EEPROM explorer board PCB-uri sau kituri produse la Seeed Studio. PCB-urile costă aproximativ 10 USD, kiturile sunt de aproximativ 15 USD, livrate în întreaga lume. Pentru a începe, trebuie să organizăm o achiziție de grup de 10 PCB sau 20 de kituri. Dacă sunteți interesat de un pirat de autobuz, vine versiunea 3. Nu aș putea include unele elemente de formatare și tabele HTML într-un instructabil, puteți vedea postarea originală pe blogul Dangerous Prototypes.

Pasul 1: 3 Prezentare generală a hardware-ului EEPROM

3EEPROM Prezentare generală a hardware-ului
3EEPROM Prezentare generală a hardware-ului
3EEPROM Prezentare generală a hardware-ului
3EEPROM Prezentare generală a hardware-ului
3EEPROM Prezentare generală a hardware-ului
3EEPROM Prezentare generală a hardware-ului

Scopul acestui prototip este de a afla despre EEPROM și trei protocoale comune de autobuz. Mai întâi, ne uităm la PCB-ul 3EEPROM, apoi demonstrăm fiecare EEPROM folosind un instrument de interfață serială universală Bus Pirate. Dacă nu aveți un autobuz pirat, puteți continua, deoarece ordinea de bază a operațiilor de interfață rămâne aceeași indiferent de modul în care le implementați. Am realizat circuitul și PCB-ul folosind versiunea freeware a Cadsoft Eagle. Puteți descărca schema și PCB-ul din arhiva Bus Pirate SVN. PCB-ul 3EEPROM deține o EEPROM DS2431 1-Wire (IC1), o EEPROM 24AA- I2C (IC4) și o EEPROM 25AA-SPI (IC5). DS2431 (IC1) alimentează parazit din magistrala cu 1 fir, nu are un pin de alimentare extern și nu necesită un condensator de decuplare. IC2 și IC3 sunt locuri goale pentru dispozitive suplimentare cu 1 fir, cum ar fi un alt senzor de temperatură DS2431 sau DS1822. C1 (0.01uF) este opțional și este necesar numai dacă IC2 sau IC3 sunt populate cu un dispozitiv alimentat cu un singur fir. Rezistențele de tracțiune ale Bus Pirate sunt 10K, prea slabe pentru a alimenta corect DS2431 în timpul scrierilor. Placa de explorare 3EEPROM include un rezistor de tracțiune de 1,8 k ohmi, 1/8 watt (R1) pe magistrala cu 1 fir, astfel încât să nu fie nevoie de rezistență de tracțiune suplimentară. 24AA- (IC4) și 25AA- (IC5) fiecare obține un condensator 0.1uF pentru a le decupla de la sursa de alimentare (C2, C3). Probabil că nu aveți nevoie de condensatori într-un circuit atât de simplu, le-am omis de pe placa prototip în demonstrație. Autobuzul I2C utilizat de 24AA- necesită, de asemenea, rezistențe de tracțiune, dar rezistențele de tracțiune de 10K ohm de la Bus Pirate sunt suficiente. Toate componentele vor funcționa de la 2,8 volți la 5 volți DC. Circuitul este alimentat prin pinii VCC și GND ai jumperului 3. Există doi pini VCC, unul este pentru alimentare, celălalt este pentru pinul de intrare a rezistenței de tracțiune a autobuzului Pirate (Vpullup). PCB Am realizat circuitul și PCB folosind versiune freeware a Cadsoft Eagle. Puteți descărca schema și PCB-ul din arhiva Bus Pirate SVN. Dacă doriți un kit PCB sau 3EEPROM pregătit profesional, este posibil să putem aranja o achiziție de grup dacă 10 sau 20 de persoane sunt interesate. Lista pieselor Rezistor R1 1800 ohmi (1/8 watt) C2, 3 0.1uF condensator / 10volți + JP1-4 0.1 header pin masculin C1 DS2431 1K 1-wire EEPROM TO-92IC4 ** 24AA014-I / P I2C EEPROM DIP8IC5 ** 25AA010A-I / P SPI EEPROM DIP8ICS4, 5 soclu DIP cu 8 pini pentru IC5, 6 ** IC4, IC5 ar putea fi de orice dimensiune, ne-am conectat la cipuri mici, am folosit 128 de octeți și 128 Kbyți. Nu am putut include unele tabele de formatare și HTML într-un instructabil, puteți vedea postarea originală pe blogul Prototipuri periculoase.

Pasul 2: 25AA- / 25LC- SPI EEPROM

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

Demonstrații Toate demonstrațiile EEPROM arată cam la fel. Vom scrie câteva numere pe cip, apoi le vom citi. Fiecare dispozitiv are condiții care se aplică odată ce doriți să scrieți mai mult de câteva valori, cum ar fi dimensiunea paginii și limitările limitelor. Citiți mai multe despre acestea în foaia de date pentru dispozitivul dvs. Dacă nu puteți obține o demonstrație pentru a funcționa, descărcați jurnalul complet al terminalului, astfel încât să nu ratați niciun lucru pe care l-am făcut. Rezistențele pull-up sunt cea mai frecventă problemă, verificați tensiunea pinului pull-up utilizând meniul „v” din terminalul Bus Pirate. Cip: 25AA, SPI EEPROM (1Kbyte). Bus: SPI Rezistențe de tracțiune necesare numai pentru interfața cu tensiune mixtă. Cerințe de alimentare: 1,8 volți la 5,5 volți (AA), 2,5 volți la 5,5 volt (LC). Referințe: foaie tehnică, demonstrație Hack a Day.. Nu aș putea include unele tabele de formatare și HTML într-un instructabil, puteți vedea originalul pe blogul Dangerous Prototypes. Părțile AA rulează de la 1,8 volți la 5,5 volți, în timp ce piesele 25LC au cerința minimă de 2,5 volți. C3 (0,1 uF) decuplează SPI EEPROM de la sursa de alimentare. Pinii de protecție la scriere (WP) și de menținere ar putea fi controlați de un microcontroler, dar le-am dezactivat ținând acești pini înalți. Pinii busului SPI, CS, DO, CLK și DI, sunt aduși la antetul JP4. Configurare Dacă utilizați un autobuz pirat, conectați-l la 3EEPROM sau 25AA-IC așa cum se arată în imaginea graficului de mai jos. SPI nu necesită în mod normal rezistențe de tracțiune. Interfață În terminalul Bus Pirate apăsați „m” pentru meniul de mod și selectați SPI. Configurați biblioteca SPI pentru ieșirea normală a pinului, utilizați valorile implicite pentru toate celelalte setări ale modului SPI. Activați sursele de alimentare („W” mare) la solicitarea modului SPI. În cele din urmă, obțineți un raport de tensiune pentru a vă asigura că sursele de alimentare funcționează („v”). Vom demonstra cum să interfațați EEPROM direct la 3,3 volți utilizând biblioteca SPI în modul pin normal. Rezistențele pull-up nu sunt necesare pentru această demonstrație. Dacă doriți să interfațați o EEPROM alimentată cu 5 volți, utilizați biblioteca SPI în modul pin colector deschis (HiZ) și activați rezistențele de tragere cu pinul Vpullup (Vpu) conectat la sursa de alimentare a EEPROM. Pasul 1, dezactivați protecția la scriere 'SPI> [0b110] CS ENABLED <<< chip select enabledWRITE: 0x06 <<< disable write protect commandCS DISABLED <<25AA- este protejat la scriere la pornire. Selectați cipul inferior (CS) ([), trimiteți comanda de dezactivare a protecției la scriere (0x06), apoi ridicați CS (]) pentru a activa scrierea în EEPROM. Comanda de dezactivare a protecției la scriere este 0b00000110 în binar, dar o putem scurta la 0b110 și Piratul autobuzului încă mai înțelege. Pasul 2, scrieți unele valori 'SPI> [0b10 0 3 2 1] CS ENABLED <<< chip chip enabledWRITE: 0x02 <<< write commandWRITE: 0x00 <<< write start startWRITE: 0x03 <<< 3 values to write (3, 2, 1) SCRIERE: 0x02 SCRIERE: 0x01CS DEZACTIVAT <<Acum EEPROM este scriibil. Mai întâi, reduceți CS pentru a activa 25AA- ([). Apoi, trimiteți comanda de scriere (0x02) și locația pentru a începe scrierea (0). Trimiteți datele pentru stocare (3 2 1), apoi ridicați CS (]) pentru a salva valorile. Notă: am folosit o mică EEPROM de 128 de biți, cipurile mai mari vor folosi o adresă de 16 biți (2 octeți). Această comandă ar fi [0b10 0 '' '0' '' 3 2 1] pentru EEPROM-uri mai mari de 256 de biți, rețineți a doua 0. Verificați fișa tehnică pentru EEPROM pentru a fi sigur. Pasul 3, citiți valorile înapoi SPI> [0b11 0 r: 3] CS ENABLED <<< chip chip enabledWRITE: 0x03 <<< read command WRITE: 0x00 <<< read start startBULK READ 0x03 BYTES: <<< read 3 values0x03 0x02 0x01CS DEZACTIVAT <<În cele din urmă, citiți datele înapoi pentru a verifica dacă scrierea a avut succes. Selectați 25AA- ([), trimiteți comanda de citire (0x03) și adresa de pornire (0), apoi citiți trei valori (r: 3). Ridicați CS pentru a finaliza tranzacția (]). Valorile se potrivesc, scrierea a avut succes. Notă: am folosit o mică EEPROM de 128 de biți, cipurile mai mari vor folosi o adresă de 16 biți (2 octeți). Această comandă ar fi [0b11 0 '' '0' '' r: 3] pentru EEPROM-uri mai mari de 256 de biți, rețineți a doua 0. Verificați fișa tehnică pentru EEPROM pentru a fi sigur.

Pasul 3: EEPROM 24AA- / 24LC I2C

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

Cip: 24AA, I2C EEPROM (1Kbyte). Autobuz: I2C, sunt necesare rezistențe pull-up. Cerințe de alimentare: 1,8 volți la 5,5 volți (24AA), 2,5 volți la 5,5 volt (24LC). Referințe: fișă tehnică, demonstrație Hack a Day. Completează jurnalul de sesiuni Bus Pirate pentru această demonstrație. Nu aș putea include câteva tabele de formatare și HTML într-un Instructable, puteți vedea originalul pe blogul Dangerous Prototypes. IC4 este o EEPROM I2C seria 24AA de la Microchip, aceste EEPROM vin tonă de dimensiuni. Piesele AA funcționează de la 1,8 volți la 5,5 volți, în timp ce piesele 24LC au o cerință minimă de 2,5 volt. Un condensator 0.1uF (C2) decuplează IC4 de la sursa de alimentare. Pinul de protecție la scriere (WP) ar putea fi controlat de la un microcontroler, dar pentru această demonstrație simplă îl dezactivăm cu o conexiune la masă. Pinii de magistrală I2C, SDA și SCL, sunt aduși la antetul JP2. Adresa majorității EEPROM-urilor 24AA este 1010AAAS, ultimii patru biți fiind determinați de pinii de adresă (A0, A1, A2) și de bitul de selectare a modului citire / scriere (S). Toți biții de adresă sunt împământați în acest exemplu, astfel încât adresa de scriere a EEPROM este 10100000 (foaia tehnică pagina 6). Configurare Dacă utilizați un autobuz pirat, conectați-l la 3EEPROM sau 24AA-IC așa cum se arată în imaginea graficului de mai jos. I2C este o magistrală bidirecțională care necesită rezistențe de tracțiune pe ambii pini. Puteți utiliza rezistențele de tracțiune ale piratului autobuz conectând pinul Vpullup (Vpu) la sursa de alimentare de 3,3 volt și activându-le în terminal. Notă de interfațare: Nu toate EEPROM-urile I2C funcționează la fel. Micul 24AA01, de exemplu, are un sistem complet diferit de adresare și comandă. Asigurați-vă că verificați fișa tehnică pentru cipul dvs. Apăsați „m” în terminalul Bus Pirate și selectați I2C din meniul de moduri. Activați sursele de alimentare („W” mare) și rezistențele de tracțiune („p”, opțiunea 2) la promptul I2C. Obțineți un raport de tensiune („v”) pentru a vă asigura că sursele de alimentare sunt pornite și pinul Vpullup este conectat la o tensiune. I2C> (0) <<(1) <<< utilizați căutarea adresei macro Căutarea spațiului de adrese I2C pe 7 biți. Dispozitive găsite la: 0xA0 0xA1 <<Știm deja că adresa I2C este 10100000, dar putem folosi și macrocomanda de căutare I2C a Bus Pirate (1) pentru a căuta 24AA-. Macro-ul de căutare a găsit dispozitivul la adresele de scriere (0xA0) și citire (0xA1) așteptate. Pasul 1, scrieți câteva valori I2C> [0b10100000 0 0 3 2 1] I2C START CONDITION <<< I2C start conditionWRITE: 0xA0 GOT ACK: DA <<< 24AA- write addressWRITE: 0x00 GOT ACK: DA <<< scrie adresa byte 1WRITE: 0x00 GOT ACK: DA <<< scrie adresa byte 2WRITE: 0x03 GOT ACK: DA <<< 3 valori de scris (3, 2, 1) WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP CONDITION < <Începeți scrierea cu o condiție de pornire I2C ([), urmată de adresa de scriere 24AA (0xa0). Apoi, trimiteți adresa de 16 biți pentru a scrie la (0 0) și datele de scris (3 2 1). Încheiați tranzacția I2C cu o condiție de oprire (]). Pasul 2, poziționați indicatorul de citire I2C> [0b10100000 0 0] I2C START CONDITION <<< I2C start conditionWRITE: 0xA0 GOT ACK: YES <<< 24AA- write addressWRITE: 0x00 GOT ACK: YES <<< write address byte 1WRITE: 0x00 GOT ACK: DA <<< scrie adresa octet 2I2C STOP CONDITION <<Pentru a citi din 24AA- sunt necesare două operații. Unul poziționează indicatorul de citire / scriere, celălalt returnează valorile. Începeți cu o condiție de pornire I2C ([) și adresa de scriere (0xa0). Trimiteți adresa de 16 biți pentru a citi (0 0), apoi starea de oprire (]). Nu am trimis date pentru a scrie de data aceasta, ci doar am poziționat indicatorul de citire / scriere înapoi la începutul datelor pe care le-am scris la pasul 1. Pasul 3, citiți câteva valori I2C> [0b10100001 r: 3] I2C START CONDITION <<< Starea de pornire I2C SCRIERE: 0xA1 GOT ACK: DA <<< 24AA- citește adresa CITEȘTE BULK 0x03 BYTES: <<< citește 3 valori0x03 0x02 0x01I2C STOP CONDITION <<Pasul 2 setați indicatorul de citire / scriere la începutul datelor pe care dorim să le citim. Acum putem citi datele folosind adresa de citire 24AA. Începeți cu condiția de pornire I2C ([) și adresa de citire 24AA (0xa1). Citiți cele trei valori pe care le-am scris la pasul 1 (r: 3) și terminați cu o condiție de oprire (]). Dacă valorile se potrivesc, atunci scrierea dvs. a avut succes.

Pasul 4: DS2431 EEPROM cu 1 fir

DS2431 1-fir EEPROM
DS2431 1-fir EEPROM
DS2431 1-fir EEPROM
DS2431 1-fir EEPROM
DS2431 1-fir EEPROM
DS2431 1-fir EEPROM

Cip: DS2431, EEPROM cu 1 fir (1Kbyte). Autobuz: 1 fir, este necesar un rezistor pull-up <2,2 Koh. Cerințe de alimentare: 2,8 volți la 5,25 volți. Referințe: foaie tehnică, demonstrație Hack a Day. Nu am putut include unele tabele de formatare și HTML într-un instructabil, puteți vedea originalul pe blogul Dangerous Prototypes. DS2431 extrage energie din rezistența de tracțiune și nu are nevoie de o sursă externă sau condensator de decuplare. 1-Wire are nevoie de un rezistor puternic de tragere, maxim 2,2 Kohmi. Rezistențele de tracțiune ale Bus Pirate sunt 10K, prea slabe pentru a alimenta corect DS2431 în timpul scrierilor. Trebuie să utilizați un rezistor extern de 2,2 Kohm sau mai mic între putere și pinul 1-Wire bus. Dacă întâmpinați dificultăți la scrierea datelor, asigurați-vă că rezistența de tragere este suficient de mare. Placa de explorare 3EEPROM include un rezistor de tracțiune de 1800 ohmi (R1) pe magistrala cu 1 fir, astfel încât nu este nevoie de rezistor extern. Configurare Dacă utilizați un Bus Pirate, conectați-l la placa 3EEPROM sau DS2431 așa cum se arată în imaginea graficului de mai jos. DS2431 nu necesită pinul sursei de alimentare, este utilizat pe placa 3EEPROM pentru a alimenta rezistența mare de tracțiune pentru magistrala cu 1 fir. Interfață Apăsați „m” în terminalul Bus Pirate și selectați modul 1-Wire. Activați sursele de alimentare la bord („W” mare) și verificați monitorul de tensiune (v). Pasul 1, găsiți adresa dispozitivului 1-WIRE> (0xf0) <<< 1-Wire search macro 1WIRE ROM COMMAND: SEARCH (0xF0) Dispozitive găsite la: Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 ID unic * DS2431 1K EEPROM <<Fiecare dispozitiv cu 1 fir are un ID unic de 8 octeți. 1-Wire are o procedură de căutare care detectează ID-ul tuturor dispozitivelor atașate. Bus Pirate implementează căutarea cu 1 fir ca macro (240). Tastați „(240)” în terminalul Bus Pirate pentru a începe căutarea cu 1 fir. Fiecare adresă a dispozitivului este tipărită, dispozitivele cunoscute sunt identificate. Primele zece adrese de dispozitiv 1-Wire sunt stocate ca macro-uri, în acest exemplu adresa DS2431 este disponibilă tastând „(1)” în terminal. Pasul 2, scrieți 8 octeți pe blocul de zgârieturi 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< și {comanda 1WIRE WRITE ROM COMMAND: MATCH (0x55) * urmați cu adresa pe 64 de biți ADRESA 1WIRE 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 2WR: 0x08 <<Apoi vom scrie 8 octeți într-o locație temporară în DS2431 numită tampon de zgârieturi. Începeți tranzacția cu o resetare a magistralei cu 1 fir și comandă MATCH (0x55). Ambele sunt disponibile ca macro '(0x55)'. Acest lucru se poate face și fără macro, tastând „{0x55”, {trimite resetarea 1-fir, 0x55 este comanda 1-Wire MATCH. După comanda MATCH, trimiteți ID-ul de 8 octeți al dispozitivului la adresă. Am folosit macrocomanda (1) care a fost completată cu ID-ul DS2431 la pasul 1. De asemenea, puteți introduce manual ID-ul de 8 octeți. În acest moment, DS2431 ar fi trebuit să primească adresa și să fie pregătit pentru comenzi. Următorii doi octeți îi spun unde să pună datele, le vom salva la început (0 0). În cele din urmă, trimitem 8 octeți de valori pentru stocare, numerele 8 la 1. Trebuie să scrieți 8 octeți complet pe DS2431. În plus, adresa de scriere trebuie să fie pe o limită de 8 octeți. Consultați fișa tehnică pentru o prezentare completă a limitărilor de scriere. Pasul 3, verificați tamponul și obțineți codul de autorizare 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< adresa dispozitivului 1WIRE WRITE ROM COMMAND: MATCH (0x55) * urmați cu adresa pe 64 de biți 1 ADRESA Sârmă MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< citiți comanda de blocare CITIȚI BULK 0x03 BYTES: <<< cod de autorizare 0x00 0x00 0x07BULK CITIȚI 0x0 0x07 0x06 0x05 0x04 0x03 0x02 0x01 BULK READ 0x02 BYTES: <<< CRC pentru date0xC8 0x86BULK READ 0x02 BYTES: <<Verificați dacă datele au fost recepționate corect și obțineți un cod de autorizare la scriere. Începeți din nou cu o macrocomandă 1-Wire reset și MATCH (0x55) și macrocomanda adresă dispozitiv (1). De data aceasta, trimiteți comanda DS2431 de citire a zgârieturilor (0xAA), apoi citiți un total de 15 octeți. Primii 3 octeți citiți (r: 3) sunt codul de autorizare de scriere, vom avea nevoie de el în pasul următor pentru a copia tampon la EEPROM. Următorii 8 octeți (r: 8) ar trebui să se potrivească cu datele pe care le-am trimis la pasul 2. Ultimii 2 octeți (r: 2) sunt un CRC16 pentru date. Citește după CRC returnează toate 1s. Pasul 4, scrieți blocul de zgârieturi pe EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071 RESETARE BUS Sârmă OK <<< adresa dispozitivului 1 WIRE WRITE ROM COMMAND: MATCH (0x55) * urmați cu adresa pe 64 biți ADRESA WIRE MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< copiați comanda scratch pad SCRIERE: 0x00 <<< cod de autorizare 3 octeți de la pasul 3 WRITE: 0x00WRITE: 0x071-WIRE> Avem tot ce ne trebuie pentru a stoca datele tamponului scratch în EEPROM. Adresați dispozitivul, apoi trimiteți comanda DS2431 copy scratch pad (0x55) urmată de codul de autorizare pe trei octeți pe care l-am recuperat la pasul 3 (0x00 0x00 0x07). Dacă codul de autorizare este corect, datele sunt mutate în EEPROM. Pasul 5, verificați scrierea tamponului 1-WIRE> (0x55) (1) 0xaa: 31WIRE BUS RESET OK <<< adresa dispozitivului 1 WIRE WRITE ROM COMMAND: MATCH (0x55) * urmați cu adresa pe 64 de biți 1 WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< citiți comanda tampon de zgârietURI CITIȚI 0x03 BYTES: 0x00 0x00 0x87 <<DS2431 setează cel mai mare bit al codului de autorizare la scriere după o comandă cu succes de blocare a zgârieturilor de copiere. Trimiteți o altă comandă de citire (0xAA) pentru a obține codul de autorizare actualizat, dar citiți doar primii trei octeți (r: 3). Valoarea anterioară 0x07 s-a schimbat la 0x87, comanda de copiere a fost recepționată cu succes. Pasul 6, citiți înapoi valorile 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81 WIRE BUS RESET OK <<< adresa dispozitivului 1 WIRE WRITE ROM COMMAND: MATCH (0x55) * urmați cu adresa 64bit 1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 citit commandWRITE: 0x00 <<< 2 byte citit addressWRITE: 0x00BULK cITITE 0x08 bYTES: <<< citiți 8 octeți am wrote0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK cITIŢI 0x08 BYTES: <<Verificați scrierea a funcționat corect recuperând valorile. Adresați-vă DS2431, apoi trimiteți comanda de citire (0xf0) și adresa de citit din (0x00 0x00). Este posibil să citiți întreaga gamă de memorie cu o singură comandă. Am citit cei opt octeți pe care i-am scris anterior (r: 8), care au returnat valorile așteptate. Cei opt octeți dincolo de aceste valori nu au fost scrise și returnează 0.

Pasul 5: Concluzie

Concluzie
Concluzie

Concluzie Acest prototip învață despre memoria EEPROM și demonstrează cum se utilizează Bus Pirate cu trei protocoale comune: 1-Wire, I2C și SPI. autobuzul cu 1 fir mai exigent, cu componente alimentate parazit. Putem avea 3 PCB-uri sau seturi de plăci de explorare 3EEPROM produse la Seeed Studio. PCB-urile costă aproximativ 10 USD, kiturile sunt de aproximativ 15 USD, livrate în întreaga lume. Pentru a începe, trebuie să organizăm o achiziție de grup de 10 PCB sau 20 de kituri.

Recomandat: