Բովանդակություն:

Bus Pirate 3EEPROM Explorer Board: 5 քայլ
Bus Pirate 3EEPROM Explorer Board: 5 քայլ

Video: Bus Pirate 3EEPROM Explorer Board: 5 քայլ

Video: Bus Pirate 3EEPROM Explorer Board: 5 քայլ
Video: Kiosk mode Bruteforce Evasion with Flipper Zero 2024, Հուլիսի
Anonim
Bus Pirate 3EEPROM Explorer Board
Bus Pirate 3EEPROM Explorer Board

Եթե ունեք Hack a Day's Bus Pirates- ից որևէ մեկը, ինչ եք անում դրա հետ: Իմացեք 1-մետաղալարերի, I2C- ի և SPI EEPROM- ների մասին 3EEPROM Explorer տախտակի հետ (մենք այն անվանում ենք THR-EE-PROM): EEPROM- ը հիշողության չիպի տեսակ է, որը պահպանում է տվյալները առանց անընդհատ սնուցման աղբյուրի: Այն օգտակար է փոքր անտառահատ սխեմաներում տվյալների մշտական պահպանման կամ մինի վեբ սերվերում հատուկ էջեր պահելու համար: EEPROM- ները գալիս են բազմաթիվ չափերի և արձանագրությունների: 3EEPROM- ն ունի երեք ընդհանուր EEPROM չիպ `DS2431 (1-Wire), 24AA- (I2C) և 25AA- (SPI): Երեքն էլ նախկինում ցուցադրվել էին Hack a Day- ում, սակայն յուրաքանչյուր ցուցադրում օգտագործում է Bus Pirate սարքաշարի և որոնվածի տարբեր տարբերակ, որը դժվար է սկսնակների համար հետևել Bus Pirate v2go- ի միջոցով: DS2431, 24AA- և 25AA- EEPROM- երը Bus Pirate v2go- ով: Մենք ունենք նաև նստաշրջանի ամբողջական տեղեկամատյանները որպես տեքստային ֆայլեր, այնպես որ ոչ մի մանրամասն բաց չեք թողնի: Մենք կարող ենք ունենալ 3EEPROM Explorer տախտակի PCB կամ փաթեթներ, որոնք արտադրվում են Seeed Studio- ում: PCB- ները մոտ 10 դոլար են, փաթեթները ՝ մոտ 15 դոլար, առաքվում են աշխարհով մեկ: Սկսելու համար մենք պետք է կազմակերպենք 10 հատ PCB- ի կամ 20 հավաքածուի խմբային գնում: Եթե դուք հետաքրքրված եք Bus Pirate- ով, 3 -րդ տարբերակը գալիս է: Ես չէի կարող ընդգրկել որոշ ձևաչափման տարրեր և HTML աղյուսակներ Instructable- ում, դուք կարող եք տեսնել օրիգինալ գրառումը Վտանգավոր նախատիպերի բլոգում:

Քայլ 1: 3EEPROM Սարքաշարի ակնարկ

3EEPROM Սարքաշարի ակնարկ
3EEPROM Սարքաշարի ակնարկ
3EEPROM Սարքաշարի ակնարկ
3EEPROM Սարքաշարի ակնարկ
3EEPROM Սարքաշարի ակնարկ
3EEPROM Սարքաշարի ակնարկ

Այս նախատիպի նպատակն է սովորել EEPROM- ի և երեք ընդհանուր ավտոբուսային արձանագրությունների մասին: Նախ, մենք նայում ենք 3EEPROM PCB- ին, այնուհետև ցուցադրում ենք յուրաքանչյուր EEPROM- ը ՝ օգտագործելով Bus Pirate ունիվերսալ սերիական ինտերֆեյսի գործիքը: Եթե դուք չունեք Bus Pirate, դուք դեռ կարող եք հետևել դրան, քանի որ ինտերֆեյսի գործողությունների հիմնական կարգը մնում է նույնը ՝ անկախ նրանից, թե ինչպես եք դրանք կիրառում: CircuitFull size սխեմատիկ [PNG]: Մենք միացումն ու PCB- ն պատրաստեցինք ՝ օգտագործելով Cadsoft Eagle- ի անվճար տարբերակը: Սխեմատիկան և PCB- ն կարող եք ներբեռնել Bus Pirate SVN արխիվից: 3EEPROM PCB- ն ունի DS2431 1-Wire EEPROM (IC1), 24AA-I2C EEPROM (IC4) և 25AA-SPI EEPROM (IC5): DS2431 (IC1) սնուցվում է պարազիտաբար 1-Wire ավտոբուսից, այն չունի արտաքին սնուցման աղբյուր և չի պահանջում անջատման կոնդենսատոր: IC2- ը և IC3- ը դատարկ տեղեր են լրացուցիչ 1-Wire սարքերի համար, ինչպես օրինակ մեկ այլ DS2431 կամ DS1822 ջերմաստիճանի տվիչ: C1 (0.01uF) կամընտիր է և անհրաժեշտ է միայն այն դեպքում, երբ IC2 կամ IC3- ը բնակեցված են սնուցվող 1-լարային սարքով: Bus Pirate- ի ներկառուցված դիմադրիչները 10K են, չափազանց թույլ են գրառումների ժամանակ DS2431- ին պատշաճ սնուցման համար: 3EEPROM Explorer տախտակը ներառում է 1.8k ohm, 1/8th watt pull-up resistor (R1) 1-Wire ավտոբուսում, որպեսզի լրացուցիչ քաշման դիմադրություն չպահանջվի: 24AA- (IC4) և 25AA- (IC5) յուրաքանչյուրը ստանում է 0.1uF կոնդենսատոր `դրանք էլեկտրամատակարարումից (C2, C3) անջատելու համար: Հավանաբար, ձեզ պետք չեն կոնդենսատորները նման պարզ միացումում, մենք դրանք ցուցադրության ժամանակ բաց թողեցինք նախատիպի տախտակից: 24AA- ի կողմից օգտագործվող I2C ավտոբուսը նույնպես պահանջում է ձգվող դիմադրիչներ, սակայն Bus Pirate- ի 10K օհմ քաշող դիմադրիչները բավարար են: Բոլոր բաղադրիչները կաշխատեն 2.8 վոլտից մինչև 5 վոլտ DC: Շղթան սնուցվում է jumper 3.- ի VCC և GND կապանքների միջոցով: Կա երկու VCC կապ, մեկը հոսանքի համար է, մյուսը `Bus Pirate- ի ձգվող ռեզիստորի լարման մուտքի քորոցի (Vpullup) համար: PCB Cadsoft Eagle- ի անվճար տարբերակ: Սխեմատիկան և PCB- ն կարող եք ներբեռնել Bus Pirate SVN արխիվից: Եթե ցանկանում եք մասնագիտորեն պատրաստված PCB կամ 3EEPROM հավաքածու, մենք գուցե կարողանանք խմբային գնումներ կազմակերպել, եթե հետաքրքրված են 10 կամ 20 հոգի: Մասերի ցուցակ R1 1800 օհմ ռեզիստոր (1/8-րդ վտ) C2, 3 0.1uF կոնդենսատոր/10 վոլտ+JP1-4 0.1 դյույմանոց արական գլխիկ 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 փին DIP վարդակից IC5- ի համար, 6 ** IC4, IC5- ը կարող է լինել ցանկացած չափի, մենք կապել ենք փոքր չիպերի հետ, օգտագործել ենք 128 բայթ և 128 Կբայթ: Ես չէի կարող ներառել ձևաչափման և HTML աղյուսակներ Instructable- ում, դուք կարող եք տեսնել բնօրինակը գրառումը Վտանգավոր նախատիպերի բլոգում:

Քայլ 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

EEPROM- ի բոլոր ցուցադրումները գրեթե նույնն են: Մենք մի քանի թիվ կգրենք չիպի վրա, այնուհետև կկարդանք դրանք: Յուրաքանչյուր սարք ունի պայմաններ, որոնք կիրառվում են մեկ անգամ, երբ ցանկանում եք գրել ավելի քան մի քանի արժեք, ինչպիսիք են էջի չափը և սահմանների սահմանափակումները: Կարդացեք ավելին դրանց մասին ձեր հատուկ սարքի տվյալների թերթիկում: Եթե չեք կարող ցուցադրում աշխատել, ներբեռնեք տերմինալների ամբողջական մատյանը, որպեսզի բաց չթողնեք մեր արած ոչ մի գործը: Քաշվող դիմադրողները ամենատարածված խնդիրն են, ստուգեք քաշվող քորոցային լարումը Bus Pirate տերմինալում «v» մենյուի միջոցով: Չիպ ՝ 25AA, SPI EEPROM (1 Կբայթ): Ավտոբուս ՝ SPI: Քաշիչ դիմադրիչներ պահանջվում են միայն խառը լարման միացման համար: Էլեկտրաէներգիայի պահանջներ ՝ 1.8 վոլտ մինչև 5.5 վոլտ (AA), 2.5 վոլտ մինչև 5.5 վոլտ (LC): Հղումներ. Տվյալների թերթիկ, Hack a Day demonstration. Ավտոբուսի ծովահենների նիստի տեղեկամատյան այս ցուցադրման համար. Ես չկարողացա որոշ ձևաչափման և HTML աղյուսակներ ներառել Instructable- ում, բնօրինակը կարող եք տեսնել Վտանգավոր նախատիպերի բլոգում: IC5- ը Microchip- ից 25AA շարքի I2C EEPROM է: AA մասերը աշխատում են 1.8 վոլտից մինչև 5.5 վոլտ, մինչդեռ 25LC մասերը ունեն 2.5 վոլտ նվազագույն պահանջ: C3 (0.1uF) անջատում է SPI EEPROM- ը սնուցման աղբյուրից: Գրառման պաշտպանությունը (WP) և պահման քորոցները կարող են վերահսկվել միկրոկառավարիչի միջոցով, սակայն մենք դրանք անջատել ենք ՝ այդ կապերը բարձր պահելով: SPI ավտոբուսի կապերը ՝ CS, DO, CLK և DI, բերվում են JP4 վերնագրին: Կարգավորում Եթե դուք օգտագործում եք Bus Pirate, միացրեք այն 3EEPROM- ին կամ 25AA-IC- ին, ինչպես ցույց է տրված ստորև գծապատկերում: SPI- ն սովորաբար չի պահանջում ձգվող դիմադրիչներ: Ինտերֆեյս ավտոբուսային ծովահենների տերմինալում սեղմեք 'm' ռեժիմի ընտրացանկի համար և ընտրեք SPI: Կարգավորեք SPI գրադարանը նորմալ քորոցային ելքի համար, օգտագործեք կանխադրվածները ՝ SPI ռեժիմի մյուս բոլոր պարամետրերի համար: Միացրեք էներգիայի աղբյուրները (մեծ «W») SPI ռեժիմի հուշման մեջ: Վերջապես, ստացեք լարման հաշվետվություն `համոզվելու համար, որ սնուցման աղբյուրները աշխատում են ('v'): Մենք ցույց կտանք, թե ինչպես միացնել EEPROM- ը ուղղակիորեն 3.3 վոլտ -ի վրա` օգտագործելով SPI գրադարանը նորմալ քորոցային ռեժիմում: Այս ցուցադրման համար ձգվող դիմադրիչներ չեն պահանջվում: Եթե ցանկանում եք միացնել 5 վոլտ հզորությամբ EEPROM- ին, օգտագործեք SPI գրադարանը բաց կոլեկցիոներների (HiZ) կապի ռեժիմում և միացրեք ձգվող դիմադրողները EEPROM- ի սնուցման աղբյուրին միացված Vpullup կապով (Vpu): Քայլ 1, անջատել գրելու-պաշտպանելու 'SPI> [0b110] CS ԱՆBՆԵԼՈ< <<< չիպը միացված է ընտրելԳՐԵԼ.25AA- գրված է պաշտպանված միացման ժամանակ: Ստորին չիպը ընտրեք (CS) ([), ուղարկեք անջատել գրել պաշտպանելու հրամանը (0x06) և այնուհետև բարձրացրեք CS (]) ՝ EEPROM- ին գրելու հնարավորություն տալու համար: Անջատել գրել պաշտպանելու հրամանը 0b00000110 է երկուական, բայց մենք կարող ենք այն կրճատել 0b110 և Bus Pirate- ը դեռ հասկանում է: Քայլ 2, գրեք որոշ արժեքներ 'SPI> [0b10 0 3 2 1] CS ԱՌԱՎԱ <<< chip select enabled ԳՐԵԼ: 0x02 <<< գրել հրաման գրել,, 2, 1) ԳՐԵԼ.Այժմ EEPROM- ը գրելի է: Նախ, իջեցրեք CS- ն `25AA- ([)- ն ակտիվացնելու համար: Հաջորդը, ուղարկեք գրելու հրամանը (0x02) և գրելու սկսելու վայրը (0): Տվյալները ուղարկեք պահեստավորման (3 2 1), այնուհետև բարձրացրեք CS (]) ՝ արժեքները պահպանելու համար: Նշում. Մենք օգտագործել ենք փոքր 128 բայթ EEPROM, իսկ ավելի մեծ չիպսերը `16 բիթ (2 բայթ) հասցե: Այս հրամանը կլինի [0b10 0 '' '0' '' 3 2 1] EEPROM- երի համար 256 բայթից ավելի, նշեք երկրորդ 0. Համոզված լինելու համար ստուգեք ձեր EEPROM- ի տվյալների թերթիկը: Քայլ 3, կարդալ արժեքները SPI> [0b11 0 r: 3] CS ԱՌԱՎԱ <<< չիպը ընտրված է միացված Հաշմանդամ <<Վերջապես, նորից կարդացեք տվյալները ՝ ստուգելու համար, որ գրումը հաջող է: Ընտրեք 25AA- ([), ուղարկեք կարդալու հրամանը (0x03) և սկսեք հասցեն (0), այնուհետև կարդացեք երեք արժեք (r: 3): Գործարքն ավարտելու համար բարձրացրեք CS- ն (]): Արժեքները համընկնում են, գրելը հաջողված է: Նշում. Մենք օգտագործել ենք փոքր 128 բայթ EEPROM, իսկ ավելի մեծ չիպսերը `16 բիթ (2 բայթ) հասցե: Այս հրամանը կլինի [0b11 0 '' '0' '' r: 3] EEPROM- երի համար 256 բայթից ավելի, նշեք երկրորդ 0. Համոզված լինելու համար ստուգեք ձեր EEPROM- ի տվյալների թերթիկը:

Քայլ 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

Չիպ ՝ 24AA, I2C EEPROM (1Kbyte): Ավտոբուս ՝ I2C, պահանջվում են ձգվող դիմադրողներ: Էլեկտրաէներգիայի պահանջներ ՝ 1.8 վոլտ մինչև 5.5 վոլտ (24AA), 2.5 վոլտ մինչև 5.5 վոլտ (24LC): Հղումներ ՝ տվյալների թերթիկ, Hack a Day demonstration: Այս ցուցադրման ամբողջական ավտոբուսային ծովահենների նիստի տեղեկամատյան: Ես չկարողացա որոշ ձևաչափման և HTML աղյուսակներ ներառել Instructable- ում, բնօրինակը կարող եք տեսնել Վտանգավոր նախատիպերի բլոգում: IC4- ը Microchip- ից 24AA- սերիայի I2C EEPROM է: Այս EEPROM- ները գալիս են տոննա չափսեր: AA մասերը աշխատում են 1.8 վոլտից մինչև 5.5 վոլտ, մինչդեռ 24LC մասերը ունեն 2.5 վոլտ նվազագույն պահանջ: 0.1uF կոնդենսատորը (C2) անջատում է IC4- ը սնուցման աղբյուրից: Գրելու պաշտպանական քորոցը (WP) կարող է վերահսկվել միկրոկառավարիչից, սակայն այս պարզ ցուցադրման համար մենք անջատում ենք այն գետնին միանալով: I2C ավտոբուսի կապերը ՝ SDA և SCL, դուրս են բերվում JP2 վերնագրում: 24AA EEPROM- ների մեծ մասի հասցեն է 1010AAAS, վերջին չորս բիթերը որոշվում են հասցեի կապանքներով (A0, A1, A2) և կարդալու/գրելու ռեժիմի ընտրված բիթով: (S): Հասցեի բոլոր բիթերը հիմնավորված են այս օրինակում, ուստի EEPROM- ի գրելու հասցեն 10100000 է (տվյալների թերթիկ 6 -րդ էջ): Կարգավորում Եթե ավտոբուսային ծովահեն եք օգտագործում, միացրեք այն 3EEPROM- ին կամ 24AA-IC- ին, ինչպես ցույց է տրված ստորև գծապատկերում: I2C- ը երկկողմանի ավտոբուս է, որը պահանջում է ձգման դիմադրություններ երկու կապում: Դուք կարող եք օգտագործել Bus Pirate- ի ներկառուցվող դիմադրիչները ՝ Vpullup (Vpu) կապը միացնելով 3.3 վոլտ հզորությանը և միացնելով դրանք տերմինալում: Միջերեսային նշում. Ոչ բոլոր I2C EEPROM- երն են աշխատում նույնը: Փոքրիկ 24AA01- ը, օրինակ, ունի բոլորովին այլ հասցեավորման և հրամանների համակարգ: Համոզվեք, որ ստուգեք ձեր չիպի տվյալները: Սեղմեք 'm' Bus Pirate տերմինալում և ռեժիմի ընտրացանկից ընտրեք I2C: Միացրեք հոսանքի աղբյուրները (մեծ «W») և ձգվող դիմադրողները («p», տարբերակ 2) I2C հուշման ժամանակ: Ստացեք լարման հաշվետվություն ('v') `համոզվելու համար, որ հոսանքի աղբյուրները միացված են, և Vpullup- ի կապը միացված է լարման: I2C> (0) <<(1) <<< օգտագործել հասցեի որոնման մակրո Որոնում 7bit I2C հասցեի տարածք: Գտնված սարքեր ՝ 0xA0 0xA1 <<Մենք արդեն գիտենք, որ I2C հասցեն 10100000 է, բայց մենք կարող ենք նաև օգտագործել Bus Pirate's I2C որոնման մակրո (1) ՝ 24AA- որոնելու համար: Որոնման մակրոտնտեսությունը գտավ սարքը սպասվող գրելու (0xA0) և կարդալու (0xA1) հասցեներում: Քայլ 1, գրիր որոշ արժեքներ I2C> [0b10100000 0 0 3 2 1] I2C ՎԵՐԱԲԵՐՅԱԼ ՊԱՅՄԱՆ <<< I2C սկզբնական վիճակԳՐԵԼ. 1 ԳՐԵԼ. <Սկիզբ գրելը I2C սկզբնական պայմանով ([), որին հաջորդում է 24AA- գրելու հասցեն (0xa0): Հաջորդը, ուղարկեք 16 բիթանոց հասցեն ՝ գրելու համար (0 0) և տվյալները ՝ գրելու համար (3 2 1): Ավարտեք I2C գործարքը կանգառի պայմանով (]): Քայլ 2, տեղադրեք ընթերցման ցուցիչը I2C> [0b10100000 0 0] I2C ՎԵՐԱԲԵՐՅԱԼ ՊԱՅՄԱՆ <<< I2C սկզբնական վիճակԳՐԵԼ. 0x00 ԳՆԱԼ. ԱՅՈ <<< գրել հասցե բայթ 2I2C ԿԱՆԳՆԵԼ ՊԱՅՄԱՆԸ <<24AA- ից կարդալու համար անհրաժեշտ է երկու գործողություն: Մեկը տեղադրում է կարդալու/գրելու ցուցիչը, մյուսը վերադարձնում է արժեքները: Սկսեք I2C մեկնարկի պայմանով ([) և գրելու հասցեով (0xa0): 16 բիթ հասցեն ուղարկեք կարդալու (0 0), այնուհետև կանգառի պայմանը (]): Այս անգամ գրելու համար մենք ոչ մի տվյալ չենք ուղարկել, այլ պարզապես ընթերցման/գրելու ցուցիչը վերադարձրել ենք այն քայլերի սկզբին, որոնք մենք գրել ենք 1 -ին քայլում: Քայլ 3, կարդացեք որոշ արժեքներ I2C> [0b10100001 r: 3] I2C ԱՌԱ ՊԱՅՄԱՆ <<< I2C մեկնարկի պայմանըԳՐԵԼ.Քայլ 2 -ը կարդալու/գրելու ցուցիչը դրեց այն տվյալների սկզբին, որոնք մենք ցանկանում ենք կարդալ: Այժմ մենք կարող ենք կարդալ տվյալները ՝ օգտագործելով 24AA- կարդացած հասցեն: Սկսեք I2C մեկնարկի պայմանով ([) և 24AA- կարդալու հասցեով (0xa1): Կարդացեք այն երեք արժեքները, որոնք մենք գրել ենք 1 -ին քայլում (r: 3) և վերջացրեք կանգառի պայմանով (]): Եթե արժեքները համընկնում են, ապա ձեր գրելը հաջողված է:

Քայլ 4: DS2431 1-մետաղալար 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

Չիպ. DS2431, 1-մետաղալար EEPROM (1 Կբայթ): Ավտոբուս ՝ 1-մետաղալար, <2.2 Կոհմ քաշման դիմադրություն: Պահանջվում է էներգիայի պահանջներ ՝ 2.8 վոլտ մինչև 5.25 վոլտ: Հղումներ ՝ տվյալների թերթիկ, Hack a Day demonstration. Ավտոբուսի ծովահենների նստաշրջանի ամբողջական գրանցում այս ցուցադրման համար: Ես չէի կարող ներառել որոշ ձևաչափման և HTML աղյուսակներ Instructable- ում, բնօրինակը կարող եք տեսնել Վտանգավոր նախատիպերի բլոգում: DS2431- ը էներգիա է քաշում ձգվող դիմադրիչից և կարիք չունի արտաքին մատակարարման կամ անջատման կոնդենսատորի. 1-Wire- ին անհրաժեշտ է ուժեղ ձգվող դիմադրություն `առավելագույնը 2.2 Կմ: Bus Pirate- ի ներկառուցված դիմադրիչները 10K են, չափազանց թույլ են գրառումների ժամանակ DS2431- ին պատշաճ սնուցման համար: Դուք պետք է օգտագործեք 2.2 Կմ կամ ավելի փոքր արտաքին դիմադրություն հոսանքի և 1-Լարի ավտոբուսի կապի միջև: Եթե դժվարություններ ունեք տվյալներ գրելիս, համոզվեք, որ ձեր ձգվող դիմադրությունը բավականաչափ մեծ է: 3EEPROM Explorer տախտակը ներառում է 1800 օմ քաշող դիմադրություն (R1) 1-Wire ավտոբուսի վրա, այնպես որ արտաքին դիմադրության կարիք չկա: Կարգավորում Եթե դուք օգտագործում եք Bus Pirate, միացրեք այն 3EEPROM տախտակին կամ DS2431- ին, ինչպես ցույց է տրված ստորև գծապատկերում: DS2431- ը չի պահանջում սնուցման աղբյուր, այն օգտագործվում է 3EEPROM- ի տախտակի վրա `1-Wire ավտոբուսի համար մեծ ձգվող դիմադրությունը սնուցելու համար: Interfacing Press 'm' Bus Pirate տերմինալում և ընտրեք 1-լարային ռեժիմ: Միացրեք ներքին սնուցման աղբյուրները (մեծ «W») և ստուգեք լարման մոնիտորը (v): Քայլ 1, գտեք սարքի հասցեն 1-WIRE> (0xf0) <<< 1-Wire search macro 1WIRE ROM COMMAND: SEARCH (0xF0) Found devices at: Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 եզակի ID*DS2431 1K EEPROM <<Յուրաքանչյուր 1-Wire սարք ունի յուրահատուկ 8 բայթ ID: 1-Wire- ն ունի որոնման ընթացակարգ, որը հայտնաբերում է բոլոր կցված սարքերի ID- ն: Ավտոբուսային ծովահենն իրականացնում է 1-Լարի որոնումը որպես մակրո (240): Bus Pirate տերմինալում մուտքագրեք «(240)» ՝ 1-Wire որոնումը սկսելու համար: Սարքի յուրաքանչյուր հասցեն տպված է, հայտնի սարքերը: Սարքի առաջին տասը հասցեները պահվում են որպես մակրոներ: Այս օրինակում մեր DS2431 հասցեն հասանելի է տերմինալում մուտքագրելով '(1)': Քայլ 2, գրեք 8 բայթ քերծվածքային սկավառակին 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< նաև {հրաման 1WIRE WRITE ROM COMMAND: MATCH (0x55) * հետևել 64 բիթանոց հասցեով 1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'ԳՐԵԼ. ՝ 0x08 <<Հաջորդը մենք կգրենք 8 բայթ DS2431- ի ժամանակավոր վայրում, որը կոչվում է քերծվածքային սկավառակ: Գործարքը սկսեք 1-Wire ավտոբուսի վերակայմամբ և MATCH հրամանով (0x55): Երկուսն էլ մատչելի են որպես մակրո '(0x55)': Սա կարող է կատարվել նաև առանց մակրոյի ՝ մուտքագրելով «{0x55», {ուղարկում է 1-Wire վերականգնում, 0x55- ը 1-Wire MATCH հրաման է: MATCH հրամանից հետո ուղարկեք սարքի 8 բայթ ID- ն հասցեին: Մենք 1 -ին քայլում օգտագործեցինք մակրո (1), որը համալրված էր DS2431 ID- ով: Կարող եք նաև ձեռքով մուտքագրել 8 բայթ ID- ն: Այս պահին DS2431- ը պետք է ստանար իր հասցեն և պատրաստ լիներ հրամաններին: Հաջորդ երկու բայթերն ասում են, թե որտեղ պետք է տեղադրել տվյալները, մենք դրանք սկզբում կպահենք (0 0): Ի վերջո, մենք 8 բայթ արժեքներ ենք ուղարկում պահելու, թվերը ՝ 8 -ը 1 -ին: Դուք պետք է լրիվ 8 բայթ գրեք DS2431- ին: Բացի այդ, գրելու հասցեն պետք է լինի 8 բայթ սահմանի վրա: Տե՛ս տվյալների թերթիկը ՝ գրելու սահմանափակումների ամբողջական ակնարկի համար: Քայլ 3, հաստատեք քերծվածքի պահոցը և ստացեք թույլտվության կոդը 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< հասցեացրեք սարքը 1WIRE WRITE ROM COMMAND: MATCH (0x55) *հետևել 64 բիթ հասցեով 1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< կարդալ քերծվածքային հրահանգը 0x07 0x06 0x05 0x04 0x03 0x02 0x01 ԲՈKԼՔ ԿԱՐԴԱԵՔ 0x02 ԲԱՅԹ. <<< Տվյալների համար CRC0xC8 0x86 ԲՈԼՈԿ ԿԱՐԴԱԼ 0x02 ԲԱՅԹ: <<Հաստատեք, որ տվյալները ճիշտ են ստացվել և ստացեք գրելու թույլտվության կոդ: Նորից սկսեք 1-Wire reset և MATCH հրամանի մակրո (0x55) և սարքի հասցեի մակրո (1): Այս անգամ ուղարկեք DS2431 կարդալ scratch pad հրահանգը (0xAA), այնուհետև կարդացեք ընդհանուր առմամբ 15 բայթ: Կարդացած առաջին 3 բայթերը (r: 3) գրելու թույլտվության կոդն են, այն մեզ անհրաժեշտ կլինի հաջորդ քայլին ՝ պատճենելու համար քերծվածքային պահոց EEPROM- ին: Հաջորդ 8 բայթերը (r: 8) պետք է համապատասխանեն 2 -րդ քայլում ուղարկված տվյալների հետ: Վերջնական 2 բայթերը (r: 2) տվյալների համար CRC16 են: Կարդում է CRC- ից հետո վերադարձնել բոլոր 1 -երը: Քայլ 4, գրեք քերծվածքային պահոցը EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< հասցեացրեք սարքը 1WIRE WRITE ROM COMMAND: MATCH (0x55) *հետևեք 64 բիթանոց հասցեով 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< պատճենել քերծվածքային պահոցի հրամանըԳՐԵԼ: 0x00 <<< 3 բայթ թույլտվության կոդը 3-րդ քայլից EEPROM. Հասցեացրեք սարքը, այնուհետ ուղարկեք DS2431 պատճենի քերծվածքային պահոցի հրամանը (0x55), որին հաջորդում է երեք բայթ թույլտվության կոդը, որը մենք ստացանք 3 -րդ քայլում (0x00 0x00 0x07): Եթե թույլտվության ծածկագիրը ճիշտ է, տվյալները տեղափոխվում են EEPROM: Քայլ 5, ստուգեք քերծվածքային սկավառակը գրեք 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< հասցեացրեք սարքը 1 WIRE WRITE ROM COMMAND: MATCH (0x55) *հետևեք 64 բիթանոց հասցեով 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA «DS2431- ը սահմանում է գրելու թույլտվության կոդի վերին մասը `պատճենահանման քերծողի պահոցի հաջող հրամանից հետո: Ուղարկեք մեկ այլ ընթերցված քերծվածքային պահոցի հրաման (0xAA) ՝ թույլտվության թարմացված կոդը ստանալու համար, բայց պարզապես կարդացեք առաջին երեք բայթերը (r: 3): Նախորդ 0x07 արժեքը փոխվել է 0x87 -ի, պատճենահանման հրամանը հաջողությամբ ստացվել է:Քայլ 6, հետ կարդացեք 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81 WIRE BUS RESET OK <<< հասցեացրեք սարքը 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 կարդալ հրամանըԳՐԵԼ: 0x00 <<< 2 բայթ կարդալ հասցեն 0x08 ԲԱՅԹ. <<Հաստատեք, որ գրվածը ճիշտ է աշխատել ՝ արժեքները վերցնելով: Հասցե՛ք DS2431, այնուհետ ուղարկեք կարդալու հրամանը (0xf0) և հասցեն ՝ կարդալու համար (0x00 0x00): Հնարավոր է մեկ հրամանով կարդալ հիշողության ամբողջ տիրույթը: Մենք կարդում ենք ավելի վաղ գրած ութ բայթերը (r: 8), որոնք վերադարձնում էին սպասված արժեքները: Այս արժեքներից դուրս գտնվող ութ բայթը չի գրվել և վերադարձնում է 0:

Քայլ 5: Եզրակացություն

Եզրակացություն
Եզրակացություն

Այս նախատիպը սովորեցնում է EEPROM հիշողության մասին և ցույց է տալիս, թե ինչպես օգտագործել Bus Pirate- ը երեք ընդհանուր արձանագրություններով ՝ 1-Wire, I2C և SPI: 3EEPROM Explorer- ի տախտակն ապահովում է յուրաքանչյուր EEPROM- ի պատշաճ կապերը և ապահովում է արտաքին քաշման դիմադրություն առավել պահանջկոտ 1-Wire ավտոբուս `մակաբույծներով սնվող բաղադրիչներով: Մենք կարող ենք ունենալ 3EEPROM Explorer տախտակի PCB կամ փաթեթներ, որոնք արտադրվում են Seeed Studio- ում: PCB- ները մոտ 10 դոլար են, փաթեթները ՝ մոտ 15 դոլար, առաքվում են աշխարհով մեկ: Սկսելու համար մենք պետք է կազմակերպենք 10 հատ PCB- ի կամ 20 հավաքածուի խմբային գնում:

Խորհուրդ ենք տալիս: