Kazalo:

Bus Pirate 3EEPROM Explorer Board: 5 korakov
Bus Pirate 3EEPROM Explorer Board: 5 korakov

Video: Bus Pirate 3EEPROM Explorer Board: 5 korakov

Video: Bus Pirate 3EEPROM Explorer Board: 5 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Bus Pirate 3EEPROM Explorer Board
Bus Pirate 3EEPROM Explorer Board

Če imate enega od Hack a Day's Bus Pirates, kaj storite z njim? Naučite se o 1-žičnih, I2C in SPI EEPROM-jih z raziskovalno ploščo 3EEPROM (imenujemo jo THR-EE-PROM). EEPROM je vrsta pomnilniškega čipa, ki shranjuje podatke brez neprekinjenega napajanja. Uporaben je za trajno shranjevanje podatkov v majhnih krogih zapisovalnika ali za shranjevanje strani po meri v mini spletnem strežniku. EEPROM-i so na voljo v številnih velikostih in protokolih. 3EEPROM ima tri skupne čipe EEPROM: DS2431 (1-Wire), 24AA- (I2C) in 25AA- (SPI). Vsi trije so bili predhodno predstavljeni na Hack a Day, vendar vsak demo uporablja drugačno različico strojne in vdelane programske opreme Bus Pirate, zato je začetniku težko slediti uporabi Bus Pirate v2go. EEPROM-je DS2431, 24AA- in 25AA- z Bus Pirate v2go. Imamo tudi celotne dnevnike sej kot besedilne datoteke, tako da ne boste zamudili niti ene podrobnosti. V podjetju Seeed Studio lahko izdelujemo PCE -je ali komplete za raziskovanje 3EEPROM. PCB -ji stanejo okoli 10 USD, kompleti so okoli 15 USD, pošiljajo se po vsem svetu. Za začetek moramo organizirati skupinski nakup 10 PCB -jev ali 20 kompletov. Če vas zanima Bus Pirate, prihaja različica 3. Nekaterih elementov oblikovanja in tabel HTML nisem mogel vključiti v Instructable, prvotno objavo si lahko ogledate na spletnem dnevniku Dangerous Prototypes.

1. korak: Pregled strojne opreme 3EEPROM

3EEPROM Pregled strojne opreme
3EEPROM Pregled strojne opreme
3EEPROM Pregled strojne opreme
3EEPROM Pregled strojne opreme
3EEPROM Pregled strojne opreme
3EEPROM Pregled strojne opreme

Cilj tega prototipa je spoznati EEPROM in tri običajne protokole vodila. Najprej si oglejmo tiskano vezje 3EEPROM, nato pa vsak EEPROM demonstriramo z orodjem univerzalnega serijskega vmesnika Bus Pirate. Če nimate Bus Pirate -a, lahko še vedno sledite, ker osnovni vrstni red vmesniških operacij ostaja enak, ne glede na to, kako jih izvajate. Shema polne velikosti [PNG]. Vezje in tiskano vezje smo izdelali z brezplačno različico Cadsoft Eagle. Shemo in tiskano vezje lahko prenesete iz arhiva SVN Bus Pirate. PCE 3EEPROM vsebuje 1-žični EEPROM DS2431 (IC1), EEPROM 24AA-I2C (IC4) in EEPROM 25AA-SPI (IC5). DS2431 (IC1) napaja parazitsko napajanje iz 1-žičnega vodila, nima zunanjega napajalnega zatiča in ne potrebuje ločevalnega kondenzatorja. IC2 in IC3 sta prazni mesti za dodatne enožične naprave, kot je drug temperaturni senzor DS2431 ali DS1822. C1 (0,01 uF) je neobvezen in je potreben le, če sta IC2 ali IC3 poseljena z napajano 1-žilno napravo. 1-žica zahteva močan vlečni upor, največ 2,2K ohma. Vlečni upori Bus Pirate so 10K, prešibki za pravilno napajanje DS2431 med pisanjem. Raziskovalna plošča 3EEPROM vključuje vlečni upor 1,8 k ohma, 1/8 vata (R1) na 1-žičnem vodilu, tako da dodatni vlečni upor ni potreben. 24AA- (IC4) in 25AA- (IC5) vsak dobi 0,1uF kondenzator, da jih loči od napajanja (C2, C3). Kondenzatorjev v tako preprostem vezju verjetno ne potrebujete, v predstavitvi smo jih izpustili s prototipne plošče. Za vodilo I2C, ki ga uporablja 24AA-, so potrebni tudi vlečni upori, vendar zadostujejo vgrajeni 10-ohmski vlečni upori Bus Pirate-ja. Vse komponente bodo delovale od 2,8 voltov do 5 voltov DC. Vezje se napaja prek zatičev VCC in GND mostička 3. Obstajata dva zatiča VCC, eden je za napajanje, drugi pa za vhodni vtič napetosti vlečnega upora vodila Pirate (Vpullup). PCB Izdelali smo vezje in tiskano vezje z uporabo brezplačna različica Cadsoft Eagle. Shemo in tiskano vezje lahko prenesete iz arhiva Bus Pirate SVN. Če želite profesionalno pripravljen komplet tiskanih vezij ali 3EEPROM -a, se lahko dogovorimo za skupinski nakup, če ga zanima 10 ali 20 oseb. Seznam delov R1 1800 ohmski upor (1/8 vata) C2, 3 0,1uF kondenzator/10 voltov+JP1-4 0,1 "moški zatični zatič IC1 DS2431 1K 1-žilni EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8-polna DIP vtičnica za IC5, 6 ** IC4, IC5 je lahko poljubne velikosti, povezali smo se z majhnimi čipi, uporabili smo 128 bajtov in 128 KB, tabel za oblikovanje in HTML nisem mogel vključiti. v Instructable si lahko ogledate izvirno objavo na blogu Dangerous Prototypes.

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

Demonstracije Vsi predstavitve EEPROM so videti približno enake. Na čip bomo zapisali nekaj številk in jih nato prebrali. Vsaka naprava ima pogoje, ki veljajo, ko želite zapisati več vrednosti, na primer velikost strani in omejitve meja. Več o tem preberite v podatkovnem listu za vašo določeno napravo. Če predstavitve ne morete doseči, prenesite celoten dnevnik terminalov, da ne boste zamudili niti ene stvari, ki smo jo naredili. Vlečni upori so najpogostejša težava, preverite napetost vlečnega vtiča z menijem 'v' na terminalu Bus Pirate. Čip: 25AA, SPI EEPROM (1 KB). Avtobus: SPI. Vlečni upori so potrebni samo za vmesnike z mešano napetostjo. Zahteve za moč: 1,8 voltov do 5,5 voltov (AA), od 2,5 voltov do 5,5 voltov (LC).. Ni mogel vključiti nekaterih tabel za oblikovanje in HTML v Instructable, izvirnik si lahko ogledate na spletnem dnevniku Dangerous Prototypes. IC5 je 25AA-serija I2C EEPROM iz Microchip-a, ti EEPROM-i so v tonah velikosti. Deli AA delujejo od 1,8 voltov do 5,5 voltov, medtem ko imajo deli 25LC minimalno zahtevo 2,5 volta. C3 (0,1 uF) loči SPI EEPROM od napajanja. Zatiče za zaščito pred zapisovanjem (WP) in zadrževalne zatiče bi lahko nadzoroval mikrokrmilnik, vendar smo jih onemogočili tako, da smo te zatiče držali visoko. Zatiči vodila SPI, CS, DO, CLK in DI so pripeti v glavo JP4. Nastavitev Če uporabljate Bus Pirate, ga priključite na 3EEPROM ali 25AA-IC, kot je prikazano na spodnji sliki grafikona. SPI običajno ne potrebuje vlečnih uporov. Povezovanje V terminalu Bus Pirate pritisnite 'm' za meni načina in izberite SPI. Knjižnico SPI konfigurirajte za normalni izhod pin, privzete nastavitve uporabite za vse druge nastavitve načina SPI. Omogočite napajalnike (velik 'W') v pozivu za način SPI. Nazadnje dobite poročilo o napetosti, da se prepričate, da napajalniki delujejo ('v'). Demonstrirali bomo, kako vmesnik EEPROM neposredno pri 3.3 voltih uporabiti s knjižnico SPI v običajnem načinu pin. Za to predstavitev niso potrebni vlečni upori. Če želite vmesnik EEPROM-a, ki ga napaja 5 voltov, uporabite knjižnico SPI v načinu pin z odprtim zbiralnikom (HiZ) in omogočite vlečne upore z vtičem Vpullup (Vpu), priključenim na napajanje EEPROM-a. 1. korak, izklopite zaščito pred pisanjem 'SPI> [0b110] CS ENABLED <<< izbira čipa omogočena WRITE: 0x06 <<< onemogoči ukaz za zaščito pred pisanjemCS DISABLED <<25AA- je ob vklopu zaščitena pred zapisovanjem. Spustite izbiro čipa (CS) ([), pošljite ukaz onemogoči zaščito pred pisanjem (0x06) in nato dvignite CS (]), da omogočite pisanje v EEPROM. Ukaz za onemogočanje zaščite pred pisanjem je 0b00000110 v binarnem sistemu, vendar ga lahko skrajšamo na 0b110 in Bus Pirate še vedno razume. 2. korak, zapišite nekaj vrednosti 'SPI> [0b10 0 3 2 1] CS ENABLED <<< izbira čipa omogočena WRITE: 0x02 <<< ukaz za pisanje WRITE: 0x00 <<< zapišite začetni naslov WRITE: 0x03 <<< 3 vrednosti za zapis (3, 2, 1) NAPIŠI: 0x02WRITE: 0x01CS INVALIDIRAN <<Zdaj je na EEPROM mogoče zapisati. Najprej spustite CS, da aktivirate 25AA- ([). Nato pošljite ukaz za pisanje (0x02) in lokacijo za začetek pisanja (0). Pošljite podatke v shrambo (3 2 1), nato dvignite CS (]), da shranite vrednosti. Opomba: uporabili smo majhen 128 -bajtni EEPROM, večji čipi bodo uporabljali 16 -bitni (2 -bajtni) naslov. Ta ukaz bi bil [0b10 0 '' '0' '' 3 2 1] za EEPROM -e, večje od 256 bajtov, upoštevajte drugo 0. Preverite podatkovni list za svoj EEPROM, da se prepričate. Korak 3, preberite vrednosti nazaj SPI> [0b11 0 r: 3] CS ENABLED <<< izbira čipa omogočena WRITE: 0x03 <<< ukaz branja WRITE: 0x00 <<< branje začetnega naslova BULK READ 0x03 BYTES: <<< branje 3 vrednosti 0x03 0x02 0x01CS INVALIDIRANO <<Na koncu preberite podatke, da preverite, ali je bilo pisanje uspešno. Izberite 25AA- ([), pošljite ukaz za branje (0x03) in začetni naslov (0) in nato preberite tri vrednosti (r: 3). Dvignite CS, da dokončate transakcijo (]). Vrednosti se ujemajo, zapis je bil uspešen. Opomba: uporabili smo majhen 128 -bajtni EEPROM, večji čipi bodo uporabljali 16 -bitni (2 -bajtni) naslov. Ta ukaz bi bil [0b11 0 '' '0' '' r: 3] za EEPROM -e, večje od 256 bajtov, upoštevajte drugo 0. Preverite podatkovni list za svoj EEPROM, da se prepričate.

Korak: 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 (1 KB). Avtobus: I2C, potrebni so vlečni upori. Popoln dnevnik sej Bus Pirate za to predstavitev. Nekaj tabel za oblikovanje in HTML ni bilo mogoče vključiti v Instructable, izvirnik si lahko ogledate na spletnem dnevniku Dangerous Prototypes. IC4 je 24AA-serija I2C EEPROM podjetja Microchip, ti EEPROM-i so na voljo v ton velikosti. Deli AA delujejo od 1,8 voltov do 5,5 voltov, medtem ko imajo deli 24LC minimalno zahtevo 2,5 volta. 0,1 uF kondenzator (C2) loči IC4 od napajanja. Zatič za zaščito pred pisanjem (WP) bi lahko upravljali z mikrokrmilnikom, vendar ga za to preprosto predstavitev onemogočimo s povezavo z maso. Zatiči vodila I2C, SDA in SCL, so prikazani v glavi JP2. Naslov večine 24AA EEPROM -ov je 1010AAAS, pri čemer so zadnji štirje biti določeni z zatiči naslova (A0, A1, A2) in izbranim bitom za branje/pisanje (S). V tem primeru so vsi naslovni biti ozemljeni, zato je naslov za zapis EEPROM 10100000 (podatkovni list, stran 6). Nastavitev Če uporabljate Bus Pirate, ga priključite na 3EEPROM ali 24AA-IC, kot je prikazano na spodnji sliki grafikona. I2C je dvosmerno vodilo, ki zahteva vlečne upore na obeh nožicah. Vgrajene uporovne upore Bus Pirate lahko uporabite tako, da vtič Vpullup (Vpu) priključite na 3,3-voltno napajanje in jih omogočite v terminalu. Opomba: Vmesniki E2PROM I2C ne delujejo enako. Drobni 24AA01 ima na primer popolnoma drugačen sistem naslavljanja in ukazovanja. Preverite podatkovni list za svoj čip. Pritisnite 'm' na terminalu Bus Pirate in v meniju za način izberite I2C. Omogočite napajalnike (velik 'W') in izvlečne upore ('p', možnost 2) ob pozivu I2C. Pridobite poročilo o napetosti ('v'), da se prepričate, da so napajalniki vklopljeni in da je pin Vpullup priključen na napetost. I2C> (0) <<(1) <<< uporabite makro za iskanje naslovov Iskanje 7 -bitnega naslovnega prostora I2C. Najdene naprave na: 0xA0 0xA1 <<Že vemo, da je naslov I2C 10100000, lahko pa uporabimo tudi iskalni makro I2C Bus Pirate (1) za iskanje 24AA-. Iskalni makro je našel napravo na pričakovanih naslovih za pisanje (0xA0) in branje (0xA1). Korak 1, napišite nekaj vrednosti I2C> [0b10100000 0 0 3 2 1] I2C ZAČETNI POGOJ <<< I2C Zagonski pogoj WRITE: 0xA0 DOBIL ACK: DA <<< 24AA- zapišite naslov WRITE: 0x00 GOT ACK: YES <<< zapišite bajt naslova 1WRITE: 0x00 GOT ACK: YES <<< zapišite bajt naslova 2WRITE: 0x03 GOT ACK: YES <<< 3 vrednosti za zapis (3, 2, 1) WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP STANJE < <Začnite pisati z začetnim pogojem I2C ([), ki mu sledi naslov za zapis 24AA (0xa0). Nato pošljite 16 -bitni naslov za pisanje na (0 0) in podatke za pisanje (3 2 1). Končajte transakcijo I2C s pogojem zaustavitve (]). 2. korak, postavite kazalec za branje I2C> [0b10100000 0 0] I2C ZAČETNI POGOJ <<< I2C Zagonski pogoj WRITE: 0xA0 GOT ACK: YES <<< 24AA- write address WRITE: 0x00 GOT ACK: YES <<< napisati bajt naslova 1WRITE: 0x00 GOT ACK: YES <<< zapišite bajt naslova 2I2C STANJE STANJE <<Za branje iz 24AA- sta potrebni dve operaciji. Ena postavi kazalec za branje/pisanje, druga vrne vrednosti. Začnite s pogojem zagona I2C ([) in naslovom za pisanje (0xa0). Pošljite 16 -bitni naslov za branje (0 0) in nato pogoj zaustavitve (]). Tokrat nismo poslali nobenih podatkov za pisanje, le kazalec za branje/pisanje smo postavili nazaj na začetek podatkov, ki smo jih zapisali v 1. koraku. 3. korak, preberite nekaj vrednosti I2C> [0b10100001 r: 3] I2C ZAČETNI POGOJ <<< Začetni pogoj I2C WRITE: 0xA1 DOBIL ACK: DA <<< 24AA- preberite naslovBULK READ 0x03 BYTES: <<< preberite 3 vrednosti0x03 0x02 0x01I2C POGOJ STOP <<2. korak nastavite kazalec za branje/pisanje na začetek podatkov, ki jih želimo prebrati. Zdaj lahko podatke beremo z naslovom za branje 24AA. Začnite s pogojem zagona I2C ([) in naslovom za branje 24AA (0xa1). Preberite tri vrednosti, ki smo jih zapisali v 1. koraku (r: 3), in končajte s pogojem zaustavitve (]). Če se vrednosti ujemajo, je bilo pisanje uspešno.

Korak: 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). Avtobus: 1-žilni, <2,2 Kohm potreben vlečni upor. Zahteve po moči: 2,8 voltov do 5,25 voltov. Za to predstavitev nisem mogel vključiti nekaj tabel za oblikovanje in HTML v Instructable, izvirnik si lahko ogledate na spletnem dnevniku Dangerous Prototypes. DS2431 črpa moč iz vlečnega upora in ne potrebuje zunanjega napajalnega ali ločevalnega kondenzatorja.. 1-Wire potrebuje močan vlečni upor, največ 2,2Kohms. Vlečni upori Bus Pirate so 10K, prešibki za pravilno napajanje DS2431 med pisanjem. Med napajanjem in 1-žičnim zatičem vodila morate uporabiti zunanji upor 2,2Kohm ali manj. Če imate težave s pisanjem podatkov, se prepričajte, da je vaš vlečni upor dovolj velik. Raziskovalna plošča 3EEPROM vključuje 1800 ohmski vlečni upor (R1) na 1-žičnem vodilu, zato zunanji upor ni potreben. Nastavitev Če uporabljate Bus Pirate, ga povežite s ploščo 3EEPROM ali DS2431, kot je prikazano na spodnji sliki grafikona. DS2431 ne potrebuje napajalnega zatiča, uporablja se na plošči 3EEPROM za napajanje velikega vlečnega upora za 1-žično vodilo. Povezovanje Pritisnite 'm' na terminalu Bus Pirate in izberite način 1-Wire. Omogočite vgrajene napajalnike (velik 'W') in preverite merilnik napetosti (v). 1. korak, poiščite naslov naprave 1-WIRE> (0xf0) <<< 1-žilni makro za iskanje 1 UKAZ ZA ŽIČNI ROM: ISKANJE (0xF0) Najdene naprave na naslovu: Makro 1 WIRE naslov 1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 edinstven ID*DS2431 1K EEPROM <<Vsaka 1-Wire naprava ima edinstven 8-bajtni ID. 1-Wire ima iskalni postopek, ki zazna ID vseh priključenih naprav. Bus Pirate izvaja iskanje po 1 žici kot makro (240). Vnesite '(240)' v terminal Bus Pirate, da začnete iskanje po 1 žici. Naslov vsake naprave je natisnjen, znane naprave so identificirane. Prvih deset naslovov naprav 1-Wire je shranjenih kot makri, v tem primeru je naš naslov DS2431 na voljo tako, da v terminal vnesete '(1)'. 2. korak, na prazno ploščico zapišite 8 bajtov 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11 RESET VODILA ŽICE V redu <<< tudi {ukaz 1WIRE WRITE ROM COMMAND: MATCH (0x55) * sledite s 64 -bitnim naslovom 1ŽIČNI NASLOV MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'WRITE: 0x0F <<< DS2431 ukaz za vnos praske WRITE: 0x00 <<< DS2431 napisite naslovni bajt 1 WRITE: 0x00 <<< DS2431 napisite naslov byte: 0x08 <<Nato bomo zapisali 8 bajtov na začasno lokacijo v DS2431, imenovano scratch pad. Začnite transakcijo s ponastavitvijo vodila 1-Wire in ukazom MATCH (0x55). Oba sta na voljo kot makro '(0x55)'. To lahko storite tudi brez makra tako, da vnesete '{0x55', {pošlje ponastavitev 1-Wire, 0x55 je 1-Wire MATCH ukaz. Po ukazu MATCH pošljite 8-bajtni ID naprave na naslov. Uporabili smo makro (1), ki je bil v 1. koraku poseljen z ID -jem DS2431. 8 -bajtni ID lahko vnesete tudi ročno. Na tej točki bi moral DS2431 prejeti svoj naslov in biti pripravljen za ukaze. 0x0f je ukaz za zapisovanje, ki DS2431 pričakuje podatke. Naslednja dva bajta povesta, kam naj bodo podatki shranjeni, na začetku jih bomo shranili (0 0). Nazadnje pošljemo 8 bajtov vrednosti za shranjevanje, številke 8 do 1. Na DS2431 morate napisati polnih 8 bajtov. Poleg tega mora biti naslov za pisanje na 8 -bajtni meji. Za popoln pregled omejitev pisanja si oglejte podatkovni list. 3. korak, preverite ploščico s praskami in pridobite avtorizacijsko kodo 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIR BUS RESET OK <<< naslov naprave 1 WIRE WRITE ROM COMMAND: MATCH (0x55) *sledite s 64 -bitnim naslovom 1 ŽIČNI NASLOV MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< branje ukaza za prazno polje PREBERITE 0x03 BYTES: <<< avtorizacijska koda 0x00 0x00 0x07BULK READ0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC za podatke 0xC8 0x86BULK READ 0x02 BYTES: <<Preverite, ali so bili podatki pravilno sprejeti, in pridobite avtorizacijsko kodo za pisanje. Začnite znova z makrom ukaza 1-Wire reset in MATCH (0x55) ter makrom naslova naprave (1). Tokrat pošljite ukaz za branje s praskanjem DS2431 (0xAA) in nato preberite skupaj 15 bajtov. Prvi 3 prebrani bajti (r: 3) so koda za pooblastilo za pisanje, v naslednjem koraku ga bomo potrebovali za kopiranje praskasta plošča do EEPROM -a. Naslednjih 8 bajtov (r: 8) se mora ujemati s podatki, ki smo jih poslali v 2. koraku. Zadnja 2 bajta (r: 2) sta CRC16 za podatke. Branje po CRC vrne vse 1. Korak 4, vnesite ploščico za praske v EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIR BUS RESET OK <<< naslovite napravo 1 WIRE WRITE ROM COMMAND: MATCH (0x55) *sledite s 64-bitnim naslovom 1 WIRRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< kopiraj ukaz za praskanje WRITE: 0x00 <<< 3-bajtna avtorizacijska koda iz koraka 3WRITE: 0x00WRITE: 0x071-WIRE> Imamo vse, kar potrebujemo, da trajno shranimo podatke ploščice EEPROM. Naslovite napravo, nato pošljite ukaz za praskanje kopije DS2431 (0x55), ki mu sledi tribajtna avtorizacijska koda, ki smo jo pridobili v 3. koraku (0x00 0x00 0x07). Če je avtorizacijska koda pravilna, se podatki premaknejo v EEPROM. 5. korak, preverite, ali ploščica za praske zapiše 1-WIRE> (0x55) (1) 0xaa r: 31WIR WUS RESET OK <<< naslov naprave 1 WIRE WRITE ROM COMMAND: MATCH (0x55) *sledite s 64-bitnim naslovom 1 WIRRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< preberite ukaz ploščice za praske BULK READ 0x03 BYTES: 0x00 0x00 0x87 <<DS2431 po uspešnem ukazu za praskanje kopije nastavi zgornji največji del kode pooblastila za pisanje. Pošljite še en ukaz za branje ploščic za praske (0xAA), da dobite posodobljeno kodo za avtorizacijo, vendar preberite samo prve tri bajte (r: 3). Prejšnja vrednost 0x07 se je spremenila v 0x87, ukaz za kopiranje je bil uspešno prejet. Korak 6, preberite vrednosti 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIR WUS RESET OK <<< naslovite napravo 1 WIRE WRITE ROM COMMAND: MATCH (0x55) *sledite s 64-bitnim naslovom 1 WICRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 ukaz za branje WRITE: 0x00 <<< 2 bajtni naslov za branje WRITE: 0x00BULK READ 0x08 BYTES: <<< preberite 8 bajtov, ki smo jih zapisali 0x08 BIT: <<Preverite, ali je zapis pravilno deloval, tako da pridobite vrednosti. Naslovite DS2431, nato pošljite ukaz za branje (0xf0) in naslov za branje (0x00 0x00). Celoten obseg pomnilnika je mogoče prebrati z enim ukazom. Prebrali smo osem bajtov, ki smo jih zapisali prej (r: 8), ki so vrnili pričakovane vrednosti. Osem bajtov, ki presegajo te vrednosti, ni bilo zapisano in vrne 0.

5. korak: Zaključek

Zaključek
Zaključek

Zaključek Ta prototip uči o pomnilniku EEPROM in prikazuje, kako uporabljati Bus Pirate s tremi skupnimi protokoli: 1-Wire, I2C in SPI. Raziskovalna plošča 3EEPROM zagotavlja pravilne povezave z vsakim EEPROM-om in nudi zunanji vlečni upor za zahtevnejše 1-Wire vodilo s parazitsko napajanimi komponentami. V podjetju Seeed Studio lahko izdelujemo PCE-je ali komplete 3EEPROM Explorer. PCB -ji stanejo okoli 10 USD, kompleti so okoli 15 USD, pošiljajo se po vsem svetu. Za začetek moramo organizirati skupinski nakup 10 PCB ali 20 kompletov.

Priporočena: