Мазмуну:

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: Кастуем, сегодня мы с тобой кастуем ► 6 Прохождение Elden Ring 2024, Июль
Anonim
Bus Pirate 3EEPROM Explorer тактасы
Bus Pirate 3EEPROM Explorer тактасы

Эгер сизде Hack a Day's Bus Pirates бар болсо, аны менен эмне кыласыз? 3EEPROM изилдөөчү тактасы менен 1-зым, I2C жана SPI EEPROM жөнүндө билиңиз (биз аны THR-EE-PROM деп атайбыз). EEPROM-бул үзгүлтүксүз электр энергиясы жок маалыматтарды сактаган эс чипинин бир түрү. Бул кичинекей логер микросхемаларында маалыматтарды туруктуу сактоо же мини веб -серверде бажы баракчаларын кармоо үчүн пайдалуу. EEPROMs көптөгөн өлчөмдөрдө жана протоколдордо келет. 3EEPROM үч жалпы EEPROM чиптерине ээ: DS2431 (1-Wire), 24AA- (I2C) жана 25AA- (SPI). Үчөө тең мурда Hack Dayде көрсөтүлдү, бирок ар бир демо Bus Pirate аппараттык жана жабдыктарынын башка версиясын колдонот, башталгыч үчүн Bus Pirate v2go менен жүрүү кыйын. Окууну улантыңыз. DS2431, 24AA- жана 25AA- EEPROMs Bus Pirate v2go менен. Биз ошондой эле тексттин файлдары катары толук сессия журналдарын алдык, андыктан сиз бир дагы деталды өткөрүп жибербейсиз. Seeed Studioдо 3EEPROM изилдөөчү тактасынын ПКБлары же комплекттери болушу мүмкүн. ПХБлар болжол менен $ 10, комплекттер болжол менен $ 15, дүйнө жүзү боюнча жөнөтүлөт. Биз баштоо үчүн 10 ПХБ же 20 комплект топтук сатып алууну уюштурушубуз керек. Эгерде сизди автобус каракчысы кызыктырса, анда 3 -версия келе жатат. Мен кээ бир форматтоо элементтерин жана HTML таблицаларын Instructableге киргизе алган жокмун, оригиналдуу билдирүүнү Dangerous Prototypes блогунда көрө аласыз.

1 -кадам: 3EEPROM Аппараттык Сереп

3EEPROM Аппараттык Сереп
3EEPROM Аппараттык Сереп
3EEPROM Аппараттык Сереп
3EEPROM Аппараттык Сереп
3EEPROM Аппараттык Сереп
3EEPROM Аппараттык Сереп

Бул прототиптин максаты - EEPROM жана үч жалпы автобус протоколу жөнүндө билүү. Биринчиден, биз 3EEPROM ПКБны карайбыз, андан кийин Bus Pirate универсалдуу сериялык интерфейс куралын колдонуп, ар бир EEPROMду көрсөтөбүз. Эгерде сизде Bus Pirate жок болсо, анда сиз дагы эле ээрчип жүрө аласыз, анткени сиз аларды кантип ишке ашырсаңыз да, интерфейстин негизги тартиби ошол бойдон калат. Биз схеманы жана ПХБны Cadsoft Eagleдин бекер версиясын колдонуп жасадык. Сиз схеманы жана ПКБны Bus Pirate SVN архивинен жүктөп алсаңыз болот. 3EEPROM ПХБда DS2431 1-Wire EEPROM (IC1), 24AA- I2C EEPROM (IC4) жана 25AA- SPI EEPROM (IC5) болот. IC1) 1-зымдуу автобустан электр энергиясын паразиттик түрдө алат, анын тышкы электр менен камсыздоо пини жок жана ажыратуучу конденсаторду талап кылбайт. IC2 жана IC3 башка DS2431 же DS1822 температура сенсору сыяктуу кошумча 1-зымдуу түзмөктөр үчүн бош жерлер. C1 (0.01uF) милдеттүү эмес жана эгерде IC2 же IC3 1-зымдуу түзүлүшкө ээ болсо.1-Wire күчтүү тартуучу каршылыкты талап кылат, максимум 2.2K Ом. Автобус каракчысынын борттогу тартма каршылыгы 10K, жазуу учурунда DS2431ди туура иштетүү үчүн өтө алсыз. 3EEPROM изилдөөчү тактасы 1,8к ом, 1/8-ватт тартылуу каршылыгын (R1) 1-Вирустук автобуста камтыйт, андыктан кошумча тартылуучу каршылыктын кереги жок. 24AA- (IC4) жана 25AA- (IC5) ар бири 0.1uF конденсаторун электр энергиясынан ажыратуу үчүн алышат (C2, C3). Сизге, балким, мындай жөнөкөй схемада конденсаторлордун кереги жок, демонстрацияда биз аларды прототип тактасынан алып салдык. 24AA- колдонгон I2C автобусу дагы каршылаштарды тартууну талап кылат, бирок Bus Pirateнин бортунда 10K ом тартылган резисторлор жетиштүү. Район 3 секиргичтин VCC жана GND казыктары аркылуу иштейт. Эки VCC казыгы бар, бири бийлик үчүн, экинчиси Bus Pirate's pull-up resistor voltage input pin (Vpullup). PCBWe the circuit and PCB using the Cadsoft Eagle акысыз версиясы. Схеманы жана ПХБны Bus Pirate SVN архивинен жүктөп алсаңыз болот. Эгерде сиз профессионалдуу түрдө даярдалган ПХБ же 3EEPROM комплектин кааласаңыз, анда 10 же 20 киши кызыкса, биз топтук сатып алууну уюштура алабыз. Бөлүктөр тизмеси R1 1800 ohm каршылыгы (1/8th ватт) C2, 3 0.1uF конденсатор/10вольт+JP1-4 0.1 эркек пин баш 25AA010A-I/P SPI EEPROM DIP8ICS4, IC5 үчүн 5 8 пин DIP розеткасы, 6 ** IC4, IC5 каалаган өлчөмдө болушу мүмкүн, биз кичинекей фишкалар менен байланышканбыз, биз 128 байт жана 128 кбайт колдонгонбуз. Нускоодо, сиз оригиналдуу постту Dangerous Prototypes блогунан көрө аласыз.

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 демонстрациялары дээрлик окшош. Чипке бир нече сандарды жазабыз, анан окуйбуз. Ар бир түзмөктө барактын өлчөмү жана чек ара чектөөлөрү сыяктуу бир нече баалуулуктарды жазгыңыз келгенден кийин колдонула турган шарттар бар. Бул тууралуу кененирээк маалымат алуу үчүн, конкреттүү түзмөгүңүздүн маалымат баракчасынан окуңуз. Эгерде сиз демонстрация иштей албасаңыз, терминалдын толук журналын жүктөп алыңыз. Pull-up резисторлору эң кеңири таралган көйгөй, Bus Pirate терминалындагы 'v' менюсун колдонуп, тарткычтын чыңалуусун текшериңиз. Чип: 25AA, SPI EEPROM (1Kbyte). Pull-up резисторлору аралаш чыңалуудагы интерфейс үчүн гана керек. Power талаптары: 5.5volts (AA) үчүн 1.8volts, 5.5volt үчүн 2.5volts (LC) үчүн.. Мен Инструкцияга кээ бир форматтоону жана HTML таблицаларын кошо алган жокмун, оригиналын Dangerous Prototypes блогунда көрө аласыз. IC5- Microchipтен алынган 25AA сериясындагы I2C EEPROM, бул EEPROMдор бир тонна өлчөмдө келет. AA бөлүктөрү 25VL бөлүктөрү 2.5volt минималдуу талапка ээ, ал эми 1.8VOLTтон 5.5Voltsко чейин иштейт. Жазуудан коргоо (WP) жана кармагычтар микроконтроллер тарабынан башкарылышы мүмкүн, бирок биз бул пиндерди бийик кармоо менен аларды өчүрдүк. SPI автобус казыктары, CS, DO, CLK жана DI, JP4 аталышына жеткирилет. Орнотуу Эгерде сиз автобус каракчысын колдонуп жатсаңыз, аны төмөнкү диаграммада көрсөтүлгөндөй 3EEPROM же 25AA- ICге туташтырыңыз. SPI адатта тартуу резисторлорун талап кылбайт. Interfacing Bus Pirate терминалында меню үчүн 'm' баскычын басыңыз жана SPIди тандаңыз. Кадимки пин чыгаруу үчүн SPI китепканасын конфигурациялаңыз, башка SPI режиминин бардык орнотуулары үчүн демейки параметрлерди колдонуңуз. SPI режиминин сурамында электр менен камсыздоону (чоң 'W') иштетүү. Акырында, электр булактары иштеп жатканына ынануу үчүн чыңалуу боюнча отчет алыңыз ('v'). Биз кадимки пин режиминде SPI китепканасын колдонуп, EEPROMду 3.3 вольтто кантип туташтырууну көрсөтөбүз. Бул демо үчүн тартуучу резисторлор талап кылынбайт. Эгерде сиз 5 вольттон турган EEPROM менен иштөөнү кааласаңыз, SPI китепканасын ачык коллектордук (HiZ) пин режиминде колдонуңуз жана EEPROMдун электр булагына туташкан Vpullup pin (Vpu) менен тартма каршылыктарды иштетиңиз. 1-кадам, жазуудан коргоону өчүрүү 'SPI> [0b110] CS ENABLED <<< чип тандоо иштетилдиWRITE: 0x06 <<< жазууну коргоо буйругун өчүрүүCS ӨЧҮРҮЛГӨН <<25AA- жазуу күйгүзүлгөндө корголгон. Төмөнкү чипти тандаңыз (CS) ([), EEPROMга жазууну иштетүү үчүн жазууну коргоо буйругун өчүрүңүз (0x06), андан кийин CS (]) көтөрүңүз. 0b110 жана Bus Pirate дагы деле түшүнөт. 2 -кадам, кээ бир маанилердин SPIин жазыңыз> [0b10 0 3 2 1] CS ENABLED <<< чип тандоо иштетилгенWRITE: 0x02 <<< command commandWRITE: 0x00 <<< start start addressWRITE: 0x03 <<< 3 баалуулуктарды жазыңыз (3, 2, 1) ЖАЗЫҢЫЗ: 0x02ЖАЗЫҢЫЗ: 0x01CS ӨЧҮРҮЛГӨН <<Азыр EEPROM жазууга болот. Биринчиден, 25AA- ([) жандандыруу үчүн төмөнкү CS. Андан кийин, жазуу буйругун (0x02) жана жазууну баштоо үчүн жайгашкан жерди (0) жөнөтүңүз. Дайындарды сактоого жөнөтүңүз (3 2 1), андан кийин баалуулуктарды сактоо үчүн CS (]) көтөрүңүз. Эскертүү: биз кичинекей 128 байт EEPROM колдондук, чоңураак чиптер 16 бит (2 байт) дарегин колдонушат. Бул буйрук 256 байттан чоң EEPROM үчүн [0b10 0 '' '0' '' 3 2 1] болмокчу, экинчи 0го көңүл буруңуз. EEPROM үчүн маалымат барагын текшериңиз. 3 -кадам, маанилерди кайра окуу SPI> [0b11 0 r: 3] CS ENABLED <<< чип тандоо иштетилдиWRITE: 0x03 <<< read commandWRITE: 0x00 <<< read start addressBULK READ 0x03 BYTES: <<< read 3 values0x03 0x02 0x01CS ӨЧҮРҮЛГӨН <<Акырында, жазуу ийгиликтүү болгонун текшерүү үчүн маалыматтарды кайра окуңуз. 25AA- ([) тандап, окуу буйругун жөнөтүңүз (0x03) жана баштоо дареги (0), анан үч маанини окуңуз (r: 3). Транзакцияны аяктоо үчүн CS жогорулатыңыз (]). Маанилер дал келет, жазуу ийгиликтүү болду. Эскертүү: биз кичинекей 128 байт EEPROM колдондук, чоңураак чиптер 16 бит (2 байт) дарегин колдонушат. Бул буйрук 256 байттан чоң EEPROM үчүн [0b11 0 '' '0' '' r: 3] болмокчу, экинчи 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

Chip: 24AA, I2C EEPROM (1Kbyte). Bus: I2C, pull-up резисторлору талап кылынат. Power талаптары: 1.8.5volts to 5.5volts (24AA), 2.5volts to 5.5volt (24LC). Шилтемелер: маалымат баракчасы, Hack a Day demonstration. Бул демонстрация үчүн толук Bus Pirate сессия журналы тонна өлчөмдөрү. 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-эки тараптуу автобус, ал эки казыкта тең каршылыкты талап кылат. Vpullup (Vpu) пинди 3.3 вольттук электр булагына туташтырып жана терминалда иштетүү менен Bus Pirateнин борттогу каршылыгын колдонсоңуз болот. Interfacing Note: Бардык I2C EEPROMдору бирдей иштебейт. Мисалы, кичинекей 24AA01 такыр башка дарек жана буйрук системасына ээ. Чипиңиздин маалымат барагын текшерүүнү унутпаңыз. Bus Pirate терминалындагы 'm' баскычын басып, менюдан I2C тандаңыз. I2C чакырыгында электр булактарын (чоң 'W') жана тартма каршылыктарды ('p', вариант 2) иштетүү. Электр булактары күйгүзүлгөндүгүн жана Vpullup пин чыңалууга туташканын текшерүү үчүн чыңалуу отчетун алыңыз ('v'). I2C> (0) <<(1) <<< дарек издөө макросун колдонуу 7bit I2C дарек мейкиндигин табуу. Табылган түзмөктөр: 0xA0 0xA1 <<Биз буга чейин I2C дареги 10100000 экенин билебиз, бирок биз дагы 24AA- издөө үчүн Bus Pirateнин I2C издөө макросун (1) колдоно алабыз. Издөө макросу аппаратты күтүлгөн жазуу (0xA0) жана окуу (0xA1) даректеринен тапты. 1-кадам, I2C> [0b10100000 0 0 3 2 1] кээ бир маанилерди жазыңыз I2C БАШТОО ШАРТЫ <<< I2C баштоо шарты 1ЖАЗЫҢЫЗ: 0x00 АКТ: ООБА <<< жазуу дареги байт 2ЖАЗЫҢЫЗ: 0x03 АКТ: ООБА <<< жазуу үчүн 3 маани (3, 2, 1) ЖАЗЫҢЫЗ: 0x02 ТАТТЫК: ООО ЖАЗЫҢЫЗ: 0x01 АКТ: Ооба2C ТОКТОТУУ < <Жазууну I2C баштоо шарты менен баштаңыз ([), андан кийин 24AA- жазуу дареги (0xa0). Андан кийин, жазуу үчүн 16 бит дарегин (0 0) жана маалыматтарды жазуу үчүн жөнөтүңүз (3 2 1). I2C транзакциясын токтотуу шарты менен аяктаңыз (]). 2-кадам, окуу көрсөткүчүн I2C> [0b10100000 0 0] I2C БАШТОО ШАРТЫ <<< I2C баштоо шарты ЖАЗЫҢЫЗ: 0xA0 АКТТЫ АЛДЫМ: Ооба <<< 24AA- даректи жаз 0x00 GOT ACK: ООБА <<< дарек байтын жазуу 2I2C STOP ШАРТ <<24AA- дан окуу үчүн эки операция талап кылынат. Бири окуу/жазуу көрсөткүчүн жайгаштырат, экинчиси баалуулуктарды кайтарат. I2C баштоо шарты ([) жана жазуу дареги (0xa0) менен башталат. Окуу үчүн 16 бит дарегин жөнөтүңүз (0 0), анан токтотуу шарты (]). Биз бул жолу жазуу үчүн эч кандай маалымат жөнөткөн жокпуз, биз жөн гана окуу/жазуу көрсөткүчүн 1 -кадамда жазган маалыматтардын башына жайгаштырдык. 3 -кадам, I2C> [0b10100001 r: 3] I2C БАШТОО ШАРТТАРЫН окуңуз <<< I2C баштоо шарты ЖАЗУУ: 0xA1 ТҮШҮРҮЛДҮ: ООБА <<< 24AA- даректи окууБУЛКА ОКУУ 0x03 BYTES: <<< окуу 3 маанини0x03 0x02 0x01I2C ТОКТОТУУ ШАРТЫ <<2 -кадам окуу/жазуу көрсөткүчүн биз окугубуз келген маалыматтардын башына коюңуз. Эми биз 24AA- окуу дарегин колдонуп маалыматтарды окуй алабыз. I2C баштоо шарты ([) жана 24AA- окуу дареги (0xa1) менен баштайбыз. Биз 1 -кадамда жазган үч маанини окуңуз (r: 3) жана токтотуу шарты менен бүтүңүз (]). Эгерде баалуулуктар дал келсе, анда жазууңуз ийгиликтүү болду.

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

Чип: DS2431, 1 зымдуу EEPROM (1Кбайт). Бус: 1-Зым, <2.2Kohm тартма каршылыгы талап кылынат. Кубат талаптары: 2.8 вольттон 5.25вольтко чейин Бул көрсөтмө үчүн. Инструкцияга кээ бир форматтоо жана HTML таблицаларын кошо алган жокмун, оригиналын Dangerous Prototypes блогунда көрө аласыз.. 1-Wire күчтүү тартма каршылыкка муктаж, максимум 2.2Kohms. Автобус каракчысынын борттогу тартма каршылыгы 10K, жазуу учурунда DS2431ди туура иштетүү үчүн өтө алсыз. Сиз 2.2Kohm же кичирээк тышкы резистор менен кубаттуулукту жана 1-Wire шина пининин ортосунда колдонушуңуз керек. Эгерде сизде маалыматтарды жазууда кыйынчылыктар пайда болсо, сиздин каршылыгыңыз жетишерлик чоң экенин текшериңиз. 3EEPROM изилдөөчү тактасы 1800 Ом тартма каршылыгын (R1) 1-Вирустук автобуста камтыйт, андыктан эч кандай тышкы резистордун кереги жок. Орнотуу Эгерде сиз автобус каракчысын колдонуп жатсаңыз, аны 3EEPROM тактасына же DS2431ге туташтырыңыз, төмөндөгү диаграммада көрсөтүлгөндөй. DS2431 электр менен камсыздоо пинин талап кылбайт, ал 3EEPROM тактасында 1-зымдуу автобустун чоң тартылуу каршылыгын иштетүү үчүн колдонулат. Interfacing Bus Pirate терминалындагы 'm' баскычын басып, 1-Wire режимин тандаңыз. Борттогу электр энергиясын иштетүү (чоң 'W') жана чыңалуу мониторун (v) текшериңиз. 1-кадам, түзмөктүн дарегин табыңыз 1-WIRE> (0xf0) <<< 1-Wire search macro 1WIRE ROM COMMAND: SEARCH (0xF0) Табылган түзмөктөр: Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 уникалдуу ID*DS2431 1K EEPROM <<Ар бир 1-зымдуу түзмөктө уникалдуу 8 байт ID бар. 1-Wireде бардык тиркелген түзмөктөрдүн идентификаторун аныктоочу издөө процедурасы бар. Bus Pirate 1-Wire издөө макро катары жүзөгө ашырат (240). 1-Wire издөө баштоо үчүн Bus Pirate терминалына '(240)' териңиз. Ар бир түзмөктүн дареги басылып чыгат, белгилүү түзмөктөр аныкталат. Биринчи он 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 бит дареги менен ээрчүү1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'WRITE: 0x0F <<< DS2431 skretch pad командасын жазуу ЖАЗЫҢЫЗ: 0x00 <<< DS2431 даректи байт 1 WRITE: 2x31 <<<: 0x08 <<Андан кийин биз DS2431деги убактылуу жерге 8 байтты жазабыз, анда тырмоо аянтчасы деп аталат. 1-Wire автобус абалга келтирүү жана MATCH буйругу менен операцияны баштоо (0x55). Экөө тең макро '(0x55)' катары жеткиликтүү. Бул ошондой эле "{0x55" терүү менен макросуз эле жасалышы мүмкүн, {1-зымды баштапкы абалга жөнөтөт, 0x55-1-зымдуу матч. MATCH буйругунан кийин, даректин 8 байттык түзмөгүнүн идентификаторун жөнөтүңүз. Биз 1 -кадамда DS2431 ID менен толтурулган макросту (1) колдонгонсуз. 8 байт IDди кол менен да киргизсеңиз болот. Бул учурда DS2431 дарегин алышы керек жана буйруктарга даяр болушу керек. Кийинки эки байт маалыматты кайда коюу керектигин айтат, биз аны башында сактайбыз (0 0). Акыр -аягы, биз 8 байтты сактоого жөнөтөбүз, сандар 8ден 1. Сиз DS2431ге 8 байт толук жазышыңыз керек. Кошумча катары, жазуу дареги 8 байттык чекте болушу керек. Жазуу чектөөлөрү жөнүндө толук маалымат алуу үчүн маалымат барагын караңыз. 3-кадам, тырмоо тактасын текшериңиз жана авторизация кодун алыңыз 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< түзмөккө кайрылыңыз 0x55) *64bit дареги менен ээрчиңиз1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< read scratch pad commandBULK READ 0x03 BYTES: <<< авторизация коду0x00B0K0B0K0B0K0 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC 0xC8 0x86BULK READ 0x02 BYTES: <<Берилиштердин туура кабыл алынганын текшериңиз жана жазуу авторизация кодун алыңыз. 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 <<< түзмөккө кайрылыңыз1 WIRE WOMRE ROM COMMAND: MATCH (0x55) *64bit address1ACIRE ADDRESS MDRCH 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< skretch pad командасын көчүрүү ЖАЗУУ: 0x00 <<< 3 байттан 3-кадамдын авторизация коду ЖАЗЫҢЫЗ: 0x00WRITE: 0x071-WIRE> Бизде дайыма сактай турган маалыматтар бар EEPROM. Address Түзмөк, андан кийин DS2431 көчүрүү тырмоо командасын жөнөтүү (0x55), андан кийин биз 3 -кадамда алынган үч байт авторизация коду (0x00 0x00 0x07). Эгерде авторизация коду туура болсо, анда маалыматтар EEPROMго которулат. 5-кадам, тырмоо тактасын текшериңиз 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< түзмөктүн дарегине1 WIRE WRREE ROM COMMAND: MATCH (0x55) *64bit address1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< scratch pad буйругун окууDS2431 ийгиликтүү көчүрүү чийүү аянты буйругунан кийин жазууга уруксат берүүчү коддун жогорку бөлүгүн орнотот. Жаңыртылган авторизация кодун алуу үчүн дагы башка окуу чийүү буйругун (0xAA) жөнөтүңүз, бирок биринчи үч байтты окуңуз (r: 3). Мурунку 0x07 мааниси 0x87ге өзгөрдү, көчүрүү буйругу ийгиликтүү кабыл алынды.6-кадам, 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81 WIRE BUS RESET OK <<< түзмөктүн дарегине1WIRE WOMRE ROM COMMAND: MATCH (0x55) *64bit address1WIRE ADDRESS MACRO менен ээрчүү 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 read commandWRITE: 0x00 <<< 2 byte read addressWRITE: 0x00BULK READ 0x08 BYTES: <<< 0x0 0x0 0x0 0x08 BYTES: <<Жазууларды баалуулуктарды алуу менен туура иштегенин текшериңиз. DS2431ге кайрылыңыз, андан кийин окуу буйругун (0xf0) жана (0x00 0x00) окуу үчүн даректи жөнөтүңүз. Бул бир буйрук менен бүт эс тутум диапазонун окуу мүмкүн. Биз мурда жазган сегиз байтты окудук (r: 8), ал күтүлгөн маанилерди кайтарып берди. Бул маанилерден ашкан сегиз байт жазыла элек жана 0 кайтарылат.

5 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Бул прототип EEPROM эс тутумун үйрөтөт жана Bus Pirate'ди үч жалпы протокол менен кантип колдонууну көрсөтөт: 1-Wire, I2C жана SPI. паразитардык кубаттуулуктагы компоненттери бар 1-Wire автобусу. Биз Seeed Studioдо өндүрүлгөн 3EEPROM изилдөөчү тактасынын ПКБ же комплекттерине ээ боло алабыз. ПХБлар болжол менен $ 10, комплекттер болжол менен $ 15, дүйнө жүзү боюнча жөнөтүлөт. Биз баштоо үчүн 10 ПХБ же 20 комплект топтук сатып алууну уюштурушубуз керек.

Сунушталууда: