Სარჩევი:

ავტობუსი Pirate 3EEPROM Explorer დაფა: 5 ნაბიჯი
ავტობუსი Pirate 3EEPROM Explorer დაფა: 5 ნაბიჯი

ვიდეო: ავტობუსი Pirate 3EEPROM Explorer დაფა: 5 ნაბიჯი

ვიდეო: ავტობუსი Pirate 3EEPROM Explorer დაფა: 5 ნაბიჯი
ვიდეო: That Has To Be The Best Pirate I've seen, Floating Bus Meme | Classic Memes 2024, ივლისი
Anonim
ავტობუსი Pirate 3EEPROM Explorer Board
ავტობუსი Pirate 3EEPROM Explorer Board

თუ თქვენ გაქვთ ერთი Hack 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 Day– ში, მაგრამ თითოეული დემო იყენებს Bus Pirate აპარატურისა და firmware– ის განსხვავებულ ვერსიას, დამწყებთათვის რთულია დაიცვას Bus Pirate v2go– ს გამოყენება. განაგრძეთ კითხვა განახლებული, ეტაპობრივად სახელმძღვანელოს გამოყენებისათვის DS2431, 24AA- და 25AA- EEPROM- ები ავტობუსით მეკობრეებით v2go. ჩვენ ასევე გვაქვს სესიის სრული ჟურნალი, როგორც ტექსტური ფაილები, ასე რომ თქვენ არ გამოტოვებთ არც ერთ დეტალს. ჩვენ შეგვიძლია გვქონდეს 3EEPROM explorer დაფის PCB ან კომპლექტი, რომლებიც დამზადებულია Seeed Studio– ში. PCB არის დაახლოებით $ 10, ნაკრები დაახლოებით $ 15, გაიგზავნება მთელს მსოფლიოში. დასაწყებად, ჩვენ უნდა მოვაწყოთ ჯგუფურად 10 PCB ან 20 კომპლექტი. თუ თქვენ დაინტერესებული ხართ ავტობუსის მეკობრეებით, ვერსია 3 მოდის. მე ვერ ჩავრთავ ფორმატირების ელემენტებს და HTML ცხრილებს Instructable– ში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპების ბლოგში.

ნაბიჯი 1: 3EEPROM აპარატურის მიმოხილვა

3EEPROM აპარატურის მიმოხილვა
3EEPROM აპარატურის მიმოხილვა
3EEPROM აპარატურის მიმოხილვა
3EEPROM აპარატურის მიმოხილვა
3EEPROM აპარატურის მიმოხილვა
3EEPROM აპარატურის მიმოხილვა

ამ პროტოტიპის მიზანია გაეცნოს EEPROM- ს და სამი საერთო ავტობუსის პროტოკოლს. პირველი, ჩვენ ვუყურებთ 3EEPROM PCB- ს, შემდეგ ჩვენ ვაჩვენებთ თითოეულ EEPROM- ს Bus Pirate უნივერსალური სერიული ინტერფეისის ინსტრუმენტის გამოყენებით. თუ თქვენ არ გყავთ მეკობრე ავტობუსი, თქვენ მაინც შეგიძლიათ გააგრძელოთ, რადგან ინტერფეისის ოპერაციების ძირითადი რიგი არ აქვს მნიშვნელობა როგორ განახორციელებთ მათ. CircuitForm ზომის სქემატური [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-მავთულის ავტობუსიდან, მას არ გააჩნია გარე კვების ბლოკი და არ საჭიროებს კონდენსატორის გათიშვას. IC2 და IC3 არის ცარიელი ადგილები დამატებითი 1 მავთულის მოწყობილობებისთვის, სხვა DS2431 ან DS1822 ტემპერატურის სენსორის მსგავსად. C1 (0.01uF) არჩევითია და საჭიროა მხოლოდ იმ შემთხვევაში, თუ IC2 ან IC3 დასახლებულია 1 მავთულის მოწყობილობით. ავტობუს მეკობრეების ბორტგამძლე რეზისტორები არის 10K, ძალიან სუსტია, რომ წერის დროს DS2431- ს სათანადოდ გააძლიეროს. 3EEPROM explorer დაფა მოიცავს 1.8k ohm, 1/8 watt pull-up resistor (R1) 1-Wire ავტობუსში ისე, რომ არ არის საჭირო დამატებითი გამყვანი რეზისტორი. 24AA- (IC4) და 25AA- (IC5) თითოეული იღებს 0.1uF კონდენსატორს, რათა გათიშოს ისინი კვების წყაროდან (C2, C3). თქვენ ალბათ არ გჭირდებათ კონდენსატორები ასეთ მარტივ წრეში, ჩვენ გამოვტოვეთ ისინი პროტოტიპის დაფაზე დემონსტრაციაში. 24AA– ს მიერ გამოყენებული I2C ავტობუსი ასევე მოითხოვს გამწევ რეზისტორებს, მაგრამ Bus Pirate– ის ბორტზე 10K ohm გამყვანი რეზისტორები საკმარისია. ყველა კომპონენტი იმუშავებს 2.8 ვოლტიდან 5 ვოლტამდე DC– მდე. წრე იკვებება VUM და GND ქინძისთავებით 3. არის ორი VCC ქინძისთავები, ერთი არის ძალაუფლებისთვის, მეორე არის Bus Pirate– ის გამყვანი რეზისტორის ძაბვის შეყვანის pin (Vpullup). PCB ჩვენ გავაკეთეთ წრე და PCB Cadsoft Eagle– ის უფასო ვერსია. თქვენ შეგიძლიათ ჩამოტვირთოთ სქემატური და PCB Bus Pirate SVN არქივიდან. თუ გსურთ პროფესიონალურად მომზადებული PCB ან 3EEPROM ნაკრები, ჩვენ შეგვიძლია შევძლოთ ჯგუფური შესყიდვის მოწყობა, თუ 10 ან 20 ადამიანი დაინტერესდება. ნაწილების სია R1 1800 ohm რეზისტორი (1/8 ვატი) C2, 3 0.1uF კონდენსატორი/10 ვოლტი+JP1-4 0.1 "მამრობითი pin header 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 პინიანი DIP სოკეტი IC5– ისთვის, 6 ** IC4, IC5 შეიძლება იყოს ნებისმიერი ზომის, ჩვენ დავუკავშირდით პატარა ჩიპებს, ჩვენ გამოვიყენეთ 128 ბაიტი და 128 კბაიტი. მე არ შემიძლია ჩავრთო ფორმატირებისა და HTML ცხრილები ინსტრუქციაში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპების ბლოგში.

ნაბიჯი 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– ის ყველა დემო საკმაოდ ერთნაირად გამოიყურება. ჩვენ დავწერთ რამდენიმე რიცხვს ჩიპზე და შემდეგ წავიკითხავთ მათ. თითოეულ მოწყობილობას აქვს პირობები, რომლებიც ვრცელდება მას შემდეგ, რაც გსურთ დაწეროთ რამდენიმეზე მეტი მნიშვნელობა, როგორიცაა გვერდის ზომა და შეზღუდვები. წაიკითხეთ მეტი ამის შესახებ თქვენი კონკრეტული მოწყობილობის მონაცემთა ცხრილში. თუ თქვენ ვერ შეძლებთ მუშაობის დემონსტრაციას, გადმოწერეთ ტერმინალის სრული ჟურნალი, რათა არ გამოგრჩეთ არც ერთი საქმე რაც გავაკეთეთ. გაყვანის რეზისტორები ყველაზე გავრცელებული პრობლემაა, შეამოწმეთ გამტარი ძაბვა მენიუს 'v' გამოყენებით Bus Pirate ტერმინალში. ჩიპი: 25AA, SPI EEPROM (1Kbyte). ავტობუსი: SPI. გაყვანის რეზისტორები საჭიროა მხოლოდ შერეული ძაბვის ინტერფეისისთვის. ენერგიის მოთხოვნები: 1.8 ვოლტიდან 5.5 ვოლტამდე (AA), 2.5 ვოლტიდან 5.5 ვოლტამდე (LC). წყაროები: მონაცემთა ცხრილი, Hack Day დემონსტრაცია. სრული დემონსტრაციის ავტობუსის მეკობრეების სესიის ჟურნალი. მე არ შემიძლია ჩავრთო ფორმატირებისა და HTML ცხრილები ინსტრუქციაში, თქვენ შეგიძლიათ ნახოთ ორიგინალი საშიში პროტოტიპების ბლოგში. IC5 არის 25AA- სერიის I2C EEPROM მიკროჩიპისგან, ეს 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 ბიბლიოთეკის ნორმალური pin გამომავალი, გამოიყენოთ ნაგულისხმევი ყველა სხვა SPI რეჟიმი პარამეტრები. ჩართეთ კვების წყაროები (დიდი 'W') SPI რეჟიმის მოთხოვნაზე. დაბოლოს, მიიღეთ ძაბვის ანგარიში, რომ დარწმუნდეთ, რომ დენის წყაროები მუშაობს ('v'). ჩვენ ვაპირებთ იმის დემონსტრირებას, თუ როგორ უნდა შევაერთოთ EEPROM უშუალოდ 3.3 ვოლტზე, SPI ბიბლიოთეკის გამოყენებით ნორმალურ pin რეჟიმში. ამ დემოსთვის არ არის საჭირო გამწევი რეზისტორები. თუ გსურთ დააკავშიროთ EEPROM 5 ვოლტიანი ენერგიით, გამოიყენეთ SPI ბიბლიოთეკა ღია კოლექტორის (HiZ) პინის რეჟიმში და ჩართეთ გამაძლიერებელი რეზისტორები Vpullup pin- ით (Vpu), რომელიც დაკავშირებულია EEPROM- ის კვების ბლოკთან. ნაბიჯი 1, გამორთეთ ჩაწერა-დაცვა 'SPI> [0b110] CS ENABLED <<< ჩიპი აირჩიეთ ჩართული ჩაწერეთ: 0x06 <<< გამორთეთ ჩაწერეთ დაცვის ბრძანება25AA- ჩაწერისას დაცულია ჩართვისას. ქვედა ჩიპი აირჩიეთ (CS) ([), გააგზავნეთ გამორთვის ჩაწერის დაცვის ბრძანება (0x06) და შემდეგ დააყენეთ CS (]), რათა ჩაწეროთ EEPROM. 0b110 და ავტობუსის მეკობრემ მაინც გაიგო. ნაბიჯი 2, ჩაწერეთ რამდენიმე მნიშვნელობა 'SPI> [0b10 0 3 2 1] CS გააქტიურებული, 2, 1) დაწერე: 0x02 დაწერე: 0x01CS გამორთულია <<ახლა 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 Day demonstration. ამ დემონსტრაციისთვის სრული ავტობუსის მეკობრეების სესიის ჟურნალი. მე არ შემიძლია ჩავრთო ფორმატირებისა და HTML ცხრილების ინსტრუქცია, თქვენ შეგიძლიათ ნახოთ ორიგინალი საშიში პროტოტიპების ბლოგში. IC4 არის მიკროჩიპიდან 24AA- სერიის I2C EEPROM, ეს EEPROMs მოდის ტონა ზომის. 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). დაყენება თუ თქვენ იყენებთ Bus Pirate- ს, დაუკავშირეთ იგი 3EEPROM ან 24AA-IC– ს, როგორც ეს მოცემულია ქვემოთ მოცემულ დიაგრამაში. I2C არის ორმხრივი ავტობუსი, რომელიც მოითხოვს გამწევ რეზისტორებს ორივე ქინძისთავზე. თქვენ შეგიძლიათ გამოიყენოთ Bus Pirate– ის ბორტ გამყვანი რეზისტორები, Vpullup (Vpu) პინ – სთან დაკავშირებით 3.3 ვოლტიანი დენის წყაროსთან და მათი ჩართვით ტერმინალში. ინტერფეისის შენიშვნა: ყველა I2C EEPROM არ მუშაობს ერთნაირად. მაგალითად, პაწაწინა 24AA01– ს აქვს სრულიად განსხვავებული მისამართი და ბრძანების სისტემა. დარწმუნდით, რომ შეამოწმეთ თქვენი ჩიპის მონაცემთა ცხრილი. დააჭირეთ 'm' Bus Pirate ტერმინალში და აირჩიეთ I2C რეჟიმის მენიუდან. ჩართეთ კვების წყაროები (დიდი 'W') და გამწევ რეზისტორები ('p', ვარიანტი 2) I2C მოთხოვნაზე. მიიღეთ ძაბვის ანგარიში ('v'), რომ დარწმუნდეთ, რომ დენის წყაროები ჩართულია და Vpullup pin დაკავშირებულია ძაბვასთან. 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 დაწყების მდგომარეობა დაწერეთ: 0xA0 მიიღეთ ACK: YES <<< 24AA- ჩაწერეთ მისამართი დაწერეთ: 0x00 მიიღეთ ACK: YES <<< ჩაწერეთ მისამართი ბაიტი 1WRITE: 0x00 GOT ACK: YES <<< ჩაწერეთ მისამართი byte 2WRITE: 0x03 GOT ACK: YES <<< 3 მნიშვნელობა დასაწერად (3, 2, 1) დაწერეთ: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP CONDITION < <დაიწყეთ წერა I2C დაწყების პირობით ([), რასაც მოჰყვება 24AA- ჩაწერის მისამართი (0xa0). შემდეგი, გაგზავნეთ 16 ბიტიანი მისამართი დასაწერად (0 0) და მონაცემები დასაწერად (3 2 1). დაასრულეთ I2C გარიგება გაჩერების პირობით (]). ნაბიჯი 2, განათავსეთ წაკითხვის მაჩვენებელი I2C> [0b10100000 0 0] I2C დაწყების მდგომარეობა <<< I2C დაწყების მდგომარეობა დაწერეთ: 0xA0 მიიღეთ ACK: YES <<< 24AA- ჩაწერეთ მისამართი დაწერეთ: 0x00 მიიღეთ ACK: YES <<< ჩაწერეთ მისამართი ბაიტი 1WRITE: 0x00 GAT ACK: YES <<< ჩაწერეთ მისამართი ბაიტი 2I2C STOP CONDITION <<24AA- დან წაკითხვას ორი ოპერაცია სჭირდება. ერთი ათავსებს წაკითხვის/ჩაწერის მაჩვენებელს, მეორე აბრუნებს მნიშვნელობებს. დაიწყეთ I2C დაწყების პირობით ([) და ჩაწერის მისამართით (0xa0). გაგზავნეთ 16 ბიტიანი მისამართი წასაკითხად (0 0) და შემდეგ გაჩერების პირობა (]). ჩვენ არ გამოგვიგზავნია მონაცემები ამჯერად დასაწერად, ჩვენ უბრალოდ დავაყენეთ წაკითხვის/ჩაწერის მაჩვენებელი იმ მონაცემების დასაწყისში, რაც ჩვენ დავწერეთ ნაბიჯი 1. ნაბიჯი 3, წაიკითხეთ რამდენიმე მნიშვნელობა I2C> [0b10100001 r: 3] I2C დაწყების მდგომარეობა <<< I2C დაწყების მდგომარეობა დაწერე: 0xA1 მიიღო: დიახ <<< 24AA- წაიკითხე მისამართი ნაგულისხმევი წაკითხვა 0x03 ბიტი: <<< წაიკითხე 3 მნიშვნელობა0x03 0x02 0x01I2C შეჩერება მდგომარეობა <<ნაბიჯი 2 დააყენეთ წაკითხვის/ჩაწერის მაჩვენებელი იმ მონაცემების დასაწყისში, რომლის წაკითხვაც ჩვენ გვინდა. ახლა ჩვენ შეგვიძლია მონაცემების წაკითხვა 24AA- წაკითხვის მისამართის გამოყენებით. დავიწყოთ I2C დაწყების პირობით ([) და 24AA- წაკითხვის მისამართით (0xa1). წაიკითხეთ სამი მნიშვნელობა, რაც ჩვენ დავწერეთ 1 ნაბიჯში (r: 3) და დაასრულეთ გაჩერების პირობით (]). თუ ღირებულებები ემთხვევა, მაშინ თქვენი წერა წარმატებული იყო.

ნაბიჯი 4: DS2431 1-Wire EEPROM

DS2431 1-მავთულის EEPROM
DS2431 1-მავთულის EEPROM
DS2431 1-მავთულის EEPROM
DS2431 1-მავთულის EEPROM
DS2431 1-მავთულის EEPROM
DS2431 1-მავთულის EEPROM

ჩიპი: DS2431, 1 მავთულის EEPROM (1Kbyte). ავტობუსი: 1-მავთული, <2.2Kohm გამწევი რეზისტორი. ენერგიის მოთხოვნები: 2.8 ვოლტი 5.25 ვოლტამდე. წყაროები: მონაცემთა ცხრილი, დღის გარჩევის დემონსტრაცია. ავტობუსის მეკობრეების სესიის ჟურნალის დასრულება ამ დემონსტრაციისთვის. მე არ შემიძლია ჩავრთო ფორმატირებისა და HTML ცხრილები Instructable– ში, თქვენ შეგიძლიათ ნახოთ ორიგინალი საშიში პროტოტიპების ბლოგში. DS2431 იძენს ძალას გამწევი რეზისტორიდან და არ სჭირდება გარე მარაგი ან კონდენსატორის გათიშვა რა 1-მავთულს სჭირდება ძლიერი გამწევი რეზისტორი, მაქსიმუმ 2.2 კოჰმ. ავტობუს მეკობრეების ბორტგამძლე რეზისტორები არის 10K, ძალიან სუსტია, რომ წერის დროს DS2431- ს სათანადოდ გააძლიეროს. თქვენ უნდა გამოიყენოთ 2.2Kohm ან უფრო მცირე გარე რეზისტორი დენსა და 1-მავთულის ავტობუსის პინს შორის. თუ თქვენ გიჭირთ მონაცემების წერა, დარწმუნდით, რომ თქვენი გამწევ რეზისტორი საკმარისად დიდია. 3EEPROM explorer დაფა მოიცავს 1800 ohm გამწევ რეზისტორს (R1) 1 მავთულის ავტობუსში, ასე რომ გარე რეზისტორი არ არის საჭირო. დაყენება თუ თქვენ იყენებთ Bus Pirate- ს, დაუკავშირეთ იგი 3EEPROM დაფაზე ან DS2431- ზე, როგორც ეს მოცემულია ქვემოთ მოცემულ დიაგრამაში. DS2431 არ საჭიროებს კვების ბლოკს, ის გამოიყენება 3EEPROM დაფაზე, 1-მავთულის ავტობუსისთვის დიდი გამწევი რეზისტორის დასაყენებლად. ინტერფეისის დაჭერა 'm' Bus Pirate ტერმინალში და აირჩიეთ 1-მავთულის რეჟიმი. ჩართეთ ბორტზე დენის წყაროები (დიდი 'W') და შეამოწმეთ ძაბვის მონიტორი (v). ნაბიჯი 1, იპოვეთ მოწყობილობის მისამართი 1-WIRE> (0xf0) <<< 1-მავთულის საძიებო მაკრო 1WIRE ROM COMMAND: SEARCH (0xF0) ნაპოვნია მოწყობილობები: მაკრო 1WIRE მისამართი1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 უნიკალური ID*DS2431 1K EEPROM <<თითოეულ 1-Wire მოწყობილობას აქვს უნიკალური 8 ბაიტიანი ID. 1-Wire– ს აქვს ძებნის პროცედურა, რომელიც ამოიცნობს ყველა თანდართული მოწყობილობის პირადობის მოწმობას. ავტობუსის მეკობრე ახორციელებს 1 მავთულის ძებნას მაკროდ (240). აკრიფეთ '(240)' Bus Pirate ტერმინალში 1 მავთულის ძებნის დასაწყებად. თითოეული მოწყობილობის მისამართი იბეჭდება, იდენტიფიცირებულია ცნობილი მოწყობილობები. პირველი ათი 1 მავთულის მოწყობილობის მისამართები ინახება როგორც მაკროები, ამ მაგალითში ჩვენი DS2431 მისამართი ხელმისაწვდომია ტერმინალში '(1)' აკრეფით. ნაბიჯი 2, ჩაწერეთ 8 ბაიტი ნულიდან 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< ასევე {command 1WIRE WRITE ROM COMMAND: MATCH (0x55) * მიჰყევით 64 ბიტიანი მისამართი 1 WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'დაწერეთ: 0x0F <<< DS2431 ჩაწერეთ ნულიდან ბრძანება დაწერეთ: 0x00 <<< DS2431 ჩაწერეთ მისამართი ბაიტი 1 დაწერეთ 02400: 0x08 <<შემდეგ ჩვენ დავწერთ 8 ბაიტს DS2431– ის დროებით ადგილას, რომელსაც ეწოდება ნულიდან. დაიწყეთ გარიგება 1 მავთულის ავტობუსის გადატვირთვისა და MATCH ბრძანებით (0x55). ორივე ხელმისაწვდომია როგორც მაკრო '(0x55)'. ეს ასევე შეიძლება გაკეთდეს მაკროს გარეშე აკრიფეთ '{0x55', {აგზავნის 1-მავთულის გადატვირთვას, 0x55 არის 1-მავთულის MATCH ბრძანება. MATCH ბრძანების შემდეგ, გაგზავნეთ მოწყობილობის 8 ბაიტიანი მისამართი მისამართზე. ჩვენ გამოვიყენეთ მაკრო (1), რომელიც დასახლებული იყო DS2431 ID– ით ნაბიჯი 1 – ში. ასევე შეგიძლიათ ხელით შეიყვანოთ 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 დაწერეთ რომის ბრძანება: მატჩი 0x55) *მიჰყევით 64 ბიტიანი მისამართით 1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2 0x2B დაწერეთ: 0xAA <<< წაიკითხეთ ნაკაწრების ბადის ბრძანება 0x07 0x06 0x05 0x04 0x03 0x02 0x01 სრული წაკითხვა 0x02 ბიტი: <<< CRC მონაცემებისთვის 0xC8 0x86 სრული წაკითხვა 0x02 ბიტი: <<გადაამოწმეთ, რომ მონაცემები სწორად იქნა მიღებული და მიიღეთ ავტორიზაციის კოდი. კვლავ დაიწყეთ 1 მავთულის გადატვირთვისა და MATCH ბრძანების მაკრო (0x55) და მოწყობილობის მისამართის მაკრო (1). ამჯერად გაგზავნეთ DS2431 წაკითხვის ნულიდან ბრძანება (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 <<< მისამართი მოწყობილობაზე 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 <<< მიმართეთ მოწყობილობას 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< წაკითხვა ნულიდან დაწყებული ბრძანება BULK READ 0x03 BYTES: 0x00 0x00 0x87 <<DS2431 აწერს ავტორიზაციის კოდის ზედა ნაწილს წარმატებული ასლის გადასაფხეკი ბრძანების შემდეგ. გაგზავნეთ სხვა წაკითხული ნულიდან (0xAA) ბრძანება განახლებული ავტორიზაციის კოდის მისაღებად, მაგრამ წაიკითხეთ პირველი სამი ბაიტი (r: 3). წინა მნიშვნელობა 0x07 შეიცვალა 0x87, ასლის ბრძანება წარმატებით იქნა მიღებული.ნაბიჯი 6, წაიკითხეთ 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< მისამართი მოწყობილობის 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 წაიკითხეთ ბრძანებაწეროთ: 0x00 <<< 2 ბაიტი წაიკითხეთ მისამართი დაწერეთ: 0x00BULK წაიკითხეთ 0x08 BYTES: <<< წაიკითხეთ 8 ბაიტი 0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x 0x08 ბიტი: <<შეამოწმეთ წერა სწორად შემუშავებული მნიშვნელობების მოძიებით. მიმართეთ DS2431- ს, შემდეგ გაგზავნეთ წაკითხვის ბრძანება (0xf0) და მისამართი წასაკითხად (0x00 0x00). შესაძლებელია მეხსიერების მთელი დიაპაზონის წაკითხვა ერთი ბრძანებით. ჩვენ ვკითხულობთ რვა ბაიტს, რომელიც ადრე დავწერეთ (r: 8), რომელიც დააბრუნა მოსალოდნელი მნიშვნელობები. ამ მნიშვნელობების მიღმა რვა ბაიტი არ არის ჩაწერილი და აბრუნებს 0 -ს.

ნაბიჯი 5: დასკვნა

დასკვნა
დასკვნა

ეს პროტოტიპი ასწავლის EEPROM მეხსიერებას და გვიჩვენებს, თუ როგორ გამოიყენოთ Bus Pirate სამი საერთო პროტოკოლით: 1-Wire, I2C და SPI. 3EEPROM explorer დაფა უზრუნველყოფს სათანადო კავშირებს თითოეულ EEPROM- თან და უზრუნველყოფს გარე გამწევ რეზისტორს უფრო მომთხოვნი 1-მავთულის ავტობუსი პარაზიტული ენერგიის კომპონენტებით. ჩვენ შეგვიძლია გვქონდეს 3EEPROM explorer დაფის PCB ან კომპლექტი წარმოებული Seeed Studio– ში. PCB არის დაახლოებით $ 10, ნაკრები დაახლოებით $ 15, გაიგზავნება მთელს მსოფლიოში. დასაწყებად ჩვენ უნდა მოვაწყოთ ჯგუფური შესყიდვა 10 PCB ან 20 ნაკრები.

გირჩევთ: