INHOUDSOPGAWE:

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

Video: Bus Pirate 3EEPROM Explorer Board: 5 stappe

Video: Bus Pirate 3EEPROM Explorer Board: 5 stappe
Video: 30 Days to SPEAK ENGLISH FLUENTLY - Improve your English in 30 Days - English Speaking Practice 2024, November
Anonim
Bus Pirate 3EEPROM Explorer Board
Bus Pirate 3EEPROM Explorer Board

Wat doen u daarmee as u een van Hack a Day's Bus Pirates het? Leer meer oor 1-draads, I2C en SPI EEPROM's met die 3EEPROM ontdekkingsbord (ons noem dit die THR-EE-PROM). EEPROM is 'n tipe geheue-skyfie wat data stoor sonder 'n deurlopende kragtoevoer. Dit is handig vir permanente stoor van data in klein loggerbane of om persoonlike bladsye in 'n mini -webbediener te hou. EEPROM's kom in baie groottes en protokolle voor. Die 3EEPROM het drie algemene EEPROM-skyfies: die DS2431 (1-draad), 24AA- (I2C) en 25AA- (SPI). Al drie is voorheen op Hack a Day gedemonstreer, maar elke demo gebruik 'n ander weergawe van die Bus Pirate -hardeware en firmware, wat vir 'n beginner moeilik is om te volg met behulp van 'n Bus Pirate v2go. die DS2431, 24AA- en 25AA- EEPROM's met die Bus Pirate v2go. Ons het ook die volledige sessie -logboeke as tekslêers, sodat u nie 'n enkele detail sal misloop nie. Ons kan 3EEPROM -ontdekkingsbord -kaarte of kits by Seeed Studio laat vervaardig. PCB's is ongeveer $ 10, kits is ongeveer $ 15, wêreldwyd gestuur. Ons moet 'n groepaankoop van 10 PCB's of 20 kits reël om aan die gang te kom. As u belangstel in 'n Bus Pirate, kom weergawe 3. Ek sou 'n paar opmaakelemente en HTML -tabelle nie in 'n Instructable kon insluit nie; u kan die oorspronklike pos op die blog Dangerous Prototypes sien.

Stap 1: 3EEPROM hardeware -oorsig

3EEPROM hardeware -oorsig
3EEPROM hardeware -oorsig
3EEPROM hardeware -oorsig
3EEPROM hardeware -oorsig
3EEPROM hardeware -oorsig
3EEPROM hardeware -oorsig

Die doel van hierdie prototipe is om te leer oor EEPROM en drie algemene busprotokolle. Eerstens kyk ons na die 3EEPROM PCB, dan demonstreer ons elke EEPROM met behulp van 'n universele seriële koppelvlakhulpmiddel van Bus Pirate. As u nie 'n Bus Pirate het nie, kan u steeds volg, want die basiese volgorde van koppelvlakbedrywighede bly dieselfde, ongeag hoe u dit implementeer. CircuitFull size schematic [PNG]. Ons het die kring en PCB gemaak met behulp van die freeware -weergawe van Cadsoft Eagle. U kan die skematiese en PCB aflaai van die Bus Pirate SVN argief. Die 3EEPROM PCB het 'n DS2431 1-Wire EEPROM (IC1), 'n 24AA- I2C EEPROM (IC4) en 'n 25AA- SPI EEPROM (IC5). IC1) trek krag parasities uit die 1-draads bus, dit het nie 'n eksterne kragpen nie en benodig nie 'n ontkoppelingskondensator nie. IC2 en IC3 is leë plekke vir bykomende 1-draads toestelle, soos 'n ander DS2431 of 'n DS1822 temperatuursensor. C1 (0.01uF) is opsioneel en slegs nodig as IC2 of IC3 gevul is met 'n aangedrewe 1-draads toestel. 1-draad benodig 'n sterk optrekweerstand, maksimum 2.2K ohm. Die Bus Pirate se optrekweerstands aan boord is 10K, te swak om die DS2431 tydens skryfwerk behoorlik van krag te maak. Die 3EEPROM verkennerbord bevat 'n 1.8k ohm, 1/8 watt optrekweerstand (R1) op die 1-draads bus, sodat geen ekstra optrekweerstand nodig is nie. Die 24AA- (IC4) en 25AA- (IC5) elkeen kry 'n 0.1uF kapasitor om hulle van die kragtoevoer (C2, C3) te ontkoppel. U het waarskynlik nie die kapasitors in so 'n eenvoudige stroombaan nodig nie; ons het dit uit die prototipe in die demonstrasie weggelaat. Die I2C-bus wat deur die 24AA- gebruik word, benodig ook optrekweerstands, maar die Bus Pirate se aan boord 10K ohm optrekweerstands is voldoende. Al die komponente werk van 2.8volts tot 5volts DC. Die stroombaan word aangedryf deur die VCC- en GND-penne van jumper 3. Daar is twee VCC-penne, die een is vir krag, die ander is vir die Bus Pirate se insetspeld (Vpullup) van die Bus Pirate. freeware weergawe van Cadsoft Eagle. U kan die skematiese en PCB -aflaai van die Bus Pirate SVN -argief aflaai. As u 'n professioneel voorbereide PCB- of 3EEPROM -kit wil hê, kan ons moontlik 'n groepsaankoop reël as 10 of 20 mense belangstel. Onderdele lys R1 1800 ohm weerstand (1/8 watt) C2, 3 0.1uF kapasitor/10volts+JP1-4 0.1 "manlike penkop IC1 DS2431 1K 1-draad EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8-pins DIP-aansluiting vir IC5, 6 ** IC4, IC5 kan enige grootte wees, ons het gekoppel aan klein skyfies, ons het 128bytes en 128Kbytes gebruik. Ek kon nie 'n paar formatering- en HTML-tabelle insluit nie in 'n Instructable, kan u die oorspronklike pos op die blog Dangerous Prototypes sien.

Stap 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

Alle EEPROM -demos lyk amper dieselfde. Ons skryf 'n paar nommers op die skyfie en lees dit dan. Elke toestel het voorwaardes wat van toepassing is sodra u meer as 'n paar waardes wil skryf, soos bladsygrootte en grensbeperkings. Lees meer hieroor in die datablad vir u spesifieke toestel. As u nie 'n demonstrasie kan laat werk nie, laai die volledige terminale log af, sodat u niks misloop wat ons gedoen het nie. Trekweerstands is die algemeenste probleem; kyk na die trekpen-spanning met behulp van menu 'v' in die Bus Pirate-terminal. Chip: 25AA, SPI EEPROM (1Kbyte). Bus: SPI. Oprolweerstands word slegs benodig vir gemengde spanningskoppelvlak. Kragvereistes: 1.8volts tot 5.5volts (AA), 2.5volts tot 5.5volt (LC). Verwysings: datablad, Hack a Day-demonstrasie. Voltooi Bus Pirate-sessielogboek vir hierdie demonstrasie. Ik kon nie 'n paar formatering- en HTML-tabelle in 'n Instructable insluit nie; u kan die oorspronklike op die Dangerous Prototypes-blog sien. IC5 is 'n 25AA-reeks I2C EEPROM van Microchip, hierdie EEPROM's kom in 'n groot aantal groottes. AA-onderdele loop van 1.8volts tot 5.5volts, terwyl die 25LC-dele 'n minimum vereiste van 2.5volt het. C3 (0.1uF) ontkoppel die SPI EEPROM van die kragtoevoer. Die skryfbeskerming (WP) en hou penne kan deur 'n mikrobeheerder beheer word, maar ons het dit uitgeskakel deur hierdie penne hoog te hou. Die SPI -buspenne, CS, DO, CLK en DI word na kop JP4 gebring. Opstelling As u 'n Bus Pirate gebruik, koppel dit aan die 3EEPROM of 25AA-IC soos in die onderstaande grafiekafbeelding getoon. SPI benodig gewoonlik nie optrekweerstands nie. Koppelvlak Druk in die Bus Pirate -terminale op 'm' vir die moduskieslys en kies SPI. Stel die SPI -biblioteek op vir normale pin -uitvoer, gebruik die standaardinstellings vir alle ander SPI -modusinstellings. Aktiveer die kragtoevoer (groot 'W') tydens die SPI -modusaanwysing. Laastens, kry 'n spanningsverslag om seker te maak dat die kragtoevoer werk ('v'). Ons gaan demonstreer hoe u die EEPROM direk met 3.3V kan koppel met behulp van die SPI -biblioteek in die normale penmodus. Oprolweerstande is nie nodig vir hierdie demo nie. As u 'n EEPROM met 5 volt wil koppel, gebruik die SPI-biblioteek in die open collector (HiZ) penmodus en aktiveer die optrekweerstands met die Vpullup-pin (Vpu) wat gekoppel is aan die EEPROM se kragtoevoer. Stap 1, skakel skryfbeskerming uit 'SPI> [0b110] CS ENABLED <<< chip select enabled enabled SKRYF: 0x06 <<< deaktiveer skryfbeskerm-opdrag CS GESKAKELD <<Die 25AA- is beskerm teen beveiliging teen skryf. Verlaag die chip -seleksie (CS) ([), stuur die bevel vir skryfbeskerming deaktiveer (0x06) en verhoog dan CS (]) om skryfwerk aan die EEPROM moontlik te maak. 0b110 en die Bus Pirate verstaan nog steeds. Stap 2, skryf 'n paar waardes 'SPI> [0b10 0 3 2 1] CS ENABLED <<< chip select enabled enabled SKRYF: 0x02 <<< skryf opdrag SKRYF: 0x00 <<< skryf begin adres SKRYF: 0x03 <<< 3 waardes om te skryf (3, 2, 1) SKRYF: 0x02 SKRYF: 0x01CS UITGESKAKEL <<Nou is die EEPROM skryfbaar. Verlaag eers CS om die 25AA- ([) te aktiveer. Stuur dan die skryfopdrag (0x02) en die plek om te begin skryf (0). Stuur die data na die stoor (3 2 1), en verhoog dan CS (]) om die waardes te stoor. Let wel: ons het 'n klein 128 byte EEPROM gebruik, groter skyfies gebruik 'n 16 -bis (2 byte) adres. Hierdie opdrag is [0b10 0 '' '0' '' 3 2 1] vir EEPROM's groter as 256 bytes, let op die tweede 0. Gaan die datablad van u EEPROM na om seker te wees. Stap 3, lees waardes terug SPI> [0b11 0 r: 3] CS ENABLED <<< chip select enabled enabled SKRYF: 0x03 <<< lees opdrag SKRYF: 0x00 <<< lees begin adres BULK LEES 0x03 BYTES: <<< lees 3 waardes0x03 0x02 0x01CS GESKAKEL <<Lees laastens die data terug om te verifieer dat die skryf suksesvol was. Kies die 25AA- ([), stuur die leesopdrag (0x03) en beginadres (0) en lees dan drie waardes (r: 3). Verhoog CS om die transaksie te voltooi (]). Die waardes stem ooreen, die skryfwerk was suksesvol. Let wel: ons het 'n klein 128 byte EEPROM gebruik, en groter skyfies gebruik 'n 16bit (2 byte) adres. Hierdie opdrag is [0b11 0 '' '' 0 '' 'r: 3] vir EEPROM's groter as 256bytes, let op die tweede 0. Kontroleer die datablad vir u EEPROM om seker te wees.

Stap 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

Chip: 24AA, I2C EEPROM (1Kbyte). Bus: I2C, optrekweerstande benodig. Kragvereistes: 1.8volts tot 5.5volts (24AA), 2.5volts tot 5.5volt (24LC). Verwysings: datablad, Hack a Day-demonstrasie. Volledige Bus Pirate-sessielogboek vir hierdie demonstrasie. Ek kon nie 'n paar opmaak- en HTML-tabelle in 'n Instructable insluit nie; u kan die oorspronklike op die Dangerous Prototypes-blog sien. IC4 is 'n 24AA-reeks I2C EEPROM van Microchip, hierdie EEPROM's kom in 'n ton groottes. AA-onderdele werk van 1.8volts tot 5.5volts, terwyl die 24LC-dele 'n minimumvereiste van 2.5volt het. 'N 0.1uF-kondensator (C2) ontkoppel IC4 van die kragtoevoer. Die skryfbeskermingspen (WP) kan vanaf 'n mikrobeheerder beheer word, maar vir hierdie eenvoudige demonstrasie skakel ons dit uit met 'n verbinding met die grond. Die I2C -buspenne, SDA en SCL, word na kop JP2 gebring. Die adres van die meeste 24AA EEPROM's is 1010AAAS, met die laaste vier bisse bepaal deur die adrespenne (A0, A1, A2) en die lees/skryfmodus kiesbit (S). Al die adresstukke is gegrond in hierdie voorbeeld, dus is die skryfadres van die EEPROM 10100000 (datablad bladsy 6). Opstelling As u 'n Bus Pirate gebruik, koppel dit aan die 3EEPROM of 24AA-IC soos in die onderstaande grafiekafbeelding getoon. I2C is 'n tweerigtingbus wat optrekweerstands aan albei penne benodig. U kan die optelweerstands aan boord van die Bus Pirate gebruik deur die Vpullup (Vpu) -pen aan te sluit op die 3,3 volt-kragtoevoer en dit in die terminale in te skakel. Interfacing Note: Nie alle I2C EEPROM's werk dieselfde nie. Die klein 24AA01 het byvoorbeeld 'n heeltemal ander adres- en opdragstelsel. Kontroleer die datablad vir u chip. Druk 'm' in die Bus Pirate -terminale en kies I2C in die moduskieslys. Aktiveer die kragtoevoer (groot 'W') en die optrekweerstands ('p', opsie 2) by die I2C-prompt. Kry 'n spanningsverslag ('v') om seker te maak dat die kragtoevoer aan is en dat die Vpullup -pen aan 'n spanning gekoppel is. I2C> (0) <<(1) <<< gebruik adres soek makro Soek 7bit I2C adres spasie. Gevonde toestelle by: 0xA0 0xA1 <<Ons weet reeds dat die I2C-adres 10100000 is, maar ons kan ook die Bus Pirate se I2C-soekmakro (1) gebruik om na die 24AA- te soek. Die soekmakro het die toestel gevind by die verwagte skryf (0xA0) en lees (0xA1) adresse. Stap 1, skryf 'n paar waardes I2C> [0b10100000 0 0 3 2 1] I2C START CONDITION <<< I2C start conditionWRITE: 0xA0 GET ACK: JA <<< 24AA- skryf adres SKRYF: 0x00 GET ACK: JA <<< skryf adresbyte 1WRITE: 0x00 GET ACK: JA <<< skryf adres byte 2 SKRYF: 0x03 GET ACK: JA <<< 3 waardes om te skryf (3, 2, 1) SKRYF: 0x02 GET ACK: YESWRITE: 0x01 HET ACK: YESI2C STOP CONDITION < <Begin die skryf met 'n I2C-voorwaarde ([), gevolg deur die 24AA- skryfadres (0xa0). Stuur dan die 16bit -adres om te skryf by (0 0) en die data om te skryf (3 2 1). Beëindig die I2C -transaksie met 'n stopvoorwaarde (]). Stap 2, plaas die leeswyser I2C> [0b10100000 0 0] I2C START CONDITION <<< I2C start condition SKRYF: 0xA0 GET ACK: JA <<< 24AA- skryf adres SKRYF: 0x00 GET ACK: JA <<< skryf adres byte 1WRITE: 0x00 KRACHT: JA <<< skryf adresbyte 2I2C STOP TOESTAND <<Dit neem twee bewerkings om uit die 24AA- te lees. Een posisioneer die lees/skryf wyser, die ander gee die waardes terug. Begin met 'n I2C begin toestand ([) en die skryf adres (0xa0). Stuur die 16bit -adres om te lees (0 0), en dan die stopvoorwaarde (]). Ons het hierdie keer geen data gestuur om te skryf nie; ons het die lees/skryf wyser net terug geplaas na die begin van die data wat ons in stap 1 geskryf het. Stap 3, lees 'n paar waardes I2C> [0b10100001 r: 3] I2C START CONDITION <<< I2C begin toestand SKRYF: 0xA1 GET ACK: JA <<< 24AA- lees adres BULK LEES 0x03 BYTES: <<< lees 3 waardes0x03 0x02 0x01I2C STOP CONDITION <<Stap 2 stel die lees/skryf wyser aan die begin van die data wat ons wil lees. Nou kan ons die data lees met behulp van die 24AA-leesadres. Begin met die I2C-voorwaarde ([) en 24AA-leesadres (0xa1). Lees die drie waardes wat ons in stap 1 (r: 3) geskryf het, en eindig met 'n stoptoestand (]). As die waardes ooreenstem, was u skryf suksesvol.

Stap 4: DS2431 1-draad EEPROM

DS2431 1-draads EEPROM
DS2431 1-draads EEPROM
DS2431 1-draads EEPROM
DS2431 1-draads EEPROM
DS2431 1-draads EEPROM
DS2431 1-draads EEPROM

Chip: DS2431, 1-draads EEPROM (1Kbyte). Bus: 1-draad, <2,2Kohm optrekweerstand benodig. Kragvereistes: 2,8volts tot 5,25volt. Verwysings: datablad, Hack a Day-demonstrasie. Volledige Bus Pirate-sessielogboek Vir hierdie demonstrasie kon ek nie 'n paar formatering- en HTML-tabelle in 'n Instructable insluit nie, maar u kan die oorspronklike op die blog Dangerous Prototypes sien.. 1-Wire benodig 'n sterk optrekweerstand, maksimum 2,2Kohms. Die Bus Pirate se optrekweerstands aan boord is 10K, te swak om die DS2431 tydens skryfwerk behoorlik van krag te maak. U moet 'n eksterne weerstand van 2.2Kohm of kleiner gebruik tussen die krag en die 1-draads buspen. As u probleme ondervind met die skryf van data, moet u seker maak dat u uittrekweerstand groot genoeg is. Die 3EEPROM verkennerbord bevat 'n 1800 ohm optrekweerstand (R1) op die 1-draads bus, sodat geen eksterne weerstand nodig is nie. Opstelling As u 'n Bus Pirate gebruik, koppel dit aan die 3EEPROM -bord of DS2431 soos in die onderstaande grafiekafbeelding getoon. Die DS2431 benodig nie die kragpen nie; dit word op die 3EEPROM-bord gebruik om die groot trekweerstand vir die 1-draads bus aan te dryf. Koppelvlak Druk 'm' in die Bus Pirate-terminale en kies 1-draadmodus. Aktiveer die ingeboude kragbronne (groot 'W') en kyk na die spanningsmonitor (v). Stap 1, vind die apparaatadres 1-WIRE> (0xf0) <<< Makro met 1 draad soek 1WIRE ROM COMMAND: SEARCH (0xF0) Toestelle gevind op: Macro 1WIRE adres 1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 unieke ID*DS2431 1K EEPROM <<Elke 1-draad-toestel het 'n unieke ID van 8 byte. 1-Wire het 'n soekprosedure wat die ID van alle aangehegte toestelle opspoor. Die Bus Pirate implementeer die 1-Wire-soektog as makro (240). Tik '(240)' in die Bus Pirate-terminale om die 1-Wire-soektog te begin. Elke toesteladres word gedruk, bekende toestelle word geïdentifiseer. Die eerste tien 1-Wire-toesteladresse word as makros gestoor; in hierdie voorbeeld is ons DS2431-adres beskikbaar deur '(1)' in die terminaal te tik. Stap 2, skryf 8 grepe op die krasblok 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< ook {command 1WIRE WRITE ROM COMMAND: MATCH (0x55) * volg met 64bit adres1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'SKRYF: 0x0F <<< DS2431 skryf krasblokopdrag SKRYF: 0x00 <<< DS2431 skryf adres greep 1 SKRYF: 0x00 <<< DS24WITE skryf adres deur: 0x08 <<Vervolgens skryf ons 8 grepe op 'n tydelike plek in die DS2431 genaamd die krasblok. Begin die transaksie met 'n 1-Wire bus reset en MATCH command (0x55). Beide is beskikbaar as makro '(0x55)'. Dit kan ook sonder 'n makro gedoen word deur '{0x55' in te tik, {stuur die 1-Wire reset, 0x55 is die 1-Wire MATCH-opdrag. Na die MATCH-opdrag, stuur die 8-byte ID van die toestel na adres. Ons het die makro (1) gebruik wat in stap 1 met die DS2431 ID ingevul is. U kan ook die 8 byte ID handmatig invoer. Op hierdie stadium moes die DS2431 sy adres ontvang het en gereed wees vir opdragte. 0x0f is die opdrag om op te skryf, dit vertel die DS2431 om data te verwag. Die volgende twee grepe vertel waar die data geplaas moet word, ons stoor dit aan die begin (0 0). Laastens stuur ons 8 grepe waardes om op te slaan, die getalle 8 tot 1. U moet 'n volle 8 grepe aan die DS2431 skryf. Boonop moet die skryfadres op 'n grens van 8 byte wees. Sien die datablad vir 'n volledige oorsig van die skryfbeperkings. Stap 3, verifieer die krasblokkie en kry die magtigingskode 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< address the device1WIRE WRITE ROM COMMAND: MATCH (0x55) *volg met 64bit -adres1 DRAADRESMAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< lees krasblokopdragBULK LEES 0x03 BYTES: <<< magtiging code0x00 0x00 0x07B0K< 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK LEES 0x02 BYTES: <<< CRC vir die data0xC8 0x86BULK LEES 0x02 BYTES: <<Verifieer dat die data korrek ontvang is, en kry 'n skryfmagtigingskode. Begin weer met 'n 1-draad herstel en MATCH opdrag makro (0x55), en die toestel adres makro (1). Stuur hierdie keer die opdrag DS2431 leeskrapblok (0xAA), en lees dan 'n totaal van 15 grepe. Die eerste 3 grepe gelees (r: 3) is die skryfmagtigingskode. krapblok na die EEPROM. Die volgende 8 grepe (r: 8) moet ooreenstem met die data wat ons in stap 2 gestuur het. Die laaste 2 grepe (r: 2) is 'n CRC16 vir die data. Lees na die CRC alle 1's terug. Stap 4, skryf die krasblokkie by die EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< adres van die apparaat1WIRE WRITE ROM COMMAND: MATCH (0x55) *volg met 64bit adres1WIRE ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< copy scratch pad commandWRITE: 0x00 <<< 3 byte magtigingskode van stap 3WRITE: 0x00WRITE: 0x071-WIRE> Ons het alles wat ons nodig het om die krasblokdata permanent op te slaan in die EEPROM. Adress the device, send then the DS2431 copy scratch pad command (0x55) followed by the three byte authorization code we retrived in step 3 (0x00 0x00 0x07). As die magtigingskode korrek is, word die data na die EEPROM verskuif. Stap 5, verifieer die krasblok skryf 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< adres die toestel1WIRE WRITE ROM COMMAND: MATCH (0x55) *follow with 64bit address1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< lees krapblokopdragBULK LEES 0x03 BYTES: 0x00 0x00 0x87 <<Die DS2431 stel die boonste deel van die skryfmagtigingskode in na 'n suksesvolle opdrag om kopie te krap. Stuur 'n ander leeskrapblokkie -opdrag (0xAA) om die opgedateerde magtigingskode te kry, maar lees net die eerste drie grepe (r: 3). Die vorige waarde 0x07 het verander na 0x87, die kopieeropdrag is suksesvol ontvang. Stap 6, lees die waardes 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< adres van die apparaat1WIRE WRITE ROM COMMAND: MATCH (0x55) *volg met 64bit adres1WIRE ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 lees opdrag SKRYF: 0x00 <<< 2 byte lees adres SKRYF: 0x00BULK LEES 0x08 BYTES: <<< lees 0x0x080x0000000004x000x08x0x08x 0x08 BYTES: <<Verifieer dat die skryfwerk korrek werk deur die waardes op te haal. Spreek die DS2431 aan, stuur dan die leesopdrag (0xf0) en die adres om van te lees (0x00 0x00). Dit is moontlik om die hele geheueomvang met 'n enkele opdrag te lees. Ons lees die agt grepe wat ons vroeër geskryf het (r: 8), wat die verwagte waardes opgelewer het. Die agt grepe buite hierdie waardes is nie geskryf nie en gee 0 terug.

Stap 5: Gevolgtrekking

Afsluiting
Afsluiting

Gevolgtrekking Hierdie prototipe leer oor EEPROM-geheue en demonstreer hoe u die Bus Pirate kan gebruik met drie algemene protokolle: 1-Wire, I2C en SPI. die meer veeleisende 1-draads bus met parasities aangedrewe komponente. Ons kan 3EEPROM explorer board PCB's of kits by Seeed Studio laat vervaardig. PCB's is ongeveer $ 10, kits is ongeveer $ 15, wêreldwyd gestuur. Ons moet 'n groepaankoop van 10 PCB of 20 kits reël om aan die gang te kom.

Aanbeveel: