Përmbajtje:

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

Video: Bus Pirate 3EEPROM Explorer Board: 5 hapa

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

Nëse keni një nga Piratët e Autobusëve Hack a Day, çfarë bëni me të? Mësoni rreth 1-wire, I2C dhe SPI EEPROM me bordin e eksploruesit 3EEPROM (e quajmë THR-EE-PROM). EEPROM është një lloj çipi memorie që ruan të dhënat pa një furnizim të vazhdueshëm me energji elektrike. Usefulshtë e dobishme për ruajtjen e të dhënave të përhershme në qarqet e vogla të regjistruesve, ose mbajtjen e faqeve të personalizuara në një mini server në internet. EEPROM vijnë në shumë madhësi dhe protokolle. 3EEPROM ka tre çipa të zakonshëm EEPROM: DS2431 (1-Wire), 24AA- (I2C) dhe 25AA- (SPI). Të tre u demonstruan më parë në Hack a Day, por secila demonstrim përdor një version të ndryshëm të harduerit dhe firmware -it të Bus Pirate, është e vështirë për një fillestar të ndjekë duke përdorur një Bus Pirate v2go. Vazhdoni të lexoni për një udhëzues të përditësuar, hap pas hapi të përdorimit DS2431, 24AA-, dhe 25AA- EEPROM me Autobus Pirate v2go. Ne gjithashtu kemi regjistrat e plotë të sesioneve si skedarë teksti, kështu që ju nuk do të humbisni një detaj të vetëm. Ne mund të kemi PCB të bordit të eksploruesit 3EEPROM ose komplete të prodhuara në Seeed Studio. PCB -të janë rreth 10 dollarë, komplete janë rreth 15 dollarë, të transportuara në të gjithë botën. Ne duhet të organizojmë një blerje në grup prej 10 PCB ose 20 komplete për të filluar. Nëse jeni të interesuar për një Pirate Bus, versioni 3 po vjen. Unë nuk mund të përfshija disa elementë formatimi dhe tabela HTML në një Instructable, ju mund të shihni postimin origjinal në blogun e Prototipave të Rrezikshëm.

Hapi 1: 3EEPROM Përmbledhje e harduerit

3EEPROM Përmbledhje e harduerit
3EEPROM Përmbledhje e harduerit
3EEPROM Përmbledhje e harduerit
3EEPROM Përmbledhje e harduerit
3EEPROM Përmbledhje e harduerit
3EEPROM Përmbledhje e harduerit

Qëllimi i këtij prototipi është të mësojë rreth EEPROM dhe tre protokolleve të zakonshëm të autobusëve. Së pari, ne shikojmë PCB 3EEPROM, pastaj demonstrojmë çdo EEPROM duke përdorur një mjet ndërfaqeje serike universale Bus Pirate. Nëse nuk keni një Pirate Bus, ju prapë mund të ndiqni sepse rendi bazë i operacioneve të ndërfaqes mbetet i njëjtë pavarësisht se si i zbatoni ato. Skema skematike e përmasave të plota [PNG]. Ne bëmë qarkun dhe PCB duke përdorur versionin falas të Cadsoft Eagle. Ju mund të shkarkoni skemën dhe PCB-në nga arkivi Bus Pirate SVN. PCB 3EEPROM mban një DS2431 1-Wire EEPROM (IC1), një 24AA-I2C EEPROM (IC4) dhe një 25AA-SPI EEPROM (IC5). DS2431 (IC1) merr energji parazitisht nga autobusi 1-Wire, nuk ka një kunj të jashtëm të furnizimit me energji dhe nuk kërkon një kondensator shkëputjeje. IC2 dhe IC3 janë pika boshe për pajisje shtesë 1-Wire, si një tjetër DS2431 ose një sensor i temperaturës DS1822. C1 (0.01uF) është opsionale dhe nevojitet vetëm nëse IC2 ose IC3 janë të mbushur me një pajisje 1-Wire të fuqizuar. 1-Wire kërkon një rezistencë të fortë tërheqëse, një maksimum prej 2.2K Ohm. Rezistencat tërheqëse të Pirate Bus janë 10K, shumë të dobëta për të fuqizuar siç duhet DS2431 gjatë shkrimeve. Bordi i eksploruesit 3EEPROM përfshin një rezistencë tërheqëse 1.8khm, 1/8 vat (R1) në autobusin 1-Wire, në mënyrë që të mos ketë nevojë për rezistencë shtesë tërheqëse. 24AA- (IC4) dhe 25AA- (IC5) secili merr një kondensator 0.1uF për t’i shkëputur nga furnizimi me energji (C2, C3). Ju ndoshta nuk keni nevojë për kondensatorët në një qark kaq të thjeshtë, ne i kemi hequr ato nga bordi prototip në demonstrim. Autobusi I2C i përdorur nga 24AA- gjithashtu kërkon rezistencë tërheqëse, por rezistencat tërheqëse në bord të Pirate Bus 10K ohm janë të mjaftueshme. Të gjithë përbërësit do të funksionojnë nga 2.8 volt deri në 5 volt DC. Qarku mundësohet përmes kunjave VCC dhe GND të bluzës 3. Ka dy kunja VCC, njëra është për energji, tjetra është për pinin e hyrjes së tensionit të rezistencës tërheqëse të Bus Pirate (Vpullup). PCBNe bëmë qarkun dhe PCB version falas i Cadsoft Eagle. Ju mund të shkarkoni skemën dhe PCB nga arkivi Bus Pirate SVN. Nëse dëshironi një komplet PCB ose 3EEPROM të përgatitur profesionalisht, ne mund të jemi në gjendje të organizojmë një blerje në grup nëse janë të interesuar 10 ose 20 persona. Lista e pjesëve R1 Rezistencë 1800 ohm (1/8 vat) C2, 3 kondensator 0.1uF/10volts+JP1-4 Kreu mashkullor me kunj 0.1 "IC1 DS2431 1K 1-tela EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 Fole 8-pin DIP për IC5, 6 ** IC4, IC5 mund të jenë të çdo madhësie, të lidhur me patate të skuqura të vogla, kemi përdorur 128bajt dhe 128Kbajt. Nuk mund të përfshija disa tabela formatimi dhe HTML në një Instructable, ju mund të shihni postimin origjinal në blogun e Prototipave të Rrezikshëm.

Hapi 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

Të gjitha demonstrimet e EEPROM duken pothuajse njësoj. Ne do t'i shkruajmë disa numra çipit, dhe pastaj do t'i lexojmë ato. Çdo pajisje ka kushte që zbatohen sapo të doni të shkruani më shumë se disa vlera, të tilla si madhësia e faqes dhe kufizimet kufitare. Lexoni më shumë për këto në fletën e të dhënave për pajisjen tuaj specifike. Nëse nuk mund të merrni një demonstrim për të punuar, shkarkoni regjistrin e plotë të terminalit në mënyrë që të mos humbisni një gjë të vetme që bëmë. Rezistentët tërheqës janë problemi më i zakonshëm, kontrolloni tensionin e kunjit tërheqës duke përdorur menunë 'v' në terminalin Pirate Bus. Chip: 25AA, SPI EEPROM (1Kbyte). Autobusi: SPI. Rezistencat tërheqëse kërkohen vetëm për ndërlidhjen e tensionit të përzier. Kërkesat e energjisë: 1.8 volt në 5.5 volt (AA), 2.5 volt në 5.5 volt (LC). Referencat: fletë e të dhënave, demonstrim Hack një Ditë. Regjistri i sesionit të plotë të Pirate Bus për këtë demonstrim. Nuk mund të përfshija disa tabela të formatimit dhe HTML në një Instructable, ju mund ta shihni origjinalin në blogun e Prototipave të Rrezikshëm. IC5 është një seri 25AA I2C EEPROM nga Microchip, këto EEPROM vijnë në një ton madhësish. Pjesët AA shkojnë nga 1.8 volt në 5.5 volt, ndërsa pjesët 25LC kanë kërkesën minimale 2.5 volt. C3 (0.1uF) shkëput SPI EEPROM nga furnizimi me energji elektrike. Kunjat e mbrojtjes së shkrimit (WP) dhe mbajtjes mund të kontrollohen nga një mikrokontrollues, por ne i çaktivizuam ato duke i mbajtur këto kunja lart. Kunjat e autobusit SPI, CS, DO, CLK dhe DI, sillen në kokën JP4. Konfigurimi Nëse jeni duke përdorur një Pirate Bus, lidheni atë me 3EEPROM ose 25AA-IC siç tregohet në imazhin e grafikut më poshtë. SPI normalisht nuk kërkon rezistorë tërheqës. Ndërfaqja Në terminalin Pirate Bus bus 'm' për menunë e modalitetit dhe zgjidhni SPI. Konfiguroni bibliotekën SPI për daljen normale të kunjit, përdorni standardet për të gjitha cilësimet e tjera të modalitetit SPI. Aktivizoni furnizimet me energji ("W" të madhe) në kërkesën e modalitetit SPI. Së fundi, merrni një raport të tensionit për t'u siguruar që furnizimet me energji po punojnë ('v'). Ne do të demonstrojmë se si të ndërlidhim EEPROM drejtpërdrejt në 3.3 volt duke përdorur bibliotekën SPI në modalitetin normal pin. Rezistorët tërheqës nuk kërkohen për këtë demonstrim. Nëse dëshironi të ndërlidhni një EEPROM të mundësuar nga 5 volt, përdorni bibliotekën SPI në modalitetin e kunjit të kolektorit të hapur (HiZ) dhe aktivizoni rezistencat tërheqëse me kunjin Vpullup (Vpu) të lidhur me furnizimin me energji të EEPROM. Hapi 1, çaktivizo shkrimin-mbrojtjen 'SPI> [0b110] CS ÇAJTUAR <<< chip zgjidhni aktivizuar SHKRIM: 0x06 <<< çaktivizo komandën e mbrojtjes së shkrimitCS DISABLED <<25AA- është e mbrojtur nga shkrimi gjatë ndezjes. Zgjidhni çipin e poshtëm (CS) ([), dërgoni komandën e mbrojtjes së shkrimit të çaktivizuar (0x06) dhe pastaj ngrini CS (] për të mundësuar shkrimet në EEPROM. Komanda e çaktivizimit të shkrimit të mbrojtjes është 0b00000110 në binar, por ne mund ta shkurtojmë atë 0b110 dhe Pirati i autobusit ende e kupton. Hapi 2, shkruani disa vlera 'SPI> [0b10 0 3 2 1] CS ÇAJTUAR <<< çipi i zgjedhur i aktivizuarShkruani: 0x02 <<< shkruani komandënShkruani: 0x00 <<< shkruani adresën e fillimitShkruani: 0x03 <<< 3 vlera për të shkruar (3, 2, 1) SHKRUAJ: 0x02 SHKRUAJ: 0x01CS PAKTUAR <<Tani EEPROM është e shkruar. Së pari, ulni CS për të aktivizuar 25AA- ([). Tjetra, dërgoni komandën e shkrimit (0x02) dhe vendndodhjen për të filluar shkrimin (0). Dërgoni të dhënat në ruajtje (3 2 1), pastaj ngrini CS (]) për të ruajtur vlerat. Shënim: ne përdorëm një EEPROM të vogël 128 byte, çipat më të mëdhenj do të përdorin një adresë 16bit (2 bajt). Kjo komandë do të ishte [0b10 0 '' '0' '' 3 2 1] për EEPROM -të më të mëdha se 256bajt, shënoni të dytin 0. Kontrolloni fletën e të dhënave për EEPROM -in tuaj për të qenë të sigurt. Hapi 3, lexoni vlerat mbrapa SPI> [0b11 0 r: 3] CS ÇAJTUAR <<< çipi i zgjedhur i aktivizuarShkruani: 0x03 <<< komandën e leximitShkruani: 0x00 <<< lexoni adresën e fillimitBULK READ 0x03 BYTES: <<< lexoni 3 vlera0x03 0x02 0x01CS I PAKTUAR <<Së fundi, lexoni të dhënat përsëri për të verifikuar që shkrimi ishte i suksesshëm. Zgjidhni 25AA- ([), dërgoni komandën e leximit (0x03) dhe filloni adresën (0), dhe pastaj lexoni tre vlera (r: 3). Ngrini CS për të përfunduar transaksionin (]). Vlerat përputhen, shkrimi ishte i suksesshëm. Shënim: ne përdorëm një EEPROM të vogël 128 byte, çipat më të mëdhenj do të përdorin një adresë 16bit (2 bajt). Kjo komandë do të ishte [0b11 0 '' '0' '' 'r: 3] për EEPROM -të më të mëdha se 256bajt, shënoni të dytin 0. Kontrolloni fletën e të dhënave për EEPROM -in tuaj për të qenë të sigurt.

Hapi 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

Çipi: 24AA, I2C EEPROM (1Kbyte). Autobusi: I2C, kërkohen rezistorë tërheqës. Kërkesat e energjisë: 1.8 volt deri në 5.5 volt (24AA), 2.5 volt në 5.5 volt (24LC). Referencat: fletë e të dhënave, demonstrim Hack a Day. Regjistri i plotë i sesionit të Bus Pirate për këtë demonstrim. Unë nuk mund të përfshija disa tabela të formatimit dhe HTML në një Instructable, ju mund të shihni origjinalin në blogun e Prototipeve të Rrezikshëm. IC4 është një seri 24AA I2C EEPROM nga Microchip, këto EEPROM vijnë në një ton të madhësive. Pjesët AA punojnë nga 1.8 volt në 5.5 volt, ndërsa pjesët 24LC kanë një kërkesë minimale 2.5 volt. Një kondensator 0.1uF (C2) shkëput IC4 nga furnizimi me energji elektrike. Pina mbrojtëse e shkrimit (WP) mund të kontrollohet nga një mikrokontrollues, por për këtë demonstrim të thjeshtë ne e çaktivizojmë atë me një lidhje me tokën. Kunjat e autobusit I2C, SDA dhe SCL, nxirren në kokën JP2. Adresa e shumicës së EEPROM -ve 24AA është 1010AAAS, me katër bitët e fundit të përcaktuar nga kunjat e adresave (A0, A1, A2) dhe bitin e zgjedhur të modalitetit të leximit/shkrimit (S) Të gjitha bitet e adresave janë të bazuara në këtë shembull, kështu që adresa e shkrimit të EEPROM është 10100000 (fleta e të dhënave faqe 6). Konfigurimi Nëse jeni duke përdorur një Pirate Bus, lidheni atë me 3EEPROM ose 24AA-IC siç tregohet në imazhin e grafikut më poshtë. I2C është një autobus dydrejtimësh që kërkon rezistorë tërheqës në të dy kunjat. Ju mund të përdorni rezistencat e tërheqjes në bord të Pirate Bus duke lidhur pinin Vpullup (Vpu) me furnizimin me energji 3.3volt dhe duke i mundësuar ato në terminal. Shënim ndërlidhës: Jo të gjithë EEPROM -et e I2C funksionojnë njësoj. 24AA01 i vogël, për shembull, ka një sistem adresimi dhe komandimi krejtësisht të ndryshëm. Sigurohuni që të kontrolloni fletën e të dhënave për çipin tuaj. Shtypni 'm' në terminalin Pirate Bus dhe zgjidhni I2C nga menyja e modalitetit. Aktivizoni furnizimet me energji ("W" të madhe) dhe rezistorët tërheqës ("p", opsioni 2) në kërkesën I2C. Merrni një raport tensioni ('v') për t'u siguruar që furnizimet me energji elektrike janë të ndezura dhe kunja Vpullup është e lidhur me një tension. I2C> (0) <<(1) <<< përdorni makro kërkimi të adresës Kërkimi i hapësirës së adresës 7bit I2C. Pajisjet e gjetura në: 0xA0 0xA1 <<Ne tashmë e dimë se adresa I2C është 10100000, por ne gjithashtu mund të përdorim makron e kërkimit të I2C të Pirate Bus (1) për të kërkuar 24AA-. Makroja e kërkimit e gjeti pajisjen në adresat e pritshme të shkrimit (0xA0) dhe leximit (0xA1). Hapi 1, shkruani disa vlera I2C> [0b10100000 0 0 3 2 1] I2C KUSHTI I FILLIMIT <<< I2C gjendja e fillimitShkruani: 0xA0 KA ACK: PO <<< 24AA- shkruani adresën SHKRUAJ: 0x00 KA AKTIVITET: PO <<< shkruani adresën bajt 1 SHKRUAJ: 0x00 GOT ACK: PO <<< shkruaj adresa byte 2WRITE: 0x03 GOT ACK: PO <<< 3 vlera për të shkruar (3, 2, 1) SHKRUAJ: 0x02 GJITH AC AKK: PO PRRSHTIM: 0x01 GJET AKTO: YESI2C STOP KUSHTET < <Filloni të shkruani me një kusht fillimi I2C ([), i ndjekur nga adresa e shkrimit 24AA (0xa0). Tjetra, dërgoni adresën 16bit për të shkruar në (0 0) dhe të dhënat për të shkruar (3 2 1). Përfundoni transaksionin I2C me një kusht ndalimi (]). Hapi 2, poziciononi treguesin e leximit I2C> [0b10100000 0 0] KUSHTI I FILLIMIT I2C <<< I2C gjendja e fillimitShkruani: 0xA0 KA ACK: PO <<< 24AA- shkruani adresën SHKRUAJ: 0x00 KA AKTIVITET: PO <<< shkruani adresën byte 1Shkruani: 0x00 KA ACK: PO <<< shkruani adresën byte 2I2C STOP KUSHTET <<Duhen dy operacione për të lexuar nga 24AA-. Njëri pozicionon treguesin e leximit/shkrimit, tjetri kthen vlerat. Filloni me një kusht të fillimit I2C ([) dhe adresën e shkrimit (0xa0). Dërgo adresën 16bit për të lexuar (0 0), dhe pastaj kushtin e ndalimit (]). Ne nuk dërguam asnjë të dhënë për të shkruar këtë herë, ne vetëm e pozicionuam treguesin e leximit/shkrimit në fillim të të dhënave që kemi shkruar në hapin 1. Hapi 3, lexoni disa vlera I2C> [0b10100001 r: 3] KUSHTI I FILLIMIT I2C <<< I2C kushti i fillimit SHKRUAJ: 0xA1 KA ACK: PO <<< 24AA- adresa e lexuarBULK LEXO 0x03 BYTES: <<< lexo 3 vlera0x03 0x02 0x01I2C STOP KUSHTET <<Hapi 2 vendosni treguesin e leximit/shkrimit në fillim të të dhënave që duam të lexojmë. Tani mund t'i lexojmë të dhënat duke përdorur adresën e leximit 24AA. Filloni me kushtin e fillimit të I2C ([) dhe adresën e leximit të 24AA (0xa1). Lexoni tre vlerat që kemi shkruar në hapin 1 (r: 3) dhe përfundoni me një kusht ndalues (]). Nëse vlerat përputhen, atëherë shkrimi juaj ishte i suksesshëm.

Hapi 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

Çip: DS2431, 1-wire EEPROM (1Kbyte). Autobus: 1-Wire, <2.2Kohm rezistencë tërheqëse e nevojshme. Kërkesat e energjisë: 2.8 volt deri në 5.25 volt. Referencat: fletë e të dhënave, demonstrim Hack a Day. Plotësoni regjistrin e sesionit të Pirate Bus për këtë demonstrim. Unë nuk mund të përfshija disa tabela formatimi dhe HTML në një Instructable, mund ta shihni origjinalin në blogun e Prototipeve të Rrezikshëm. DS2431 merr energji nga rezistenca tërheqëse dhe nuk ka nevojë për një furnizim të jashtëm ose kondensator shkëputës Me 1-Wire ka nevojë për një rezistencë të fortë tërheqëse, maksimumi 2.2Kohms. Rezistencat tërheqëse të Pirate Bus janë 10K, shumë të dobëta për të fuqizuar siç duhet DS2431 gjatë shkrimeve. Duhet të përdorni një rezistencë të jashtme 2.2Koh ose më të vogël midis fuqisë dhe pinit të autobusit 1-Wire. Nëse keni vështirësi në shkrimin e të dhënave, sigurohuni që rezistenca juaj tërheqëse të jetë mjaft e madhe. Bordi eksplorues 3EEPROM përfshin një rezistencë tërheqëse 1800 ohm (R1) në autobusin 1-Wire kështu që nuk nevojitet një rezistencë e jashtme. Konfigurimi Nëse jeni duke përdorur një Pirate Bus, lidheni atë me bordin 3EEPROM ose DS2431 siç tregohet në imazhin e grafikut më poshtë. DS2431 nuk kërkon pin të furnizimit me energji elektrike, përdoret në tabelën 3EEPROM për të fuqizuar rezistencën e madhe tërheqëse për autobusin 1-Wire. Ndërfaqja Shtypni 'm' në terminalin Pirate Bus dhe zgjidhni modalitetin 1-Wire. Aktivizoni furnizimet me energji në bord ("W" e madhe) dhe kontrolloni monitorin e tensionit (v). Hapi 1, gjeni adresën e pajisjes 1-WIRE> (0xf0) <<< 1-Makro kërkimi me tel 1KOMANDA E ROMIT WIRE: KARRKONI (0xF0) Pajisjet e gjetura në: Adresa Makro 1WIRE1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 ID unike*DS2431 1K EEPROM <<Çdo pajisje 1-Wire ka një ID unike prej 8 bajtësh. 1-Wire ka një procedurë kërkimi që zbulon ID-në e të gjitha pajisjeve të bashkangjitura. Pirati i autobusëve zbaton kërkimin me 1 tela si makro (240). Shkruani '(240)' në terminalin Pirate Bus për të filluar kërkimin 1-Wire. Çdo adresë e pajisjes është e shtypur, pajisjet e njohura janë identifikuar. Dhjetë adresat e para të pajisjes 1-Wire ruhen si makro, në këtë shembull adresa jonë DS2431 është e disponueshme duke shtypur '(1)' në terminal. Hapi 2, shkruani 8 byte në bllokun e gërvishtjes 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< gjithashtu {komanda 1WIRE WRITE ROM COMMAND: MATCH (0x55) * ndiqni me adresën 64bit: 0x08 <<Tjetra ne do të shkruajmë 8 bajtë në një vend të përkohshëm në DS2431 të quajtur gërvishtës. Filloni transaksionin me një rivendosje të autobusit 1-Wire dhe komandën MATCH (0x55). Të dyja janë në dispozicion si makro '(0x55)'. Kjo gjithashtu mund të bëhet pa makro duke shtypur '{0x55', {dërgon rivendosjen e 1-Wire, 0x55 është komanda MATCH 1-Wire. Pas komandës MATCH, dërgoni ID-në 8 bajt të pajisjes në adresë. Ne përdorëm makro (1) e cila ishte e populluar me ID DS2431 në hapin 1. Ju gjithashtu mund të futni manualisht ID -në 8 bajt. Në këtë pikë, DS2431 duhet të ketë marrë adresën e saj dhe të jetë gati për komanda. Dy bajtët e tjerë tregojnë se ku t'i vendosim të dhënat, ne do t'i ruajmë në fillim (0 0). Së fundi, ne dërgojmë 8 byte vlerash për të ruajtur, numrat 8 në 1. Ju duhet të shkruani një plot 8 bajtë në DS2431. Për më tepër, adresa e shkrimit duhet të jetë në një kufi prej 8 bajtësh. Shihni fletën e të dhënave për një përmbledhje të plotë të kufizimeve të shkrimit. Hapi 3, verifikoni bllokun e gërvishtjes dhe merrni kodin e autorizimit 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< adresoni pajisjen1KOMANDIMI I WIRE WRITE ROM: MATCH (0x55) *ndiqni me adresën 64bit 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK LEXO 0x02 BYTES: <<< CRC për të dhënat0xC8 0x86BULK LEXO 0x02 BYTES: <<Verifikoni që të dhënat janë marrë në mënyrë korrekte dhe merrni një kod autorizimi për të shkruar. Filloni përsëri me një rivendosje 1-Wire dhe makro komande MATCH (0x55), dhe makro adresën e pajisjes (1). Këtë herë dërgoni komandën DS2431 read scratch pad (0xAA), dhe pastaj lexoni gjithsej 15 bajtë. 3 bajtët e parë të lexuar (r: 3) janë kodi i autorizimit të shkrimit, do të na duhet në hapin tjetër për të kopjuar jastëk gërvishtës në EEPROM. 8 bajtët e ardhshëm (r: 8) duhet të përputhen me të dhënat që kemi dërguar në hapin 2. 2 bajtët e fundit (r: 2) janë një CRC16 për të dhënat. Lexon pasi CRC i kthen të gjitha 1 -të. Hapi 4, shkruani bllokun e gërvishtjes në EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< adresoni pajisjen1KOMANDIMI I ROMIT TR SHKRUAR TOM ROMIT: MATCH (0x55) *ndiqni me adresë 64bit1 Adresa adresa WIRE 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< kopjoni komandën e bllokut të gërvishtjesShkruani: 0x00 <<< 3 byte kod autorizimi nga hapi 3Shkruani: 0x00WRITE: 0x071-WIRE> Ne kemi gjithçka që na nevojitet për të ruajtur përgjithmonë të dhënat e gërvishtjes EEPROM. Adresoni pajisjen, më pas dërgoni komandën e shkopit të kopjimit DS2431 (0x55) e ndjekur nga kodi i autorizimit të tre bajtëve që morëm në hapin 3 (0x00 0x00 0x07). Nëse kodi i autorizimit është i saktë, të dhënat zhvendosen në EEPROM. Hapi 5, verifikoni bllokun e gërvishtjes shkruani 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< adresoni pajisjen 0xD 2DS2431 cakton pjesën më të lartë të kodit të autorizimit të shkrimit pas një komande të suksesshme të kopjimit të gërvishtjes. Dërgoni një komandë tjetër të lexuar të gërvishtjes (0xAA) për të marrë kodin e përditësuar të autorizimit, por thjesht lexoni tre bajtët e parë (r: 3). Vlera e mëparshme 0x07 ka ndryshuar në 0x87, komanda e kopjimit është marrë me sukses. Hapi 6, lexoni sërish vlerat 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< adresoni pajisjen1KOMANDA ROMI WIRE WRITE ROM: MATCH (0x55) *ndiqni me adresë 64bit1 Adresa e makinës WIRE 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 read commandWRITE: 0x00 <<< 2 byte adresa e shkruar 0x08 BYTES: <<Verifikoni shkrimin e punuar siç duhet duke marrë vlerat. Adresoni DS2431, pastaj dërgoni komandën e leximit (0xf0) dhe adresën për të lexuar nga (0x00 0x00). Possibleshtë e mundur të lexoni të gjithë gamën e kujtesës me një komandë të vetme. Ne lexojmë tetë bajtët që kemi shkruar më herët (r: 8), të cilët kthenin vlerat e pritura. Tetë bajtët përtej këtyre vlerave nuk janë shkruar dhe kthejnë 0.

Hapi 5: Përfundimi

Përfundim
Përfundim

Ky prototip mëson për kujtesën EEPROM dhe demonstron se si të përdorni Bus Pirate me tre protokolle të përbashkëta: 1-Wire, I2C dhe SPI. Bordi eksplorues 3EEPROM siguron lidhjet e duhura me secilin EEPROM dhe siguron një rezistencë të jashtme tërheqëse për autobusi më i kërkuar 1-Wire me komponentë me energji parazitare. Ne mund të kemi PCB ose komplete të bordit 3EEPROM explorer të prodhuara në Seeed Studio. PCB -të janë rreth 10 dollarë, komplete janë rreth 15 dollarë, të transportuara në të gjithë botën. Ne duhet të organizojmë një blerje në grup prej 10 PCB ose 20 komplete për të filluar.

Recommended: