Sadržaj:

Bus Pirate 3EEPROM Explorer ploča: 5 koraka
Bus Pirate 3EEPROM Explorer ploča: 5 koraka

Video: Bus Pirate 3EEPROM Explorer ploča: 5 koraka

Video: Bus Pirate 3EEPROM Explorer ploča: 5 koraka
Video: 20 SCARY GHOST Videos That'll Chill You To The Bone 2024, Srpanj
Anonim
Bus Pirate 3EEPROM Explorer ploča
Bus Pirate 3EEPROM Explorer ploča

Ako imate jednog od Hack a Day's Bus Pirates, što ćete učiniti s njim? Saznajte više o 1-žičnim, I2C i SPI EEPROM-ovima s istraživačkom pločom 3EEPROM (nazivamo je THR-EE-PROM). EEPROM je vrsta memorijskog čipa koji pohranjuje podatke bez kontinuiranog napajanja. Korisno je za trajno pohranjivanje podataka u malim krugovima zapisnika ili držanje prilagođenih stranica na mini web poslužitelju. EEPROM-i dolaze u mnogo veličina i protokola. 3EEPROM ima tri uobičajena EEPROM čipa: DS2431 (1-Wire), 24AA- (I2C) i 25AA- (SPI). Sva tri su prethodno prikazana na stranici Hack a Day, ali svaki demo koristi drugačiju verziju Bus Pirate hardvera i firmvera, početnicima je teško pratiti ih koristeći Bus Pirate v2go. Nastavite čitati za ažurirani, korak po korak vodič za korištenje EEPROM-ovi DS2431, 24AA- i 25AA- s Bus Pirate v2go. Također imamo potpune zapisnike sesija kao tekstualne datoteke tako da nećete propustiti niti jedan detalj. Možemo imati 3EEPROM ploče za istraživanje istraživača na ploči ili komplete proizvedene u Seeed Studiju. PCB -i su oko 10 USD, kompleti su oko 15 USD, isporučuju se širom svijeta. Moramo organizirati grupnu kupnju 10 PCB -a ili 20 kompleta za početak. Ako vas zanima Bus Pirate, dolazi verzija 3. Ne mogu uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti izvorni post na blogu Dangerous Prototypes.

Korak 1: Pregled hardvera 3EEPROM -a

3EEPROM Pregled hardvera
3EEPROM Pregled hardvera
3EEPROM Pregled hardvera
3EEPROM Pregled hardvera
3EEPROM Pregled hardvera
3EEPROM Pregled hardvera

Cilj ovog prototipa je naučiti o EEPROM -u i tri uobičajena protokola sabirnice. Prvo gledamo 3EEPROM PCB, zatim demonstriramo svaki EEPROM pomoću alata za univerzalno serijsko sučelje Bus Pirate. Ako nemate Bus Pirate, još uvijek ga možete pratiti jer osnovni redoslijed operacija sučelja ostaje isti bez obzira na to kako ih implementirali. Shema Pune veličine [PNG]. Napravili smo sklop i PCB pomoću besplatne verzije Cadsoft Eagle. Shemu i PCB možete preuzeti iz arhive sabirničkog piratskog SVN-a. 3EEPROM PCB sadrži DS2431 1-žični EEPROM (IC1), 24AA-I2C EEPROM (IC4) i 25AA-SPI EEPROM (IC5). DS2431 (IC1) napaja parazitski napajanje s 1-žične sabirnice, nema vanjski pin za napajanje i ne zahtijeva odvajajući kondenzator. IC2 i IC3 su prazna mjesta za dodatne 1-žične uređaje, poput drugog senzora temperature DS2431 ili DS1822. C1 (0.01uF) nije obavezan i potreban je samo ako su IC2 ili IC3 napunjeni 1-žičnim uređajem s napajanjem. 1-žici je potreban snažan otpornik za podizanje, maksimalno 2,2K ohma. Ugrađeni otpornici Bus Piratea su 10K, preslabi su za pravilno napajanje DS2431 tijekom pisanja. 3EEPROM ploča za istraživanje uključuje 1,8 k ohm, 1/8-vatni otpornik za izvlačenje (R1) na 1-žičnoj sabirnici tako da nije potreban dodatni otpornik za povlačenje. 24AA- (IC4) i 25AA- (IC5) svaki dobiva 0,1uF kondenzator kako bi ih odvojio od napajanja (C2, C3). Kondenzatori vam vjerojatno ne trebaju u tako jednostavnom krugu, izostavili smo ih s prototipne ploče u demonstraciji. I2C sabirnica koju koristi 24AA- također zahtijeva pull-up otpornike, ali ugrađeni 10K ohmski pull-up otpornici Bus Piratea su dovoljni. Sve komponente će raditi od 2,8 V do 5 V DC. Krug se napaja preko VCC i GND pinova kratkospojnika 3. Postoje dva VCC pina, jedan je za napajanje, a drugi za ulazni napon napona otpornika sabirnog gusara (Vpullup). PCB Napravili smo krug i PCB pomoću besplatna verzija Cadsoft Eagle. Shemu i PCB možete preuzeti iz arhive Bus Pirate SVN. Ako želite profesionalno pripremljen PCB ili 3EEPROM komplet, možda bismo mogli dogovoriti grupnu kupnju ako je zainteresirano 10 ili 20 ljudi. Popis dijelova R1 otpornik od 1800 ohma (1/8 vata) C2, 3 0,1uF kondenzator/10 volti+JP1-4 0,1 "muški pin pin IC1 DS2431 1K 1-žični EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8-polna DIP utičnica za IC5, 6 ** IC4, IC5 može biti bilo koje veličine, povezali smo se s malim čipovima, koristili smo 128 bajtova i 128 KB. Nisam mogao uključiti neke tablice za oblikovanje i HTML u Instructableu možete vidjeti izvorni post na blogu Dangerous Prototypes.

Korak 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

DemonstracijeSvi prikazi EEPROM -a izgledaju približno isto. Napisat ćemo nekoliko brojeva u čip, a zatim ih pročitati. Svaki uređaj ima uvjete koji se primjenjuju kada želite napisati više od nekoliko vrijednosti, poput veličine stranice i ograničenja granica. Pročitajte više o njima u podatkovnom listu za svoj uređaj. Ako ne možete pokrenuti demonstraciju, preuzmite cijeli dnevnik terminala kako ne biste propustili niti jednu stvar koju smo učinili. Pull-up otpornici su najčešći problem, provjerite napon pin-pull-a pomoću izbornika 'v' na terminalu Bus Pirate. Čip: 25AA, SPI EEPROM (1Kbajt). Autobus: SPI. Povučni otpornici potrebni su samo za sučelje s mješovitim naponom. Zahtjevi za napajanje: 1,8 volti do 5,5 volti (AA), 2,5 volti do 5,5 volti (LC). Reference: podatkovna tablica, demonstracija hakiranja na dan. Cjeloviti zapisnik Bus Pirate sesije za ovu demonstraciju. Nisam mogao uključiti neke tablice oblikovanja i HTML u Instructable, možete vidjeti izvornik na blogu Dangerous Prototypes. IC5 je I2C EEPROM serije 25AA iz Microchip-a, ovi EEPROM-i dolaze u tonama veličina. AA dijelovi rade od 1,8 volti do 5,5 volti, dok dijelovi 25LC-a imaju minimalni zahtjev od 2,5 volta. C3 (0,1 uF) odvaja SPI EEPROM od napajanja. Pinove za zaštitu od pisanja (WP) i zadržavanje mogli bi kontrolirati mikrokontroler, ali smo ih onemogućili držeći ove pinove visoko. Igle sabirnice SPI, CS, DO, CLK i DI, dovode se u zaglavlje JP4. Postavljanje Ako koristite Bus Pirate, spojite ga na 3EEPROM ili 25AA-IC kao što je prikazano na donjoj slici grafikona. SPI obično ne zahtijeva pull-up otpornike. Sučelje U terminalu Bus Pirate pritisnite 'm' za izbornik načina rada i odaberite SPI. Konfigurirajte SPI knjižnicu za normalni pin izlaz, koristite zadane postavke za sve ostale postavke načina SPI. Omogućite napajanje (veliki 'W') na promptu za SPI način rada. Konačno, nabavite izvješće o naponu kako biste bili sigurni da napajanja rade ('v'). Pokazat ćemo kako spojiti EEPROM izravno na 3,3 volta pomoću SPI knjižnice u normalnom pin modu. Pull-up otpornici nisu potrebni za ovu demonstraciju. Ako želite spojiti EEPROM na napajanje od 5 volti, upotrijebite biblioteku SPI u načinu rada s pinom otvorenog kolektora (HiZ) i omogućite pull-up otpornike s Vpullup pinom (Vpu) spojenim na napajanje EEPROM-a. Korak 1, isključite zaštitu od pisanja 'SPI> [0b110] CS ENABLED <<< čip odabir čipa omogućen WRITE: 0x06 <<< onemogući naredbu za zaštitu od pisanjaCS DISABLED <<25AA- je zaštićen od pisanja pri uključivanju. Spustite odabir čipa (CS) ([), pošaljite naredbu za onemogućavanje zaštite od pisanja (0x06), a zatim podignite CS (]) kako biste omogućili pisanje na EEPROM. Naredba za zaštitu od pisanja je 0b00000110 u binarnom obliku, ali je možemo skratiti na 0b110 i Bus Pirate i dalje razumije. Korak 2, upišite neke vrijednosti 'SPI> [0b10 0 3 2 1] CS ENABLED <<< odabir čipa omogućen WRITE: 0x02 <<< naredba za pisanje WRITE: 0x00 <<< upišite početnu adresuWRITE: 0x03 <<< 3 vrijednosti za pisanje (3, 2, 1) NAPIŠITE: 0x02ZAPIŠITE: 0x01CS INVALIDIRAN <<Sada se na EEPROM može pisati. Prvo spustite CS za aktiviranje 25AA- ([). Zatim pošaljite naredbu za pisanje (0x02) i lokaciju za početak pisanja (0). Pošaljite podatke u spremište (3 2 1), zatim podignite CS (]) za spremanje vrijednosti. Napomena: koristili smo sićušni 128 -bitni EEPROM, veći čipovi će koristiti 16 -bitnu (2 -bajtnu) adresu. Ova bi naredba bila [0b10 0 '' '0' '' 3 2 1] za EEPROM -ove veće od 256 bajtova, imajte na umu drugu 0. Provjerite tablicu s podacima za svoj EEPROM kako biste bili sigurni. Korak 3, pročitajte vrijednosti natrag SPI> [0b11 0 r: 3] CS ENABLED <<< odabir čipa omogućen WRITE: 0x03 <<< naredba za čitanje WRITE: 0x00 <<< čitanje početne adreseBULK READ 0x03 BYTES: <<< čitanje 3 vrijednosti0x03 0x02 0x01CS INVALIDIRAN <<Na kraju, ponovno pročitajte podatke kako biste provjerili je li pisanje uspješno. Odaberite 25AA- ([), pošaljite naredbu za čitanje (0x03) i početnu adresu (0), a zatim pročitajte tri vrijednosti (r: 3). Podignite CS da biste dovršili transakciju (]). Vrijednosti se podudaraju, upis je bio uspješan. Napomena: koristili smo mali EEPROM od 128 bajtova, veći čipovi će koristiti 16 -bitnu (2 bajtnu) adresu. Ova bi naredba bila [0b11 0 '' '0' '' r: 3] za EEPROM -ove veće od 256 bajta, zapamtite drugu 0. Provjerite tablicu s podacima za svoj EEPROM kako biste bili sigurni.

Korak 3: 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 EEPROM

Čip: 24AA, I2C EEPROM (1Kbajt). Autobus: I2C, potrebni su pull-up otpornici. Zahtjevi za napajanje: 1,8 volti do 5,5 volti (24AA), 2,5 volti do 5,5 volti (24LC). Reference: podatkovna tablica, demonstracija Hack a Day. Cjelovit zapisnik Bus Pirate sesije za ovu demonstraciju. Nisam mogao uključiti neke formatiranje i HTML tablice u Instructable, možete vidjeti original na blogu Dangerous Prototypes. IC4 je 24AA-serija I2C EEPROM-a iz Microchip-a, ovi EEPROM-i dolaze u tona veličina. AA dijelovi rade od 1,8 volti do 5,5 volti, dok 24LC-dijelovi imaju minimalni zahtjev od 2,5 volta. Kondenzator od 0,1 uF (C2) odvaja IC4 od napajanja. Pin za zaštitu od pisanja (WP) mogao se kontrolirati s mikrokontrolera, ali za ovu jednostavnu demonstraciju onemogućujemo ga spojem na masu. Pinovi sabirnice I2C, SDA i SCL, izvode se u zaglavlje JP2. Adresa većine 24AA EEPROM -ova je 1010AAAS, a posljednja četiri bita određena su kontaktnim pinovima (A0, A1, A2) i bitom za odabir načina čitanja/pisanja (S). U ovom primjeru svi su adresni bitovi utemeljeni, pa je adresa za upisivanje EEPROM -a 10100000 (podatkovna tablica, stranica 6). Postavljanje Ako koristite Bus Pirate, spojite ga na 3EEPROM ili 24AA-IC kao što je prikazano na donjoj slici grafikona. I2C je dvosmjerna sabirnica koja zahtijeva pull-up otpornike na oba pina. Možete koristiti ugrađene pull-up otpornike Bus Piratea tako da spojite pin Vpullup (Vpu) na napajanje od 3,3 volta i omogućite ih u terminalu. Sučelje Napomena: Ne rade svi I2C EEPROM -ovi isto. Sićušni 24AA01, na primjer, ima potpuno drugačiji sustav adresiranja i upravljanja. Svakako provjerite podatkovni list za svoj čip. Pritisnite 'm' na Bus Pirate terminalu i odaberite I2C iz izbornika načina rada. Omogućite napajanje (veliki 'W') i otpornike za podizanje ('p', opcija 2) na odzivu I2C. Nabavite izvješće o naponu ('v') kako biste bili sigurni da su napajanja uključena i da je pin Vpullup spojen na napon. I2C> (0) <<(1) <<< koristite makro za pretraživanje adresaTraženje 7bitnog I2C adresnog prostora. Pronađeni uređaji na: 0xA0 0xA1 <<Već znamo da je I2C adresa 10100000, ali također možemo koristiti makronaredbu I2C za pretraživanje Bus Piratea (1) za traženje 24AA-. Makronaredba za pretraživanje pronašla je uređaj na očekivanoj adresi pisanja (0xA0) i čitanja (0xA1). Korak 1, upišite neke vrijednosti I2C> [0b10100000 0 0 3 2 1] I2C POKRETNI UVJET <<< I2C početni uvjetWRITE: 0xA0 DOBIJELO JE ACK: DA <<< 24AA- upišite adresuWRITE: 0x00 GOT ACK: YES <<< upišite bajt adrese 1WRITE: 0x00 GOT ACK: YES <<< upišite bajt adrese 2WRITE: 0x03 GOT ACK: YES <<< 3 vrijednosti za pisanje (3, 2, 1) WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STANJE STANJE < <Započnite pisanje s uvjetom početka I2C ([), nakon čega slijedi adresa upisa 24AA (0xa0). Zatim pošaljite 16 -bitnu adresu za pisanje na (0 0) i podatke za upisivanje (3 2 1). Završite I2C transakciju uvjetom zaustavljanja (]). Korak 2, postavite pokazivač za čitanje I2C> [0b10100000 0 0] I2C POČETNI UVJET <<< I2C početni uvjet UPIŠITE: 0xA0 DOBIJELO JE ACK: DA <<< 24AA- upišite adresuWRITE: 0x00 GOT ACK: YES <<< upišite bajt adrese 1WRITE: 0x00 DOBIJENO DA: DA <<< upišite bajt adrese 2I2C STANJE STANJE <<Za čitanje s 24AA- potrebne su dvije operacije. Jedan pozicionira pokazivač za čitanje/pisanje, drugi vraća vrijednosti. Počnite s uvjetom početka I2C ([) i adresom pisanja (0xa0). Pošaljite 16 -bitnu adresu za čitanje (0 0), a zatim uvjet zaustavljanja (]). Ovaj put nismo poslali nikakve podatke za pisanje, samo smo pozicionirali pokazivač za čitanje/pisanje na početak podataka koje smo napisali u koraku 1. Korak 3, pročitajte neke vrijednosti I2C> [0b10100001 r: 3] I2C STANJE POČETKA <<< I2C početni uvjet UPIŠITE: 0xA1 DOBIJENO JE DA: DA <<< 24AA- pročitajte adresuBULK READ 0x03 BYTES: <<< pročitajte 3 vrijednosti0x03 0x02 0x01I2C STANJE STANJE <<Korak 2 postavite pokazivač za čitanje/pisanje na početak podataka koje želimo pročitati. Sada možemo čitati podatke pomoću adrese za čitanje 24AA. Počnite s uvjetom pokretanja I2C ([) i adresom za čitanje 24AA (0xa1). Pročitajte tri vrijednosti koje smo zapisali u koraku 1 (r: 3) i završite uvjetom zaustavljanja (]). Ako se vrijednosti podudaraju, vaše je pisanje bilo uspješno.

Korak 4: DS2431 1-žični EEPROM

DS2431 1-žični EEPROM
DS2431 1-žični EEPROM
DS2431 1-žični EEPROM
DS2431 1-žični EEPROM
DS2431 1-žični EEPROM
DS2431 1-žični EEPROM

Čip: DS2431, 1-žični EEPROM (1 KB). Autobus: 1-žica, potreban je otpornik za navlačenje <2,2 Kohma. Zahtjevi za napajanje: 2,8 volti na 5,25 volti. za ovu demonstraciju. Nisam mogao uključiti neke tablice oblikovanja i HTML u Instructable, možete vidjeti izvornik na blogu Dangerous Prototypes. DS2431 napaja napajanje iz otpornika i ne treba vanjsko napajanje ili kondenzator za razdvajanje. Za 1-Wire je potreban snažan otpornik za podizanje, maksimalno 2,2Kohms. Ugrađeni otpornici Bus Piratea su 10K, preslabi su za pravilno napajanje DS2431 tijekom pisanja. Morate koristiti vanjski otpornik od 2.2Kohm ili manji između napajanja i 1-žičnog pina sabirnice. Ako imate poteškoća s pisanjem podataka, provjerite je li vaš otpornik za podizanje dovoljno velik. 3EEPROM ploča istraživača uključuje otpornik na izvlačenje od 1800 ohma (R1) na 1-žičnoj sabirnici pa nije potreban vanjski otpornik. Postavljanje Ako koristite Bus Pirate, spojite ga na 3EEPROM ploču ili DS2431 kao što je prikazano na donjoj slici grafikona. DS2431 ne zahtijeva pin za napajanje, koristi se na 3EEPROM ploči za napajanje velikog pull-up otpornika za 1-Wire sabirnicu. Povezivanje Pritisnite 'm' na terminalu Bus Pirate i odaberite 1-Wire način rada. Omogućite ugrađena napajanja (veliki 'W') i provjerite monitor napona (v). Korak 1, pronađite adresu uređaja 1-WIRE> (0xf0) <<< 1-žica za pretraživanje makro 1 ŽIČNA ROM ZAPOVJED: PRETRAGA (0xF0) Pronađeni uređaji na: Makro 1ŽIČNA adresa1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 jedinstveni ID*DS2431 1K EEPROM <<Svaki 1-Wire uređaj ima jedinstveni ID od 8 bajtova. 1-Wire ima postupak pretraživanja koji otkriva ID svih priključenih uređaja. Bus Pirate implementira 1-Wire pretraživanje kao makronaredbu (240). Upišite '(240)' u Bus Pirate terminal za početak 1-Wire pretraživanja. Ispisuje se svaka adresa uređaja, prepoznaju se poznati uređaji. Prvih deset adresa 1-Wire uređaja pohranjeno je kao makronaredbe, u ovom primjeru naša adresa DS2431 dostupna je upisivanjem '(1)' u terminal. Korak 2, upišite 8 bajtova u podlogu za ogrebotine 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11 RESETIRANJE BUSINICE OK OK << također {naredba 1WIRE WRITE ROM COMMAND: MATCH (0x55) * slijedite sa 64 -bitnom adresom1ŽIČNA ADRESA MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'ZAPIŠI: 0x0F <<< DS2431 naredba za pisanje greške WRITE: 0x00 <<< DS2431 upišite bajt adrese 1 WRITE: 0x00 <<< DS2431 zapišite adresu byte: 0x08 <<Zatim ćemo zapisati 8 bajtova na privremeno mjesto u DS2431 koje se zove scratch pad. Započnite transakciju resetiranjem sabirnice s 1 žicom i naredbom MATCH (0x55). Obje su dostupne kao makronaredba '(0x55)'. To se može učiniti i bez makronaredbe upisivanjem '{0x55', {šalje 1-Wire reset, 0x55 je 1-Wire MATCH naredba. Nakon naredbe MATCH pošaljite 8-bajtni ID uređaja na adresu. Koristili smo makro (1) koji je bio popunjen ID -om DS2431 u koraku 1. Također ste mogli unijeti 8 -bajtni ID ručno. U ovom trenutku DS2431 je trebao primiti svoju adresu i biti spreman za naredbe. 0x0f je naredba za pisanje grebanja, koja govori DS2431 da očekuje podatke. Sljedeća dva bajta govore gdje smjestiti podatke, spremit ćemo ih na početku (0 0). Konačno, šaljemo 8 bajtova vrijednosti za pohranu, brojeve 8 do 1. Morate napisati punih 8 bajtova u DS2431. Dodatno, adresa za pisanje mora biti na granici od 8 bajta. Za potpuni pregled ograničenja pisanja pogledajte tehnički list. Korak 3, provjerite podlogu za grebanje i nabavite autorizacijski kôd 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WREES BUS RESET OK <<< obratite se uređaju 1WRES WRITE ROM COMMAND: MATCH (0x55) *slijedite sa 64 -bitnom adresom1ŽIČNA ADRESA MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< čitanje naredbe podloge za brisanje BULK READ 0x03 BYTES: <<< autorizacijski kod0x00 0x00 0x07BULK READ0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC za podatke0xC8 0x86BULK READ 0x02 BYTES: <<Provjerite jesu li podaci ispravno primljeni i nabavite autorizacijski kôd za pisanje. Počnite ponovo s 1-Wire reset makronaredbom i makronom naredbom MATCH (0x55) i makronaredbom adrese uređaja (1). Ovaj put pošaljite naredbu za čitanje s grebanjem za čitanje DS2431 (0xAA), a zatim pročitajte ukupno 15 bajtova. Prva 3 pročitana bajta (r: 3) su kod za autorizaciju pisanja, trebat će nam u sljedećem koraku za kopiranje datoteke grebanje za EEPROM. Sljedećih 8 bajtova (r: 8) trebali bi odgovarati podacima koje smo poslali u koraku 2. Zadnja 2 bajta (r: 2) su CRC16 za podatke. Očitavanja nakon CRC -a vraćaju sve 1. Korak 4, upišite "scratch pad" u EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071RESET MOBIJE ŽICE U redu <<< obratite se uređaju 1 ZAPOVIJED ZA ZAPIS ŽICE: MATCH (0x55) *slijedite sa 64-bitnom adresom1 MACRO MREŽE ŽICE 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< kopiranje naredbe za grebenu ploču WRITE: 0x00 <<< 3 byte autorizacijski kod iz koraka 3WRITE: 0x00WRITE: 0x071-WIRE> Imamo sve što nam je potrebno za trajno pohranjivanje podataka podloge za grebanje EEPROM. Adresirajte uređaj, a zatim pošaljite naredbu za grebanje kopije DS2431 (0x55) nakon koje slijedi autorizacijski kôd od tri bajta koji smo dohvatili u koraku 3 (0x00 0x00 0x07). Ako je autorizacijski kod točan, podaci se premještaju u EEPROM. Korak 5, provjerite upišite li grebenu ploču 1-WIRE> (0x55) (1) 0xaa r: 31 RESET ZABRANJENE ŽICE U redu <<< obratite se uređaju 1ZAPOVIJED ZAPISA ŽICE: MATCH (0x55) *slijedite sa 64-bitnom adresom1 MAKRO ŽICE ADRESE 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< čitanje naredbe podloge za grebanje GLASNO ČITANJE 0x03 BITA: 0x00 0x00 0x87 <<DS2431 postavlja gornji najveći bit autorizacijskog koda za pisanje nakon uspješne naredbe za grebanje kopije. Pošaljite još jednu naredbu za čitanje (0xAA) da biste dobili ažurirani autorizacijski kod, ali samo pročitajte prva tri bajta (r: 3). Prethodna vrijednost 0x07 promijenjena je u 0x87, naredba za kopiranje je uspješno primljena. Korak 6, pročitajte unatrag vrijednosti 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WER RESET BUS OK OK <<< obratite se uređaju 1 WIRES WRITE ROM COMMAND: MATCH (0x55) *slijedite sa 64-bitnom adresom 1 MACRO ADRESE ŽICE 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 naredba za čitanjeWRITE: 0x00 <<< 2 bajta adresa za čitanjeWRITE: 0x00BULK PROČITAJ 0x08 BYTES: <<< pročitajte 8 bajtova koje smo napisali0x08 0x07 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x00 0x00 0x00 0x00 0x00 0x2 0x08 BYTES: <<Provjerite radi li ispravno pisanje dohvaćanjem vrijednosti. Obratite se DS2431, zatim pošaljite naredbu za čitanje (0xf0) i adresu za čitanje (0x00 0x00). Moguće je pročitati cijeli raspon memorije jednom naredbom. Pročitali smo osam bajtova koje smo ranije napisali (r: 8), koji su vratili očekivane vrijednosti. Osam bajtova izvan ovih vrijednosti nije zapisano i vraća 0.

Korak 5: Zaključak

Zaključak
Zaključak

Zaključak Ovaj prototip uči o EEPROM memoriji i pokazuje kako se koristi Bus Pirate s tri uobičajena protokola: 1-Wire, I2C i SPI. 3EEPROM ploča istraživača osigurava ispravne veze sa svakim EEPROM-om i osigurava vanjski pull-up otpornik za zahtjevniju 1-Wire sabirnicu s komponentama s parazitskim napajanjem. Možemo imati 3EEPROM ploče s istraživačkim pločama ili komplete proizvedene u studiju Seeed. PCB -i su oko 10 USD, kompleti su oko 15 USD, isporučuju se širom svijeta. Moramo organizirati grupnu kupnju 10 PCB -a ili 20 kompleta za početak.

Preporučeni: