Агуулгын хүснэгт:

Автобусны дээрэмчин 3EEPROM Explorer самбар: 5 алхам
Автобусны дээрэмчин 3EEPROM Explorer самбар: 5 алхам

Видео: Автобусны дээрэмчин 3EEPROM Explorer самбар: 5 алхам

Видео: Автобусны дээрэмчин 3EEPROM Explorer самбар: 5 алхам
Видео: МКС Monster8 — Основы 2024, Арваннэгдүгээр
Anonim
Автобусны дээрэмчин 3EEPROM Explorer самбар
Автобусны дээрэмчин 3EEPROM Explorer самбар

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

Алхам 1: 3EEPROM тоног төхөөрөмжийн тойм

3EEPROM Тоног төхөөрөмжийн тойм
3EEPROM Тоног төхөөрөмжийн тойм
3EEPROM тоног төхөөрөмжийн тойм
3EEPROM тоног төхөөрөмжийн тойм
3EEPROM Тоног төхөөрөмжийн тойм
3EEPROM Тоног төхөөрөмжийн тойм

Энэхүү прототипийн зорилго нь EEPROM болон гурван нийтлэг автобусны протоколуудын талаар олж мэдэх явдал юм. Нэгдүгээрт, бид 3EEPROM ПХБ -ийг хараад дараа нь EEPROM бүрийг Bus Pirate бүх нийтийн цуваа интерфэйсийн хэрэгслийг ашиглан үзүүлэв. Хэрэв танд автобусны дээрэмчин байхгүй бол та үүнийг дагаж мөрдөх боломжтой, учир нь тэдгээрийг хэрхэн хэрэгжүүлэхээс үл хамааран интерфэйсийн үйл ажиллагааны үндсэн дараалал ижил хэвээр байна. Бид Cadsoft Eagle -ийн үнэгүй хувилбарыг ашиглан хэлхээ ба ПХБ -ийг хийсэн. Та схем болон ПХБ-ийг Bus Pirate SVN архиваас татаж авах боломжтой. 3EEPROM ПХБ нь DS2431 1 утастай EEPROM (IC1), 24AA- I2C EEPROM (IC4), 25AA- SPI EEPROM (IC5) төхөөрөмжтэй. IC1) нь 1-утастай автобуснаас шим тэжээлээр шимэгддэг, гадаад тэжээлийн зүүгүй, задлах конденсатор шаарддаггүй. IC2 ба IC3 нь өөр DS2431 эсвэл DS1822 температур мэдрэгч гэх мэт нэмэлт 1 утастай төхөөрөмжүүдийн хоосон цэг юм. C1 (0.01uF) нь заавал байх ёстой бөгөөд зөвхөн IC2 эсвэл IC3-ийг 1 утастай төхөөрөмжөөр дүүргэсэн тохиолдолд л шаардлагатай болно.1-Утас нь хамгийн ихдээ 2.2К ом-тэй хүчтэй татах эсэргүүцэл шаарддаг. Автобусны дээрэмчдийн самбар дээрх татах эсэргүүцэл нь 10K хэмжээтэй бөгөөд бичих явцад DS2431-ийг зөв асаахад хэтэрхий сул байна. 3EEPROM судлаачийн самбар нь 1 утастай автобусанд 1.8k ом, 1/8 ватт татах эсэргүүцэл (R1) агуулдаг тул нэмэлт татах эсэргүүцэл шаардлагагүй болно. 24AA- (IC4) ба 25AA- (IC5) тус бүр 0.1uF конденсаторыг цахилгаан тэжээлээс салгахын тулд авдаг (C2, C3). Ийм энгийн хэлхээнд конденсатор хэрэггүй байж магадгүй, бид жагсаал дээр прототипийн самбараас хассан. 24AA-ийн ашигладаг I2C автобус нь татах эсэргүүцэл шаарддаг боловч автобус дээрэмчдийн 10K ом эсэргүүцэх эсэргүүцэл хангалттай бөгөөд бүх бүрэлдэхүүн хэсгүүд нь 2.8 вольтоос 5 вольтын тогтмол гүйдэл хүртэл ажиллах болно. Уг хэлхээ нь холбогч 3-ийн VCC ба GND зүүгээр тэжээгддэг. Нэг нь цахилгаан, хоёр дахь нь VCC зүү байдаг. Cadsoft Eagle -ийн үнэгүй хувилбар. Та схем ба ПХБ -ийг Bus Pirate SVN архиваас татаж авах боломжтой. Хэрэв та мэргэжлийн түвшинд бэлтгэсэн ПХБ эсвэл 3EEPROM иж бүрдэл авахыг хүсвэл 10 эсвэл 20 хүн сонирхож байвал бид бүлгээр худалдан авалт хийх боломжтой болно. Эд ангиудын жагсаалт R1 1800 ом эсэргүүцэл (1/8 дахь ватт) C2, 3 0.1uF конденсатор/10 вольт+JP1-4 0.1 эрэгтэй зүү толгой IC1 DS2431 1K 1 утастай EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, IC5, 6 ** IC4, IC5-ийн 5 8 зүү DIP сокет нь ямар ч хэмжээтэй байж болно, бид жижиг чипстэй холбогдсон, 128 байт, 128 кбайт ашигладаг байсан. Зааварчилгааны хэсэгт та Аюултай прототипийн блог дээрх анхны бичлэгийг үзэх боломжтой.

Алхам 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' цэсийг ашиглан татах зүүний хүчдэлийг шалгана уу. 25AA, SPI EEPROM (1Kbyte). Татах эсэргүүцэл нь зөвхөн холимог хүчдэлийн интерфейсд шаардлагатай байдаг. Эрчим хүчний шаардлага: 1.8 вольтоос 5.5 вольт хүртэл (AA), 2.5 вольтоос 5.5 вольт хүртэл (LC). Би зааварчилгаанд зарим формат, HTML хүснэгтийг оруулж чадаагүй, та эх хувилбарыг нь Dangerous Prototypes блог дээрээс харж болно. IC5 нь Microchip-ээс авсан 25AA цуврал I2C EEPROM бөгөөд эдгээр EEPROM нь маш олон хэмжээтэй байдаг. AA хэсгүүд нь 1.8 вольтоос 5.5 вольт хүртэл ажилладаг бол 25LC хэсгүүдэд 2.5 вольтын хамгийн бага шаардлага байдаг. C3 (0.1uF) нь SPI EEPROM-ийг цахилгаан тэжээлээс салгадаг. Бичих хамгаалалт (WP) ба барих тээглүүрийг микроконтроллер хянаж болох боловч бид эдгээр тээглүүрийг өндөр барьснаар идэвхгүй болгосон. SPI автобусны тээглүүрүүд, CS, DO, CLK, DI -ийг JP4 толгой руу авчирна. Тохиргоо Хэрэв та автобусны дээрэмчин ашиглаж байгаа бол түүнийг доорх график зурагт үзүүлсэн шиг 3EEPROM эсвэл 25AA-IC-тэй холбоно уу. SPI нь ихэвчлэн татах эсэргүүцэл шаарддаггүй. Автобусны дээрэмчдийн терминал дээр горимын цэс дээр 'm' товчийг дарж SPI -ийг сонгоно уу. Хэвийн зүү гаралтын хувьд SPI номын санг тохируулж, бусад бүх SPI горимын тохиргоог анхдагчаар ашиглана уу. Цахилгаан хангамжийг (том 'W') SPI горимыг идэвхжүүлэх. Эцэст нь цахилгаан хангамж ажиллаж байгаа эсэхийг шалгахын тулд хүчдэлийн тайланг аваарай ('v'). Бид ердийн зүү горимд SPI номын санг ашиглан EEPROM -ийг 3.3 вольтоор хэрхэн шууд холбохыг харуулах болно. Энэ демо дээр татах эсэргүүцэл шаардагдахгүй. Хэрэв та 5 вольтоор ажилладаг EEPROM интерфэйсийг ашиглахыг хүсвэл SPI номын санг нээлттэй коллекторын (HiZ) зүү горимд ашиглаж, EEPROM-ийн цахилгаан тэжээлд холбогдсон Vpullup зүү (Vpu) ашиглан татах эсэргүүцлийг идэвхжүүлнэ үү. Алхам 1, бичихээс хамгаалах 'SPI> [0b110] CS ENABLED <<< чипийг сонгох боломж идэвхжсэн Бичих: 0x06 <<< бичихээс хамгаалах командыг идэвхгүй болгохCS DISABLED <<25AA- нь асаалттай үед бичихээс хамгаалагдсан болно. Доод чипийг сонгох (CS) ([), бичих хамгаалалтын командыг идэвхгүй болгох (0x06), дараа нь CS (]) дээр дарж EEPROM -д бичихийг идэвхгүй болгоно. Бичихээс хамгаалах командыг хоёртын хувилбараар 0b00000110 гэж бичсэн боловч бид үүнийг богиносгож болно. 0b110 болон Автобусны дээрэмчин одоо хүртэл ойлгосон хэвээр байна. 2 -р алхам, зарим утгын SPI> [0b10 0 3 2 1] CS ENABLED <<< чип сонгох боломж идэвхжсэн Бичих: 0x02 <<< бичих команд бичих Бичих: 0x00 <<< эхлэх хаягийг бичих Бичих: 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 <<< чип сонгох боломж идэвхжсэн Бичих: 0x03 <<< унших командWRITE: 0x00 <<< read startBULK READ 0x03 BYTES: <<< унших ХӨГЖЛИЙГ ХӨГЖҮҮЛСЭН <<Эцэст нь, бичлэг амжилттай болсон эсэхийг шалгахын тулд өгөгдлийг дахин уншина уу. 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

Чип: 24AA, I2C EEPROM (1Kbyte). Автобус: I2C, татах эсэргүүцэл шаардлагатай. Эрчим хүчний шаардлага: 1.8 вольтоос 5.5 вольт хүртэл (24АА), 2.5 вольтоос 5.5 вольт хүртэл (24LC). Энэ жагсаалд зориулж автобусны дээрэмчдийн сессийн бүртгэлийг бөглө. Би форматлах болон HTML хүснэгтийг зааварт оруулах боломжгүй, та эх хувилбарыг нь Dangerous Prototypes блог дээрээс харж болно. 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 бол хоёр чиглэлтэй автобус бөгөөд хоёр зүү дээр татах эсэргүүцэл шаарддаг. Та Vpullup (Vpu) зүүг 3.3 вольтын тэжээлийн эх үүсвэрт холбож терминал дээр идэвхжүүлснээр автобусны дээрэмчдийн татан авагч резисторыг ашиглаж болно. Интерфэйсийн тэмдэглэл: I2C EEPROM -үүд бүгд адилхан ажилладаггүй. Жижигхэн 24AA01 жишээ нь огт өөр хаяглалт, командын системтэй. Чипийнхээ мэдээллийн хуудсыг сайтар шалгаж үзээрэй. Автобусны дээрэмчдийн терминал дээр 'm' товчлуурыг дараад горимын цэснээс I2C -ийг сонгоно уу. Цахилгаан хангамж (том 'W') ба татах эсэргүүцлийг ('p', сонголт 2) I2C хүлээх мөрөнд идэвхжүүлнэ үү. Цахилгаан хангамж асаалттай, Vpullup зүү нь хүчдэлд холбогдсон эсэхийг шалгахын тулд хүчдэлийн тайланг ('v') аваарай. I2C> (0) <<(1) <<< хаягийн хайлтын макро ашиглах 7bit I2C хаягийн орон зайг хайх. Дараах төхөөрөмжүүдийг олсон: 0xA0 0xA1 <<I2C хаяг нь 10100000 гэдгийг бид аль хэдийн мэдсэн боловч Bus Pirate-ийн I2C хайлтын макро (1) ашиглан 24AA- хайх боломжтой. Хайлтын макро нь төхөөрөмжийг хүлээгдэж буй бичих (0xA0) болон унших (0xA1) хаягаар олсон. 1-р алхам, I2C> [0b10100000 0 0 3 2 1] зарим утгыг бич 1 БИЧИХ: 0x00 ГАРАХ: ТИЙМ <<< хаягийн байт бичих 2 Бичих: 0x03 АВАХ: ТИЙМ <<< бичих 3 утга (3, 2, 1) Бичих: 0x02 ГАРСАН: ТИЙМ БИЧИХ: 0x01 АВСАН: YESI2C ЗОХИОН БАЙГУУЛАХ < <Бичлэгийг I2C эхлэх нөхцлөөр ([), дараа нь 24AA бичих хаягаар (0xa0) эхлүүлээрэй. Дараа нь бичихийн тулд 16 битийн хаягийг (0 0), өгөгдлийг (3 2 1) илгээнэ үү. I2C гүйлгээг зогсоох нөхцлөөр дуусгах (]). Алхам 2, унших заагчийг байрлуул I2C> [0b10100000 0 0] I2C ЭХЛЭХ НӨХЦӨЛ <<< I2C эхлэх нөхцөл Бичих: 0xA0 GOT ACK: Тийм 0x00 GOT ACK: ТИЙМ <<< хаягийн байт бичих 2I2C STOP НӨХЦӨЛ <<24АА-аас уншихад хоёр үйлдэл шаардлагатай. Нэг нь унших/бичих заагчийг байрлуулж, нөгөө нь утгыг буцаана. I2C эхлэх нөхцөл ([) болон бичих хаяг (0xa0) -ээр эхэлнэ. 16 битийн хаягийг (0 0) уншиж, дараа нь зогсоох нөхцлийг (]) илгээнэ үү. Бид энэ удаад бичихийн тулд ямар ч өгөгдөл илгээгээгүй, зөвхөн унших/бичих заагчийг 1 -р алхамд бичсэн өгөгдлийнхөө эхэнд буцааж байрлууллаа. 3 -р алхам. I2C> [0b10100001 r: 3] I2C START CONDITION гэсэн утгыг уншина уу. <<< I2C эхлэх нөхцөл Бичих: 0xA1 АВАГДСАН: ТИЙМ <<< 24AA- хаягийг уншихБОНХОНООРОО унших 0x03 BYTES: <<< 3 утгыг унших0x03 0x02 0x01I2C STOP НӨХЦӨЛ <<Алхам 2 унших/бичих заагчийг бидний уншихыг хүссэн өгөгдлийн эхэнд тохируулна уу. Одоо бид өгөгдлийг 24AA-унших хаягийг ашиглан уншиж болно. I2C эхлэх нөхцөл ([) болон 24АА- унших хаяг (0xa1) -ээс эхэлнэ. 1 -р алхам дээр бичсэн гурван утгыг уншина уу (r: 3), зогсоох нөхцлөөр ()) төгсгөөрэй. Хэрэв утгууд таарч байвал таны бичлэг амжилттай болсон байна.

Алхам 4: DS2431 1 утастай EEPROM

DS2431 1 утастай EEPROM
DS2431 1 утастай EEPROM
DS2431 1 утастай EEPROM
DS2431 1 утастай EEPROM
DS2431 1 утастай EEPROM
DS2431 1 утастай EEPROM

Чип: DS2431, 1 утастай EEPROM (1Кбайт). Автобус: 1-утастай, <2.2Kohm татах эсэргүүцэл шаардлагатай. Эрчим хүчний шаардлага: 2.8 вольтоос 5.25 вольт хүртэл Зааварчилгаанд би зарим формат, HTML хүснэгтийг оруулж чадаагүй тул та Аюултай прототипийн блог дээрээс эх хувилбарыг нь харж болно. DS2431 нь татах эсэргүүцэлээс хүч авч, гадны хангамж эсвэл задлах конденсатор шаарддаггүй.. 1-Утас нь хамгийн ихдээ 2.2Км хүчирхэг татах эсэргүүцэлтэй байх шаардлагатай. Автобусны дээрэмчдийн самбар дээрх татах эсэргүүцэл нь 10K хэмжээтэй бөгөөд бичих явцад DS2431-ийг зөв асаахад хэтэрхий сул байна. Та хүч чадал ба 1 утастай автобусны зүү хооронд 2.2Kohm буюу түүнээс бага хэмжээтэй гадаад эсэргүүцэл ашиглах ёстой. Хэрэв танд өгөгдөл бичихэд бэрхшээл тулгарвал татах эсэргүүцэл тань хангалттай том байгаа эсэхийг шалгаарай. 3EEPROM судлаачийн самбар нь 1 утастай автобусанд 1800 омын татах эсэргүүцэл (R1) агуулдаг тул гадны эсэргүүцэл шаардлагагүй болно. Тохиргоо Хэрэв та автобус дээрэмчин ашиглаж байгаа бол түүнийг доорх диаграмын зурагт үзүүлсэн шиг 3EEPROM эсвэл DS2431 самбартай холбоно уу. DS2431 нь цахилгаан тэжээлийн зүүг шаарддаггүй, 3EEPROM самбар дээр 1-утастай автобусны том татах эсэргүүцлийг асаахад ашигладаг. Interfacing Bus Pirate терминал дээр 'm' товчийг дараад 1-Wire горимыг сонгоно уу. Самбар дээрх цахилгаан хангамжийг (том 'W') идэвхжүүлж, хүчдэлийн хяналтыг (v) шалгана уу. Алхам 1, төхөөрөмжийн хаягийг олоорой 1-WIRE> (0xf0) <<< 1-Wire хайлтын макро 1WIRE ROM COMMAND: SEARCH (0xF0) Төхөөрөмжүүдийг олсон: Макро 1WIRE хаяг1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 өвөрмөц ID*DS2431 1K EEPROM <<1-утастай төхөөрөмж бүр өвөрмөц 8 байт ID-тай байдаг. 1-Wire нь хавсаргасан бүх төхөөрөмжийн ID-ийг илрүүлэх хайлтын процедуртай. Автобусны дээрэмчин нь 1-утастай хайлтыг макро болгон ашигладаг (240). 1-утастай хайлтыг эхлүүлэхийн тулд 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 'Бичих: 0x0F <<< DS2431 бичих scratch pad командын бичих Бичих: 0x00 <<< DS2431 хаяг бичих байт 1 WRITE: 2x31 <<<: 0x08 <<Дараа нь бид DS2431-ийн зурах самбар гэж нэрлэгддэг түр байршилд 8 байт бичих болно. 1-утастай автобусны тохиргоог эхлүүлэх, MATCH командыг ашиглан гүйлгээг эхлүүлэх (0x55). Аль аль нь макро '(0x55)' хэлбэрээр боломжтой. Үүнийг "{0x55" гэж бичих замаар макро хийхгүйгээр хийж болно, {1-утастай тохиргоог илгээдэг, 0x55 бол 1 утастай таарах команд юм. ХАМРАГДАХ командын дараа төхөөрөмжийн 8 байтын ID-г хаяг руу илгээнэ үү. Бид 1 -р алхамд DS2431 ID -ээр дүүрсэн макро (1) -г ашигласан. Та бас 8 байтын ID -г гараар оруулж болно. Энэ үед DS2431 нь хаягаа хүлээн авсан байх ёстой бөгөөд командын хувьд бэлэн байх ёстой.0x0f бол бичих зурах самбарын тушаал бөгөөд энэ нь 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) *64 битийн хаягийг дагана уу1 УТАС АДРЕС МАКРО 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< scratch pad командыг уншина уу 0x03 BYTES -ийг унших 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< өгөгдлийн CRC0xC8 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 <<< төхөөрөмжид хандаарай 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< scratch pad командыг хуулах Бичих: 0x00 <<< 3-р алхамаас 3 байтын зөвшөөрлийн код бичих EEPROM. Төхөөрөмжийг оруулаад DS2431 хуулбарлах зураасны командыг (0x55) дараа нь 3 -р алхам дээр авсан гурван байтын зөвшөөрлийн кодыг илгээнэ үү (0x00 0x00 0x07). Зөвшөөрлийн код зөв бол өгөгдлийг EEPROM руу шилжүүлнэ. 5-р алхам, зураасны дэвсгэрийг баталгаажуулна уу 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< төхөөрөмжийн хаягийг оруулна уу 1 ROM COMMAND ROM: MATCH (0x55) *64bit хаягаар дагана уу1WIRE 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: 81WIRE BUS RESET OK <<< төхөөрөмжид хандах хаягийг уншина уу. 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 read commandWRITE: 0x00 <<< 2 byte read addressWRITE: 0x00BULK READ 0x08 BYTES: <<< 0x0 0x00x0x0x0x0 0x08 BYTES: <<Утга авсны дараа бичлэг зөв хийгдсэн эсэхийг шалгаарай. DS2431 руу хандаж, дараа нь унших командыг (0xf0) болон унших хаягийг (0x00 0x00) илгээнэ үү. Нэг тушаалаар санах ойн хүрээг бүхэлд нь унших боломжтой. Бид өмнө нь бичсэн найман байтыг уншсан (r: 8), хүлээгдэж буй утгыг буцааж өгсөн. Эдгээр утгуудаас давсан найман байтыг бичээгүй бөгөөд 0 -ийг буцаана.

Алхам 5: Дүгнэлт

Дүгнэлт
Дүгнэлт

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

Зөвлөмж болгож буй: