Obsah:

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

Video: Bus Pirate 3EEPROM Explorer Board: 5 krokov

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

Ak máte jedného z Hack a Day's Bus Pirates, čo s ním urobíte? Získajte informácie o 1-vodičových, I2C a SPI EEPROM s doskou prieskumníka 3EEPROM (nazývame to THR-EE-PROM). EEPROM je typ pamäťového čipu, ktorý ukladá údaje bez nepretržitého napájania. Je to užitočné na trvalé ukladanie údajov v malých obvodoch záznamníka alebo na uchovávanie vlastných stránok na mini webovom serveri. EEPROM sa dodáva v mnohých veľkostiach a protokoloch. 3EEPROM má tri bežné čipy EEPROM: DS2431 (1-Wire), 24AA- (I2C) a 25AA- (SPI). Všetky tri boli predtým demonštrované na Hack a Day, ale každé demo používa inú verziu hardvéru a firmvéru Bus Pirate, pre začiatočníka je ťažké sa s ním zoznámiť pomocou Bus Pirate v2go. Pokračujte v čítaní aktualizovaného podrobného sprievodcu používaním Bus Pirate v2go. EEPROM DS2431, 24AA- a 25AA- s Bus Pirate v2go. Máme tiež úplné protokoly relácií ako textové súbory, takže vám neunikne ani jeden detail. Môžeme nechať vyrobiť dosky plošných spojov 3EEPROM alebo súpravy vyrobené v Seeed Studio. DPS sú asi 10 dolárov, súpravy sú asi 15 dolárov a sú dodávané po celom svete. Na začiatok musíme zorganizovať skupinový nákup 10 PCB alebo 20 súprav. Ak vás zaujíma Bus Pirate, prichádza verzia 3. Nedokázal som do Instructable zahrnúť niektoré formátovacie prvky a tabuľky HTML, pôvodný príspevok si môžete pozrieť na blogu Dangerous Prototypes.

Krok 1: 3 Prehľad hardvéru EEPROM

3 Prehľad hardvéru EEPROM
3 Prehľad hardvéru EEPROM
3 Prehľad hardvéru EEPROM
3 Prehľad hardvéru EEPROM
3 Prehľad hardvéru EEPROM
3 Prehľad hardvéru EEPROM

Cieľom tohto prototypu je zoznámiť sa s EEPROM a tromi bežnými protokolmi zbernice. Najprv sa pozrieme na dosku 3EEPROM a potom demonštrujeme každú EEPROM pomocou nástroja univerzálneho sériového rozhrania Bus Pirate. Ak nemáte Bus Pirate, môžete pokračovať, pretože základné poradie operácií rozhrania zostáva rovnaké bez ohľadu na to, ako ich implementujete. Schéma veľkosti obvodu CircuitFull [PNG]. Obvod a DPS sme vyrobili pomocou freeware verzie Cadsoft Eagle. Schému a dosku plošných spojov si môžete stiahnuť z archívu Bus Pirate SVN. Do dosky 3EEPROM je osadená 1-Wire EEPROM DS2431 (IC1), 24AA-I2C EEPROM (IC4) a 25AA-SPI EEPROM (IC5). DS2431 (IC1) čerpá energiu paraziticky z 1-vodičovej zbernice, nemá externý kolík napájania a nevyžaduje oddeľovací kondenzátor. IC2 a IC3 sú prázdne miesta pre ďalšie 1-Wire zariadenia, ako napríklad iný teplotný senzor DS2431 alebo DS1822. C1 (0,01uF) je voliteľný a je potrebný iba vtedy, ak sú IC2 alebo IC3 osadené napájaným 1-vodičovým zariadením. 1-Wire vyžaduje silný vyťahovací odpor, maximálne 2,2 K ohmov. Palubné výsuvné odpory Bus Pirate sú 10K, príliš slabé na správne napájanie DS2431 počas zápisu. Prieskumník 3EEPROM obsahuje na 1-Wire zbernici 1,8k ohmový, 1/8 wattový pull-up odpor (R1), takže nie je potrebný žiadny ďalší pull-up odpor. 24AA- (IC4) a 25AA- (IC5) každý dostane kondenzátor 0,1 uF, ktorý ich oddelí od napájania (C2, C3). V takom jednoduchom obvode kondenzátory zrejme nepotrebujete, na ukážke sme ich z prototypovej dosky vynechali. Zbernica I2C používaná 24AA- tiež vyžaduje zdvíhacie odpory, ale postačujúce sú 10-ohmové odpínače Bus Pirate. Všetky komponenty budú pracovať od 2,8 voltov do 5 voltov DC. Obvod je napájaný z pinov VCC a GND prepojky 3. K dispozícii sú dva piny VCC, jeden je pre napájanie, druhý je pre vstupný kolík napätia zberača Pirate (Vpullup). PCB Okruh a PCB sme vyrobili pomocou freeware verzia Cadsoft Eagle. Schému a DPS si môžete stiahnuť z archívu Bus Pirate SVN. Ak by ste chceli profesionálne pripravenú súpravu PCB alebo 3EEPROM, v prípade záujmu 10 alebo 20 ľudí vám môžeme zabezpečiť skupinový nákup. Zoznam dielov R1 1800 ohmový odpor (1/8 watt) C2, 3 0,1 uF kondenzátor/10 voltov+JP1-4 0,1 "zástrčka pinového kolíka IC1 DS2431 1K 1-vodičová EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8-pinová zásuvka DIP pre IC5, 6 ** IC4, IC5 môže mať akúkoľvek veľkosť, prepojili sme malé čipy, použili sme 128 bajtov a 128 kB. Nedokázal som zahrnúť niektoré formátovacie a HTML tabuľky v Instructable si môžete pozrieť pôvodný príspevok na blogu Dangerous Prototypes.

Krok 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

UkážkyVšetky ukážky EEPROM vyzerajú skoro rovnako. Zapíšeme niekoľko čísiel na čip a potom ich prečítame. Každé zariadenie má podmienky, ktoré platia, keď chcete zapísať viac ako niekoľko hodnôt, napríklad veľkosť stránky a ohraničujúce obmedzenia. Prečítajte si viac o týchto údajoch v technickom liste vášho konkrétneho zariadenia. Ak nemôžete predvádzať, aby fungovalo, stiahnite si kompletný protokol terminálov, aby vám neunikla žiadna vec, ktorú sme urobili. Vyťahovacie odpory sú najčastejším problémom. Skontrolujte napätie výsuvného kolíka pomocou ponuky „v“v termináli Bus Pirate. Čip: 25AA, SPI EEPROM (1 kB). Autobus: SPI. Vyťahovacie odpory sú potrebné iba pre prepojenie zmiešaného napätia. Požiadavky na napájanie: 1,8 voltov až 5,5 voltov (AA), 2,5 voltov až 5,5 voltov (LC). Odkazy: technický list, ukážka hacku za deň. Kompletný protokol relácie Bus Pirate pre túto ukážku. Nemohol som zahrnúť niektoré formátovacie a HTML tabuľky do Instructable, originál môžete vidieť na blogu Dangerous Prototypes. IC5 je 25AA-I2C EEPROM od Microchip, tieto EEPROM sa dodávajú v mnohých veľkostiach. AA diely bežia od 1,8 voltov do 5,5 voltov, zatiaľ čo diely 25LC- majú minimálnu požiadavku 2,5 voltu. C3 (0,1 uF) oddeľuje SPI EEPROM od napájania. Kolíky na ochranu proti zápisu (WP) a podržanie mohli byť riadené mikrokontrolérom, ale deaktivovali sme ich držaním týchto pinov vysoko. Kolíky zbernice SPI, CS, DO, CLK a DI, sa privedú do záhlavia JP4. Inštalácia Ak používate Bus Pirate, pripojte ho k 3EEPROM alebo 25AA-IC podľa obrázka nižšie. SPI bežne nevyžaduje výsuvné odpory. Rozhranie V termináli Bus Pirate stlačte „m“pre ponuku režimov a zvoľte SPI. Konfigurujte knižnicu SPI pre normálny výstup pinov, pre všetky ostatné nastavenia režimu SPI použite predvolené hodnoty. Na výzvu režimu SPI povoľte napájacie zdroje (veľké „W“). Nakoniec získajte správu o napätí, aby ste sa uistili, že napájacie zdroje fungujú ('v'). Ukážeme vám, ako prepojiť EEPROM priamo na 3,3 voltov pomocou knižnice SPI v normálnom režime pinov. Pri tejto ukážke nie sú potrebné výsuvné odpory. Ak chcete prepojiť EEPROM napájanú 5 voltmi, použite knižnicu SPI v režime pinov s otvoreným kolektorom (HiZ) a povoľte výsuvné odpory pomocou kolíka Vpullup (Vpu) pripojeného k napájaniu EEPROM. Krok 1, vypnite ochranu proti zápisu 'SPI> [0b110] CS POVOLENÉ <<< výber čipu povolený ZÁPIS: 0x06 <<< vypnite príkaz na ochranu proti zápisuCS ZAKÁZANÉ <<25AA- je pri zapnutí chránený proti zápisu. Znížte výber čipu (CS) ([), pošlite príkaz na zakázanie ochrany proti zápisu (0x06) a potom zdvihnite CS (]), aby ste mohli zapisovať do EEPROM. Príkaz zakázať ochranu proti zápisu je 0b00000110 v binárnom formáte, ale môžeme ho skrátiť na 0b110 a Bus Pirate to stále chápe. Krok 2, napíšte niektoré hodnoty 'SPI> [0b10 0 3 2 1] CS POVOLENÉ <<< výber čipu povolený ZÁPIS: 0x02 <<< príkaz na zápisWRITE: 0x00 <<< zapisovacia počiatočná adresa ZÁPIS: 0x03 <<< 3 hodnoty na zápis (3, 2, 1) ZÁPIS: 0x02PIS: 0x01CS ZAKÁZANÉ <<Teraz je pamäť EEPROM zapisovateľná. Najprv znížte CS, aby ste aktivovali 25AA- ([). Ďalej odošlite príkaz na zápis (0x02) a miesto, kde chcete začať písať (0). Odošlite údaje do pamäte (3 2 1), potom uložte hodnoty zvýšením CS (]). Poznámka: Použili sme malú 128bytovú EEPROM, väčšie čipy použijú 16bitovú (2bytovú) adresu. Tento príkaz by bol [0b10 0 '' '0' '3 2 1] pre EEPROM väčšie ako 256 bajtov, všimnite si druhé 0. Pre istotu si overte údajový list svojej EEPROM. Krok 3, čítanie hodnôt späť SPI> [0b11 0 r: 3] CS POVOLENÉ <<< výber čipu povolený ZÁPIS: 0x03 <<< príkaz na čítanie ZAPIS: 0x00 <<< čítať štartovaciu adresu HROMADNE ČÍTAŤ 0x03 BYTY: <<< čítať 3 hodnoty0x03 0x02 0x01CS VYPNUTÉ <<Nakoniec si prečítajte údaje späť a overte, či bol zápis úspešný. Vyberte 25AA- ([), pošlite príkaz na čítanie (0x03) a štartovaciu adresu (0) a potom prečítajte tri hodnoty (r: 3). Na dokončenie transakcie zdvihnite CS. Hodnoty sa zhodujú, zápis bol úspešný. Poznámka: Použili sme malú 128bytovú EEPROM, väčšie čipy použijú 16bitovú (2bytovú) adresu. Tento príkaz by bol [0b11 0 '' '0' 'r: 3] pre EEPROM väčšie ako 256 bajtov, všimnite si druhé 0. Pre istotu si overte údajový list svojej EEPROM.

Krok 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 (1Kbyte). Autobus: I2C, vyžadované výsuvné odpory. Požiadavky na napájanie: 1,8 voltov až 5,5 voltov (24AA), 2,5 voltov až 5,5 voltov (24LC). Referencie: list s technickými údajmi, ukážka hacku za deň. Kompletný protokol relácie Bus Pirate pre túto ukážku. Nemohol som zahrnúť niektoré formátovacie a HTML tabuľky do Instructable, originál môžete vidieť na blogu Dangerous Prototypes. IC4 je 24AA-Series I2C EEPROM od Microchip, tieto EEPROM sa dodávajú v tony veľkostí. Diely AA pracujú od 1,8 voltov do 5,5 voltov, zatiaľ čo diely 24LC majú minimálnu požiadavku 2,5 voltu. Kondenzátor 0,1 C (C2) oddeľuje IC4 od zdroja napájania. Pin na ochranu proti zápisu (WP) bolo možné ovládať z mikrokontroléra, ale pre túto jednoduchú ukážku ho deaktivujeme pripojením na zem. Piny zbernice I2C, SDA a SCL, sú vyvedené do záhlavia JP2. Adresa väčšiny 24AA EEPROM je 1010AAAS, pričom posledné štyri bity sú určené pinmi adresy (A0, A1, A2) a bitom výberu režimu čítania/zápisu (S). V tomto prípade sú všetky adresné bity uzemnené, takže zapisovacia adresa EEPROM je 10100000 (strana 6 s údajovým listom). Inštalácia Ak používate Bus Pirate, pripojte ho k 3EEPROM alebo 24AA-IC podľa obrázku nižšie. I2C je obojsmerná zbernica, ktorá vyžaduje na oboch kolíkoch výsuvné odpory. Palubné výsuvné odpory Bus Pirate môžete použiť tak, že pin Vpullup (Vpu) pripojíte k 3,3voltovému zdroju napájania a povolíte ich v termináli. Rozhranie Poznámka: Nie všetky I2C EEPROM pracujú rovnako. Malý 24AA01 má napríklad úplne iný adresný a príkazový systém. Nezabudnite si skontrolovať technický list svojho čipu. Na termináli Bus Pirate stlačte „m“a v ponuke režimov vyberte I2C. Na výzvu I2C povoľte napájacie zdroje (veľké „W“) a výsuvné odpory („p“, možnosť 2). Získajte správu o napätí („v“), aby ste sa uistili, že sú napájacie zdroje zapnuté a kolík Vpullup je pripojený k napätiu. I2C> (0) <<(1) <<< použite makro na vyhľadávanie adries Vyhľadávanie 7 -bitového adresného priestoru I2C. Nájdené zariadenia na adrese: 0xA0 0xA1 <<Už vieme, že adresa I2C je 10100000, ale na vyhľadanie 24AA- môžeme použiť aj vyhľadávacie makro I2C (1) Bus Pirate. Makro vyhľadávania našlo zariadenie na očakávaných adresách pre zápis (0xA0) a čítanie (0xA1). Krok 1, napíšte niektoré hodnoty I2C> [0b10100000 0 0 3 2 1] PODMIENKA ŠTARTU I2C <<< Začiatočná podmienka I2C ZAPÍŠTE: 0xA0 ZISKOVANIE: ÁNO <<< 24AA- zapisujte adresuZAPIS: 0x00 ZÍSKALO ZATVORENIE: ÁNO <<< zapisujte bajt adresy 1WRITE: 0x00 GOT ACK: YES <<< zapíšte adresu byte 2WRITE: 0x03 GOT ACK: YES <<< 3 hodnoty na zápis (3, 2, 1) WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP STAV < <Začnite zápis s podmienkou začiatku I2C ([), za ktorou nasleduje adresa pre zápis 24AA- (0xa0). Ďalej odošlite 16 -bitovú adresu na zápis na (0 0) a údaje na zápis (3 2 1). Ukončite transakciu I2C s podmienkou zastavenia (]). Krok 2, umiestnite ukazovateľ čítania I2C> [0b10100000 0 0] PODMIENKY ZAČIATKU I2C <<< Začiatočná podmienka I2C ZAPISTE: 0xA0 ZISKOVALO: ÁNO <<< 24AA- zapisovať adresuZAPIS: 0x00 ZISKOVAŤ: ÁNO <<< zapisovať adresový bajt 1PIS: 0x00 GOT ACK: ÁNO <<< zapisovací adresa bajt 2I2C STOP PODMIENKY <<Na čítanie z 24AA- sú potrebné dve operácie. Jeden umiestni ukazovateľ čítania/zápisu, druhý vráti hodnoty. Začnite podmienkou začiatku I2C ([) a adresou na zápis (0xa0). Odošlite 16 -bitovú adresu na čítanie (0 0) a potom podmienku zastavenia (]). Tentoraz sme neposlali žiadne údaje na zápis, iba sme umiestnili ukazovateľ čítania/zápisu na začiatok údajov, ktoré sme napísali v kroku 1. Krok 3, prečítajte si niektoré hodnoty I2C> [0b10100001 r: 3] I2C ŠTARTOVACÍ PODMIENOK <<< Začiatočná podmienka I2C ZÁPIS: 0xA1 DOSTALA SA: ÁNO <<< 24AA- adresa na čítanie HROMADNÉ ČÍTANIE 0x03 BYTY: <<< prečítajte 3 hodnoty0x03 0x02 0x01I2C ZASTAVTE PODMIENKU <<Krok 2 nastavte ukazovateľ čítania/zápisu na začiatok údajov, ktoré chceme čítať. Teraz môžeme údaje prečítať pomocou adresy na čítanie 24AA. Začnite podmienkou štartu I2C ([) a adresou na čítanie 24AA (0xa1). Prečítajte si tri hodnoty, ktoré sme napísali v kroku 1 (r: 3), a skončite s podmienkou zastavenia (]). Ak sa hodnoty zhodujú, váš zápis bol úspešný.

Krok 4: DS2431 1-Wire EEPROM

DS2431 1-drôtová EEPROM
DS2431 1-drôtová EEPROM
DS2431 1-drôtová EEPROM
DS2431 1-drôtová EEPROM
DS2431 1-drôtová EEPROM
DS2431 1-drôtová EEPROM

Čip: DS2431, 1-vodičový EEPROM (1 kB). Autobus: 1-vodičový, je potrebný vyťahovací odpor <2,2 kohm. Požiadavky na napájanie: 2,8 voltov až 5,25 voltov. Referencie: technický list, ukážka hacku za deň. Kompletný protokol relácie piráta pre túto ukážku. Do Instructable som nemohol zahrnúť niektoré formátovacie a HTML tabuľky, originál môžete vidieť na blogu Dangerous Prototypes. DS2431 čerpá energiu z výsuvného odporu a nepotrebuje externý napájací ani oddeľovací kondenzátor. 1-Wire potrebuje silný pull-up odpor, maximálne 2,2Kohms. Palubné výsuvné odpory Bus Pirate sú 10K, príliš slabé na správne napájanie DS2431 počas zápisu. Medzi napájaním a pinom 1-Wire zbernice musíte použiť externý odpor 2,2 kohm alebo menší. Ak máte problémy so zápisom údajov, uistite sa, že je váš pull-up odpor dostatočne veľký. Prieskumník 3EEPROM obsahuje 1 Ohmový pull-up odpor (R1) na 1-Wire zbernici, takže nie je potrebný žiadny externý odpor. Inštalácia Ak používate Bus Pirate, pripojte ho k doske 3EEPROM alebo DS2431, ako je znázornené na obrázku nižšie. DS2431 nevyžaduje napájací kolík, používa sa na doske 3EEPROM na napájanie veľkého pull-up rezistora pre 1-Wire zbernicu. Rozhranie Stlačte na termináli Bus Pirate 'm' a zvoľte režim 1-Wire. Zapnite palubné napájacie zdroje (veľké „W“) a skontrolujte monitor napätia (v). Krok 1, nájdite adresu zariadenia 1-WIRE> (0xf0) <<< 1-Wire vyhľadávacie makro 1WIRE ROM PRÍKAZ: VYHĽADÁVANIE (0xF0) Nájdené zariadenia pri: Makro 1WIRE adresa1,0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 jedinečný identifikátor*DS2431 1K EEPROM <<Každé 1-vodičové zariadenie má jedinečné 8-bajtové ID. 1-Wire má postup vyhľadávania, ktorý zisťuje ID všetkých pripojených zariadení. Bus Pirate implementuje 1-Wire vyhľadávanie ako makro (240). Do terminálu Bus Pirate zadajte „(240)“a spustite vyhľadávanie 1-Wire. Adresa každého zariadenia sa vytlačí, identifikujú sa známe zariadenia. Prvých desať adries 1-Wire zariadenia je uložených ako makrá, v tomto prípade je naša adresa DS2431 k dispozícii zadaním '(1)' do terminálu. Krok 2, napíšte 8 bajtov na stieraciu podložku 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11 RESET AUTOMATICKÉHO AUTOBUSU OK <<< tiež {príkaz 1 WIRE WRITE ROM PRÍKAZ: MATCH (0x55) * nasledujte so 64bitovou adresou1WIRE ADDRESS 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 byte: 0x08 <<Ďalej zapíšeme 8 bajtov na dočasné miesto v DS2431 nazývané stierací pad. Transakciu spustite príkazom 1-Wire bus reset a príkazom MATCH (0x55). Oba sú k dispozícii ako makro (0x55). To sa dá urobiť aj bez makra zadaním '{0x55', {pošle 1-Wire reset, 0x55 je 1-Wire MATCH príkaz. Za príkazom MATCH pošlite 8-bajtové ID zariadenia na adresu. Použili sme makro (1), ktoré bolo vyplnené identifikátorom DS2431 v kroku 1. 8 -bajtové ID môžete tiež zadať ručne. V tomto mieste mal DS2431 dostať svoju adresu a byť pripravený na príkazy. 0x0f je príkaz zápisníka, hovorí DS2431, aby očakával údaje. Nasledujúce dva bajty povedia, kam majú byť údaje vložené, uložíme ich na začiatku (0 0). Nakoniec pošleme 8 bajtov hodnôt na uloženie, čísla 8 až 1. Do DS2431 musíte napísať celých 8 bajtov. Adresa na zápis musí byť navyše na hranici 8 bajtov. Úplný prehľad obmedzení zápisu nájdete v technickom liste. Krok 3, overte stieraciu podložku a získajte autorizačný kód 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< address the device1WIRE WRITE ROM COMMAND: MATCH (0x55) *nasledujte so 64bitovou adresou1WIRE ADRESA MACRO 1: 0x2D 0x54 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC pre data0xC8 0x86BULK READ 0x02 BYTES: <<Overte, či boli údaje prijaté správne, a získajte autorizačný kód na zápis. Začnite znova makrom príkazu 1-Wire reset a MATCH (0x55) a makrom adresy zariadenia (1). Tentoraz pošlite príkaz DS2431 na prečítanie zápisníka (0xAA) a potom načítajte celkom 15 bajtov. Prvé 3 bajty na čítanie (r: 3) sú autorizačný kód na zápis, budeme ho potrebovať v nasledujúcom kroku na skopírovanie stierací list do EEPROM. Ďalších 8 bajtov (r: 8) by sa malo zhodovať s údajmi, ktoré sme odoslali v kroku 2. Posledné 2 bajty (r: 2) sú pre údaje CRC16. Číta po tom, ako CRC vráti všetky 1 s. Krok 4, napíšte zápisník na EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< adresa zariadenia1WIRE WRITE ROM COMMAND: MATCH (0x55) *pokračujte 64bitovou adresou1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< skopírujte príkaz scratch pad príkazWRITE: 0x00 <<< 3-bajtový autorizačný kód z kroku 3WRITE: 0x00WRITE: 0x071-WIRE> Máme všetko, čo potrebujeme na trvalé uloženie údajov zoškrabávača do EEPROM. Adresujte zariadenie, potom pošlite príkaz DS2431 skopírovací zápisník (0x55), za ktorým nasleduje trojbajtový autorizačný kód, ktorý sme získali v kroku 3 (0x00 0x00 0x07). Ak je autorizačný kód správny, údaje sa presunú do EEPROM. Krok 5, overte zápisník 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< adresa zariadenia1WIRE WRITE ROM COMMAND: MATCH (0x55) *pokračujte so 64bitovou adresou1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< prečítať príkaz na stieracom bloku Hromadné čítanie 0x03 BYTY: 0x00 0x00 0x87 <<DS2431 nastaví najvrchnejší bit autorizačného kódu na zápis po úspešnom príkaze kopírovania zošita. Odošlite ďalší príkaz na prečítanie zápisníka (0xAA), aby ste získali aktualizovaný autorizačný kód, ale stačí prečítať prvé tri bajty (r: 3). Predchádzajúca hodnota 0x07 sa zmenila na 0x87, príkaz na kopírovanie bol úspešne prijatý. Krok 6, prečítajte si hodnoty 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< address the device1WIRE WRITE ROM COMMAND: MATCH (0x55) *follow with 64bit address1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 príkaz na čítanieWRITE: 0x00 <<< 2 -bajtová adresa na čítanieWRITE: 0x00BULK READ 0x08 BYTES: <<< 0x08 0x08 0x08 0x08 0x08 0x08 0x08 0x08 BYTOV: <<Načítaním hodnôt overte, či zápis správne funguje. Adresujte DS2431, potom pošlite príkaz na čítanie (0xf0) a adresu na čítanie (0x00 0x00). Celý rozsah pamäte je možné prečítať jediným príkazom. Čítali sme osem bajtov, ktoré sme napísali predtým (r: 8) a ktoré vrátili očakávané hodnoty. Osem bajtov presahujúcich tieto hodnoty nebolo zapísaných a vracia 0.

Krok 5: Záver

Záver
Záver

Tento prototyp učí o pamäti EEPROM a ukazuje, ako používať Bus Pirate s tromi bežnými protokolmi: 1-Wire, I2C a SPI. Doska prieskumníka 3EEPROM zaisťuje správne pripojenie ku každej EEPROM a poskytuje externý výsuvný odpor pre náročnejšia 1-Wire zbernica s parazitne napájanými komponentmi. V Seeed Studio si môžeme nechať vyrobiť dosky plošných spojov alebo súpravy 3EEPROM. DPS sú asi 10 dolárov, súpravy sú asi 15 dolárov a sú dodávané po celom svete. Na začiatok musíme zorganizovať skupinový nákup 10 PCB alebo 20 súprav.

Odporúča: